X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_sp%2Fmain_sp.h;h=00aa5129fcbaba79313bf62313491c3cabfc99ea;hb=dc51f089096a0c775d2a03d0b862a14d6ce88d51;hp=d9294194132c2bf45cafe567410fcba0ef5b0de1;hpb=79d7ca29718d025ed0b131bf5389685fe9b941c4;p=rocksndiamonds.git diff --git a/src/game_sp/main_sp.h b/src/game_sp/main_sp.h index d9294194..00aa5129 100644 --- a/src/game_sp/main_sp.h +++ b/src/game_sp/main_sp.h @@ -1,72 +1,90 @@ +// ============================================================================ +// Rocks'n'Diamonds - McDuffin Strikes Back! +// ---------------------------------------------------------------------------- +// (c) 1995-2024 by Artsoft Entertainment +// Holger Schemel +// info@artsoft.org +// https://www.artsoft.org/ +// ---------------------------------------------------------------------------- +// main_sp.h +// ============================================================================ + #ifndef MAIN_SP_H #define MAIN_SP_H -/* ========================================================================= */ -/* external functions and definitions imported from main program to game_sp */ -/* ========================================================================= */ +// ============================================================================ +// external functions and definitions imported from main program to game_sp +// ============================================================================ + +#include "import_sp.h" + + +// ============================================================================ +// functions and definitions that are exported from game_sp to main program +// ============================================================================ + +#include "export_sp.h" -#include "../engines.h" +// ============================================================================ +// internal functions and definitions that are not exported to main program +// ============================================================================ -/* ========================================================================= */ -/* functions and definitions that are exported from game_sp to main program */ -/* ========================================================================= */ -#include "export.h" +// ---------------------------------------------------------------------------- +// constant definitions +// ---------------------------------------------------------------------------- +// screen sizes and positions for SP engine -/* ========================================================================= */ -/* internal functions and definitions that are not exported to main program */ -/* ========================================================================= */ +extern int TILESIZE_VAR; +#define TILESIZE 32 +#define TILEX TILESIZE +#define TILEY TILESIZE +#define TILEX_VAR TILESIZE_VAR +#define TILEY_VAR TILESIZE_VAR -/* ------------------------------------------------------------------------- */ -/* constant definitions */ -/* ------------------------------------------------------------------------- */ +extern int SCR_FIELDX, SCR_FIELDY; -/* screen sizes and positions for SP engine */ +#define MAX_BUF_XSIZE (2 + SCR_FIELDX + 2) +#define MAX_BUF_YSIZE (2 + SCR_FIELDY + 2) -#define ORIG_TILEX 16 -#define ORIG_TILEY 16 +// often used screen positions -#define ZOOM_FACTOR 2 +extern int SX, SY; -#define TILEX (ORIG_TILEX * ZOOM_FACTOR) -#define TILEY (ORIG_TILEY * ZOOM_FACTOR) +#define SXSIZE (SCR_FIELDX * TILEX_VAR) +#define SYSIZE (SCR_FIELDY * TILEY_VAR) +#define FXSIZE (MAX_BUF_XSIZE * TILEX_VAR) +#define FYSIZE (MAX_BUF_YSIZE * TILEY_VAR) -#define ORIG_SCR_MENUX 20 -#define ORIG_SCR_MENUY 12 -#define SCR_MENUX 17 -#define SCR_MENUY 12 -#define SCR_FIELDX 17 -#define SCR_FIELDY 17 -#define MAX_BUF_XSIZE (SCR_FIELDX + 2) -#define MAX_BUF_YSIZE (SCR_FIELDY + 2) +extern int REAL_SX, REAL_SY; -/* often used screen positions */ -#define SX 8 -#define SY 8 -#define SXSIZE (SCR_FIELDX * TILEX) -#define SYSIZE (SCR_FIELDY * TILEY) +#define FULL_SXSIZE (2 + SXSIZE + 2) +#define FULL_SYSIZE (2 + SYSIZE + 2) -/* ------------------------------------------------------------------------- */ -/* data structure definitions */ -/* ------------------------------------------------------------------------- */ +// ---------------------------------------------------------------------------- +// data structure definitions +// ---------------------------------------------------------------------------- -/* ------------------------------------------------------------------------- */ -/* exported variables */ -/* ------------------------------------------------------------------------- */ +// ---------------------------------------------------------------------------- +// exported variables +// ---------------------------------------------------------------------------- extern struct LevelInfo_SP native_sp_level; -extern Bitmap *screenBitmap; +extern Bitmap *bitmap_db_field_sp; -extern Bitmap *sp_objects; +extern int GfxElementLast[SP_MAX_PLAYFIELD_WIDTH][SP_MAX_PLAYFIELD_HEIGHT]; +extern int GfxGraphicLast[SP_MAX_PLAYFIELD_WIDTH][SP_MAX_PLAYFIELD_HEIGHT]; +extern int GfxGraphic[SP_MAX_PLAYFIELD_WIDTH][SP_MAX_PLAYFIELD_HEIGHT]; +extern int GfxFrameSP[SP_MAX_PLAYFIELD_WIDTH][SP_MAX_PLAYFIELD_HEIGHT]; -/* ------------------------------------------------------------------------- */ -/* exported functions */ -/* ------------------------------------------------------------------------- */ +// ---------------------------------------------------------------------------- +// exported functions +// ---------------------------------------------------------------------------- -#endif /* MAIN_SP_H */ +#endif // MAIN_SP_H