X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_em%2Fmain_em.h;h=0870b040fcd076a9a8722015f17b724dc5827ede;hb=bddf6c22480ed7f7fca83b7d6c4f9dc10d19f57a;hp=4b77e9356b336dffca35d03838a15be9e14c8eae;hpb=64e7c54dce6ea8c063f04198c64c5057d751c928;p=rocksndiamonds.git diff --git a/src/game_em/main_em.h b/src/game_em/main_em.h index 4b77e935..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" // ============================================================================ @@ -20,7 +31,6 @@ // ============================================================================ #include "global.h" -#include "sample.h" // ---------------------------------------------------------------------------- @@ -38,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 @@ -54,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 */ @@ -82,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 @@ -91,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_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; // ----------------------------------------------------------------------------