projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-19981224-1
[rocksndiamonds.git]
/
src
/
init.c
diff --git
a/src/init.c
b/src/init.c
index 321875dc2aba3f1a5b042f160a56aee319b2fddf..4b871020796012f2e968bc92d2320d76c497826f 100644
(file)
--- a/
src/init.c
+++ b/
src/init.c
@@
-17,6
+17,7
@@
#include "misc.h"
#include "sound.h"
#include "screens.h"
#include "misc.h"
#include "sound.h"
#include "screens.h"
+#include "editor.h"
#include "tools.h"
#include "files.h"
#include "joystick.h"
#include "tools.h"
#include "files.h"
#include "joystick.h"
@@
-66,6
+67,7
@@
void OpenAll(int argc, char *argv[])
InitSoundServer();
InitJoysticks();
InitRND(NEW_RANDOMIZE);
InitSoundServer();
InitJoysticks();
InitRND(NEW_RANDOMIZE);
+ InitLevelEditorGadgets();
signal(SIGINT, CloseAllAndExit);
signal(SIGTERM, CloseAllAndExit);
signal(SIGINT, CloseAllAndExit);
signal(SIGTERM, CloseAllAndExit);
@@
-172,8
+174,9
@@
void InitSound()
for(i=0; i<NUM_SOUNDS; i++)
{
#ifdef MSDOS
for(i=0; i<NUM_SOUNDS; i++)
{
#ifdef MSDOS
-
sprintf(sound_name[i], "%d", i+
1);
+
sprintf(sound_name[i], "%d", i +
1);
#endif
#endif
+
Sound[i].name = sound_name[i];
if (!LoadSound(&Sound[i]))
{
Sound[i].name = sound_name[i];
if (!LoadSound(&Sound[i]))
{
@@
-188,10
+191,7
@@
void InitSoundServer()
if (sound_status == SOUND_OFF)
return;
if (sound_status == SOUND_OFF)
return;
-#ifdef MSDOS
- SoundServer();
- return;
-#endif
+#ifndef MSDOS
if (pipe(sound_pipe)<0)
{
if (pipe(sound_pipe)<0)
{
@@
-216,6
+216,12
@@
void InitSoundServer()
}
else /* we are parent */
close(sound_pipe[0]); /* no reading from pipe needed */
}
else /* we are parent */
close(sound_pipe[0]); /* no reading from pipe needed */
+
+#else /* MSDOS */
+
+ SoundServer();
+
+#endif /* MSDOS */
}
void InitJoysticks()
}
void InitJoysticks()
@@
-469,6
+475,7
@@
void InitGfx()
{ "Door", TRUE },
{ "Heroes", TRUE },
{ "Toons", TRUE },
{ "Door", TRUE },
{ "Heroes", TRUE },
{ "Toons", TRUE },
+ { "More", TRUE },
{ "Font", FALSE },
{ "Font2", FALSE }
};
{ "Font", FALSE },
{ "Font2", FALSE }
};
@@
-479,6
+486,7
@@
void InitGfx()
{ "RocksDoor", TRUE },
{ "RocksHeroes", TRUE },
{ "RocksToons", TRUE },
{ "RocksDoor", TRUE },
{ "RocksHeroes", TRUE },
{ "RocksToons", TRUE },
+ { "RocksMore", TRUE },
{ "RocksFont", FALSE },
{ "RocksFont2", FALSE }
};
{ "RocksFont", FALSE },
{ "RocksFont2", FALSE }
};
@@
-857,7
+865,25
@@
void InitElementProperties()
EL_BADEWANNE2,
EL_BADEWANNE3,
EL_BADEWANNE4,
EL_BADEWANNE2,
EL_BADEWANNE3,
EL_BADEWANNE4,
- EL_BADEWANNE5
+ EL_BADEWANNE5,
+ EL_SP_CHIP_SINGLE,
+ EL_SP_CHIP_LEFT,
+ EL_SP_CHIP_RIGHT,
+ EL_SP_CHIP_UPPER,
+ EL_SP_CHIP_LOWER,
+ EL_SP_HARD_GRAY,
+ EL_SP_HARD_GREEN,
+ EL_SP_HARD_BLUE,
+ EL_SP_HARD_RED,
+ EL_SP_HARD_YELLOW,
+ EL_SP_HARD_BASE1,
+ EL_SP_HARD_BASE2,
+ EL_SP_HARD_BASE3,
+ EL_SP_HARD_BASE4,
+ EL_SP_HARD_BASE5,
+ EL_SP_HARD_BASE6,
+ EL_SP_TERMINAL,
+ EL_SP_EXIT
};
static int ep_solid_num = sizeof(ep_solid)/sizeof(int);
};
static int ep_solid_num = sizeof(ep_solid)/sizeof(int);
@@
-877,7
+903,18
@@
void InitElementProperties()
EL_PFORTE1X,
EL_PFORTE2X,
EL_PFORTE3X,
EL_PFORTE1X,
EL_PFORTE2X,
EL_PFORTE3X,
- EL_PFORTE4X
+ EL_PFORTE4X,
+ EL_SP_HARD_GRAY,
+ EL_SP_HARD_GREEN,
+ EL_SP_HARD_BLUE,
+ EL_SP_HARD_RED,
+ EL_SP_HARD_YELLOW,
+ EL_SP_HARD_BASE1,
+ EL_SP_HARD_BASE2,
+ EL_SP_HARD_BASE3,
+ EL_SP_HARD_BASE4,
+ EL_SP_HARD_BASE5,
+ EL_SP_HARD_BASE6,
};
static int ep_massiv_num = sizeof(ep_massiv)/sizeof(int);
};
static int ep_massiv_num = sizeof(ep_massiv)/sizeof(int);
@@
-901,7
+938,13
@@
void InitElementProperties()
EL_BIRNE_AUS,
EL_BADEWANNE1,
EL_BADEWANNE2,
EL_BIRNE_AUS,
EL_BADEWANNE1,
EL_BADEWANNE2,
- EL_SONDE
+ EL_SONDE,
+ EL_SP_ZONK,
+ EL_SP_CHIP_SINGLE,
+ EL_SP_CHIP_LEFT,
+ EL_SP_CHIP_RIGHT,
+ EL_SP_CHIP_UPPER,
+ EL_SP_CHIP_LOWER,
};
static int ep_slippery_num = sizeof(ep_slippery)/sizeof(int);
};
static int ep_slippery_num = sizeof(ep_slippery)/sizeof(int);
@@
-914,7
+957,9
@@
void InitElementProperties()
EL_MAMPFER,
EL_MAMPFER2,
EL_ROBOT,
EL_MAMPFER,
EL_MAMPFER2,
EL_ROBOT,
- EL_PACMAN
+ EL_PACMAN,
+ EL_SP_SNIKSNAK,
+ EL_SP_ELECTRON
};
static int ep_enemy_num = sizeof(ep_enemy)/sizeof(int);
};
static int ep_enemy_num = sizeof(ep_enemy)/sizeof(int);
@@
-938,7
+983,25
@@
void InitElementProperties()
EL_MAUER_X,
EL_MAUER_Y,
EL_MAUER_XY,
EL_MAUER_X,
EL_MAUER_Y,
EL_MAUER_XY,
- EL_MAUERND
+ EL_MAUERND,
+ EL_SP_CHIP_SINGLE,
+ EL_SP_CHIP_LEFT,
+ EL_SP_CHIP_RIGHT,
+ EL_SP_CHIP_UPPER,
+ EL_SP_CHIP_LOWER,
+ EL_SP_HARD_GRAY,
+ EL_SP_HARD_GREEN,
+ EL_SP_HARD_BLUE,
+ EL_SP_HARD_RED,
+ EL_SP_HARD_YELLOW,
+ EL_SP_HARD_BASE1,
+ EL_SP_HARD_BASE2,
+ EL_SP_HARD_BASE3,
+ EL_SP_HARD_BASE4,
+ EL_SP_HARD_BASE5,
+ EL_SP_HARD_BASE6,
+ EL_SP_TERMINAL,
+ EL_SP_EXIT
};
static int ep_mauer_num = sizeof(ep_mauer)/sizeof(int);
};
static int ep_mauer_num = sizeof(ep_mauer)/sizeof(int);
@@
-958,7
+1021,10
@@
void InitElementProperties()
EL_SIEB_VOLL,
EL_SIEB2_VOLL,
EL_ZEIT_VOLL,
EL_SIEB_VOLL,
EL_SIEB2_VOLL,
EL_ZEIT_VOLL,
- EL_ZEIT_LEER
+ EL_ZEIT_LEER,
+ EL_SP_ZONK,
+ EL_SP_INFOTRON,
+ EL_SP_DISK_ORANGE
};
static int ep_can_fall_num = sizeof(ep_can_fall)/sizeof(int);
};
static int ep_can_fall_num = sizeof(ep_can_fall)/sizeof(int);
@@
-979,7
+1045,10
@@
void InitElementProperties()
EL_KOKOSNUSS,
EL_TROPFEN,
EL_ZEIT_VOLL,
EL_KOKOSNUSS,
EL_TROPFEN,
EL_ZEIT_VOLL,
- EL_ZEIT_LEER
+ EL_ZEIT_LEER,
+ EL_SP_ZONK,
+ EL_SP_INFOTRON,
+ EL_SP_DISK_ORANGE
};
static int ep_can_smash_num = sizeof(ep_can_smash)/sizeof(int);
};
static int ep_can_smash_num = sizeof(ep_can_smash)/sizeof(int);
@@
-1009,7
+1078,9
@@
void InitElementProperties()
EL_PINGUIN,
EL_SCHWEIN,
EL_DRACHE,
EL_PINGUIN,
EL_SCHWEIN,
EL_DRACHE,
- EL_SONDE
+ EL_SONDE,
+ EL_SP_SNIKSNAK,
+ EL_SP_ELECTRON
};
static int ep_can_move_num = sizeof(ep_can_move)/sizeof(int);
};
static int ep_can_move_num = sizeof(ep_can_move)/sizeof(int);
@@
-1058,7
+1129,10
@@
void InitElementProperties()
EL_ROBOT,
EL_PACMAN,
EL_TROPFEN,
EL_ROBOT,
EL_PACMAN,
EL_TROPFEN,
- EL_SALZSAEURE
+ EL_SALZSAEURE,
+ EL_SP_SNIKSNAK,
+ EL_SP_ELECTRON,
+ EL_SP_BUG
};
static int ep_dont_go_to_num = sizeof(ep_dont_go_to)/sizeof(int);
};
static int ep_dont_go_to_num = sizeof(ep_dont_go_to)/sizeof(int);
@@
-1132,7
+1206,8
@@
void InitElementProperties()
EL_EDELSTEIN_GELB,
EL_EDELSTEIN_ROT,
EL_EDELSTEIN_LILA,
EL_EDELSTEIN_GELB,
EL_EDELSTEIN_ROT,
EL_EDELSTEIN_LILA,
- EL_DIAMANT
+ EL_DIAMANT,
+ EL_SP_INFOTRON
};
static int ep_gem_num = sizeof(ep_gem)/sizeof(int);
};
static int ep_gem_num = sizeof(ep_gem)/sizeof(int);
@@
-1184,7
+1259,41
@@
void InitElementProperties()
EL_SIEB_TOT,
EL_SIEB2_TOT,
EL_AMOEBA2DIAM,
EL_SIEB_TOT,
EL_SIEB2_TOT,
EL_AMOEBA2DIAM,
- EL_BLOCKED
+ EL_BLOCKED,
+ EL_SP_EMPTY,
+ EL_SP_BASE,
+ EL_SP_PORT1_RIGHT,
+ EL_SP_PORT1_DOWN,
+ EL_SP_PORT1_LEFT,
+ EL_SP_PORT1_UP,
+ EL_SP_PORT2_RIGHT,
+ EL_SP_PORT2_DOWN,
+ EL_SP_PORT2_LEFT,
+ EL_SP_PORT2_UP,
+ EL_SP_PORT_X,
+ EL_SP_PORT_Y,
+ EL_SP_PORT_XY,
+ EL_SP_DISK_RED,
+ EL_SP_DISK_YELLOW,
+ EL_SP_TERMINAL,
+ EL_SP_CHIP_SINGLE,
+ EL_SP_CHIP_LEFT,
+ EL_SP_CHIP_RIGHT,
+ EL_SP_CHIP_UPPER,
+ EL_SP_CHIP_LOWER,
+ EL_SP_HARD_GRAY,
+ EL_SP_HARD_GREEN,
+ EL_SP_HARD_BLUE,
+ EL_SP_HARD_RED,
+ EL_SP_HARD_YELLOW,
+ EL_SP_HARD_BASE1,
+ EL_SP_HARD_BASE2,
+ EL_SP_HARD_BASE3,
+ EL_SP_HARD_BASE4,
+ EL_SP_HARD_BASE5,
+ EL_SP_HARD_BASE6,
+ EL_SP_TERMINAL,
+ EL_SP_EXIT
};
static int ep_inactive_num = sizeof(ep_inactive)/sizeof(int);
};
static int ep_inactive_num = sizeof(ep_inactive)/sizeof(int);
@@
-1202,7
+1311,12
@@
void InitElementProperties()
EL_PINGUIN,
EL_SCHWEIN,
EL_DRACHE,
EL_PINGUIN,
EL_SCHWEIN,
EL_DRACHE,
- EL_SONDE
+ EL_SONDE,
+ EL_SP_DISK_RED,
+ EL_SP_DISK_ORANGE,
+ EL_SP_DISK_YELLOW,
+ EL_SP_SNIKSNAK,
+ EL_SP_ELECTRON
};
static int ep_explosive_num = sizeof(ep_explosive)/sizeof(int);
};
static int ep_explosive_num = sizeof(ep_explosive)/sizeof(int);
@@
-1225,7
+1339,10
@@
void InitElementProperties()
EL_ZEIT_LEER,
EL_SOKOBAN_FELD_VOLL,
EL_SOKOBAN_OBJEKT,
EL_ZEIT_LEER,
EL_SOKOBAN_FELD_VOLL,
EL_SOKOBAN_OBJEKT,
- EL_SONDE
+ EL_SONDE,
+ EL_SP_ZONK,
+ EL_SP_DISK_ORANGE,
+ EL_SP_DISK_YELLOW
};
static int ep_pushable_num = sizeof(ep_pushable)/sizeof(int);
};
static int ep_pushable_num = sizeof(ep_pushable)/sizeof(int);
@@
-1239,6
+1356,16
@@
void InitElementProperties()
};
static int ep_player_num = sizeof(ep_player)/sizeof(int);
};
static int ep_player_num = sizeof(ep_player)/sizeof(int);
+ static int ep_has_content[] =
+ {
+ EL_MAMPFER,
+ EL_AMOEBE_NASS,
+ EL_AMOEBE_NORM,
+ EL_AMOEBE_VOLL,
+ EL_AMOEBE_BD
+ };
+ static int ep_has_content_num = sizeof(ep_has_content)/sizeof(int);
+
static long ep_bit[] =
{
EP_BIT_AMOEBALIVE,
static long ep_bit[] =
{
EP_BIT_AMOEBALIVE,
@@
-1265,7
+1392,8
@@
void InitElementProperties()
EP_BIT_EXPLOSIVE,
EP_BIT_MAMPF3,
EP_BIT_PUSHABLE,
EP_BIT_EXPLOSIVE,
EP_BIT_MAMPF3,
EP_BIT_PUSHABLE,
- EP_BIT_PLAYER
+ EP_BIT_PLAYER,
+ EP_BIT_HAS_CONTENT
};
static int *ep_array[] =
{
};
static int *ep_array[] =
{
@@
-1293,7
+1421,8
@@
void InitElementProperties()
ep_explosive,
ep_mampf3,
ep_pushable,
ep_explosive,
ep_mampf3,
ep_pushable,
- ep_player
+ ep_player,
+ ep_has_content
};
static int *ep_num[] =
{
};
static int *ep_num[] =
{
@@
-1321,7
+1450,8
@@
void InitElementProperties()
&ep_explosive_num,
&ep_mampf3_num,
&ep_pushable_num,
&ep_explosive_num,
&ep_mampf3_num,
&ep_pushable_num,
- &ep_player_num
+ &ep_player_num,
+ &ep_has_content_num
};
static int num_properties = sizeof(ep_num)/sizeof(int *);
};
static int num_properties = sizeof(ep_num)/sizeof(int *);