X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_em%2Fmain_em.h;h=0870b040fcd076a9a8722015f17b724dc5827ede;hb=bddf6c22480ed7f7fca83b7d6c4f9dc10d19f57a;hp=1376d58b545d8d308acc66c04ac473d891244b2b;hpb=afeec80878187293b10f7dcdd6ff3c094cc97e5d;p=rocksndiamonds.git diff --git a/src/game_em/main_em.h b/src/game_em/main_em.h index 1376d58b..0870b040 100644 --- a/src/game_em/main_em.h +++ b/src/game_em/main_em.h @@ -1,3 +1,14 @@ +// ============================================================================ +// 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 @@ -5,14 +16,14 @@ // 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 // ============================================================================ -#include "export.h" +#include "export_em.h" // ============================================================================ @@ -37,11 +48,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 */ #define TILESIZE 32 @@ -53,8 +59,8 @@ 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 */ @@ -81,6 +87,9 @@ 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 @@ -90,40 +99,16 @@ extern int SX, SY; // exported variables // ---------------------------------------------------------------------------- -extern unsigned int RandomEM; - -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_object[GAME_TILE_MAX][8]; extern struct GraphicInfo_EM graphic_info_em_player[MAX_PLAYERS][PLY_MAX][8]; - -extern short **Boom; -extern short **Cave; -extern short **Next; -extern short **Draw; - 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_ply[2][8][PLY_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; // ----------------------------------------------------------------------------