Add some compile time defined names for p->inven_icon values. Too bad these values aren't in the same order as the inventory items themselves... (dukeinv_t and dukeinvicon_t values do not match).

git-svn-id: https://svn.eduke32.com/eduke32@3115 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
terminx 2012-11-04 23:41:05 +00:00
parent 20f0f21986
commit 5cca0d4ffe
8 changed files with 71 additions and 61 deletions

View file

@ -1150,19 +1150,19 @@ static int32_t G_GetInvAmount(const DukePlayer_t *p)
{ {
switch (p->inven_icon) switch (p->inven_icon)
{ {
case 1: case ICON_FIRSTAID:
return p->inv_amount[GET_FIRSTAID]; return p->inv_amount[GET_FIRSTAID];
case 2: case ICON_STEROIDS:
return ((p->inv_amount[GET_STEROIDS]+3)>>2); return ((p->inv_amount[GET_STEROIDS]+3)>>2);
case 3: case ICON_HOLODUKE:
return ((p->inv_amount[GET_HOLODUKE]+15)/24); return ((p->inv_amount[GET_HOLODUKE]+15)/24);
case 4: case ICON_JETPACK:
return ((p->inv_amount[GET_JETPACK]+15)>>4); return ((p->inv_amount[GET_JETPACK]+15)>>4);
case 5: case ICON_HEATS:
return p->inv_amount[GET_HEATS]/12; return p->inv_amount[GET_HEATS]/12;
case 6: case ICON_SCUBA:
return ((p->inv_amount[GET_SCUBA]+63)>>6); return ((p->inv_amount[GET_SCUBA]+63)>>6);
case 7: case ICON_BOOTS:
return (p->inv_amount[GET_BOOTS]>>1); return (p->inv_amount[GET_BOOTS]>>1);
} }
@ -1173,11 +1173,11 @@ static int32_t G_GetInvOn(const DukePlayer_t *p)
{ {
switch (p->inven_icon) switch (p->inven_icon)
{ {
case 3: case ICON_HOLODUKE:
return p->holoduke_on; return p->holoduke_on;
case 4: case ICON_JETPACK:
return p->jetpack_on; return p->jetpack_on;
case 5: case ICON_HEATS:
return p->heat_on; return p->heat_on;
} }
@ -1310,7 +1310,7 @@ static void G_DrawStatusBar(int32_t snum)
{ {
const int32_t orient = 10+16+permbit+256; const int32_t orient = 10+16+permbit+256;
i = ((unsigned)p->inven_icon < 8) ? item_icons[p->inven_icon] : -1; i = ((unsigned)p->inven_icon < ICON_MAX) ? item_icons[p->inven_icon] : -1;
if (i >= 0) if (i >= 0)
{ {
if (getrendermode() >= 3 && althud_shadows) if (getrendermode() >= 3 && althud_shadows)
@ -1340,7 +1340,7 @@ static void G_DrawStatusBar(int32_t snum)
minitext(284-30-o,180-3,"Off",2, orient+ROTATESPRITE_MAX); minitext(284-30-o,180-3,"Off",2, orient+ROTATESPRITE_MAX);
} }
if (p->inven_icon >= 6) if (p->inven_icon >= ICON_SCUBA)
{ {
if (getrendermode() >= 3 && althud_shadows) if (getrendermode() >= 3 && althud_shadows)
minitext(284-35-o+1,180-3+1,"Auto",4, POLYMOSTTRANS+orient+ROTATESPRITE_MAX); minitext(284-35-o+1,180-3+1,"Auto",4, POLYMOSTTRANS+orient+ROTATESPRITE_MAX);
@ -1392,7 +1392,7 @@ static void G_DrawStatusBar(int32_t snum)
{ {
// orient |= permbit; // orient |= permbit;
i = ((unsigned)p->inven_icon < 8) ? item_icons[p->inven_icon] : -1; i = ((unsigned)p->inven_icon < ICON_MAX) ? item_icons[p->inven_icon] : -1;
if (i >= 0) if (i >= 0)
rotatesprite_fs(sbarx(231-o), yofssh+sbary(200-21), sb16, 0, i, 0, 0, orient); rotatesprite_fs(sbarx(231-o), yofssh+sbary(200-21), sb16, 0, i, 0, 0, orient);
@ -1412,7 +1412,7 @@ static void G_DrawStatusBar(int32_t snum)
else if ((uint32_t)j != 0x80000000) else if ((uint32_t)j != 0x80000000)
minitext(284-30-o, 180, "Off", 2, orient); minitext(284-30-o, 180, "Off", 2, orient);
if (p->inven_icon >= 6) if (p->inven_icon >= ICON_SCUBA)
minitext(284-35-o, 180, "Auto", 2, orient); minitext(284-35-o, 180, "Auto", 2, orient);
minitext_yofs = 0; minitext_yofs = 0;
@ -1628,11 +1628,11 @@ static void G_DrawStatusBar(int32_t snum)
if (u&(2048+4096)) if (u&(2048+4096))
{ {
i = ((unsigned)p->inven_icon < 8) ? item_icons[p->inven_icon] : -1; i = ((unsigned)p->inven_icon < ICON_MAX) ? item_icons[p->inven_icon] : -1;
// XXX: i < 0? // XXX: i < 0?
rotatesprite_fs(sbarx(231-o),sbary(SBY+13),sb16,0,i,0,0,10+16+permbit); rotatesprite_fs(sbarx(231-o),sbary(SBY+13),sb16,0,i,0,0,10+16+permbit);
minitext(292-30-o,SBY+24,"%",6,10+16+permbit + ROTATESPRITE_MAX); minitext(292-30-o,SBY+24,"%",6,10+16+permbit + ROTATESPRITE_MAX);
if (p->inven_icon >= 6) minitext(284-35-o,SBY+14,"Auto",2,10+16+permbit + ROTATESPRITE_MAX); if (p->inven_icon >= ICON_SCUBA) minitext(284-35-o,SBY+14,"Auto",2,10+16+permbit + ROTATESPRITE_MAX);
} }
if (u&(2048+4096)) if (u&(2048+4096))
@ -7268,7 +7268,7 @@ FOUNDCHEAT:
P_DoQuote(QUOTE_CHEAT_EVERYTHING, g_player[myconnectindex].ps); P_DoQuote(QUOTE_CHEAT_EVERYTHING, g_player[myconnectindex].ps);
// P_DoQuote(QUOTE_21,g_player[myconnectindex].ps); // P_DoQuote(QUOTE_21,g_player[myconnectindex].ps);
g_player[myconnectindex].ps->inven_icon = 1; g_player[myconnectindex].ps->inven_icon = ICON_FIRSTAID;
end_cheat(); end_cheat();
return; return;

View file

@ -3147,7 +3147,7 @@ nullquote:
{ {
case GET_STEROIDS: case GET_STEROIDS:
ps->inv_amount[GET_STEROIDS] = *insptr; ps->inv_amount[GET_STEROIDS] = *insptr;
ps->inven_icon = 2; ps->inven_icon = ICON_STEROIDS;
break; break;
case GET_SHIELD: case GET_SHIELD:
@ -3158,17 +3158,17 @@ nullquote:
case GET_SCUBA: case GET_SCUBA:
ps->inv_amount[GET_SCUBA] = *insptr;// 1600; ps->inv_amount[GET_SCUBA] = *insptr;// 1600;
ps->inven_icon = 6; ps->inven_icon = ICON_SCUBA;
break; break;
case GET_HOLODUKE: case GET_HOLODUKE:
ps->inv_amount[GET_HOLODUKE] = *insptr;// 1600; ps->inv_amount[GET_HOLODUKE] = *insptr;// 1600;
ps->inven_icon = 3; ps->inven_icon = ICON_HOLODUKE;
break; break;
case GET_JETPACK: case GET_JETPACK:
ps->inv_amount[GET_JETPACK] = *insptr;// 1600; ps->inv_amount[GET_JETPACK] = *insptr;// 1600;
ps->inven_icon = 4; ps->inven_icon = ICON_JETPACK;
break; break;
case GET_ACCESS: case GET_ACCESS:
@ -3188,16 +3188,16 @@ nullquote:
case GET_HEATS: case GET_HEATS:
ps->inv_amount[GET_HEATS] = *insptr; ps->inv_amount[GET_HEATS] = *insptr;
ps->inven_icon = 5; ps->inven_icon = ICON_HEATS;
break; break;
case GET_FIRSTAID: case GET_FIRSTAID:
ps->inven_icon = 1; ps->inven_icon = ICON_FIRSTAID;
ps->inv_amount[GET_FIRSTAID] = *insptr; ps->inv_amount[GET_FIRSTAID] = *insptr;
break; break;
case GET_BOOTS: case GET_BOOTS:
ps->inven_icon = 7; ps->inven_icon = ICON_BOOTS;
ps->inv_amount[GET_BOOTS] = *insptr; ps->inv_amount[GET_BOOTS] = *insptr;
break; break;
default: default:

View file

@ -50,7 +50,7 @@ int16_t cyclers[MAXCYCLERS][6],g_numCyclers;
char *ScriptQuotes[MAXQUOTES], *ScriptQuoteRedefinitions[MAXQUOTES]; char *ScriptQuotes[MAXQUOTES], *ScriptQuoteRedefinitions[MAXQUOTES];
char tempbuf[2048], packbuf[PACKBUF_SIZE], menutextbuf[128], buf[1024]; char tempbuf[MAXSECTORS<<1], packbuf[PACKBUF_SIZE], menutextbuf[128], buf[1024];
int16_t camsprite; int16_t camsprite;
int16_t g_mirrorWall[64], g_mirrorSector[64], g_mirrorCount; int16_t g_mirrorWall[64], g_mirrorSector[64], g_mirrorCount;

View file

@ -64,7 +64,7 @@ G_EXTERN char pus,pub;
G_EXTERN char ready2send; G_EXTERN char ready2send;
G_EXTERN char setupfilename[BMAX_PATH]; G_EXTERN char setupfilename[BMAX_PATH];
G_EXTERN char szPlayerName[32]; G_EXTERN char szPlayerName[32];
G_EXTERN char tempbuf[2048],packbuf[PACKBUF_SIZE],menutextbuf[128],buf[1024]; G_EXTERN char tempbuf[MAXSECTORS<<1],packbuf[PACKBUF_SIZE],menutextbuf[128],buf[1024];
G_EXTERN char typebuflen,typebuf[141]; G_EXTERN char typebuflen,typebuf[141];
G_EXTERN const char *s_buildDate; G_EXTERN const char *s_buildDate;
G_EXTERN input_t avg; G_EXTERN input_t avg;

View file

@ -3267,7 +3267,7 @@ static int32_t P_DoCounters(DukePlayer_t *p)
if (p->inv_amount[GET_SCUBA] > 0) if (p->inv_amount[GET_SCUBA] > 0)
{ {
p->scuba_on = 1; p->scuba_on = 1;
p->inven_icon = 6; p->inven_icon = ICON_SCUBA;
P_DoQuote(QUOTE_SCUBA_ON,p); P_DoQuote(QUOTE_SCUBA_ON,p);
} }
else else
@ -3414,20 +3414,20 @@ void P_AddWeapon(DukePlayer_t *p,int32_t weapon)
void P_SelectNextInvItem(DukePlayer_t *p) void P_SelectNextInvItem(DukePlayer_t *p)
{ {
if (p->inv_amount[GET_FIRSTAID] > 0) if (p->inv_amount[GET_FIRSTAID] > 0)
p->inven_icon = 1; p->inven_icon = ICON_FIRSTAID;
else if (p->inv_amount[GET_STEROIDS] > 0) else if (p->inv_amount[GET_STEROIDS] > 0)
p->inven_icon = 2; p->inven_icon = ICON_STEROIDS;
else if (p->inv_amount[GET_JETPACK] > 0) else if (p->inv_amount[GET_JETPACK] > 0)
p->inven_icon = 4; p->inven_icon = ICON_JETPACK;
else if (p->inv_amount[GET_HOLODUKE] > 0) else if (p->inv_amount[GET_HOLODUKE] > 0)
p->inven_icon = 3; p->inven_icon = ICON_HOLODUKE;
else if (p->inv_amount[GET_HEATS] > 0) else if (p->inv_amount[GET_HEATS] > 0)
p->inven_icon = 5; p->inven_icon = ICON_HEATS;
else if (p->inv_amount[GET_SCUBA] > 0) else if (p->inv_amount[GET_SCUBA] > 0)
p->inven_icon = 6; p->inven_icon = ICON_SCUBA;
else if (p->inv_amount[GET_BOOTS] > 0) else if (p->inv_amount[GET_BOOTS] > 0)
p->inven_icon = 7; p->inven_icon = ICON_BOOTS;
else p->inven_icon = 0; else p->inven_icon = ICON_NONE;
} }
void P_CheckWeapon(DukePlayer_t *p) void P_CheckWeapon(DukePlayer_t *p)
@ -5060,7 +5060,7 @@ void P_ProcessInput(int32_t snum)
if (p->inv_amount[GET_BOOTS] > 0) if (p->inv_amount[GET_BOOTS] > 0)
{ {
p->inv_amount[GET_BOOTS]--; p->inv_amount[GET_BOOTS]--;
p->inven_icon = 7; p->inven_icon = ICON_BOOTS;
if (p->inv_amount[GET_BOOTS] <= 0) if (p->inv_amount[GET_BOOTS] <= 0)
P_SelectNextInvItem(p); P_SelectNextInvItem(p);
} }

View file

@ -54,6 +54,19 @@ enum dukeinv_t {
GET_MAX GET_MAX
}; };
// these are not in the same order as the above, and it can't be changed for compat reasons. lame!
enum dukeinvicon_t {
ICON_NONE,
ICON_FIRSTAID,
ICON_STEROIDS,
ICON_HOLODUKE,
ICON_JETPACK,
ICON_HEATS,
ICON_SCUBA,
ICON_BOOTS,
ICON_MAX
};
enum dukeweapon_t { enum dukeweapon_t {
KNEE_WEAPON, // 0 KNEE_WEAPON, // 0
PISTOL_WEAPON, PISTOL_WEAPON,

View file

@ -501,7 +501,7 @@ void G_CacheMapData(void)
#ifdef USE_OPENGL #ifdef USE_OPENGL
// PRECACHE // PRECACHE
if (ud.config.useprecache) if (ud.config.useprecache && bpp > 8)
{ {
int32_t k,type; int32_t k,type;
@ -545,7 +545,7 @@ void G_CacheMapData(void)
if ((j&7) == 0) if ((j&7) == 0)
G_HandleAsync(); G_HandleAsync();
if (totalclock - tc > TICRATE/4) if (bpp > 8 && totalclock - tc > TICRATE/4)
{ {
/*Bsprintf(tempbuf,"%d resources remaining\n",g_precacheCount-pc+1);*/ /*Bsprintf(tempbuf,"%d resources remaining\n",g_precacheCount-pc+1);*/
tc = min(100,100*pc/g_precacheCount); tc = min(100,100*pc/g_precacheCount);
@ -789,7 +789,7 @@ void P_ResetStatus(int32_t snum)
if (p->inv_amount[GET_STEROIDS] < 400) if (p->inv_amount[GET_STEROIDS] < 400)
{ {
p->inv_amount[GET_STEROIDS] = 0; p->inv_amount[GET_STEROIDS] = 0;
p->inven_icon = 0; p->inven_icon = ICON_NONE;
} }
p->heat_on = 0; p->heat_on = 0;
p->jetpack_on = 0; p->jetpack_on = 0;
@ -863,14 +863,12 @@ void P_ResetInventory(int32_t snum)
Bmemset(p->inv_amount, 0, sizeof(p->inv_amount)); Bmemset(p->inv_amount, 0, sizeof(p->inv_amount));
p->inven_icon = 0;
p->scuba_on = 0; p->scuba_on = 0;
p->heat_on = 0; p->heat_on = 0;
p->jetpack_on = 0; p->jetpack_on = 0;
p->holoduke_on = -1; p->holoduke_on = -1;
p->inv_amount[GET_SHIELD] = g_startArmorAmount; p->inv_amount[GET_SHIELD] = g_startArmorAmount;
p->inven_icon = 0; p->inven_icon = ICON_NONE;
VM_OnEvent(EVENT_RESETINVENTORY, p->i, snum, -1, 0); VM_OnEvent(EVENT_RESETINVENTORY, p->i, snum, -1, 0);
} }

View file

@ -2520,7 +2520,6 @@ void P_HandleSharedKeys(int32_t snum)
} }
} }
// j = sb_snum & ((15<<8)|(1<<12)|(1<<15)|(1<<16)|(1<<22)|(1<<19)|(1<<20)|(1<<21)|(1<<24)|(1<<25)|(1<<27)|(1<<28)|(1<<29)|(1<<30)|(1<<31));
j = sb_snum & ((15<<SK_WEAPON_BITS)|BIT(SK_STEROIDS)|BIT(SK_NIGHTVISION)|BIT(SK_MEDKIT)|BIT(SK_QUICK_KICK)| \ j = sb_snum & ((15<<SK_WEAPON_BITS)|BIT(SK_STEROIDS)|BIT(SK_NIGHTVISION)|BIT(SK_MEDKIT)|BIT(SK_QUICK_KICK)| \
BIT(SK_HOLSTER)|BIT(SK_INV_LEFT)|BIT(SK_PAUSE)|BIT(SK_HOLODUKE)|BIT(SK_JETPACK)|BIT(SK_INV_RIGHT)| \ BIT(SK_HOLSTER)|BIT(SK_INV_LEFT)|BIT(SK_PAUSE)|BIT(SK_HOLODUKE)|BIT(SK_JETPACK)|BIT(SK_INV_RIGHT)| \
BIT(SK_TURNAROUND)|BIT(SK_OPEN)|BIT(SK_INVENTORY)|BIT(SK_ESCAPE)); BIT(SK_TURNAROUND)|BIT(SK_OPEN)|BIT(SK_INVENTORY)|BIT(SK_ESCAPE));
@ -2560,19 +2559,19 @@ void P_HandleSharedKeys(int32_t snum)
{ {
switch (p->inven_icon) switch (p->inven_icon)
{ {
case 4: case ICON_JETPACK:
sb_snum |= BIT(SK_JETPACK); sb_snum |= BIT(SK_JETPACK);
break; break;
case 3: case ICON_HOLODUKE:
sb_snum |= BIT(SK_HOLODUKE); sb_snum |= BIT(SK_HOLODUKE);
break; break;
case 5: case ICON_HEATS:
sb_snum |= BIT(SK_NIGHTVISION); sb_snum |= BIT(SK_NIGHTVISION);
break; break;
case 1: case ICON_FIRSTAID:
sb_snum |= BIT(SK_MEDKIT); sb_snum |= BIT(SK_MEDKIT);
break; break;
case 2: case ICON_STEROIDS:
sb_snum |= BIT(SK_STEROIDS); sb_snum |= BIT(SK_STEROIDS);
break; break;
} }
@ -2586,7 +2585,7 @@ void P_HandleSharedKeys(int32_t snum)
{ {
p->heat_on = !p->heat_on; p->heat_on = !p->heat_on;
P_UpdateScreenPal(p); P_UpdateScreenPal(p);
p->inven_icon = 5; p->inven_icon = ICON_HEATS;
A_PlaySound(NITEVISION_ONOFF,p->i); A_PlaySound(NITEVISION_ONOFF,p->i);
P_DoQuote(QUOTE_NVG_OFF-!!p->heat_on,p); P_DoQuote(QUOTE_NVG_OFF-!!p->heat_on,p);
} }
@ -2603,7 +2602,7 @@ void P_HandleSharedKeys(int32_t snum)
P_DoQuote(QUOTE_USED_STEROIDS,p); P_DoQuote(QUOTE_USED_STEROIDS,p);
} }
if (p->inv_amount[GET_STEROIDS] > 0) if (p->inv_amount[GET_STEROIDS] > 0)
p->inven_icon = 2; p->inven_icon = ICON_STEROIDS;
} }
return; // is there significance to returning? return; // is there significance to returning?
} }
@ -2629,44 +2628,44 @@ CHECKINV1:
switch (dainv) switch (dainv)
{ {
case 4: case ICON_JETPACK:
if (p->inv_amount[GET_JETPACK] > 0 && i > 1) if (p->inv_amount[GET_JETPACK] > 0 && i > 1)
break; break;
if (k) dainv++; if (k) dainv++;
else dainv--; else dainv--;
goto CHECKINV1; goto CHECKINV1;
case 6: case ICON_SCUBA:
if (p->inv_amount[GET_SCUBA] > 0 && i > 1) if (p->inv_amount[GET_SCUBA] > 0 && i > 1)
break; break;
if (k) dainv++; if (k) dainv++;
else dainv--; else dainv--;
goto CHECKINV1; goto CHECKINV1;
case 2: case ICON_STEROIDS:
if (p->inv_amount[GET_STEROIDS] > 0 && i > 1) if (p->inv_amount[GET_STEROIDS] > 0 && i > 1)
break; break;
if (k) dainv++; if (k) dainv++;
else dainv--; else dainv--;
goto CHECKINV1; goto CHECKINV1;
case 3: case ICON_HOLODUKE:
if (p->inv_amount[GET_HOLODUKE] > 0 && i > 1) if (p->inv_amount[GET_HOLODUKE] > 0 && i > 1)
break; break;
if (k) dainv++; if (k) dainv++;
else dainv--; else dainv--;
goto CHECKINV1; goto CHECKINV1;
case 0: case ICON_NONE:
case 1: case ICON_FIRSTAID:
if (p->inv_amount[GET_FIRSTAID] > 0 && i > 1) if (p->inv_amount[GET_FIRSTAID] > 0 && i > 1)
break; break;
if (k) dainv = 2; if (k) dainv = 2;
else dainv = 7; else dainv = 7;
goto CHECKINV1; goto CHECKINV1;
case 5: case ICON_HEATS:
if (p->inv_amount[GET_HEATS] > 0 && i > 1) if (p->inv_amount[GET_HEATS] > 0 && i > 1)
break; break;
if (k) dainv++; if (k) dainv++;
else dainv--; else dainv--;
goto CHECKINV1; goto CHECKINV1;
case 7: case ICON_BOOTS:
if (p->inv_amount[GET_BOOTS] > 0 && i > 1) if (p->inv_amount[GET_BOOTS] > 0 && i > 1)
break; break;
if (k) dainv = 1; if (k) dainv = 1;
@ -2888,7 +2887,7 @@ CHECKINV1:
{ {
if (p->inv_amount[GET_HOLODUKE] > 0) if (p->inv_amount[GET_HOLODUKE] > 0)
{ {
p->inven_icon = 3; p->inven_icon = ICON_HOLODUKE;
if (p->cursectnum > -1) if (p->cursectnum > -1)
{ {
@ -2927,7 +2926,7 @@ CHECKINV1:
{ {
p->inv_amount[GET_FIRSTAID] -= j; p->inv_amount[GET_FIRSTAID] -= j;
sprite[p->i].extra = p->max_player_health; sprite[p->i].extra = p->max_player_health;
p->inven_icon = 1; p->inven_icon = ICON_FIRSTAID;
} }
else else
{ {
@ -2949,7 +2948,7 @@ CHECKINV1:
p->jetpack_on = !p->jetpack_on; p->jetpack_on = !p->jetpack_on;
if (p->jetpack_on) if (p->jetpack_on)
{ {
p->inven_icon = 4; p->inven_icon = ICON_JETPACK;
if (p->scream_voice > FX_Ok) if (p->scream_voice > FX_Ok)
{ {
FX_StopSound(p->scream_voice); FX_StopSound(p->scream_voice);