mirror of
https://github.com/ZDoom/Raze.git
synced 2025-02-22 11:31:11 +00:00
- made PLAYER::used2 an actor array and renamed it to match its purpose.
Note: Renaming this for savegames is fine, as it's not relevant in singleplayer.
This commit is contained in:
parent
165b2f29ff
commit
e95936efd6
2 changed files with 24 additions and 25 deletions
|
@ -713,8 +713,8 @@ void playerStart(int nPlayer, int bNewLevel)
|
||||||
for (int i = 0; i < 8; i++)
|
for (int i = 0; i < 8; i++)
|
||||||
pPlayer->hasKey[i] = gGameOptions.nGameType >= 2;
|
pPlayer->hasKey[i] = gGameOptions.nGameType >= 2;
|
||||||
pPlayer->hasFlag = 0;
|
pPlayer->hasFlag = 0;
|
||||||
for (int i = 0; i < 8; i++)
|
for (int i = 0; i < 2; i++)
|
||||||
pPlayer->used2[i] = -1;
|
pPlayer->ctfFlagState[i] = nullptr;
|
||||||
for (int i = 0; i < 7; i++)
|
for (int i = 0; i < 7; i++)
|
||||||
pPlayer->damageControl[i] = 0;
|
pPlayer->damageControl[i] = 0;
|
||||||
if (pPlayer->godMode)
|
if (pPlayer->godMode)
|
||||||
|
@ -909,7 +909,7 @@ char PickupItem(PLAYER *pPlayer, spritetype *pItem) {
|
||||||
if (pPlayer->teamId == 1) {
|
if (pPlayer->teamId == 1) {
|
||||||
if ((pPlayer->hasFlag & 1) == 0 && pXItem->state) {
|
if ((pPlayer->hasFlag & 1) == 0 && pXItem->state) {
|
||||||
pPlayer->hasFlag |= 1;
|
pPlayer->hasFlag |= 1;
|
||||||
pPlayer->used2[0] = pItem->index;
|
pPlayer->ctfFlagState[0] = itemactor;
|
||||||
trTriggerSprite(pItem->index, pXItem, kCmdOff);
|
trTriggerSprite(pItem->index, pXItem, kCmdOff);
|
||||||
sprintf(buffer, "%s stole Blue Flag", PlayerName(pPlayer->nPlayer));
|
sprintf(buffer, "%s stole Blue Flag", PlayerName(pPlayer->nPlayer));
|
||||||
sndStartSample(8007, 255, 2, 0);
|
sndStartSample(8007, 255, 2, 0);
|
||||||
|
@ -921,7 +921,7 @@ char PickupItem(PLAYER *pPlayer, spritetype *pItem) {
|
||||||
|
|
||||||
if ((pPlayer->hasFlag & 1) != 0 && !pXItem->state) {
|
if ((pPlayer->hasFlag & 1) != 0 && !pXItem->state) {
|
||||||
pPlayer->hasFlag &= ~1;
|
pPlayer->hasFlag &= ~1;
|
||||||
pPlayer->used2[0] = -1;
|
pPlayer->ctfFlagState[0] = nullptr;
|
||||||
trTriggerSprite(pItem->index, pXItem, kCmdOn);
|
trTriggerSprite(pItem->index, pXItem, kCmdOn);
|
||||||
sprintf(buffer, "%s returned Blue Flag", PlayerName(pPlayer->nPlayer));
|
sprintf(buffer, "%s returned Blue Flag", PlayerName(pPlayer->nPlayer));
|
||||||
sndStartSample(8003, 255, 2, 0);
|
sndStartSample(8003, 255, 2, 0);
|
||||||
|
@ -930,7 +930,7 @@ char PickupItem(PLAYER *pPlayer, spritetype *pItem) {
|
||||||
|
|
||||||
if ((pPlayer->hasFlag & 2) != 0 && pXItem->state) {
|
if ((pPlayer->hasFlag & 2) != 0 && pXItem->state) {
|
||||||
pPlayer->hasFlag &= ~2;
|
pPlayer->hasFlag &= ~2;
|
||||||
pPlayer->used2[1] = -1;
|
pPlayer->ctfFlagState[1] = nullptr;
|
||||||
team_score[pPlayer->teamId] += 10;
|
team_score[pPlayer->teamId] += 10;
|
||||||
team_ticker[pPlayer->teamId] += 240;
|
team_ticker[pPlayer->teamId] += 240;
|
||||||
evSendGame(81, kCmdOn);
|
evSendGame(81, kCmdOn);
|
||||||
|
@ -946,7 +946,7 @@ char PickupItem(PLAYER *pPlayer, spritetype *pItem) {
|
||||||
if (pPlayer->teamId == 0) {
|
if (pPlayer->teamId == 0) {
|
||||||
if ((pPlayer->hasFlag & 2) == 0 && pXItem->state) {
|
if ((pPlayer->hasFlag & 2) == 0 && pXItem->state) {
|
||||||
pPlayer->hasFlag |= 2;
|
pPlayer->hasFlag |= 2;
|
||||||
pPlayer->used2[1] = pItem->index;
|
pPlayer->ctfFlagState[1] = itemactor;
|
||||||
trTriggerSprite(pItem->index, pXItem, kCmdOff);
|
trTriggerSprite(pItem->index, pXItem, kCmdOff);
|
||||||
sprintf(buffer, "%s stole Red Flag", PlayerName(pPlayer->nPlayer));
|
sprintf(buffer, "%s stole Red Flag", PlayerName(pPlayer->nPlayer));
|
||||||
sndStartSample(8006, 255, 2, 0);
|
sndStartSample(8006, 255, 2, 0);
|
||||||
|
@ -958,7 +958,7 @@ char PickupItem(PLAYER *pPlayer, spritetype *pItem) {
|
||||||
if ((pPlayer->hasFlag & 2) != 0 && !pXItem->state)
|
if ((pPlayer->hasFlag & 2) != 0 && !pXItem->state)
|
||||||
{
|
{
|
||||||
pPlayer->hasFlag &= ~2;
|
pPlayer->hasFlag &= ~2;
|
||||||
pPlayer->used2[1] = -1;
|
pPlayer->ctfFlagState[1] = nullptr;
|
||||||
trTriggerSprite(pItem->index, pXItem, kCmdOn);
|
trTriggerSprite(pItem->index, pXItem, kCmdOn);
|
||||||
sprintf(buffer, "%s returned Red Flag", PlayerName(pPlayer->nPlayer));
|
sprintf(buffer, "%s returned Red Flag", PlayerName(pPlayer->nPlayer));
|
||||||
sndStartSample(8002, 255, 2, 0);
|
sndStartSample(8002, 255, 2, 0);
|
||||||
|
@ -967,7 +967,7 @@ char PickupItem(PLAYER *pPlayer, spritetype *pItem) {
|
||||||
if ((pPlayer->hasFlag & 1) != 0 && pXItem->state)
|
if ((pPlayer->hasFlag & 1) != 0 && pXItem->state)
|
||||||
{
|
{
|
||||||
pPlayer->hasFlag &= ~1;
|
pPlayer->hasFlag &= ~1;
|
||||||
pPlayer->used2[0] = -1;
|
pPlayer->ctfFlagState[0] = nullptr;
|
||||||
team_score[pPlayer->teamId] += 10;
|
team_score[pPlayer->teamId] += 10;
|
||||||
team_ticker[pPlayer->teamId] += 240;
|
team_ticker[pPlayer->teamId] += 240;
|
||||||
evSendGame(80, kCmdOn);
|
evSendGame(80, kCmdOn);
|
||||||
|
@ -985,7 +985,7 @@ char PickupItem(PLAYER *pPlayer, spritetype *pItem) {
|
||||||
const bool enemyTeam = (pPlayer->teamId&1) == 1;
|
const bool enemyTeam = (pPlayer->teamId&1) == 1;
|
||||||
if (!enemyTeam && (pItem->owner >= 0) && (pItem->owner < kMaxSprites)) {
|
if (!enemyTeam && (pItem->owner >= 0) && (pItem->owner < kMaxSprites)) {
|
||||||
pPlayer->hasFlag &= ~1;
|
pPlayer->hasFlag &= ~1;
|
||||||
pPlayer->used2[0] = -1;
|
pPlayer->ctfFlagState[0] = nullptr;
|
||||||
spritetype* pOwner = &sprite[pItem->owner];
|
spritetype* pOwner = &sprite[pItem->owner];
|
||||||
XSPRITE* pXOwner = &xsprite[pOwner->extra];
|
XSPRITE* pXOwner = &xsprite[pOwner->extra];
|
||||||
trTriggerSprite(pOwner->index, pXOwner, kCmdOn);
|
trTriggerSprite(pOwner->index, pXOwner, kCmdOn);
|
||||||
|
@ -995,7 +995,7 @@ char PickupItem(PLAYER *pPlayer, spritetype *pItem) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
pPlayer->hasFlag |= 1;
|
pPlayer->hasFlag |= 1;
|
||||||
pPlayer->used2[0] = pItem->owner;
|
pPlayer->ctfFlagState[0] = itemactor->GetOwner();
|
||||||
if (enemyTeam)
|
if (enemyTeam)
|
||||||
{
|
{
|
||||||
sprintf(buffer, "%s stole Blue Flag", PlayerName(pPlayer->nPlayer));
|
sprintf(buffer, "%s stole Blue Flag", PlayerName(pPlayer->nPlayer));
|
||||||
|
@ -1010,7 +1010,7 @@ char PickupItem(PLAYER *pPlayer, spritetype *pItem) {
|
||||||
const bool enemyTeam = (pPlayer->teamId&1) == 0;
|
const bool enemyTeam = (pPlayer->teamId&1) == 0;
|
||||||
if (!enemyTeam && (pItem->owner >= 0) && (pItem->owner < kMaxSprites)) {
|
if (!enemyTeam && (pItem->owner >= 0) && (pItem->owner < kMaxSprites)) {
|
||||||
pPlayer->hasFlag &= ~2;
|
pPlayer->hasFlag &= ~2;
|
||||||
pPlayer->used2[1] = -1;
|
pPlayer->ctfFlagState[1] = nullptr;
|
||||||
spritetype* pOwner = &sprite[pItem->owner];
|
spritetype* pOwner = &sprite[pItem->owner];
|
||||||
XSPRITE* pXOwner = &xsprite[pOwner->extra];
|
XSPRITE* pXOwner = &xsprite[pOwner->extra];
|
||||||
trTriggerSprite(pOwner->index, pXOwner, kCmdOn);
|
trTriggerSprite(pOwner->index, pXOwner, kCmdOn);
|
||||||
|
@ -1020,7 +1020,7 @@ char PickupItem(PLAYER *pPlayer, spritetype *pItem) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
pPlayer->hasFlag |= 2;
|
pPlayer->hasFlag |= 2;
|
||||||
pPlayer->used2[1] = pItem->owner;
|
pPlayer->ctfFlagState[1] = itemactor->GetOwner();
|
||||||
if (enemyTeam)
|
if (enemyTeam)
|
||||||
{
|
{
|
||||||
sprintf(buffer, "%s stole Red Flag", PlayerName(pPlayer->nPlayer));
|
sprintf(buffer, "%s stole Red Flag", PlayerName(pPlayer->nPlayer));
|
||||||
|
@ -1575,7 +1575,7 @@ void ProcessInput(PLAYER *pPlayer)
|
||||||
pPlayer->handTime = ClipLow(pPlayer->handTime-4*(6-gGameOptions.nDifficulty), 0);
|
pPlayer->handTime = ClipLow(pPlayer->handTime-4*(6-gGameOptions.nDifficulty), 0);
|
||||||
if (pPlayer->handTime <= 0 && pPlayer->hand)
|
if (pPlayer->handTime <= 0 && pPlayer->hand)
|
||||||
{
|
{
|
||||||
auto pactor = &bloodActors[pPlayer->pSprite->index];
|
auto pactor = pPlayer->actor();
|
||||||
auto spawned = actSpawnDude(pactor, kDudeHand, pPlayer->pSprite->clipdist<<1, 0);
|
auto spawned = actSpawnDude(pactor, kDudeHand, pPlayer->pSprite->clipdist<<1, 0);
|
||||||
spritetype* pSprite2 = &spawned->s();
|
spritetype* pSprite2 = &spawned->s();
|
||||||
pSprite2->ang = (pPlayer->pSprite->ang+1024)&2047;
|
pSprite2->ang = (pPlayer->pSprite->ang+1024)&2047;
|
||||||
|
@ -1782,14 +1782,14 @@ void playerProcess(PLAYER *pPlayer)
|
||||||
|
|
||||||
spritetype *playerFireMissile(PLAYER *pPlayer, int a2, int a3, int a4, int a5, int a6)
|
spritetype *playerFireMissile(PLAYER *pPlayer, int a2, int a3, int a4, int a5, int a6)
|
||||||
{
|
{
|
||||||
auto misl = actFireMissile(&bloodActors[pPlayer->pSprite->index], a2, pPlayer->zWeapon-pPlayer->pSprite->z, a3, a4, a5, a6);
|
auto misl = actFireMissile(pPlayer->actor(), a2, pPlayer->zWeapon-pPlayer->pSprite->z, a3, a4, a5, a6);
|
||||||
return misl ? &misl->s() : nullptr;
|
return misl ? &misl->s() : nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
spritetype * playerFireThing(PLAYER *pPlayer, int a2, int a3, int thingType, int a5)
|
spritetype * playerFireThing(PLAYER *pPlayer, int a2, int a3, int thingType, int a5)
|
||||||
{
|
{
|
||||||
assert(thingType >= kThingBase && thingType < kThingMax);
|
assert(thingType >= kThingBase && thingType < kThingMax);
|
||||||
auto misl = actFireThing(&bloodActors[pPlayer->pSprite->index], a2, pPlayer->zWeapon-pPlayer->pSprite->z, pPlayer->slope+a3, thingType, a5);
|
auto misl = actFireThing(pPlayer->actor(), a2, pPlayer->zWeapon-pPlayer->pSprite->z, pPlayer->slope+a3, thingType, a5);
|
||||||
return misl ? &misl->s() : nullptr;
|
return misl ? &misl->s() : nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1904,16 +1904,16 @@ int playerDamageArmor(PLAYER *pPlayer, DAMAGE_TYPE nType, int nDamage)
|
||||||
|
|
||||||
spritetype *flagDropped(PLAYER *pPlayer, int a2)
|
spritetype *flagDropped(PLAYER *pPlayer, int a2)
|
||||||
{
|
{
|
||||||
auto actor = pPlayer->actor();
|
auto playeractor = pPlayer->actor();
|
||||||
|
DBloodActor* actor;
|
||||||
char buffer[80];
|
char buffer[80];
|
||||||
spritetype *pSprite = NULL;
|
spritetype *pSprite = NULL;
|
||||||
switch (a2)
|
switch (a2)
|
||||||
{
|
{
|
||||||
case kItemFlagA:
|
case kItemFlagA:
|
||||||
pPlayer->hasFlag &= ~1;
|
pPlayer->hasFlag &= ~1;
|
||||||
pSprite = &actDropObject(actor, kItemFlagA)->s();
|
actor = actDropObject(playeractor, kItemFlagA);
|
||||||
if (pSprite)
|
if (actor) actor->SetOwner(pPlayer->ctfFlagState[0]);
|
||||||
pSprite->owner = pPlayer->used2[0];
|
|
||||||
gBlueFlagDropped = true;
|
gBlueFlagDropped = true;
|
||||||
sprintf(buffer, "%s dropped Blue Flag", PlayerName(pPlayer->nPlayer));
|
sprintf(buffer, "%s dropped Blue Flag", PlayerName(pPlayer->nPlayer));
|
||||||
sndStartSample(8005, 255, 2, 0);
|
sndStartSample(8005, 255, 2, 0);
|
||||||
|
@ -1921,9 +1921,8 @@ spritetype *flagDropped(PLAYER *pPlayer, int a2)
|
||||||
break;
|
break;
|
||||||
case kItemFlagB:
|
case kItemFlagB:
|
||||||
pPlayer->hasFlag &= ~2;
|
pPlayer->hasFlag &= ~2;
|
||||||
pSprite = &actDropObject(actor, kItemFlagB)->s();
|
actor = actDropObject(playeractor, kItemFlagB);
|
||||||
if (pSprite)
|
if (actor) actor->SetOwner(pPlayer->ctfFlagState[1]);
|
||||||
pSprite->owner = pPlayer->used2[1];
|
|
||||||
gRedFlagDropped = true;
|
gRedFlagDropped = true;
|
||||||
sprintf(buffer, "%s dropped Red Flag", PlayerName(pPlayer->nPlayer));
|
sprintf(buffer, "%s dropped Red Flag", PlayerName(pPlayer->nPlayer));
|
||||||
sndStartSample(8004, 255, 2, 0);
|
sndStartSample(8004, 255, 2, 0);
|
||||||
|
@ -2113,7 +2112,7 @@ int UseAmmo(PLAYER *pPlayer, int nAmmoType, int nDec)
|
||||||
|
|
||||||
void voodooTarget(PLAYER *pPlayer)
|
void voodooTarget(PLAYER *pPlayer)
|
||||||
{
|
{
|
||||||
auto actor = &bloodActors[pPlayer->pSprite->index];
|
auto actor = pPlayer->actor();
|
||||||
int v4 = pPlayer->aim.dz;
|
int v4 = pPlayer->aim.dz;
|
||||||
int dz = pPlayer->zWeapon-pPlayer->pSprite->z;
|
int dz = pPlayer->zWeapon-pPlayer->pSprite->z;
|
||||||
if (UseAmmo(pPlayer, 9, 0) < 8)
|
if (UseAmmo(pPlayer, 9, 0) < 8)
|
||||||
|
@ -2288,7 +2287,7 @@ FSerializer& Serialize(FSerializer& arc, const char* keyname, PLAYER& w, PLAYER*
|
||||||
("underwater", w.isUnderwater)
|
("underwater", w.isUnderwater)
|
||||||
.Array("haskey", w.hasKey, 8)
|
.Array("haskey", w.hasKey, 8)
|
||||||
("hasflag", w.hasFlag)
|
("hasflag", w.hasFlag)
|
||||||
.Array("used2", w.used2, 8)
|
.Array("ctfflagstate", w.ctfFlagState, 2)
|
||||||
.Array("dmgcontrol", w.damageControl, 7)
|
.Array("dmgcontrol", w.damageControl, 7)
|
||||||
("curweapon", w.curWeapon)
|
("curweapon", w.curWeapon)
|
||||||
("nextweapon", w.nextWeapon)
|
("nextweapon", w.nextWeapon)
|
||||||
|
|
|
@ -115,7 +115,7 @@ struct PLAYER
|
||||||
bool isUnderwater;
|
bool isUnderwater;
|
||||||
bool hasKey[8];
|
bool hasKey[8];
|
||||||
int8_t hasFlag;
|
int8_t hasFlag;
|
||||||
short used2[8]; // ??
|
DBloodActor* ctfFlagState[2];
|
||||||
int damageControl[7];
|
int damageControl[7];
|
||||||
int8_t curWeapon;
|
int8_t curWeapon;
|
||||||
int8_t nextWeapon;
|
int8_t nextWeapon;
|
||||||
|
|
Loading…
Reference in a new issue