Skip to content

Commit 4d20d90

Browse files
committed
add 'monster' & 'movable' to the makefile
tested with mingw32-make (from code::blocks installation)
1 parent a7abaaa commit 4d20d90

File tree

3 files changed

+73
-2
lines changed

3 files changed

+73
-2
lines changed

.gitignore

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
*.o
2+
*.obj
3+
*.gch
4+
5+
/bin/
6+
/bin64/
7+
/src/vcpp/

src/Makefile

+20-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@ override CXXFLAGS+= -Wall -fsigned-char -fno-exceptions -fno-rtti
44
PLATFORM= $(shell uname -s | tr '[:lower:]' '[:upper:]')
55
PLATFORM_ARCH= $(shell uname -m)
66
PLATFORM_PREFIX= native
7+
ifdef OS
8+
ifeq ($(OS),Windows_NT)
9+
PLATFORM = MINGW
10+
endif
11+
endif
712

813
INCLUDES= -Ishared -Iengine -Igame -Ienet/include
914

@@ -119,6 +124,8 @@ CLIENT_OBJS= \
119124
game/scoreboard.o \
120125
game/server.o \
121126
game/waypoint.o \
127+
game/monster.o \
128+
game/movable.o \
122129
game/weapon.o
123130

124131
CLIENT_PCH= shared/cube.h.gch engine/engine.h.gch game/game.h.gch
@@ -452,22 +459,33 @@ game/entities.o: shared/glemu.h shared/iengine.h shared/igame.h game/ai.h
452459
game/game.o: game/game.h shared/cube.h shared/tools.h shared/geom.h
453460
game/game.o: shared/ents.h shared/command.h shared/glexts.h shared/glemu.h
454461
game/game.o: shared/iengine.h shared/igame.h game/ai.h
462+
game/game.o: game/monster.h
455463
game/render.o: game/game.h shared/cube.h shared/tools.h shared/geom.h
456464
game/render.o: shared/ents.h shared/command.h shared/glexts.h shared/glemu.h
457465
game/render.o: shared/iengine.h shared/igame.h game/ai.h
466+
game/render.o: game/monster.h
458467
game/scoreboard.o: game/game.h shared/cube.h shared/tools.h shared/geom.h
459468
game/scoreboard.o: shared/ents.h shared/command.h shared/glexts.h
460469
game/scoreboard.o: shared/glemu.h shared/iengine.h shared/igame.h game/ai.h
461470
game/server.o: game/game.h shared/cube.h shared/tools.h shared/geom.h
462471
game/server.o: shared/ents.h shared/command.h shared/glexts.h shared/glemu.h
463472
game/server.o: shared/iengine.h shared/igame.h game/ai.h game/ctf.h
464473
game/server.o: game/extinfo.h game/aiman.h
474+
game/monster.o: game/game.h shared/cube.h shared/tools.h shared/geom.h
475+
game/monster.o: shared/ents.h shared/command.h shared/glexts.h
476+
game/monster.o: shared/glemu.h shared/iengine.h shared/igame.h game/ai.h
477+
game/monster.o: game/monster.h
478+
game/movable.o: game/game.h shared/cube.h shared/tools.h shared/geom.h
479+
game/movable.o: shared/ents.h shared/command.h shared/glexts.h
480+
game/movable.o: shared/glemu.h shared/iengine.h shared/igame.h
481+
game/movable.o: game/ai.h
465482
game/waypoint.o: game/game.h shared/cube.h shared/tools.h shared/geom.h
466483
game/waypoint.o: shared/ents.h shared/command.h shared/glexts.h
467484
game/waypoint.o: shared/glemu.h shared/iengine.h shared/igame.h game/ai.h
468485
game/weapon.o: game/game.h shared/cube.h shared/tools.h shared/geom.h
469486
game/weapon.o: shared/ents.h shared/command.h shared/glexts.h shared/glemu.h
470487
game/weapon.o: shared/iengine.h shared/igame.h game/ai.h
488+
game/weapon.o: game/monster.h
471489

472490
shared/cube.h.gch: shared/tools.h shared/geom.h shared/ents.h
473491
shared/cube.h.gch: shared/command.h shared/glexts.h shared/glemu.h
@@ -479,7 +497,7 @@ engine/engine.h.gch: engine/octa.h engine/light.h engine/texture.h
479497
engine/engine.h.gch: engine/bih.h engine/model.h
480498
game/game.h.gch: shared/cube.h shared/tools.h shared/geom.h shared/ents.h
481499
game/game.h.gch: shared/command.h shared/glexts.h shared/glemu.h
482-
game/game.h.gch: shared/iengine.h shared/igame.h game/ai.h
500+
game/game.h.gch: shared/iengine.h shared/igame.h game/ai.h game/monster.h
483501

484502
standalone/shared/crypto.o: shared/cube.h shared/tools.h shared/geom.h
485503
standalone/shared/crypto.o: shared/ents.h shared/command.h shared/iengine.h
@@ -519,4 +537,4 @@ standalone/engine/engine.h.gch: shared/iengine.h shared/igame.h
519537
standalone/engine/engine.h.gch: engine/world.h
520538
standalone/game/game.h.gch: shared/cube.h shared/tools.h shared/geom.h
521539
standalone/game/game.h.gch: shared/ents.h shared/command.h shared/iengine.h
522-
standalone/game/game.h.gch: shared/igame.h game/ai.h
540+
standalone/game/game.h.gch: shared/igame.h game/ai.h game/monster.h

src/game/monster.h

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
2+
enum // monster states
3+
{
4+
MS_NONE = 0,
5+
MS_SEARCH,
6+
MS_HOME,
7+
MS_ATTACKING,
8+
MS_PAIN,
9+
MS_SLEEP,
10+
MS_AIMING
11+
};
12+
13+
enum
14+
{
15+
MTYPE_PLAYER = 0,
16+
MTYPE_BRUTE,
17+
MTYPE_GRAY,
18+
MTYPE_GUARD,
19+
MTYPE_MECH,
20+
MTYPE_SPIDER,
21+
NUMMONSTERS
22+
};
23+
inline bool validmonster(int monster) { return monster >= 0 && monster < NUMMONSTERS; }
24+
25+
static const int MONSTER_EXPLODE_DELAY = 8000;
26+
static const int MONSTER_DETONATION_DELAY = 350;
27+
28+
static const int TOTMFREQ = 14;
29+
30+
struct monstertype // see docs for how these values modify behaviour
31+
{
32+
int type, atk, speed, speedbonus, health, healthbonus, burstshots, freq, lag, rate, pain, loyalty, bscale, weight, bloodcolor;
33+
int painsound, diesound, haltsound, attacksound;
34+
const char *name, *mdlname, *worldgunmodel;
35+
bool isexplosive, isneutral, hasragdoll;
36+
};
37+
38+
static const monstertype monstertypes[NUMMONSTERS] =
39+
{
40+
{ MTYPE_PLAYER, ATK_PULSE1, 30, 0, 100, 25, 0, 0, 200, 100, 100, 1, 12, 100, 0x60FFFF, S_PAIN_MALE, S_DIE_MALE, NULL, NULL, "clone", "player/bones", "weapon/pulserifle/world", false, false, true },
41+
{ MTYPE_BRUTE, ATK_PISTOL2, 12, 0, 100, 25, 0, 3, 0, 100, 800, 1, 12, 100, 0x60FFFF, S_OGRO_PAIN, S_OGRO_DEATH, S_OGRO_HALT, NULL, "brute", "monster/ogro", "monster/ogro/weapon", false, false, true },
42+
{ MTYPE_GRAY, ATK_SCATTER1, 14, 0, 120, 30, 0, 1, 100, 400, 400, 4, 15, 60, 0xFFFF90, S_RATA_PAIN, S_RATA_DEATH, S_RATA_HALT, NULL, "gray", "monster/gray", "weapon/scattergun/world", false, false, false },
43+
{ MTYPE_GUARD, ATK_PULSE1, 15, 0, 200, 50, 8, 1, 80, 300, 300, 4, 14, 140, 0x60FFFF, S_GUARD_PAIN, S_GUARD_DEATH, S_GUARD_HALT, S_GUARD_ATTACK, "guard", "monster/guard", "monster/guard/weapon", false, false, true },
44+
{ MTYPE_MECH, ATK_ROCKET1, 12, 14, 500, 80, 0, 1, 0, 200, 200, 6, 22, 220, -1, S_BAUUL_PAIN, S_BAUUL_DEATH, S_BAUUL_HALT, NULL, "mech", "monster/mech", NULL, true, false, true },
45+
{ MTYPE_SPIDER, ATK_MELEE, 19, 0, 30, 30, 0, 1, 0, 200, 400, 1, 7, 20, 0xFF90FF, S_SPIDER_PAIN, S_SPIDER_DEATH, S_SPIDER_HALT, S_SPIDER_ATTACK, "cybercrab", "monster/spider", NULL, false, false, false }
46+
};

0 commit comments

Comments
 (0)