From 779026162d9ed3428bd809ee980ba9400d5e90f0 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers <coelckers@users.noreply.github.com> Date: Thu, 15 Dec 2022 09:01:01 +0100 Subject: [PATCH] - exported all of RR's pickup items. --- source/games/duke/src/spawn_r.cpp | 157 +---------- .../redneck.ridesagain/rmapinfo.spawnclasses | 3 + .../filter/redneck/rmapinfo.spawnclasses | 22 ++ .../zscript/games/duke/actors/powderkeg.zs | 2 +- .../zscript/games/duke/actors/redneckitems.zs | 264 ++++++++++++++++++ 5 files changed, 291 insertions(+), 157 deletions(-) diff --git a/source/games/duke/src/spawn_r.cpp b/source/games/duke/src/spawn_r.cpp index f63375b41..1ea67047c 100644 --- a/source/games/duke/src/spawn_r.cpp +++ b/source/games/duke/src/spawn_r.cpp @@ -86,7 +86,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>* break; */ - // this is not really nice... + // this is not really nice... case RTILE_BIKERB: case RTILE_BIKERBV2: case RTILE_BIKER: @@ -291,161 +291,6 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>* } break; - - case RTILE_RPG2SPRITE: - case RTILE_MOTOAMMO: - case RTILE_BOATAMMO: - if (!isRRRA()) goto default_case; - [[fallthrough]]; - - case RTILE_STEROIDS: - case RTILE_HEATSENSOR: - case RTILE_SHIELD: - case RTILE_AIRTANK: - case RTILE_POWDERKEG: - case RTILE_COWPIE: - case RTILE_HOLODUKE: - - case RTILE_FIRSTGUNSPRITE: - case RTILE_RIFLEGUNSPRITE: - case RTILE_SHOTGUNSPRITE: - case RTILE_CROSSBOWSPRITE: - case RTILE_RIPSAWSPRITE: - case RTILE_TITSPRITE: - case RTILE_ALIENBLASTERSPRITE: - - case RTILE_SHOTGUNAMMO: - case RTILE_FREEZEAMMO: - case RTILE_HBOMBAMMO: - case RTILE_DEVISTATORAMMO: - case RTILE_RPGAMMO: - case RTILE_BOOTS: - case RTILE_AMMO: - case RTILE_AMMOLOTS: - case RTILE_BEER: - case RTILE_FIRSTAID: - - case RTILE_SAWAMMO: - - if (actj) - { - act->spr.lotag = 0; - act->spr.pos.Z -= 32; - act->vel.Z = -4; - ssp(act, CLIPMASK0); - act->spr.cstat = randomXFlip(); - } - else - { - act->SetOwner(act); - act->spr.cstat = 0; - } - - if ((ud.multimode < 2 && act->spr.pal != 0) || (act->spr.lotag > ud.player_skill)) - { - act->spr.scale = DVector2(0, 0); - ChangeActorStat(act, STAT_MISC); - break; - } - - act->spr.pal = 0; - [[fallthrough]]; - - case RTILE_ACCESSCARD: - - if (ud.multimode > 1 && ud.coop != 1 && act->spr.picnum == RTILE_ACCESSCARD) - { - act->spr.scale = DVector2(0, 0); - ChangeActorStat(act, STAT_MISC); - break; - } - else - { - if (act->spr.picnum == RTILE_AMMO) - act->spr.scale = DVector2(0.25, 0.25); - else act->spr.scale = DVector2(0.5, 0.5); - } - - act->spr.shade = -17; - - if (actj) ChangeActorStat(act, STAT_ACTOR); - else - { - ChangeActorStat(act, STAT_ZOMBIEACTOR); - makeitfall(act); - } - switch (act->spr.picnum) - { - case RTILE_FIRSTGUNSPRITE: - act->spr.scale = DVector2(0.25, 0.25); - break; - case RTILE_SHOTGUNAMMO: - act->spr.scale = DVector2(0.28125, 0.265625); - if (isRRRA()) act->spr.cstat = CSTAT_SPRITE_BLOCK_HITSCAN; - break; - case RTILE_FIRSTAID: - act->spr.scale = DVector2(0.125, 0.125); - break; - case RTILE_BEER: - act->spr.scale = DVector2(0.078125, 0.0625); - break; - case RTILE_AMMO: - act->spr.scale = DVector2(0.140625, 0.140625); - break; - case RTILE_MOTOAMMO: - if (!isRRRA()) goto default_case; - act->spr.scale = DVector2(0.359375, 0.359375); - break; - case RTILE_BOATAMMO: - if (!isRRRA()) goto default_case; - act->spr.scale = DVector2(0.25, 0.25); - break; - case RTILE_COWPIE: - act->spr.scale = DVector2(0.125, 0.09375); - break; - case RTILE_STEROIDS: - act->spr.scale = DVector2(0.203125, 0.140625); - break; - case RTILE_ACCESSCARD: - act->spr.scale = DVector2(0.171875, 0.1875); - break; - case RTILE_HEATSENSOR: - act->spr.scale = DVector2(0.09375, 0.0625); - break; - case RTILE_AIRTANK: - act->spr.scale = DVector2(0.296875, 0.25); - break; - case RTILE_CROSSBOWSPRITE: - act->spr.scale = DVector2(0.25, 0.21875); - break; - case RTILE_RPG2SPRITE: - if (!isRRRA()) goto default_case; - act->spr.scale = DVector2(0.34375, 0.3125); - break; - case RTILE_RIPSAWSPRITE: - act->spr.scale = DVector2(0.34375, 0.203125); - break; - case RTILE_ALIENBLASTERSPRITE: - act->spr.scale = DVector2(0.28125, 0.265625); - break; - case RTILE_SAWAMMO: - act->spr.scale = DVector2(0.1875, 0.109375); - break; - case RTILE_GROWSPRITEICON: - act->spr.scale = DVector2(0.15625, 0.140625); - break; - case RTILE_DEVISTATORAMMO: - act->spr.scale = DVector2(0.15625, 0.140625); - break; - case RTILE_ATOMICHEALTH: - act->spr.scale = DVector2(0.125, 0.125); - break; - case RTILE_TITSPRITE: - act->spr.scale = DVector2(0.265625, 0.25); - break; - } - act->spr.shade = act->sector()->floorshade; - break; } return act; } diff --git a/wadsrc/static/filter/redneck.ridesagain/rmapinfo.spawnclasses b/wadsrc/static/filter/redneck.ridesagain/rmapinfo.spawnclasses index 6a31d1a65..ed2071378 100644 --- a/wadsrc/static/filter/redneck.ridesagain/rmapinfo.spawnclasses +++ b/wadsrc/static/filter/redneck.ridesagain/rmapinfo.spawnclasses @@ -167,4 +167,7 @@ spawnclasses // stuff below uses CON 7280 = RedneckRabbit + + 78 = RedneckMotoAmmo + 8460 = RedneckBoatAmmo } diff --git a/wadsrc/static/filter/redneck/rmapinfo.spawnclasses b/wadsrc/static/filter/redneck/rmapinfo.spawnclasses index 66543dfce..7c2d66014 100644 --- a/wadsrc/static/filter/redneck/rmapinfo.spawnclasses +++ b/wadsrc/static/filter/redneck/rmapinfo.spawnclasses @@ -136,6 +136,28 @@ spawnclasses 26 = RedneckDynamite 27 = RedneckPowderKeg + 14 = RedneckChickenArrows + 55 = RedneckMoonshine + 56 = RedneckSnorkel + 57 = RedneckCowPie + 1350 = RedneckSixpack + 21 = RedneckRevolver + 22 = RedneckRiflegun + 28 = RedneckShotgun + 23 = RedneckCrossbow + 25 = RedneckRipsaw + 24 = RedneckTitgun + 29 = RedneckBlaster + 49 = RedneckShotgunammo + 47 = RedneckDynamiteAmmo + 42 = RedneckBlasterammo + 61 = RedneckHipWader + 40 = RedneckAmmo + 51 = RedneckBeer + 53 = RedneckWhiskey + 43 = RedneckSawAmmo + 60 = RedneckDoorKey + 1416 = RedneckMortar 285 = RedneckChickenSpawner1 286 = RedneckChickenSpawner2 diff --git a/wadsrc/static/zscript/games/duke/actors/powderkeg.zs b/wadsrc/static/zscript/games/duke/actors/powderkeg.zs index 19d9a9053..9b60acf65 100644 --- a/wadsrc/static/zscript/games/duke/actors/powderkeg.zs +++ b/wadsrc/static/zscript/games/duke/actors/powderkeg.zs @@ -1,5 +1,5 @@ -class RedneckPowderKeg : DukeActor +class RedneckPowderKeg : DukeItemBase { default { diff --git a/wadsrc/static/zscript/games/duke/actors/redneckitems.zs b/wadsrc/static/zscript/games/duke/actors/redneckitems.zs index e69de29bb..82562509a 100644 --- a/wadsrc/static/zscript/games/duke/actors/redneckitems.zs +++ b/wadsrc/static/zscript/games/duke/actors/redneckitems.zs @@ -0,0 +1,264 @@ + +class RedneckChickenArrows : DukeItemBase +{ + default + { + pic "RPG2SPRITE"; + } + + override void Initialize() + { + commonItemSetup((0.34375, 0.3125)); + } +} + +class RedneckMotoAmmo : DukeItemBase +{ + default + { + pic "MOTOAMMO"; + } + override void Initialize() + { + commonItemSetup((0.359375, 0.359375)); + } +} + +class RedneckBoatAmmo : DukeItemBase +{ + default + { + pic "BOATAMMO"; + } + override void Initialize() + { + commonItemSetup((0.359375, 0.359375)); + } +} + +class RedneckMoonshine : DukeItemBase +{ + default + { + pic "STEROIDS"; + } + override void Initialize() + { + commonItemSetup((0.203125, 0.140625)); + } +} + +class RedneckSnorkel : DukeItemBase +{ + default + { + pic "AIRTANK"; + } + + override void Initialize() + { + commonItemSetup((0.296875, 0.25)); + } +} + +class RedneckCowpie : DukeItemBase +{ + default + { + pic "COWPIE"; + } + override void Initialize() + { + commonItemSetup((0.125, 0.09375)); + } +} + +class RedneckSixpack : DukeItemBase +{ + default + { + pic "HOLODUKE"; + } +} + +class RedneckRevolver : DukeItemBase +{ + default + { + pic "FIRSTGUNSPRITE"; + } + override void Initialize() + { + commonItemSetup(((0.25, 0.25))); + } +} + +class RedneckRiflegun : DukeItemBase +{ + default + { + pic "RIFLEGUNSPRITE"; + } +} + +class RedneckShotgun : DukeItemBase +{ + default + { + pic "SHOTGUNSPRITE"; + } +} + +class RedneckCrossbow : DukeItemBase +{ + default + { + pic "CROSSBOWSPRITE"; + } + override void Initialize() + { + commonItemSetup((0.25, 0.21875)); + } + +} + +class RedneckRipsaw : DukeItemBase +{ + default + { + pic "RIPSAWSPRITE"; + } + + override void Initialize() + { + commonItemSetup((0.34375, 0.203125)); + } +} + +class RedneckTitgun : DukeItemBase +{ + default + { + pic "TITSPRITE"; + } + + override void Initialize() + { + commonItemSetup((0.265625, 0.25)); + } +} + +class RedneckBlaster : DukeItemBase +{ + default + { + pic "ALIENBLASTERSPRITE"; + } + + override void Initialize() + { + commonItemSetup((0.28125, 0.265625)); + } +} + +class RedneckShotgunammo : DukeItemBase +{ + default + { + pic "SHOTGUNAMMO"; + } + override void Initialize() + { + commonItemSetup((0.28125, 0.265625)); + if (Raze.isRRRA()) self.cstat = CSTAT_SPRITE_BLOCK_HITSCAN; + } +} + +class RedneckDynamiteAmmo : DukeItemBase +{ + default + { + pic "HBOMBAMMO"; + } +} + +class RedneckBlasterammo : DukeItemBase +{ + default + { + pic "DEVISTATORAMMO"; + } + + override void Initialize() + { + commonItemSetup((0.15625, 0.140625)); + } +} + +class RedneckHipWader : DukeItemBase +{ + default + { + pic "BOOTS"; + } +} + +class RedneckAmmo : DukeItemBase +{ + default + { + pic "AMMO"; + } + + override void Initialize() + { + commonItemSetup((0.140625, 0.140625)); + } +} + +class RedneckBeer : DukeItemBase +{ + default + { + pic "BEER"; + } + override void Initialize() + { + commonItemSetup((0.078125, 0.0625)); + } +} + +class RedneckWhiskey : DukeItemBase +{ + default + { + pic "FIRSTAID"; + } + override void Initialize() + { + commonItemSetup((0.125, 0.125)); + } +} + +class RedneckSawAmmo : DukeItemBase +{ + default + { + pic "SAWAMMO"; + } + override void Initialize() + { + commonItemSetup((0.1875, 0.109375)); + } +} + +class RedneckDoorkey : DukeAccessCard +{ + override void Initialize() + { + super.Initialize(); + self.Scale = (0.171875, 0.1875); + } +} + + \ No newline at end of file