mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-08-15 20:40:05 -04:00
Remove linked guns
This commit is contained in:
+2
-2
@@ -18,9 +18,9 @@ void invReset(void)
|
||||
}
|
||||
}
|
||||
|
||||
void invInit(s32 numdoubles)
|
||||
void invInit(void)
|
||||
{
|
||||
g_Vars.currentplayer->equipmaxitems = numdoubles + 30;
|
||||
g_Vars.currentplayer->equipmaxitems = 7; // 6 MP weapons + data uplink
|
||||
g_Vars.currentplayer->equipment = mempAlloc(ALIGN16(g_Vars.currentplayer->equipmaxitems * sizeof(struct invitem)), MEMPOOL_STAGE);
|
||||
invClear();
|
||||
}
|
||||
|
||||
@@ -745,7 +745,6 @@ bool scenarioHighlightProp(struct prop *prop, s32 *colour)
|
||||
switch (obj->type) {
|
||||
case OBJTYPE_AMMOCRATE:
|
||||
case OBJTYPE_WEAPON:
|
||||
case OBJTYPE_LINKGUNS:
|
||||
case OBJTYPE_MULTIAMMOCRATE:
|
||||
case OBJTYPE_SHIELD:
|
||||
colour[0] = 0;
|
||||
|
||||
@@ -12338,26 +12338,6 @@ Gfx *objRender(struct prop *prop, Gfx *gdl, bool xlupass)
|
||||
return gdl;
|
||||
}
|
||||
|
||||
bool modelIsNodeNotTvscreen(struct modelfiledata *filedata, struct modelnode *node)
|
||||
{
|
||||
if (filedata->skel == &g_SkelTerminal) {
|
||||
if (modelGetPart(filedata, MODELPART_TERMINAL_0000) == node) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (filedata->skel == &g_SkelCiHub) {
|
||||
if (modelGetPart(filedata, MODELPART_CIHUB_0000) == node
|
||||
|| modelGetPart(filedata, MODELPART_CIHUB_0001) == node
|
||||
|| modelGetPart(filedata, MODELPART_CIHUB_0002) == node
|
||||
|| modelGetPart(filedata, MODELPART_CIHUB_0003) == node) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Deform an object due to it being destroyed.
|
||||
*/
|
||||
@@ -18449,23 +18429,6 @@ void alarmTick(void)
|
||||
g_PlayersDetonatingMines = 0;
|
||||
}
|
||||
|
||||
void func0f091030(void)
|
||||
{
|
||||
struct prop *prop = g_Vars.activeprops;
|
||||
|
||||
while (prop) {
|
||||
if (prop->type == PROPTYPE_OBJ
|
||||
&& (prop->flags & (PROPFLAG_ONTHISSCREENTHISTICK | PROPFLAG_ONANYSCREENTHISTICK | PROPFLAG_ONANYSCREENPREVTICK)) == 0
|
||||
&& (prop->obj->hidden2 & OBJH2FLAG_DESTROYED)
|
||||
&& (prop->obj->hidden2 & OBJH2FLAG_80)) {
|
||||
objFreePermanently(prop->obj, true);
|
||||
return;
|
||||
}
|
||||
|
||||
prop = prop->next;
|
||||
}
|
||||
}
|
||||
|
||||
void currentPlayerDropAllItems(void)
|
||||
{
|
||||
struct chrdata *chr = g_Vars.currentplayer->prop->chr;
|
||||
|
||||
+1
-14
@@ -1255,7 +1255,7 @@ void setupCreateProps(s32 stagenum)
|
||||
|
||||
for (j = 0; j < PLAYERCOUNT(); j++) {
|
||||
setCurrentPlayerNum(j);
|
||||
invInit(setupCountCommandType(OBJTYPE_LINKGUNS));
|
||||
invInit();
|
||||
}
|
||||
|
||||
if (g_StageSetup.props) {
|
||||
@@ -1768,19 +1768,6 @@ void setupCreateProps(s32 stagenum)
|
||||
}
|
||||
}
|
||||
break;
|
||||
case OBJTYPE_LINKGUNS:
|
||||
{
|
||||
struct linkgunsobj *link = (struct linkgunsobj *)obj;
|
||||
struct weaponobj *gun1 = (struct weaponobj *)setupGetCmdByIndex(link->offset1 + index);
|
||||
struct weaponobj *gun2 = (struct weaponobj *)setupGetCmdByIndex(link->offset2 + index);
|
||||
|
||||
if (gun1 && gun2
|
||||
&& gun1->base.type == OBJTYPE_WEAPON
|
||||
&& gun2->base.type == OBJTYPE_WEAPON) {
|
||||
propweaponSetDual(gun1, gun2);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case OBJTYPE_LINKLIFTDOOR:
|
||||
{
|
||||
struct linkliftdoorobj *link = (struct linkliftdoorobj *)obj;
|
||||
|
||||
@@ -9,7 +9,7 @@ extern struct invaimsettings invaimsettings_default;
|
||||
extern struct weapon *g_Weapons[WEAPON_SUICIDEPILL + 1];
|
||||
|
||||
void invReset(void);
|
||||
void invInit(s32 numdoubles);
|
||||
void invInit(void);
|
||||
|
||||
void invClear(void);
|
||||
void invSortItem(struct invitem *item);
|
||||
|
||||
Reference in New Issue
Block a user