projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-20020908-2-src
[rocksndiamonds.git]
/
src
/
main.h
diff --git
a/src/main.h
b/src/main.h
index a4d392c6e85f942f8d4271e744d744c079a6c8a0..986b53a0ce6c59a89c03b240762b307c8320a15a 100644
(file)
--- a/
src/main.h
+++ b/
src/main.h
@@
-1,7
+1,7
@@
/***********************************************************
* Rocks'n'Diamonds -- McDuffin Strikes Back! *
*----------------------------------------------------------*
/***********************************************************
* Rocks'n'Diamonds -- McDuffin Strikes Back! *
*----------------------------------------------------------*
-* (c) 1995-200
1
Artsoft Entertainment *
+* (c) 1995-200
2
Artsoft Entertainment *
* Holger Schemel *
* Detmolder Strasse 189 *
* 33604 Bielefeld *
* Holger Schemel *
* Detmolder Strasse 189 *
* 33604 Bielefeld *
@@
-158,20
+158,21
@@
/* Bitmaps with graphic file */
#define PIX_BACK 0
/* Bitmaps with graphic file */
#define PIX_BACK 0
-#define PIX_DOOR 1
-#define PIX_HEROES 2
-#define PIX_TOONS 3
-#define PIX_SP 4
-#define PIX_DC 5
-#define PIX_MORE 6
-#define PIX_BIGFONT 7
-#define PIX_SMALLFONT 8
-#define PIX_MEDIUMFONT 9
+#define PIX_ELEMENTS 1
+#define PIX_DOOR 2
+#define PIX_HEROES 3
+#define PIX_TOONS 4
+#define PIX_SP 5
+#define PIX_DC 6
+#define PIX_MORE 7
+#define PIX_BIGFONT 8
+#define PIX_SMALLFONT 9
+#define PIX_MEDIUMFONT 10
/* Bitmaps without graphic file */
/* Bitmaps without graphic file */
-#define PIX_DB_DOOR 1
0
-#define PIX_DB_FIELD 1
1
+#define PIX_DB_DOOR 1
1
+#define PIX_DB_FIELD 1
2
-#define NUM_PICTURES 1
0
+#define NUM_PICTURES 1
1
#define NUM_BITMAPS 12
/* boundaries of arrays etc. */
#define NUM_BITMAPS 12
/* boundaries of arrays etc. */
@@
-180,6
+181,7
@@
#define MAX_TAPELEN (1000 * 50) /* max. time * framerate */
#define MAX_SCORE_ENTRIES 100
#define MAX_ELEMENTS 700 /* 500 static + 200 runtime */
#define MAX_TAPELEN (1000 * 50) /* max. time * framerate */
#define MAX_SCORE_ENTRIES 100
#define MAX_ELEMENTS 700 /* 500 static + 200 runtime */
+#define MAX_GRAPHICS 1536 /* see below: NUM_TILES */
#define MAX_NUM_AMOEBA 100
/* values for elements with content */
#define MAX_NUM_AMOEBA 100
/* values for elements with content */
@@
-254,7
+256,8
@@
struct PlayerInfo
struct LevelInfo
{
int file_version; /* file format version the level is stored with */
struct LevelInfo
{
int file_version; /* file format version the level is stored with */
- int game_version; /* game engine version the level was created with */
+ int game_version; /* game release version the level was created with */
+
boolean encoding_16bit_field; /* level contains 16-bit elements */
boolean encoding_16bit_yamyam; /* yamyam contains 16-bit elements */
boolean encoding_16bit_amoeba; /* amoeba contains 16-bit elements */
boolean encoding_16bit_field; /* level contains 16-bit elements */
boolean encoding_16bit_yamyam; /* yamyam contains 16-bit elements */
boolean encoding_16bit_amoeba; /* amoeba contains 16-bit elements */
@@
-281,9
+284,10
@@
struct LevelInfo
struct TapeInfo
{
struct TapeInfo
{
- int file_version; /* file format version the tape is stored with */
- int game_version; /* game engine version the tape was created with */
- int version;
+ int file_version; /* file format version the tape is stored with */
+ int game_version; /* game release version the tape was created with */
+ int engine_version; /* game engine version the tape was recorded with */
+
int level_nr;
unsigned long random_seed;
unsigned long date;
int level_nr;
unsigned long random_seed;
unsigned long date;
@@
-310,8
+314,13
@@
struct TapeInfo
struct GameInfo
{
struct GameInfo
{
- int version;
+ /* constant within running game */
+ int engine_version;
int emulation;
int emulation;
+ int initial_move_delay;
+ int initial_move_delay_value;
+
+ /* variable within running game */
int yam_content_nr;
boolean magic_wall_active;
int magic_wall_time_left;
int yam_content_nr;
boolean magic_wall_active;
int magic_wall_time_left;
@@
-333,8
+342,19
@@
struct GlobalInfo
struct ElementInfo
{
struct ElementInfo
{
- char *sound_class_name;
- char *editor_description;
+ char *sound_class_name; /* classification for custom sound effects */
+ char *editor_description; /* short description for level editor */
+
+ int graphic;
+};
+
+struct GraphicInfo
+{
+ Bitmap *bitmap;
+ int src_x, src_y;
+ int anim_frames;
+ int anim_delay;
+ int anim_mode;
};
extern GC tile_clip_gc;
};
extern GC tile_clip_gc;
@@
-395,7
+415,10
@@
extern struct TapeInfo tape;
extern struct GameInfo game;
extern struct GlobalInfo global;
extern struct ElementInfo element_info[];
extern struct GameInfo game;
extern struct GlobalInfo global;
extern struct ElementInfo element_info[];
-extern struct SoundEffectInfo sound_effects[];
+extern struct GraphicInfo graphic_info[];
+extern struct ConfigInfo image_config[], sound_config[];
+extern struct ConfigInfo image_config_suffix[], sound_config_suffix[];
+extern struct FileInfo *image_files, *sound_files;
/* often used screen positions */
#define SX 8
/* often used screen positions */
#define SX 8
@@
-434,12
+457,10
@@
extern struct SoundEffectInfo sound_effects[];
#define MICROLEV_YPOS (SX + 12 * TILEY - MICRO_TILEY)
#define MICROLABEL_YPOS (MICROLEV_YPOS + MICROLEV_YSIZE + 7)
#define MICROLEV_YPOS (SX + 12 * TILEY - MICRO_TILEY)
#define MICROLABEL_YPOS (MICROLEV_YPOS + MICROLEV_YSIZE + 7)
-#define GFX_STARTX SX
-#define GFX_STARTY SY
-#define MINI_GFX_STARTX SX
-#define MINI_GFX_STARTY 424
-#define MICRO_GFX_STARTX SX
-#define MICRO_GFX_STARTY 536
+#define MINI_GFX_STARTX 0
+#define MINI_GFX_STARTY 416
+#define MICRO_GFX_STARTX 0
+#define MICRO_GFX_STARTY 528
#define GFX_PER_LINE 16
#define MINI_GFX_PER_LINE 32
#define MICRO_GFX_PER_LINE 128
#define GFX_PER_LINE 16
#define MINI_GFX_PER_LINE 32
#define MICRO_GFX_PER_LINE 128
@@
-872,7
+893,7
@@
extern struct SoundEffectInfo sound_effects[];
#define EL_MAGIC_WALL_BD_FILLING 612
/* game graphics:
#define EL_MAGIC_WALL_BD_FILLING 612
/* game graphics:
-** 0 - 255: graphics from "Rocks
Screen
"
+** 0 - 255: graphics from "Rocks
Elements
"
** 256 - 511: graphics from "RocksFont"
** 512 - 767: graphics from "RocksHeroes"
** 768 - 1023: graphics from "RocksSP"
** 256 - 511: graphics from "RocksFont"
** 512 - 767: graphics from "RocksHeroes"
** 768 - 1023: graphics from "RocksSP"
@@
-880,8
+901,8
@@
extern struct SoundEffectInfo sound_effects[];
** 1280 - 1535: graphics from "RocksMore"
*/
** 1280 - 1535: graphics from "RocksMore"
*/
-#define GFX_START_ROCKS
SCREEN
0
-#define GFX_END_ROCKS
SCREEN
255
+#define GFX_START_ROCKS
ELEMENTS
0
+#define GFX_END_ROCKS
ELEMENTS
255
#define GFX_START_ROCKSFONT 256
#define GFX_END_ROCKSFONT 511
#define GFX_START_ROCKSHEROES 512
#define GFX_START_ROCKSFONT 256
#define GFX_END_ROCKSFONT 511
#define GFX_START_ROCKSHEROES 512
@@
-893,7
+914,7
@@
extern struct SoundEffectInfo sound_effects[];
#define GFX_START_ROCKSMORE 1280
#define GFX_END_ROCKSMORE 1535
#define GFX_START_ROCKSMORE 1280
#define GFX_END_ROCKSMORE 1535
-#define NUM_TILES 1536
+#define NUM_TILES 1536
/* see above: MAX_GRAPHICS */
/* graphics from "RocksScreen" */
/* Zeile 0 (0) */
/* graphics from "RocksScreen" */
/* Zeile 0 (0) */
@@
-1438,7
+1459,14
@@
extern struct SoundEffectInfo sound_effects[];
#define NUM_SOUNDS 55
#define NUM_SOUNDS 55
-/* values for sound effects */
+/* values for image configuration */
+#define GFX_BD_DIAMOND 0
+#define GFX_ROBOT_WHEEL 1
+
+#define NUM_IMAGE_FILES 2
+
+
+/* values for sound configuration */
#define SND_BD_EMPTY_SPACE_DIGGING 0
#define SND_BD_SAND_DIGGING 1
#define SND_BD_DIAMOND_COLLECTING 2
#define SND_BD_EMPTY_SPACE_DIGGING 0
#define SND_BD_SAND_DIGGING 1
#define SND_BD_DIAMOND_COLLECTING 2
@@
-1609,7
+1637,7
@@
extern struct SoundEffectInfo sound_effects[];
#define SND_MENU_HALL_OF_FAME 167
#define SND_MENU_INFO_SCREEN 168
#define SND_MENU_HALL_OF_FAME 167
#define SND_MENU_INFO_SCREEN 168
-#define NUM_SOUND_
EFFECTS
169
+#define NUM_SOUND_
FILES
169
/* values for game_status */
/* values for game_status */
@@
-1624,9
+1652,9
@@
extern struct SoundEffectInfo sound_effects[];
#define SETUP 8
#define PROGRAM_VERSION_MAJOR 2
#define SETUP 8
#define PROGRAM_VERSION_MAJOR 2
-#define PROGRAM_VERSION_MINOR
0
+#define PROGRAM_VERSION_MINOR
1
#define PROGRAM_VERSION_PATCH 2
#define PROGRAM_VERSION_PATCH 2
-#define PROGRAM_VERSION_STRING "2.1.
0
"
+#define PROGRAM_VERSION_STRING "2.1.
2
"
#define PROGRAM_TITLE_STRING "Rocks'n'Diamonds"
#define PROGRAM_AUTHOR_STRING "Holger Schemel"
#define PROGRAM_TITLE_STRING "Rocks'n'Diamonds"
#define PROGRAM_AUTHOR_STRING "Holger Schemel"