From 7f7dbfc830b30e812dfcbe1817cf20a47df5642f Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sat, 5 Nov 2022 11:48:51 +1000 Subject: [PATCH] Remove skedar --- src/game/body.c | 19 ---- src/game/chr.c | 60 ++---------- src/game/chraction.c | 227 ++++++------------------------------------- src/game/footstep.c | 53 ++-------- src/game/splat.c | 2 +- 5 files changed, 44 insertions(+), 317 deletions(-) diff --git a/src/game/body.c b/src/game/body.c index 3b66393a4..ffbef6276 100644 --- a/src/game/body.c +++ b/src/game/body.c @@ -137,13 +137,6 @@ s32 g_FemGuardHeads[3] = { u32 bodyGetRace(s32 bodynum) { - switch (bodynum) { - case BODY_SKEDAR: - case BODY_MINISKEDAR: - case BODY_SKEDARKING: - return RACE_SKEDAR; - } - return RACE_HUMAN; } @@ -209,14 +202,6 @@ struct model *body0f02ce8c(s32 bodynum, s32 headnum, struct modelfiledata *bodyf } } } - } else if (bodyfiledata->skel == &g_SkelSkedar) { - if (g_HeadsAndBodies[bodynum].canvaryheight && varyheight && bodynum == BODY_SKEDAR) { - // Set height to between 65% and 85% - f32 frac = RANDOMFRAC(); - scale *= 2.0f * (0.1f * frac) - 0.1f + 0.75f; - } - - if (1); } } @@ -487,10 +472,6 @@ void bodyAllocateChr(s32 stagenum, struct packedchr *packed, s32 cmdindex) // Make chr punch slower chr->flags2 |= CHRFLAG1_ADJUSTPUNCHSPEED; } - - if (CHRRACE(chr) == RACE_SKEDAR) { - chr->chrflags |= CHRCFLAG_FORCEAUTOAIM; - } } } } diff --git a/src/game/chr.c b/src/game/chr.c index 368b5d1fb..4f0597695 100644 --- a/src/game/chr.c +++ b/src/game/chr.c @@ -1656,18 +1656,15 @@ void chrHandleJointPositioned(s32 joint, Mtxf *mtx) } // Apply flinch when chr is shot - if (g_CurModelChr->flinchcnt >= 0 - && (CHRRACE(g_CurModelChr) == RACE_HUMAN || CHRRACE(g_CurModelChr) == RACE_SKEDAR)) { - bool isskedar = CHRRACE(g_CurModelChr) == RACE_SKEDAR; - + if (g_CurModelChr->flinchcnt >= 0 && (CHRRACE(g_CurModelChr) == RACE_HUMAN)) { if (g_CurModelChr->hidden2 & CHRH2FLAG_HEADSHOTTED) { if (joint == neckjoint) { f32 flinchamount = chrGetFlinchAmount(g_CurModelChr); s32 flinchtype = (g_CurModelChr->hidden2 >> 13) & 7; - f32 mult = isskedar ? 25.0f : 60.0f; + f32 mult = 60.0f; if ((flinchtype & 1) == 0) { - mult = isskedar ? 37.5f : 85.0f; + mult = 85.0f; } if (flinchtype >= 5 && flinchtype < 8) { @@ -1856,13 +1853,6 @@ void chr0f022214(struct chrdata *chr, struct prop *prop, bool fulltick) if (obj->hidden & OBJHFLAG_EMBEDDED) { mtx00015be4(sp104, &obj->embedment->matrix, &sp80); thing.unk00 = &sp80; - } else if (CHRRACE(chr) == RACE_SKEDAR) { - // The skedar hand position is rotated weirdly, so compensate for it - mtx4LoadYRotation(1.3192588090897f, &sp80); - mtx4LoadZRotation(1.5705462694168f, &sp40); - mtx4MultMtx4InPlace(&sp40, &sp80); - mtx4MultMtx4InPlace(sp104, &sp80); - thing.unk00 = &sp80; } else if (prop == chr->weapons_held[HAND_LEFT]) { // Flip the model mtx4LoadZRotation(M_BADPI, &sp80); @@ -3098,9 +3088,6 @@ void chrGetBloodColour(s16 bodynum, u8 *colour1, u32 *colour2) } return; case BODY_MRBLONDE: - case BODY_SKEDAR: - case BODY_MINISKEDAR: - case BODY_SKEDARKING: if (colour1) { colour1[0] = 0x40; colour1[1] = 0x19; @@ -3259,20 +3246,6 @@ Gfx *chrRender(struct prop *prop, Gfx *gdl, bool xlupass) renderdata.unk30 = 7; } - // Set Skedar eyes open or closed - if (model->filedata->skel == &g_SkelSkedar) { - struct modelnode *node1 = modelGetPart(model->filedata, MODELPART_SKEDAR_EYESOPEN); - struct modelnode *node2 = modelGetPart(model->filedata, MODELPART_SKEDAR_EYESCLOSED); - - if (node1 && node2) { - union modelrwdata *data1 = modelGetNodeRwData(model, node1); - union modelrwdata *data2 = modelGetNodeRwData(model, node2); - - data2->toggle.visible = chr->actiontype == ACT_DIE || chr->actiontype == ACT_DEAD; - data1->toggle.visible = !data2->toggle.visible; - } - } - // Set Maian eyes open or closed if (chr->headnum == HEAD_THEKING || chr->headnum == HEAD_ELVIS @@ -3348,11 +3321,7 @@ Gfx *chrRender(struct prop *prop, Gfx *gdl, bool xlupass) f32 radius; if (gaptoground <= 400 && g_Vars.currentplayer->visionmode != VISIONMODE_XRAY) { - if (chr->bodynum == BODY_SKEDAR || chr->bodynum == BODY_SKEDARKING) { - radius = 80; - } else { - radius = 35; - } + radius = 35; if (chr->chrflags & CHRCFLAG_NOSHADOW) { shadowalpha = 0; @@ -5041,7 +5010,7 @@ void chrHit(struct shotdata *shotdata, struct hit *hit) if (!chr->noblood && !isclose && shotdata->gset.weaponnum != WEAPON_TRANQUILIZER) { u8 darker; - if (chr->bodynum == BODY_MRBLONDE || race == RACE_SKEDAR) { + if (chr->bodynum == BODY_MRBLONDE) { darker = true; } else { darker = false; @@ -5062,7 +5031,7 @@ void chrHit(struct shotdata *shotdata, struct hit *hit) && shotdata->gset.weaponnum != WEAPON_TRANQUILIZER) { u8 darker; - if (chr->bodynum == BODY_MRBLONDE || race == RACE_SKEDAR) { + if (chr->bodynum == BODY_MRBLONDE) { darker = true; } else { darker = false; @@ -5141,23 +5110,6 @@ void chrsCheckForNoise(f32 noiseradius) if (distance > 1.0f) { chrRecordLastHearTargetTime(&g_ChrSlots[i]); -#if PIRACYCHECKS - { - s32 *i = (s32 *)&__scHandleRetrace; - s32 *end = (s32 *)&__scHandleTasks; - u32 checksum = 0; - - while (i < end) { - checksum *= 2; - checksum += *i; - i++; - } - - if (checksum != CHECKSUM_PLACEHOLDER) { - g_HeadsAndBodies[BODY_SKEDARKING].filenum = 0; - } - } -#endif } } } diff --git a/src/game/chraction.c b/src/game/chraction.c index a4a569845..de8bbaa96 100644 --- a/src/game/chraction.c +++ b/src/game/chraction.c @@ -1669,8 +1669,6 @@ void chrChooseStandAnimation(struct chrdata *chr, f32 mergetime) modelSetAnimLooping(chr->model, 0, 16); modelSetAnimEndFrame(chr->model, 120); } - } else if (race == RACE_SKEDAR) { - modelSetAnimation(chr->model, ANIM_00C0, random() % 2, 0, 0.5, mergetime); } else if (race == RACE_DRCAROLL) { modelSetAnimation(chr->model, ANIM_013E, 0, 0, 0.5, mergetime); } else if (race == RACE_ROBOT) { @@ -2073,14 +2071,6 @@ void chrSidestepChooseAnimation(struct chrdata *chr) modelSetAnimEndFrame(chr->model, 32); } } - } else if (race == RACE_SKEDAR) { - if (chr->act_sidestep.side) { - modelSetAnimation(chr->model, ANIM_0328, false, 5, chrGetRangedSpeed(chr, 0.55, 0.88000005), 16); - modelSetAnimEndFrame(chr->model, 27); - } else { - modelSetAnimation(chr->model, ANIM_0328, true, 5, chrGetRangedSpeed(chr, 0.55, 0.88000005), 16); - modelSetAnimEndFrame(chr->model, 27); - } } } @@ -2176,14 +2166,6 @@ void chrRunPosChooseAnimation(struct chrdata *chr) #endif modelSetAnimation(chr->model, ANIM_RUNNING_ONEHANDGUN, flip, 0, mult, 16); } - } else if (race == RACE_SKEDAR) { - f32 mult = 0.5; -#if PAL - chr->act_runpos.eta60 = 1.0f / (func0f02dff0(ANIM_SKEDAR_RUNNING) * mult) * distance * 0.83333331346512f; -#else - chr->act_runpos.eta60 = 1.0f / (func0f02dff0(ANIM_SKEDAR_RUNNING) * mult) * distance; -#endif - modelSetAnimation(chr->model, ANIM_SKEDAR_RUNNING, flip, 0, mult, 16); } } @@ -3211,57 +3193,6 @@ void chrBeginDeath(struct chrdata *chr, struct coord *dir, f32 relangle, s32 hit } } } - } else if (race == RACE_SKEDAR) { - struct animtablerow *row; - - if (relangle > 2.3558194637299f && relangle < 3.9263656139374f) { - // Player is behind the Skedar - use specific set of anims - row = &g_AnimTablesByRace[race][1 + (random() % 6)].deathanims[random() % 3]; - - chr->act_die.thudframe1 = row->thudframe1; - chr->act_die.thudframe2 = row->thudframe2; - - modelSetAnimationWithMerge(model, row->animnum, row->flip, 0, row->speed, 16, !instant); - - if (row->endframe >= 0) { - modelSetAnimEndFrame(model, row->endframe); - } - } else { - // Normal Skedar death - if (index >= 0 - && g_AnimTablesByRace[race][index].deathanims != NULL - && g_AnimTablesByRace[race][index].deathanimcount > 0) { - s32 tmp = random() % g_AnimTablesByRace[race][index].deathanimcount; - row = &g_AnimTablesByRace[race][index].deathanims[tmp]; - } else { - row = &g_AnimTablesByRace[race][0].deathanims[0]; - } - - chr->act_die.thudframe1 = row->thudframe1; - chr->act_die.thudframe2 = row->thudframe2; - - modelSetAnimationWithMerge(model, row->animnum, row->flip, 0, row->speed, 16, !instant); - - if (row->endframe >= 0) { - modelSetAnimEndFrame(model, row->endframe); - } - - impactforce3 = gsetGetImpactForce(gset); - - if (impactforce3 <= 0 && (chr->chrflags & CHRCFLAG_DIEWITHFORCE)) { - impactforce3 = 6; - } - - if (row->unk10 != 0 && impactforce3 > 0) { - chr->act_die.timeextra = impactforce3 * 15; - chr->act_die.elapseextra = 0; - chr->act_die.extraspeed.x = dir->x * impactforce3; - chr->act_die.extraspeed.y = dir->y * impactforce3; - chr->act_die.extraspeed.z = dir->z * impactforce3; - } - } - } else if (race == RACE_DRCAROLL) { - // empty } // Handle multiplayer stats and kill count @@ -3279,7 +3210,7 @@ void chrBeginDeath(struct chrdata *chr, struct coord *dir, f32 relangle, s32 hit } // Drop items - if (race == RACE_HUMAN || race == RACE_SKEDAR) { + if (race == RACE_HUMAN) { if (chr->weapons_held[0] && (chr->weapons_held[0]->obj->flags & OBJFLAG_AIUNDROPPABLE) == 0) { objSetDropped(chr->weapons_held[0], DROPTYPE_DEFAULT); chr->hidden |= CHRHFLAG_00000001; @@ -3507,8 +3438,6 @@ void chrYeetFromPos(struct chrdata *chr, struct coord *exppos, f32 force) if (race == RACE_HUMAN) { row = &g_YeetAnimsHuman[g_YeetAnimIndexesByRaceAngle[race][angleindex].indexes[subindex]]; - } else if (race == RACE_SKEDAR) { - row = &g_YeetAnimsSkedar[g_YeetAnimIndexesByRaceAngle[race][angleindex].indexes[subindex]]; } chrStopFiring(chr); @@ -3713,36 +3642,6 @@ void chrChoke(struct chrdata *chr, s32 choketype) if (nextindexmaian >= ARRAYCOUNT(sounds)) { nextindexmaian = 0; } - } else if (race == RACE_SKEDAR) { - if (chr->bodynum == BODY_MINISKEDAR) { - s16 sounds[] = { - SFX_SKEDAR_ROAR_0536, - SFX_SKEDAR_ROAR_0537, - SFX_SKEDAR_ROAR_0538, - SFX_SKEDAR_ROAR_0539, - SFX_SKEDAR_ROAR_053A, - }; - - soundnum = sounds[random() % 5]; - nextindexskedar++; - - if (nextindexskedar >= ARRAYCOUNT(sounds)) { - nextindexskedar = 0; - } - } else { - s16 sounds[] = { - SFX_SKEDAR_ROAR_052D, - SFX_SKEDAR_ROAR_052E, - SFX_SKEDAR_ROAR_052F, - }; - - soundnum = sounds[random() % 3]; - nextindexskedar++; - - if (nextindexskedar >= ARRAYCOUNT(sounds)) { - nextindexskedar = 0; - } - } } else if (chr->headnum == HEAD_DDSHOCK) { s16 sounds[] = { SFX_ARGH_MALE_0086, @@ -4370,7 +4269,7 @@ void chrDamage(struct chrdata *chr, f32 damage, struct coord *vector, struct gse // If chr is dying or already dead, consider making their head flinch // then we're done if (chr->actiontype == ACT_DIE || chr->actiontype == ACT_DEAD) { - if (hitpart == HITPART_HEAD && chr->actiontype == ACT_DIE && race != RACE_SKEDAR && isfar) { + if (hitpart == HITPART_HEAD && chr->actiontype == ACT_DIE && isfar) { struct coord pos; pos.x = vprop->pos.x - vector->x; pos.y = vprop->pos.y - vector->y; @@ -4431,27 +4330,17 @@ void chrDamage(struct chrdata *chr, f32 damage, struct coord *vector, struct gse damage *= 0.25f; } - // Hits to a Skedar's tail are 10x more lethal - if (race == RACE_SKEDAR && hitpart == HITPART_TAIL) { - damage *= 10; - } - // Apply damage multipliers based on which body parts were hit, // and flinch head if shot in the head if (hitpart == HITPART_HEAD) { - if (race == RACE_SKEDAR) { - damage += damage; + damage *= 4; + + if (isfar && !usedshield) { chrFlinchHead(chr, angle); - } else { - damage *= 4; + damage *= headshotdamagescale; - if (isfar && !usedshield) { - chrFlinchHead(chr, angle); - damage *= headshotdamagescale; - - if (gset->weaponnum == WEAPON_COMBATKNIFE && gset->weaponfunc != FUNC_POISON) { - damage += damage; - } + if (gset->weaponnum == WEAPON_COMBATKNIFE && gset->weaponfunc != FUNC_POISON) { + damage += damage; } } } else if (hitpart == HITPART_TORSO) { @@ -4491,10 +4380,6 @@ void chrDamage(struct chrdata *chr, f32 damage, struct coord *vector, struct gse if (aprop) { achr = aprop->chr; - - if (achr && achr->bodynum == BODY_MINISKEDAR) { - blurscale = 4; - } } if (!achr @@ -5461,7 +5346,7 @@ void chrNavTickMagic(struct chrdata *chr, struct waydata *waydata, f32 speed, st chrSetLookAngle(chr, atan2f(prop->pos.x - pad.pos.x, prop->pos.z - pad.pos.z)); } - if (CHRRACE(chr) == RACE_HUMAN || CHRRACE(chr) == RACE_SKEDAR) { + if (CHRRACE(chr) == RACE_HUMAN) { chrStop(chr); } } @@ -5560,7 +5445,7 @@ void chrGoPosChooseAnimation(struct chrdata *chr) return; } - if (race == RACE_HUMAN || race == RACE_SKEDAR) { + if (race == RACE_HUMAN) { if ((gun1 && gun2) || (!gun1 && !gun2)) { heavy = false; flip = random() % 2; @@ -5574,15 +5459,7 @@ void chrGoPosChooseAnimation(struct chrdata *chr) } } - if (race == RACE_SKEDAR) { - if (gospeed == GOPOSFLAG_RUN) { - anim = ANIM_SKEDAR_RUNNING; - } else if (gospeed == GOPOSFLAG_JOG) { - anim = ANIM_0393; - } else if (gospeed == GOPOSFLAG_WALK) { - anim = ANIM_0392; - } - } else { + { if (heavy) { if (gospeed == GOPOSFLAG_RUN) { // Human, heavy weapon, running @@ -5936,7 +5813,7 @@ void chrPatrolChooseAnimation(struct chrdata *chr) s32 ismale = g_HeadsAndBodies[chr->bodynum].ismale; f32 speed; - if (race == RACE_HUMAN || race == RACE_SKEDAR) { + if (race == RACE_HUMAN) { if ((leftprop && rightprop) || (!leftprop && !rightprop)) { // No weapon, or double weapons heavy = false; @@ -5952,19 +5829,15 @@ void chrPatrolChooseAnimation(struct chrdata *chr) } } - if (race == RACE_SKEDAR) { - modelSetAnimation(chr->model, ANIM_0392, flip, 0, 0.25f, 16); - } else { - speed = 0.5f * func0f02dff0(ANIM_0028) / func0f02dff0(ANIM_006B); + speed = 0.5f * func0f02dff0(ANIM_0028) / func0f02dff0(ANIM_006B); - if (heavy) { - modelSetAnimation(chr->model, random() % 2 ? ANIM_0018 : ANIM_0028, flip, 0, speed, 16); - } else if (ismale) { - s32 anims[] = { ANIM_006B, ANIM_001B, ANIM_0016 }; - modelSetAnimation(chr->model, anims[random() % 3], flip, 0, speed, 16); - } else { - modelSetAnimation(chr->model, random() % 2 ? ANIM_005C : ANIM_0072, flip, 0, speed, 16); - } + if (heavy) { + modelSetAnimation(chr->model, random() % 2 ? ANIM_0018 : ANIM_0028, flip, 0, speed, 16); + } else if (ismale) { + s32 anims[] = { ANIM_006B, ANIM_001B, ANIM_0016 }; + modelSetAnimation(chr->model, anims[random() % 3], flip, 0, speed, 16); + } else { + modelSetAnimation(chr->model, random() % 2 ? ANIM_005C : ANIM_0072, flip, 0, speed, 16); } } else if (race == RACE_DRCAROLL) { modelSetAnimation(chr->model, ANIM_015F, false, 0, 0.5f, 16); @@ -6484,7 +6357,7 @@ bool chrTrySidestep(struct chrdata *chr) { u8 race = CHRRACE(chr); - if ((race == RACE_HUMAN || race == RACE_SKEDAR) + if ((race == RACE_HUMAN) && chrIsReadyForOrders(chr)) { struct prop *prop = chr->prop; struct prop *target = chrGetTargetProp(chr); @@ -6558,9 +6431,7 @@ bool chrTryRunSideways(struct chrdata *chr) { u32 race = CHRRACE(chr); - if ((race == RACE_HUMAN || race == RACE_SKEDAR) - && chrIsReadyForOrders(chr) - && g_Vars.lvframe60 - chr->lastwalk60 > TICKS(180)) { + if (race == RACE_HUMAN && chrIsReadyForOrders(chr) && g_Vars.lvframe60 - chr->lastwalk60 > TICKS(180)) { struct prop *prop = chr->prop; f32 distance = 200.0f + RANDOMFRAC() * 200.0f; struct coord vector; @@ -6679,9 +6550,7 @@ bool chrTryAttackAmount(struct chrdata *chr, u32 arg1, u32 arg2, u8 lower, u8 up { u8 race = CHRRACE(chr); - if ((race == RACE_HUMAN || race == RACE_SKEDAR) - && chrIsReadyForOrders(chr) - && chr->weapons_held[0]) { + if (race == RACE_HUMAN && chrIsReadyForOrders(chr) && chr->weapons_held[0]) { s32 quantity; f32 percentage; struct weaponobj *weapon = chr->weapons_held[0]->weapon; @@ -6733,7 +6602,7 @@ bool chrTryAttackStand(struct chrdata *chr, u32 attackflags, s32 entityid) return true; } - if (race == RACE_HUMAN || race == RACE_SKEDAR) { + if (race == RACE_HUMAN) { if (chrGetHeldUsableProp(chr, 0) || (chrGetHeldUsableProp(chr, 1))) { chrAttackStand(chr, attackflags, entityid); @@ -6749,7 +6618,7 @@ bool chrTryAttackKneel(struct chrdata *chr, u32 attackflags, s32 entityid) { s32 race = CHRRACE(chr); - if (race == RACE_HUMAN || race == RACE_SKEDAR) { + if (race == RACE_HUMAN) { if (chrIsReadyForOrders(chr) && (chrGetHeldUsableProp(chr, 0) || chrGetHeldUsableProp(chr, 1))) { chrAttackKneel(chr, attackflags, entityid); return true; @@ -6763,7 +6632,7 @@ bool chrTryAttackLie(struct chrdata *chr, u32 attackflags, s32 entityid) { s32 race = CHRRACE(chr); - if (race == RACE_HUMAN || race == RACE_SKEDAR) { + if (race == RACE_HUMAN) { if (chrIsReadyForOrders(chr) && (chrGetHeldUsableProp(chr, 0) || chrGetHeldUsableProp(chr, 1))) { chrAttackLie(chr, attackflags, entityid); return true; @@ -7477,37 +7346,6 @@ bool chrTryPunch(struct chrdata *chr, u8 reverse) chrhitradius = 120; playerhitradius = 120; animindex = random() % 11; - } else if (race == RACE_SKEDAR) { - anims = g_SkedarPunchAnims; - chrhitradius = 200; -#if VERSION >= VERSION_NTSC_1_0 - playerhitradius = 200; -#else - playerhitradius = 350; -#endif - startframe = 20; - - if (reverse) { - // Skedar kick behind - animindex = 5; - } else if (!chr->weapons_held[HAND_RIGHT] && !chr->weapons_held[HAND_LEFT]) { - // Unarmed: Only use indexes 0 or 1 - animindex = random() % 2; - } else { - // Allow indexes 0-4, but if 3 or 4 then flip the anim based on - // which hand is holding the gun - animindex = random() % 5; - - if (animindex >= 3) { - if (!chr->weapons_held[HAND_RIGHT] || !chr->weapons_held[HAND_LEFT]) { - if (chr->weapons_held[HAND_RIGHT]) { - chranimflags = 0; - } else if (chr->weapons_held[HAND_LEFT]) { - chranimflags = CHRANIMFLAG_FLIP; - } - } - } - } } if (chrHasFlag(chr, CHRFLAG1_ADJUSTPUNCHSPEED, BANK_1)) { @@ -7613,7 +7451,7 @@ void chrTickStand(struct chrdata *chr) return; } - if (!chr->aibot && (race == RACE_HUMAN || race == RACE_SKEDAR) && chr->act_stand.flags > 0) { + if (!chr->aibot && race == RACE_HUMAN && chr->act_stand.flags > 0) { if (chr->act_stand.reaim) { chr->act_stand.turning = chrTurn(chr, chr->act_stand.turning, modelGetNumAnimFrames(chr->model) - 1, 1, 0); @@ -7649,9 +7487,6 @@ void chrTickStand(struct chrdata *chr) modelSetAnimEndFrame(chr->model, animGetNumFrames(ANIM_0028) - 1); } } - } else if (race == RACE_SKEDAR) { - modelSetAnimation(chr->model, ANIM_0392, random() % 2, 0, 0.5f, 16); - modelSetAnimEndFrame(chr->model, animGetNumFrames(ANIM_0392) - 1); } } else if (chr->act_stand.flags & ATTACKFLAG_AIMATDIRECTION) { chr->act_stand.flags = 0; @@ -11343,8 +11178,6 @@ void chrTickRunPos(struct chrdata *chr) } else { fVar7 = func0f02dff0(ANIM_RUNNING_TWOHANDGUN); } - } else if (race == RACE_SKEDAR) { - fVar7 = func0f02dff0(ANIM_SKEDAR_RUNNING); } chr->act_runpos.neardist += fVar7 * g_Vars.lvupdate60freal * modelGetAbsAnimSpeed(model); @@ -12718,9 +12551,7 @@ void chrTickPatrol(struct chrdata *chr) bool chrTrySkJump(struct chrdata *chr, u8 arg1, u8 arg2, s32 arg3, u8 arg4) { - if (chr && chr->actiontype != ACT_SKJUMP - && chrIsReadyForOrders(chr) - && CHRRACE(chr) == RACE_SKEDAR) { + if (chr && chr->actiontype != ACT_SKJUMP && chrIsReadyForOrders(chr)) { return chrStartSkJump(chr, arg1, arg2, arg3, arg4); } @@ -12901,7 +12732,7 @@ void chraTick(struct chrdata *chr) || (chr->chrflags & CHRCFLAG_00040000) || chr->alertness >= 65 || (chr->aibot && (chr->actiontype == ACT_DIE || chr->actiontype == ACT_DEAD))) { - u8 pass = race == RACE_HUMAN || race == RACE_SKEDAR; + u8 pass = race == RACE_HUMAN; chr->sleep = 0; if (race == RACE_ROBOT) { diff --git a/src/game/footstep.c b/src/game/footstep.c index 5d6277ead..40d58a504 100644 --- a/src/game/footstep.c +++ b/src/game/footstep.c @@ -113,27 +113,6 @@ s32 footstepChooseSound(struct chrdata *chr, s32 footstepindex) return 0; } - if (CHRRACE(chr) == RACE_SKEDAR && chr->bodynum != BODY_MINISKEDAR) { - u32 result; - chr->lastfootsample ^= 1; - - if (floortype == FLOORTYPE_METAL) { - if (chr->lastfootsample) { - result = SFX_FOOTSTEP_8191; - } else { - result = SFX_FOOTSTEP_8192; - } - } else { - if (chr->lastfootsample) { - result = SFX_FOOTSTEP_818F; - } else { - result = SFX_FOOTSTEP_8190; - } - } - - return result; - } - running = footstepIsRunning(g_FootstepAnims[footstepindex].animnum); do { @@ -168,18 +147,10 @@ void footstepCheckDefault(struct chrdata *chr) for (i = 0; i < ARRAYCOUNT(g_FootstepAnims); i++) { if (modelGetAnimNum(chr->model) == g_FootstepAnims[i].animnum) { - if (CHRRACE(chr) == RACE_SKEDAR && g_FootstepAnims[i].animnum == ANIM_SKEDAR_RUNNING) { - if ((frame >= 2 && prevframe < 2) || (frame >= 17 && prevframe < 17)) { \ - chr->footstep = 1; - } else if ((frame >= 10 && prevframe < 10) || (frame >= 25 && prevframe < 25)) { - chr->footstep = 2; - } - } else { - if (frame >= g_FootstepAnims[i].frame1 && prevframe < g_FootstepAnims[i].frame1) { - chr->footstep = 1; - } else if (frame >= g_FootstepAnims[i].frame2 && prevframe < g_FootstepAnims[i].frame2) { - chr->footstep = 2; - } + if (frame >= g_FootstepAnims[i].frame1 && prevframe < g_FootstepAnims[i].frame1) { + chr->footstep = 1; + } else if (frame >= g_FootstepAnims[i].frame2 && prevframe < g_FootstepAnims[i].frame2) { + chr->footstep = 2; } soundnum = footstepChooseSound(chr, i); @@ -248,18 +219,10 @@ void footstepCheckMagic(struct chrdata *chr) chr->oldframe = frame; if (ydiff < 250 && xdiff * xdiff + zdiff * zdiff < 3000000) { - if (CHRRACE(chr) == RACE_SKEDAR && g_FootstepAnims[index].animnum == ANIM_SKEDAR_RUNNING) { - if ((frame >= 2 && prevframe < 2) || (frame >= 17 && prevframe < 17)) { - chr->footstep = 1; - } else if ((frame >= 10 && prevframe < 10) || (frame >= 25 && prevframe < 25)) { - chr->footstep = 2; - } - } else { - if (frame >= g_FootstepAnims[index].frame1 && prevframe < g_FootstepAnims[index].frame1) { - chr->footstep = 1; - } else if (frame >= g_FootstepAnims[index].frame2 && prevframe < g_FootstepAnims[index].frame2) { - chr->footstep = 2; - } + if (frame >= g_FootstepAnims[index].frame1 && prevframe < g_FootstepAnims[index].frame1) { + chr->footstep = 1; + } else if (frame >= g_FootstepAnims[index].frame2 && prevframe < g_FootstepAnims[index].frame2) { + chr->footstep = 2; } soundnum = footstepChooseSound(chr, index); diff --git a/src/game/splat.c b/src/game/splat.c index ac003398e..d861c9436 100644 --- a/src/game/splat.c +++ b/src/game/splat.c @@ -68,7 +68,7 @@ void splatTickChr(struct prop *prop) if (race != RACE_DRCAROLL && race != RACE_ROBOT) { u8 isskedar = false; - if (race == RACE_SKEDAR || chr->bodynum == BODY_MRBLONDE) { + if (chr->bodynum == BODY_MRBLONDE) { isskedar = true; }