X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_em%2Fmain_em.h;h=3bbbcfe02e01208ca2c4628d763608c40c2baca9;hb=200ef56170d80105ec6a2c499361a33b9fd3c3c9;hp=6c9653154b8631e38e716fed372d56d99c286ff8;hpb=14d7691c65ca4a466ce9b9448153e8fbe8351a81;p=rocksndiamonds.git diff --git a/src/game_em/main_em.h b/src/game_em/main_em.h index 6c965315..3bbbcfe0 100644 --- a/src/game_em/main_em.h +++ b/src/game_em/main_em.h @@ -1,49 +1,54 @@ +// ============================================================================ +// Rocks'n'Diamonds - McDuffin Strikes Back! +// ---------------------------------------------------------------------------- +// (c) 1995-2024 by Artsoft Entertainment +// Holger Schemel +// info@artsoft.org +// https://www.artsoft.org/ +// ---------------------------------------------------------------------------- +// main_em.h +// ============================================================================ + #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" +#include "import_em.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" +#include "export_em.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 */ +// values for native Emerald Mine game version #define FILE_VERSION_EM_UNKNOWN 0 #define FILE_VERSION_EM_V1 1 #define FILE_VERSION_EM_V2 2 #define FILE_VERSION_EM_V3 3 -#define FILE_VERSION_EM_V4 4 /* (there really was no version 4) */ +#define FILE_VERSION_EM_V4 4 // (there really was no version 4) #define FILE_VERSION_EM_V5 5 #define FILE_VERSION_EM_V6 6 #define FILE_VERSION_EM_ACTUAL FILE_VERSION_EM_V6 -/* level sizes and positions for EM engine */ - -#define WIDTH EM_MAX_CAVE_WIDTH -#define HEIGHT EM_MAX_CAVE_HEIGHT - -/* screen sizes and positions for EM engine */ +// screen sizes and positions for EM engine #define TILESIZE 32 @@ -54,23 +59,23 @@ extern int TILESIZE_VAR; extern int SCR_FIELDX, SCR_FIELDY; -#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 */ +// often used screen positions extern int SX, SY; #define SXSIZE (SCR_FIELDX * TILEX) #define SYSIZE (SCR_FIELDY * TILEY) -/* other settings */ +// other settings #define PLAY_ELEMENT_SOUND FALSE -/* ------------------------------------------------------------------------- */ -/* macro function definitions */ -/* ------------------------------------------------------------------------- */ +// ---------------------------------------------------------------------------- +// macro function definitions +// ---------------------------------------------------------------------------- #define ROUNDED_DIVIDE(x, y) (((x) + (y) - 1) / (y)) @@ -82,53 +87,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 int 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; -/* ------------------------------------------------------------------------- */ -/* exported functions */ -/* ------------------------------------------------------------------------- */ +// ---------------------------------------------------------------------------- +// exported functions +// ---------------------------------------------------------------------------- -#endif /* MAIN_EM_H */ +#endif // MAIN_EM_H