Skip to content

Commit dcd8925

Browse files
authored
Merge pull request #48 from LegendaryGuard/bg_mods
Simplify mean of death (MOD_*) declaration to a single line of each
2 parents 69de2a6 + 3bdf609 commit dcd8925

4 files changed

Lines changed: 54 additions & 63 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ Unofficial Quake III Arena gamecode patch
2323
* high-quality proportional font renderer
2424
* single-line cvar declaration, improved cvar code readability and development efficiency
2525
* single-line event (EV_*) declaration
26+
* single-line mean of death (MOD_*) declaration
2627

2728
# TODO:
2829

code/game/bg_mods.h

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
#ifdef MOD_ENUMS
2+
#define DECLARE_MOD( mod ) mod
3+
#endif
4+
5+
#ifdef MOD_STRINGS
6+
#define DECLARE_MOD( mod ) #mod
7+
#endif
8+
9+
DECLARE_MOD( MOD_UNKNOWN ),
10+
DECLARE_MOD( MOD_SHOTGUN ),
11+
DECLARE_MOD( MOD_GAUNTLET ),
12+
DECLARE_MOD( MOD_MACHINEGUN ),
13+
DECLARE_MOD( MOD_GRENADE ),
14+
DECLARE_MOD( MOD_GRENADE_SPLASH ),
15+
DECLARE_MOD( MOD_ROCKET ),
16+
DECLARE_MOD( MOD_ROCKET_SPLASH ),
17+
DECLARE_MOD( MOD_PLASMA ),
18+
DECLARE_MOD( MOD_PLASMA_SPLASH ),
19+
DECLARE_MOD( MOD_RAILGUN ),
20+
DECLARE_MOD( MOD_LIGHTNING ),
21+
DECLARE_MOD( MOD_BFG ),
22+
DECLARE_MOD( MOD_BFG_SPLASH ),
23+
DECLARE_MOD( MOD_WATER ),
24+
DECLARE_MOD( MOD_SLIME ),
25+
DECLARE_MOD( MOD_LAVA ),
26+
DECLARE_MOD( MOD_CRUSH ),
27+
DECLARE_MOD( MOD_TELEFRAG ),
28+
DECLARE_MOD( MOD_FALLING ),
29+
DECLARE_MOD( MOD_SUICIDE ),
30+
DECLARE_MOD( MOD_TARGET_LASER ),
31+
DECLARE_MOD( MOD_TRIGGER_HURT ),
32+
#ifdef MISSIONPACK
33+
DECLARE_MOD( MOD_NAIL ),
34+
DECLARE_MOD( MOD_CHAINGUN ),
35+
DECLARE_MOD( MOD_PROXIMITY_MINE ),
36+
DECLARE_MOD( MOD_KAMIKAZE ),
37+
DECLARE_MOD( MOD_JUICED ),
38+
#endif
39+
DECLARE_MOD( MOD_GRAPPLE )
40+
41+
#ifdef MOD_ENUMS
42+
, DECLARE_MOD( MOD_NUM_MAX )
43+
#endif
44+
45+
#undef DECLARE_MOD

code/game/bg_public.h

Lines changed: 3 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -471,37 +471,9 @@ typedef enum {
471471

472472
// means of death
473473
typedef enum {
474-
MOD_UNKNOWN,
475-
MOD_SHOTGUN,
476-
MOD_GAUNTLET,
477-
MOD_MACHINEGUN,
478-
MOD_GRENADE,
479-
MOD_GRENADE_SPLASH,
480-
MOD_ROCKET,
481-
MOD_ROCKET_SPLASH,
482-
MOD_PLASMA,
483-
MOD_PLASMA_SPLASH,
484-
MOD_RAILGUN,
485-
MOD_LIGHTNING,
486-
MOD_BFG,
487-
MOD_BFG_SPLASH,
488-
MOD_WATER,
489-
MOD_SLIME,
490-
MOD_LAVA,
491-
MOD_CRUSH,
492-
MOD_TELEFRAG,
493-
MOD_FALLING,
494-
MOD_SUICIDE,
495-
MOD_TARGET_LASER,
496-
MOD_TRIGGER_HURT,
497-
#ifdef MISSIONPACK
498-
MOD_NAIL,
499-
MOD_CHAINGUN,
500-
MOD_PROXIMITY_MINE,
501-
MOD_KAMIKAZE,
502-
MOD_JUICED,
503-
#endif
504-
MOD_GRAPPLE
474+
#define MOD_ENUMS
475+
#include "bg_mods.h"
476+
#undef MOD_ENUMS
505477
} meansOfDeath_t;
506478

507479

code/game/g_combat.c

Lines changed: 5 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -267,38 +267,11 @@ void body_die( gentity_t *self, gentity_t *inflictor, gentity_t *attacker, int d
267267

268268

269269
// these are just for logging, the client prints its own messages
270-
char *modNames[] = {
271-
"MOD_UNKNOWN",
272-
"MOD_SHOTGUN",
273-
"MOD_GAUNTLET",
274-
"MOD_MACHINEGUN",
275-
"MOD_GRENADE",
276-
"MOD_GRENADE_SPLASH",
277-
"MOD_ROCKET",
278-
"MOD_ROCKET_SPLASH",
279-
"MOD_PLASMA",
280-
"MOD_PLASMA_SPLASH",
281-
"MOD_RAILGUN",
282-
"MOD_LIGHTNING",
283-
"MOD_BFG",
284-
"MOD_BFG_SPLASH",
285-
"MOD_WATER",
286-
"MOD_SLIME",
287-
"MOD_LAVA",
288-
"MOD_CRUSH",
289-
"MOD_TELEFRAG",
290-
"MOD_FALLING",
291-
"MOD_SUICIDE",
292-
"MOD_TARGET_LASER",
293-
"MOD_TRIGGER_HURT",
294-
#ifdef MISSIONPACK
295-
"MOD_NAIL",
296-
"MOD_CHAINGUN",
297-
"MOD_PROXIMITY_MINE",
298-
"MOD_KAMIKAZE",
299-
"MOD_JUICED",
300-
#endif
301-
"MOD_GRAPPLE"
270+
char *modNames[MOD_NUM_MAX] = {
271+
#define MOD_STRINGS
272+
#include "bg_mods.h"
273+
#undef MOD_STRINGS
274+
"NULL" // avoid -Wpedantic warnings
302275
};
303276

304277
#ifdef MISSIONPACK

0 commit comments

Comments
 (0)