X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_em%2Fmain_em.h;h=0870b040fcd076a9a8722015f17b724dc5827ede;hb=bddf6c22480ed7f7fca83b7d6c4f9dc10d19f57a;hp=ac00b4237c3cefe0e19f48525ed827df9ec05fff;hpb=52ae89df67ad56dbb6302fd9e85ad45279554a4c;p=rocksndiamonds.git diff --git a/src/game_em/main_em.h b/src/game_em/main_em.h index ac00b423..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" // ============================================================================ @@ -48,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 */ @@ -76,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 @@ -85,34 +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 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; // ----------------------------------------------------------------------------