Browse Source

♻️ Apply more enums

pull/1438/head
Anders Jenbo 5 years ago
parent
commit
779e6cf950
  1. 6
      Source/misdat.h
  2. 67
      Source/missiles.cpp
  3. 5
      Source/missiles.h
  4. 10
      Source/player.h
  5. 16
      enums.h

6
Source/misdat.h

@ -9,6 +9,12 @@
namespace devilution {
enum mienemy_type : uint8_t {
TARGET_MONSTERS,
TARGET_PLAYERS,
TARGET_BOTH,
};
enum missile_resistance : uint8_t {
MISR_NONE,
MISR_FIRE,

67
Source/missiles.cpp

@ -3362,7 +3362,7 @@ void AddDiabApoca(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Sint32
missile[mi]._miDelFlag = TRUE;
}
int AddMissile(int sx, int sy, int dx, int dy, int midir, int mitype, char micaster, int id, int midam, int spllvl)
int AddMissile(int sx, int sy, int dx, int dy, int midir, int mitype, int8_t micaster, int id, int midam, int spllvl)
{
int i, mi;
@ -4329,22 +4329,19 @@ void MI_LightningWallC(Sint32 i)
void MI_FireNova(Sint32 i)
{
int k, id, sx, sy, dir, en, sx1, sy1, dam;
sx1 = 0;
sy1 = 0;
id = missile[i]._misource;
dam = missile[i]._midam;
sx = missile[i]._mix;
sy = missile[i]._miy;
int sx1 = 0;
int sy1 = 0;
int id = missile[i]._misource;
int dam = missile[i]._midam;
int sx = missile[i]._mix;
int sy = missile[i]._miy;
int dir = 0;
mienemy_type en = TARGET_PLAYERS;
if (id != -1) {
dir = plr[id]._pdir;
en = TARGET_MONSTERS;
} else {
dir = 0;
en = TARGET_PLAYERS;
}
for (k = 0; k < 23; k++) {
for (int k = 0; k < 23; k++) {
if (sx1 != vCrawlTable[k][6] || sy1 != vCrawlTable[k][7]) {
AddMissile(sx, sy, sx + vCrawlTable[k][6], sy + vCrawlTable[k][7], dir, MIS_FIRENOVA, en, id, dam, missile[i]._mispllvl);
AddMissile(sx, sy, sx - vCrawlTable[k][6], sy - vCrawlTable[k][7], dir, MIS_FIRENOVA, en, id, dam, missile[i]._mispllvl);
@ -4361,16 +4358,16 @@ void MI_FireNova(Sint32 i)
void MI_SpecArrow(Sint32 i)
{
int dir, src, dam, sx, sy, dx, dy, spllvl, mitype, micaster;
src = missile[i]._misource;
dam = missile[i]._midam;
sx = missile[i]._mix;
sy = missile[i]._miy;
dx = missile[i]._miVar1;
dy = missile[i]._miVar2;
spllvl = missile[i]._miVar3;
mitype = 0;
int src = missile[i]._misource;
int dam = missile[i]._midam;
int sx = missile[i]._mix;
int sy = missile[i]._miy;
int dx = missile[i]._miVar1;
int dy = missile[i]._miVar2;
int spllvl = missile[i]._miVar3;
int mitype = 0;
int dir = 0;
mienemy_type micaster = TARGET_PLAYERS;
if (src != -1) {
dir = plr[src]._pdir;
micaster = TARGET_MONSTERS;
@ -4389,9 +4386,6 @@ void MI_SpecArrow(Sint32 i)
mitype = MIS_HBOLTARROW;
break;
}
} else {
dir = 0;
micaster = TARGET_PLAYERS;
}
AddMissile(sx, sy, dx, dy, dir, mitype, micaster, src, dam, spllvl);
if (mitype == MIS_CBOLTARROW) {
@ -5207,22 +5201,19 @@ void MI_Wave(Sint32 i)
void MI_Nova(Sint32 i)
{
int k, id, sx, sy, dir, en, sx1, sy1, dam;
sx1 = 0;
sy1 = 0;
id = missile[i]._misource;
dam = missile[i]._midam;
sx = missile[i]._mix;
sy = missile[i]._miy;
int sx1 = 0;
int sy1 = 0;
int id = missile[i]._misource;
int dam = missile[i]._midam;
int sx = missile[i]._mix;
int sy = missile[i]._miy;
int dir = 0;
mienemy_type en = TARGET_PLAYERS;
if (id != -1) {
dir = plr[id]._pdir;
en = TARGET_MONSTERS;
} else {
dir = 0;
en = TARGET_PLAYERS;
}
for (k = 0; k < 23; k++) {
for (int k = 0; k < 23; k++) {
if (sx1 != vCrawlTable[k][6] || sy1 != vCrawlTable[k][7]) {
AddMissile(sx, sy, sx + vCrawlTable[k][6], sy + vCrawlTable[k][7], dir, MIS_LIGHTBALL, en, id, dam, missile[i]._mispllvl);
AddMissile(sx, sy, sx - vCrawlTable[k][6], sy - vCrawlTable[k][7], dir, MIS_LIGHTBALL, en, id, dam, missile[i]._mispllvl);

5
Source/missiles.h

@ -48,7 +48,8 @@ struct MissileStruct {
Uint32 _miUniqTrans;
Sint32 _mirange; // Time to live for the missile in game ticks, oncs 0 the missile will be marked for deletion via _miDelFlag
Sint32 _misource;
Sint32 _micaster;
/** mienemy_type or player id*/
Sint8 _micaster;
Sint32 _midam;
bool _miHitFlag;
Sint32 _midist; // Used for arrows to measure distance travelled (increases by 1 each game tick). Higher value is a penalty for accuracy calculation when hitting enemy
@ -170,7 +171,7 @@ void AddTelekinesis(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Sint3
void AddBoneSpirit(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Sint32 midir, Sint8 mienemy, Sint32 id, Sint32 dam);
void AddRportal(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Sint32 midir, Sint8 mienemy, Sint32 id, Sint32 dam);
void AddDiabApoca(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Sint32 midir, Sint8 mienemy, Sint32 id, Sint32 dam);
int AddMissile(int sx, int sy, int dx, int dy, int midir, int mitype, char micaster, int id, int midam, int spllvl);
int AddMissile(int sx, int sy, int dx, int dy, int midir, int mitype, int8_t micaster, int id, int midam, int spllvl);
void MI_Dummy(Sint32 i);
void MI_Golem(Sint32 i);
void MI_SetManashield(Sint32 i);

10
Source/player.h

@ -9,6 +9,16 @@
namespace devilution {
enum plr_class : uint8_t {
PC_WARRIOR,
PC_ROGUE,
PC_SORCERER,
PC_MONK,
PC_BARD,
PC_BARBARIAN,
NUM_CLASSES
};
enum anim_weapon_id : uint8_t {
ANIM_ID_UNARMED,
ANIM_ID_UNARMED_SHIELD,

16
enums.h

@ -35,12 +35,6 @@ typedef enum placeflag {
PLACE_UNIQUE = 4,
} placeflag;
typedef enum mienemy_type {
TARGET_MONSTERS = 0,
TARGET_PLAYERS = 1,
TARGET_BOTH = 2,
} mienemy_type;
typedef enum dungeon_message {
DMSG_CATHEDRAL = 1 << 0,
DMSG_CATACOMBS = 1 << 1,
@ -442,16 +436,6 @@ typedef enum _unique_items {
UITEM_INVALID = 0x5A,
} _unique_items;
typedef enum plr_class {
PC_WARRIOR,
PC_ROGUE,
PC_SORCERER,
PC_MONK,
PC_BARD,
PC_BARBARIAN,
NUM_CLASSES
} plr_class;
typedef enum _walk_path {
WALK_NE = 0x1,
WALK_NW = 0x2,

Loading…
Cancel
Save