X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_em%2Fmain_em.h;h=84d5509ba327bcfcf02dd9719c7aadaeee9d80e5;hb=a0f9dd84ca26309a8ab518caed02a0ce7debd4e2;hp=c5efc415d4aa717d70d0e5cdcea246d1db89f533;hpb=44b31e75162d6e446a9e9b454a079a2da5604fdf;p=rocksndiamonds.git diff --git a/src/game_em/main_em.h b/src/game_em/main_em.h index c5efc415..84d5509b 100644 --- a/src/game_em/main_em.h +++ b/src/game_em/main_em.h @@ -1,31 +1,30 @@ #ifndef MAIN_EM_H #define MAIN_EM_H -/* ========================================================================= */ -/* external functions and definitions imported from main program to game_em */ -/* ========================================================================= */ +// ============================================================================ +// external functions and definitions imported from main program to game_em +// ============================================================================ #include "../engines.h" -/* ========================================================================= */ -/* functions and definitions that are exported from game_em to main program */ -/* ========================================================================= */ +// ============================================================================ +// functions and definitions that are exported from game_em to main program +// ============================================================================ #include "export.h" -/* ========================================================================= */ -/* internal functions and definitions that are not exported to main program */ -/* ========================================================================= */ +// ============================================================================ +// internal functions and definitions that are not exported to main program +// ============================================================================ #include "global.h" -#include "sample.h" -/* ------------------------------------------------------------------------- */ -/* constant definitions */ -/* ------------------------------------------------------------------------- */ +// ---------------------------------------------------------------------------- +// constant definitions +// ---------------------------------------------------------------------------- /* values for native Emerald Mine game version */ #define FILE_VERSION_EM_UNKNOWN 0 @@ -38,55 +37,24 @@ #define FILE_VERSION_EM_ACTUAL FILE_VERSION_EM_V6 -/* level sizes and positions for EM engine */ +/* screen sizes and positions for EM engine */ -#define WIDTH EM_MAX_CAVE_WIDTH -#define HEIGHT EM_MAX_CAVE_HEIGHT +#define TILESIZE 32 -/* screen sizes and positions for EM engine */ +extern int TILESIZE_VAR; + +#define TILEX TILESIZE_VAR +#define TILEY TILESIZE_VAR -#define ORIG_TILEX 16 -#define ORIG_TILEY 16 -#define ORIG_SCOREX 8 -#define ORIG_SCOREY 9 -#define ORIG_GFXMENUFONTX 14 -#define ORIG_GFXMENUFONTY 16 -#define ORIG_MENUFONTX 12 -#define ORIG_MENUFONTY 16 - -#define ZOOM_FACTOR 2 - -#define TILEX (ORIG_TILEX * ZOOM_FACTOR) -#define TILEY (ORIG_TILEY * ZOOM_FACTOR) -#define SCOREX (ORIG_SCOREX * ZOOM_FACTOR) -#define SCOREY (ORIG_SCOREY * ZOOM_FACTOR) -#define GFXMENUFONTX (ORIG_GFXMENUFONTX * ZOOM_FACTOR) -#define GFXMENUFONTY (ORIG_GFXMENUFONTY * ZOOM_FACTOR) -#define MENUFONTX (ORIG_MENUFONTX * ZOOM_FACTOR) -#define MENUFONTY (ORIG_MENUFONTY * ZOOM_FACTOR) - -#define ORIG_SCR_MENUX 20 -#define ORIG_SCR_MENUY 12 -#define SCR_MENUX 17 -#define SCR_MENUY 12 -#if 1 extern int SCR_FIELDX, SCR_FIELDY; -#else -#define SCR_FIELDX 17 -#define SCR_FIELDY 17 -#endif -#define MAX_BUF_XSIZE (SCR_FIELDX + 2) -#define MAX_BUF_YSIZE (SCR_FIELDY + 2) + +#define MAX_BUF_XSIZE (SCR_FIELDX + 2 * CAVE_BUFFER_XOFFSET) +#define MAX_BUF_YSIZE (SCR_FIELDY + 2 * CAVE_BUFFER_YOFFSET) /* often used screen positions */ -#define ORIG_MENU_SX ((ORIG_SCR_MENUX - SCR_MENUX) * TILEX / 2) -#define ORIG_MENU_SY 0 -#if 1 + extern int SX, SY; -#else -#define SX 8 -#define SY 8 -#endif + #define SXSIZE (SCR_FIELDX * TILEX) #define SYSIZE (SCR_FIELDY * TILEY) @@ -94,9 +62,9 @@ extern int SX, SY; #define PLAY_ELEMENT_SOUND FALSE -/* ------------------------------------------------------------------------- */ -/* macro function definitions */ -/* ------------------------------------------------------------------------- */ +// ---------------------------------------------------------------------------- +// macro function definitions +// ---------------------------------------------------------------------------- #define ROUNDED_DIVIDE(x, y) (((x) + (y) - 1) / (y)) @@ -108,62 +76,32 @@ extern int SX, SY; #define DISPLAY_TIME(x) ROUNDED_DIVIDE(x, FRAMES_PER_SECOND) +#define CAVE_POS_X(x) ((x) - lev.left) +#define CAVE_POS_Y(x) ((x) - lev.top) -/* ------------------------------------------------------------------------- */ -/* data structure definitions */ -/* ------------------------------------------------------------------------- */ -/* ------------------------------------------------------------------------- */ -/* exported variables */ -/* ------------------------------------------------------------------------- */ +// ---------------------------------------------------------------------------- +// data structure definitions +// ---------------------------------------------------------------------------- -extern unsigned long RandomEM; +// ---------------------------------------------------------------------------- +// exported variables +// ---------------------------------------------------------------------------- -extern struct LEVEL lev; +extern struct CAVE cav; +extern struct LOGIC lev; extern struct PLAYER ply[MAX_PLAYERS]; extern struct LevelInfo_EM native_em_level; -extern struct GraphicInfo_EM graphic_info_em_object[TILE_MAX][8]; -extern struct GraphicInfo_EM graphic_info_em_player[MAX_PLAYERS][SPR_MAX][8]; - -extern short **Boom; -extern short **Cave; -extern short **Next; -extern short **Draw; - +extern struct GraphicInfo_EM graphic_info_em_object[GAME_TILE_MAX][8]; +extern struct GraphicInfo_EM graphic_info_em_player[MAX_PLAYERS][PLY_MAX][8]; extern struct GameInfo_EM game_em; -extern unsigned char tab_blank[TILE_MAX]; -extern unsigned char tab_acid[TILE_MAX]; -extern unsigned char tab_amoeba[TILE_MAX]; -extern unsigned char tab_android_move[TILE_MAX]; -extern unsigned short tab_explode_normal[TILE_MAX]; -extern unsigned short tab_explode_dynamite[TILE_MAX]; - -extern unsigned short map_obj[8][TILE_MAX]; -extern unsigned short map_spr[2][8][SPR_MAX]; -extern unsigned short map_ttl[128]; - extern Bitmap *screenBitmap; -extern Bitmap *scoreBitmap; - -extern Bitmap *objBitmap; -extern Bitmap *sprBitmap; -extern Bitmap *ttlBitmap; -extern Bitmap *botBitmap; - -extern Pixmap screenPixmap; -extern Pixmap scorePixmap; -extern Pixmap spriteBitmap; - -extern Pixmap objmaskBitmap; -extern Pixmap sprmaskBitmap; - -extern GC spriteGC; -/* ------------------------------------------------------------------------- */ -/* exported functions */ -/* ------------------------------------------------------------------------- */ +// ---------------------------------------------------------------------------- +// exported functions +// ---------------------------------------------------------------------------- -#endif /* MAIN_EM_H */ +#endif // MAIN_EM_H