projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-19990122-1
[rocksndiamonds.git]
/
src
/
main.h
diff --git
a/src/main.h
b/src/main.h
index c945cec02360582136ce66d7629cc00aec7c70a0..00d49ab9edc81fbdaf5a73938ec0b4353ef7be4b 100644
(file)
--- a/
src/main.h
+++ b/
src/main.h
@@
-71,6
+71,8
@@
typedef unsigned char byte;
#define STD_LEV_FIELDY 32
#define MAX_LEV_FIELDX 128
#define MAX_LEV_FIELDY 128
#define STD_LEV_FIELDY 32
#define MAX_LEV_FIELDX 128
#define MAX_LEV_FIELDY 128
+#define ED_FIELDX (2 * SCR_FIELDX - 1)
+#define ED_FIELDY (2 * SCR_FIELDY - 2)
#define MAX_PLAYERS 4
#define MAX_PLAYERS 4
@@
-94,6
+96,7
@@
typedef unsigned char byte;
#define IN_VIS_FIELD(x,y) ((x)>=0 && (x)<SCR_FIELDX && (y)>=0 &&(y)<SCR_FIELDY)
#define IN_SCR_FIELD(x,y) ((x)>=BX1 && (x)<=BX2 && (y)>=BY1 &&(y)<=BY2)
#define IN_LEV_FIELD(x,y) ((x)>=0 && (x)<lev_fieldx && (y)>=0 &&(y)<lev_fieldy)
#define IN_VIS_FIELD(x,y) ((x)>=0 && (x)<SCR_FIELDX && (y)>=0 &&(y)<SCR_FIELDY)
#define IN_SCR_FIELD(x,y) ((x)>=BX1 && (x)<=BX2 && (y)>=BY1 &&(y)<=BY2)
#define IN_LEV_FIELD(x,y) ((x)>=0 && (x)<lev_fieldx && (y)>=0 &&(y)<lev_fieldy)
+#define IN_ED_FIELD(x,y) ((x)>=0 && (x)<ED_FIELDX && (y)>=0 &&(y)<ED_FIELDY)
#define EP_BIT_AMOEBALIVE (1 << 0)
#define EP_BIT_AMOEBOID (1 << 1)
#define EP_BIT_AMOEBALIVE (1 << 0)
#define EP_BIT_AMOEBOID (1 << 1)
@@
-196,7
+199,8
@@
typedef unsigned char byte;
/* boundaries of arrays etc. */
#define MAX_NAMELEN (10+1)
/* boundaries of arrays etc. */
#define MAX_NAMELEN (10+1)
-#define MAX_LEVNAMLEN 32
+#define MAX_LEVEL_NAME_LEN 32
+#define MAX_LEVEL_AUTHOR_LEN 34
#define MAX_TAPELEN (1000 * 50) /* max. time * framerate */
#define MAX_LEVDIR_ENTRIES 100
#define MAX_SCORE_ENTRIES 100
#define MAX_TAPELEN (1000 * 50) /* max. time * framerate */
#define MAX_LEVDIR_ENTRIES 100
#define MAX_SCORE_ENTRIES 100
@@
-210,6
+214,8
@@
typedef unsigned char byte;
#define FFWD_FRAME_DELAY 10 /* 200% speed for fast forward */
#define FRAMES_PER_SECOND (1000 / GAME_FRAME_DELAY)
#define GADGET_FRAME_DELAY 150 /* delay between gadget actions */
#define FFWD_FRAME_DELAY 10 /* 200% speed for fast forward */
#define FRAMES_PER_SECOND (1000 / GAME_FRAME_DELAY)
#define GADGET_FRAME_DELAY 150 /* delay between gadget actions */
+#define MICROLEVEL_SCROLL_DELAY 50 /* delay for scrolling micro level */
+#define MICROLEVEL_LABEL_DELAY 250 /* delay for micro level label */
struct HiScore
{
struct HiScore
{
@@
-332,7
+338,8
@@
struct LevelInfo
int fieldy;
int time;
int edelsteine;
int fieldy;
int time;
int edelsteine;
- char name[MAX_LEVNAMLEN];
+ char name[MAX_LEVEL_NAME_LEN];
+ char author[MAX_LEVEL_AUTHOR_LEN];
int score[LEVEL_SCORE_ELEMENTS];
int mampfer_inhalt[8][3][3];
int tempo_amoebe;
int score[LEVEL_SCORE_ELEMENTS];
int mampfer_inhalt[8][3][3];
int tempo_amoebe;
@@
-346,6
+353,7
@@
struct LevelDirInfo
{
char *filename;
char *name;
{
char *filename;
char *name;
+ char *author;
int levels;
int first_level;
int last_level;
int levels;
int first_level;
int last_level;
@@
-438,8
+446,8
@@
extern int GameFrameDelay;
extern int FfwdFrameDelay;
extern int MoveSpeed;
extern int BX1,BY1, BX2,BY2;
extern int FfwdFrameDelay;
extern int MoveSpeed;
extern int BX1,BY1, BX2,BY2;
-extern int SBX_Left, SBX_
Middle, SBX_
Right;
-extern int SBY_Upper, SBY_
Middle, SBY_
Lower;
+extern int SBX_Left, SBX_Right;
+extern int SBY_Upper, SBY_Lower;
extern int ZX,ZY, ExitX,ExitY;
extern int AllPlayersGone;
extern int FrameCounter, TimeFrames, TimePlayed, TimeLeft;
extern int ZX,ZY, ExitX,ExitY;
extern int AllPlayersGone;
extern int FrameCounter, TimeFrames, TimePlayed, TimeLeft;
@@
-499,10
+507,10
@@
extern int num_bg_loops;
#define EYSIZE (VXSIZE + 44)
#define FULL_SXSIZE (2+SXSIZE+2)
#define FULL_SYSIZE (2+SYSIZE+2)
#define EYSIZE (VXSIZE + 44)
#define FULL_SXSIZE (2+SXSIZE+2)
#define FULL_SYSIZE (2+SYSIZE+2)
-#define MICROLEV_X
POS (SX+4*32+16
)
-#define MICROLEV_Y
POS (SX+12*32
)
-#define MICROLEV_X
SIZE (STD_LEV_FIELDX*MICRO_TILEX
)
-#define MICROLEV_Y
SIZE (STD_LEV_FIELDY*
MICRO_TILEY)
+#define MICROLEV_X
SIZE ((STD_LEV_FIELDX + 2) * MICRO_TILEX
)
+#define MICROLEV_Y
SIZE ((STD_LEV_FIELDY + 2) * MICRO_TILEY
)
+#define MICROLEV_X
POS (SX + (SXSIZE - MICROLEV_XSIZE) / 2
)
+#define MICROLEV_Y
POS (SX + 12 * TILEY -
MICRO_TILEY)
#define MICROLABEL_YPOS (MICROLEV_YPOS+MICROLEV_YSIZE+12)
#define FONT1_XSIZE 32
#define FONT1_YSIZE 32
#define MICROLABEL_YPOS (MICROLEV_YPOS+MICROLEV_YSIZE+12)
#define FONT1_XSIZE 32
#define FONT1_YSIZE 32
@@
-600,9
+608,7
@@
extern int num_bg_loops;
#define EL_ERZ_EDEL_GELB 59
#define EL_MAMPFER2 60
#define EL_SIEB2_INAKTIV 61
#define EL_ERZ_EDEL_GELB 59
#define EL_MAMPFER2 60
#define EL_SIEB2_INAKTIV 61
-
-#define EL_UNUSED_62 62
-
+#define EL_INVISIBLE_STEEL 62
#define EL_DYNABOMB 63
#define EL_DYNABOMB_NR 64
#define EL_DYNABOMB_SZ 65
#define EL_DYNABOMB 63
#define EL_DYNABOMB_NR 64
#define EL_DYNABOMB_SZ 65
@@
-965,6
+971,8
@@
extern int num_bg_loops;
#define GFX_FIREFLY_L 206
#define GFX_FIREFLY_U 207
#define GFX_FIREFLY_L 206
#define GFX_FIREFLY_U 207
+#define GFX_INVISIBLE_STEEL GFX_UNSICHTBAR
+
#define GFX_SCHLUESSEL GFX_SCHLUESSEL1
#define GFX_SPIELFIGUR GFX_SPIELER1
#define GFX_SCHLUESSEL GFX_SCHLUESSEL1
#define GFX_SPIELFIGUR GFX_SPIELER1
@@
-1228,10
+1236,11
@@
extern int num_bg_loops;
#define TAPES_DIRECTORY "tapes"
#define SCORES_DIRECTORY "scores"
#define TAPES_DIRECTORY "tapes"
#define SCORES_DIRECTORY "scores"
-#define VERSION_STRING "1.2.1"
-#define GAMETITLE_STRING "Rocks'n'Diamonds"
-#define WINDOWTITLE_STRING GAMETITLE_STRING " " VERSION_STRING
-#define COPYRIGHT_STRING "Copyright ^1995-99 by Holger Schemel"
+#define PROGRAM_VERSION_STRING "1.2.1"
+#define PROGRAM_TITLE_STRING "Rocks'n'Diamonds"
+#define PROGRAM_AUTHOR_STRING "Holger Schemel"
+#define WINDOW_TITLE_STRING PROGRAM_TITLE_STRING " " PROGRAM_VERSION_STRING
+#define COPYRIGHT_STRING "Copyright ^1995-99 by " PROGRAM_AUTHOR_STRING
/* default name for empty highscore entry */
#define EMPTY_PLAYER_NAME "no name"
/* default name for empty highscore entry */
#define EMPTY_PLAYER_NAME "no name"
@@
-1260,13
+1269,19
@@
extern int num_bg_loops;
#define REDRAW_VIDEO_1 (1L << 4)
#define REDRAW_VIDEO_2 (1L << 5)
#define REDRAW_VIDEO_3 (1L << 6)
#define REDRAW_VIDEO_1 (1L << 4)
#define REDRAW_VIDEO_2 (1L << 5)
#define REDRAW_VIDEO_3 (1L << 6)
-#define REDRAW_MICROLEV
(1L << 7)
+#define REDRAW_MICROLEV
EL
(1L << 7)
#define REDRAW_FROM_BACKBUFFER (1L << 8)
#define REDRAW_FROM_BACKBUFFER (1L << 8)
-#define REDRAW_DOOR_2 (REDRAW_VIDEO_1 | REDRAW_VIDEO_2 | REDRAW_VIDEO_3)
+#define REDRAW_DOOR_2 (REDRAW_VIDEO_1 | \
+ REDRAW_VIDEO_2 | \
+ REDRAW_VIDEO_3)
#define REDRAW_DOOR_3 (1L << 9)
#define REDRAW_DOOR_3 (1L << 9)
-#define REDRAW_DOORS (REDRAW_DOOR_1 | REDRAW_DOOR_2 | REDRAW_DOOR_3)
-#define REDRAW_MAIN (REDRAW_FIELD | REDRAW_TILES | REDRAW_MICROLEV)
-#define REDRAWTILES_THRESHOLD SCR_FIELDX*SCR_FIELDY/2
+#define REDRAW_DOORS (REDRAW_DOOR_1 | \
+ REDRAW_DOOR_2 | \
+ REDRAW_DOOR_3)
+#define REDRAW_MAIN (REDRAW_FIELD | \
+ REDRAW_TILES | \
+ REDRAW_MICROLEVEL)
+#define REDRAWTILES_THRESHOLD (SCR_FIELDX * SCR_FIELDY / 2)
/* areas in pixmap PIX_DOOR */
/* meaning in PIX_DB_DOOR: (3 PAGEs)
/* areas in pixmap PIX_DOOR */
/* meaning in PIX_DB_DOOR: (3 PAGEs)