forked from Ports/perfect_dark
Rename most remaining game files
This commit is contained in:
1 parent
860cbb1cc3
commit
70375816f1
185 files changed
+15538
-15653
No files matched your search
@@ -86,7 +86,7 @@ The decomp project wraps all decompiled piracy checks in `#if PIRACYCHECKS` stat
|
||||
|
||||
**Payload:** Writes 16 bytes of data to the start of EEPROM. Unsure what this does, but it's probably corrupting it.
|
||||
|
||||
### propAllocateEyespy
|
||||
### bodyAllocateEyespy
|
||||
|
||||
**When Called:** When loading any stage that uses the eyespy.
|
||||
|
||||
|
||||
+41
-37
@@ -1,33 +1,34 @@
|
||||
#define GAMEFILES(section) \
|
||||
build/ROMID/game/langinit.o (section); \
|
||||
build/ROMID/game/titleinit.o (section); \
|
||||
build/ROMID/game/game_000100.o (section); \
|
||||
build/ROMID/game/game_000130.o (section); \
|
||||
build/ROMID/game/raceinit.o (section); \
|
||||
build/ROMID/game/bodyinit.o (section); \
|
||||
build/ROMID/game/race.o (section); \
|
||||
build/ROMID/game/stubs/game_000840.o (section); \
|
||||
build/ROMID/game/stubs/game_000850.o (section); \
|
||||
build/ROMID/game/stubs/game_000860.o (section); \
|
||||
build/ROMID/game/stubs/game_000870.o (section); \
|
||||
build/ROMID/game/game_000880.o (section); \
|
||||
build/ROMID/game/smokeinit.o (section); \
|
||||
build/ROMID/game/stubs/game_0008e0.o (section); \
|
||||
build/ROMID/game/stubs/game_0008f0.o (section); \
|
||||
build/ROMID/game/stubs/game_000900.o (section); \
|
||||
build/ROMID/game/stubs/game_000910.o (section); \
|
||||
build/ROMID/game/dlights.o (section); \
|
||||
build/ROMID/game/game_005fd0.o (section); \
|
||||
build/ROMID/game/footstep.o (section); \
|
||||
build/ROMID/game/game_006900.o (section); \
|
||||
build/ROMID/game/game_006bd0.o (section); \
|
||||
build/ROMID/game/nbomb.o (section); \
|
||||
build/ROMID/game/stubs/game_00b180.o (section); \
|
||||
build/ROMID/game/game_00b190.o (section); \
|
||||
build/ROMID/game/texinit.o (section); \
|
||||
build/ROMID/game/stubs/game_00b200.o (section); \
|
||||
build/ROMID/game/game_00b210.o (section); \
|
||||
build/ROMID/game/challengeinit.o (section); \
|
||||
build/ROMID/game/langreset.o (section); \
|
||||
build/ROMID/game/game_00b420.o (section); \
|
||||
build/ROMID/game/getitlereset.o (section); \
|
||||
build/ROMID/game/titlereset.o (section); \
|
||||
build/ROMID/game/chrmgr.o (section); \
|
||||
build/ROMID/game/bodyreset.o (section); \
|
||||
build/ROMID/game/game_00b820.o (section); \
|
||||
build/ROMID/game/varsreset.o (section); \
|
||||
build/ROMID/game/game_00c490.o (section); \
|
||||
build/ROMID/game/setup.o (section); \
|
||||
build/ROMID/game/propsndreset.o (section); \
|
||||
build/ROMID/game/objectivesreset.o (section); \
|
||||
build/ROMID/game/casingreset.o (section); \
|
||||
@@ -35,26 +36,27 @@
|
||||
build/ROMID/game/playerreset.o (section); \
|
||||
build/ROMID/game/invreset.o (section); \
|
||||
build/ROMID/game/bondheadreset.o (section); \
|
||||
build/ROMID/game/game_012aa0.o (section); \
|
||||
build/ROMID/game/game_012d50.o (section); \
|
||||
build/ROMID/game/setuppads.o (section); \
|
||||
build/ROMID/game/setupwaypoints.o (section); \
|
||||
build/ROMID/game/explosionsreset.o (section); \
|
||||
build/ROMID/game/smokereset.o (section); \
|
||||
build/ROMID/game/sparksreset.o (section); \
|
||||
build/ROMID/game/weatherreset.o (section); \
|
||||
build/ROMID/game/stubs/game_013540.o (section); \
|
||||
build/ROMID/game/game_013550.o (section); \
|
||||
build/ROMID/game/wallhitreset.o (section); \
|
||||
build/ROMID/game/shardsreset.o (section); \
|
||||
build/ROMID/game/game_013b80.o (section); \
|
||||
build/ROMID/game/surfacereset.o (section); \
|
||||
build/ROMID/game/vtxstorereset.o (section); \
|
||||
build/ROMID/game/tilesreset.o (section); \
|
||||
build/ROMID/game/game_013ee0.o (section); \
|
||||
build/ROMID/game/game_0147a0.o (section); \
|
||||
build/ROMID/game/lasersightsreset.o (section); \
|
||||
build/ROMID/game/roomreset.o (section); \
|
||||
build/ROMID/game/setupcover.o (section); \
|
||||
build/ROMID/game/skyreset.o (section); \
|
||||
build/ROMID/game/gunfxreset.o (section); \
|
||||
build/ROMID/game/botmgr.o (section); \
|
||||
build/ROMID/game/botinvinit.o (section); \
|
||||
build/ROMID/game/chrmgrstop.o (section); \
|
||||
build/ROMID/game/propsstop.o (section); \
|
||||
build/ROMID/game/game_015010.o (section); \
|
||||
build/ROMID/game/propobjstop.o (section); \
|
||||
build/ROMID/game/propsndstop.o (section); \
|
||||
build/ROMID/game/objectivesstop.o (section); \
|
||||
build/ROMID/game/stubs/game_015260.o (section); \
|
||||
@@ -68,27 +70,27 @@
|
||||
build/ROMID/game/bondgunstop.o (section); \
|
||||
build/ROMID/game/getitle.o (section); \
|
||||
build/ROMID/game/title.o (section); \
|
||||
build/ROMID/game/game_01afc0.o (section); \
|
||||
build/ROMID/game/game_01b0a0.o (section); \
|
||||
build/ROMID/game/titleclear.o (section); \
|
||||
build/ROMID/game/pdmode.o (section); \
|
||||
build/ROMID/game/activemenutick.o (section); \
|
||||
build/ROMID/game/menustop.o (section); \
|
||||
build/ROMID/game/menutick.o (section); \
|
||||
build/ROMID/game/weathertick.o (section); \
|
||||
build/ROMID/game/langtick.o (section); \
|
||||
build/ROMID/game/game_01d8c0.o (section); \
|
||||
build/ROMID/game/game_01d990.o (section); \
|
||||
build/ROMID/game/roomtick.o (section); \
|
||||
build/ROMID/game/skytick.o (section); \
|
||||
build/ROMID/game/casingtick.o (section); \
|
||||
build/ROMID/game/shardstick.o (section); \
|
||||
build/ROMID/game/sparkstick.o (section); \
|
||||
build/ROMID/game/chr.o (section); \
|
||||
build/ROMID/game/game_02cde0.o (section); \
|
||||
build/ROMID/game/body.o (section); \
|
||||
build/ROMID/game/chraction.o (section); \
|
||||
build/ROMID/game/chrai.o (section); \
|
||||
build/ROMID/game/chraicommands.o (section); \
|
||||
build/ROMID/game/prop.o (section); \
|
||||
build/ROMID/game/propobj.o (section); \
|
||||
build/ROMID/game/propobjbss.o (section); \
|
||||
build/ROMID/game/game_091e10.o (section); \
|
||||
build/ROMID/game/setuputils.o (section); \
|
||||
build/ROMID/game/propsnd.o (section); \
|
||||
build/ROMID/game/objectives.o (section); \
|
||||
build/ROMID/game/game_096360.o (section); \
|
||||
@@ -97,21 +99,21 @@
|
||||
build/ROMID/game/acosasin.o (section); \
|
||||
build/ROMID/game/acosfasinf.o (section); \
|
||||
build/ROMID/game/game_096b20.o (section); \
|
||||
build/ROMID/game/game_096ca0.o (section); \
|
||||
build/ROMID/game/quaternion.o (section); \
|
||||
build/ROMID/game/floor.o (section); \
|
||||
build/ROMID/game/ceil.o (section); \
|
||||
build/ROMID/game/game_097a50.o (section); \
|
||||
build/ROMID/game/game_097aa0.o (section); \
|
||||
build/ROMID/game/invitems.o (section); \
|
||||
build/ROMID/game/bondgun.o (section); \
|
||||
build/ROMID/game/game_0abe70.o (section); \
|
||||
build/ROMID/game/gunfx.o (section); \
|
||||
build/ROMID/game/mpstats.o (section); \
|
||||
build/ROMID/game/game_0b0fd0.o (section); \
|
||||
build/ROMID/game/game_0b2150.o (section); \
|
||||
build/ROMID/game/game_0b28d0.o (section); \
|
||||
build/ROMID/game/game_0b3350.o (section); \
|
||||
build/ROMID/game/game_0b4950.o (section); \
|
||||
build/ROMID/game/game_0b63b0.o (section); \
|
||||
build/ROMID/game/tex.o (section); \
|
||||
build/ROMID/game/camera.o (section); \
|
||||
build/ROMID/game/portal.o (section); \
|
||||
build/ROMID/game/player.o (section); \
|
||||
build/ROMID/game/game_0c33f0.o (section); \
|
||||
build/ROMID/game/bondcutscene.o (section); \
|
||||
@@ -132,7 +134,7 @@
|
||||
build/ROMID/game/mainmenu.o (section); \
|
||||
build/ROMID/game/cheats.o (section); \
|
||||
build/ROMID/game/filemgr.o (section); \
|
||||
build/ROMID/game/game_10c9c0.o (section); \
|
||||
build/ROMID/game/fmb.o (section); \
|
||||
build/ROMID/game/endscreen.o (section); \
|
||||
build/ROMID/game/gamefile.o (section); \
|
||||
build/ROMID/game/bossfile.o (section); \
|
||||
@@ -161,7 +163,7 @@
|
||||
build/ROMID/game/modeldata/chr.o (section); \
|
||||
build/ROMID/game/modeldata/skedar.o (section); \
|
||||
build/ROMID/game/modeldata/robot.o (section); \
|
||||
build/ROMID/game/game_11f000.o (section); \
|
||||
build/ROMID/game/sky.o (section); \
|
||||
build/ROMID/game/playermgr.o (section); \
|
||||
build/ROMID/game/crc.o (section); \
|
||||
build/ROMID/game/rng2.o (section); \
|
||||
@@ -170,7 +172,7 @@
|
||||
build/ROMID/game/smoke.o (section); \
|
||||
build/ROMID/game/sparks.o (section); \
|
||||
build/ROMID/game/weather.o (section); \
|
||||
build/ROMID/game/sky.o (section); \
|
||||
build/ROMID/game/stars.o (section); \
|
||||
build/ROMID/game/credits.o (section); \
|
||||
build/ROMID/game/game_13b670.o (section); \
|
||||
build/ROMID/game/game_13c510.o (section); \
|
||||
@@ -182,14 +184,14 @@
|
||||
build/ROMID/game/options.o (section); \
|
||||
build/ROMID/game/game_152fa0.o (section); \
|
||||
build/ROMID/game/game_1531a0.o (section); \
|
||||
build/ROMID/game/game_1577f0.o (section); \
|
||||
build/ROMID/game/collisionutils.o (section); \
|
||||
build/ROMID/game/bg.o (section); \
|
||||
build/ROMID/game/bgbss.o (section); \
|
||||
build/ROMID/game/game_165360.o (section); \
|
||||
build/ROMID/game/stagetable.o (section); \
|
||||
build/ROMID/game/game_165670.o (section); \
|
||||
build/ROMID/game/gfxreplace.o (section); \
|
||||
build/ROMID/game/env.o (section); \
|
||||
build/ROMID/game/game_1668e0.o (section); \
|
||||
build/ROMID/game/room.o (section); \
|
||||
build/ROMID/game/file.o (section); \
|
||||
build/ROMID/game/gfxmemory.o (section); \
|
||||
build/ROMID/game/lv.o (section); \
|
||||
@@ -198,9 +200,10 @@
|
||||
build/ROMID/game/lang.o (section); \
|
||||
build/ROMID/game/texdecompress.o (section); \
|
||||
build/ROMID/game/texreset.o (section); \
|
||||
build/ROMID/game/game_173a00.o (section); \
|
||||
build/ROMID/game/surface.o (section); \
|
||||
build/ROMID/game/stubs/game_175f50.o (section); \
|
||||
build/ROMID/game/game_175f90.o (section); \
|
||||
build/ROMID/game/buildtime.o (section); \
|
||||
build/ROMID/game/stubs/game_176000.o (section); \
|
||||
build/ROMID/game/game_176080.o (section); \
|
||||
build/ROMID/game/stagemusic.o (section); \
|
||||
@@ -216,8 +219,9 @@
|
||||
build/ROMID/game/botact.o (section); \
|
||||
build/ROMID/game/mplayer/mpaicommands.o (section); \
|
||||
build/ROMID/game/vmstats.o (section); \
|
||||
build/ROMID/game/game_19aa80.o (section); \
|
||||
build/ROMID/game/botroom.o (section); \
|
||||
build/ROMID/game/challenge.o (section); \
|
||||
build/ROMID/game/training.o (section); \
|
||||
build/ROMID/game/trainingmenus.o (section); \
|
||||
build/ROMID/game/game_1a7560.o (section); \
|
||||
build/ROMID/game/modeldef.o (section); \
|
||||
build/ROMID/game/game_1a78b0.o (section);
|
||||
+40
-36
@@ -1,33 +1,34 @@
|
||||
#define GAMEFILES(section) \
|
||||
build/ROMID/game/langinit.o (section); \
|
||||
build/ROMID/game/titleinit.o (section); \
|
||||
build/ROMID/game/game_000100.o (section); \
|
||||
build/ROMID/game/game_000130.o (section); \
|
||||
build/ROMID/game/raceinit.o (section); \
|
||||
build/ROMID/game/bodyinit.o (section); \
|
||||
build/ROMID/game/race.o (section); \
|
||||
build/ROMID/game/stubs/game_000840.o (section); \
|
||||
build/ROMID/game/stubs/game_000850.o (section); \
|
||||
build/ROMID/game/stubs/game_000860.o (section); \
|
||||
build/ROMID/game/stubs/game_000870.o (section); \
|
||||
build/ROMID/game/game_000880.o (section); \
|
||||
build/ROMID/game/smokeinit.o (section); \
|
||||
build/ROMID/game/stubs/game_0008e0.o (section); \
|
||||
build/ROMID/game/stubs/game_0008f0.o (section); \
|
||||
build/ROMID/game/stubs/game_000900.o (section); \
|
||||
build/ROMID/game/stubs/game_000910.o (section); \
|
||||
build/ROMID/game/dlights.o (section); \
|
||||
build/ROMID/game/game_005fd0.o (section); \
|
||||
build/ROMID/game/footstep.o (section); \
|
||||
build/ROMID/game/game_006900.o (section); \
|
||||
build/ROMID/game/game_006bd0.o (section); \
|
||||
build/ROMID/game/nbomb.o (section); \
|
||||
build/ROMID/game/stubs/game_00b180.o (section); \
|
||||
build/ROMID/game/game_00b190.o (section); \
|
||||
build/ROMID/game/texinit.o (section); \
|
||||
build/ROMID/game/stubs/game_00b200.o (section); \
|
||||
build/ROMID/game/game_00b210.o (section); \
|
||||
build/ROMID/game/challengeinit.o (section); \
|
||||
build/ROMID/game/langreset.o (section); \
|
||||
build/ROMID/game/game_00b420.o (section); \
|
||||
build/ROMID/game/getitlereset.o (section); \
|
||||
build/ROMID/game/titlereset.o (section); \
|
||||
build/ROMID/game/chrmgr.o (section); \
|
||||
build/ROMID/game/bodyreset.o (section); \
|
||||
build/ROMID/game/game_00b820.o (section); \
|
||||
build/ROMID/game/varsreset.o (section); \
|
||||
build/ROMID/game/game_00c490.o (section); \
|
||||
build/ROMID/game/setup.o (section); \
|
||||
build/ROMID/game/propsndreset.o (section); \
|
||||
build/ROMID/game/objectivesreset.o (section); \
|
||||
build/ROMID/game/casingreset.o (section); \
|
||||
@@ -35,26 +36,27 @@
|
||||
build/ROMID/game/playerreset.o (section); \
|
||||
build/ROMID/game/invreset.o (section); \
|
||||
build/ROMID/game/bondheadreset.o (section); \
|
||||
build/ROMID/game/game_012aa0.o (section); \
|
||||
build/ROMID/game/game_012d50.o (section); \
|
||||
build/ROMID/game/setuppads.o (section); \
|
||||
build/ROMID/game/setupwaypoints.o (section); \
|
||||
build/ROMID/game/explosionsreset.o (section); \
|
||||
build/ROMID/game/smokereset.o (section); \
|
||||
build/ROMID/game/sparksreset.o (section); \
|
||||
build/ROMID/game/weatherreset.o (section); \
|
||||
build/ROMID/game/stubs/game_013540.o (section); \
|
||||
build/ROMID/game/game_013550.o (section); \
|
||||
build/ROMID/game/wallhitreset.o (section); \
|
||||
build/ROMID/game/shardsreset.o (section); \
|
||||
build/ROMID/game/game_013b80.o (section); \
|
||||
build/ROMID/game/surfacereset.o (section); \
|
||||
build/ROMID/game/vtxstorereset.o (section); \
|
||||
build/ROMID/game/tilesreset.o (section); \
|
||||
build/ROMID/game/game_013ee0.o (section); \
|
||||
build/ROMID/game/game_0147a0.o (section); \
|
||||
build/ROMID/game/lasersightsreset.o (section); \
|
||||
build/ROMID/game/roomreset.o (section); \
|
||||
build/ROMID/game/setupcover.o (section); \
|
||||
build/ROMID/game/skyreset.o (section); \
|
||||
build/ROMID/game/gunfxreset.o (section); \
|
||||
build/ROMID/game/botmgr.o (section); \
|
||||
build/ROMID/game/botinvinit.o (section); \
|
||||
build/ROMID/game/chrmgrstop.o (section); \
|
||||
build/ROMID/game/propsstop.o (section); \
|
||||
build/ROMID/game/game_015010.o (section); \
|
||||
build/ROMID/game/propobjstop.o (section); \
|
||||
build/ROMID/game/propsndstop.o (section); \
|
||||
build/ROMID/game/objectivesstop.o (section); \
|
||||
build/ROMID/game/stubs/game_015260.o (section); \
|
||||
@@ -68,27 +70,27 @@
|
||||
build/ROMID/game/bondgunstop.o (section); \
|
||||
build/ROMID/game/getitle.o (section); \
|
||||
build/ROMID/game/title.o (section); \
|
||||
build/ROMID/game/game_01afc0.o (section); \
|
||||
build/ROMID/game/game_01b0a0.o (section); \
|
||||
build/ROMID/game/titleclear.o (section); \
|
||||
build/ROMID/game/pdmode.o (section); \
|
||||
build/ROMID/game/activemenutick.o (section); \
|
||||
build/ROMID/game/menustop.o (section); \
|
||||
build/ROMID/game/menutick.o (section); \
|
||||
build/ROMID/game/weathertick.o (section); \
|
||||
build/ROMID/game/langtick.o (section); \
|
||||
build/ROMID/game/game_01d8c0.o (section); \
|
||||
build/ROMID/game/game_01d990.o (section); \
|
||||
build/ROMID/game/roomtick.o (section); \
|
||||
build/ROMID/game/skytick.o (section); \
|
||||
build/ROMID/game/casingtick.o (section); \
|
||||
build/ROMID/game/shardstick.o (section); \
|
||||
build/ROMID/game/sparkstick.o (section); \
|
||||
build/ROMID/game/chr.o (section); \
|
||||
build/ROMID/game/game_02cde0.o (section); \
|
||||
build/ROMID/game/body.o (section); \
|
||||
build/ROMID/game/chraction.o (section); \
|
||||
build/ROMID/game/chrai.o (section); \
|
||||
build/ROMID/game/chraicommands.o (section); \
|
||||
build/ROMID/game/prop.o (section); \
|
||||
build/ROMID/game/propobj.o (section); \
|
||||
build/ROMID/game/propobjbss.o (section); \
|
||||
build/ROMID/game/game_091e10.o (section); \
|
||||
build/ROMID/game/setuputils.o (section); \
|
||||
build/ROMID/game/propsnd.o (section); \
|
||||
build/ROMID/game/objectives.o (section); \
|
||||
build/ROMID/game/game_096360.o (section); \
|
||||
@@ -97,21 +99,21 @@
|
||||
build/ROMID/game/acosasin.o (section); \
|
||||
build/ROMID/game/acosfasinf.o (section); \
|
||||
build/ROMID/game/game_096b20.o (section); \
|
||||
build/ROMID/game/game_096ca0.o (section); \
|
||||
build/ROMID/game/quaternion.o (section); \
|
||||
build/ROMID/game/floor.o (section); \
|
||||
build/ROMID/game/ceil.o (section); \
|
||||
build/ROMID/game/game_097a50.o (section); \
|
||||
build/ROMID/game/game_097aa0.o (section); \
|
||||
build/ROMID/game/invitems.o (section); \
|
||||
build/ROMID/game/bondgun.o (section); \
|
||||
build/ROMID/game/game_0abe70.o (section); \
|
||||
build/ROMID/game/gunfx.o (section); \
|
||||
build/ROMID/game/mpstats.o (section); \
|
||||
build/ROMID/game/game_0b0fd0.o (section); \
|
||||
build/ROMID/game/game_0b2150.o (section); \
|
||||
build/ROMID/game/game_0b28d0.o (section); \
|
||||
build/ROMID/game/game_0b3350.o (section); \
|
||||
build/ROMID/game/game_0b4950.o (section); \
|
||||
build/ROMID/game/game_0b63b0.o (section); \
|
||||
build/ROMID/game/tex.o (section); \
|
||||
build/ROMID/game/camera.o (section); \
|
||||
build/ROMID/game/portal.o (section); \
|
||||
build/ROMID/game/player.o (section); \
|
||||
build/ROMID/game/game_0c33f0.o (section); \
|
||||
build/ROMID/game/bondcutscene.o (section); \
|
||||
@@ -132,7 +134,7 @@
|
||||
build/ROMID/game/mainmenu.o (section); \
|
||||
build/ROMID/game/cheats.o (section); \
|
||||
build/ROMID/game/filemgr.o (section); \
|
||||
build/ROMID/game/game_10c9c0.o (section); \
|
||||
build/ROMID/game/fmb.o (section); \
|
||||
build/ROMID/game/endscreen.o (section); \
|
||||
build/ROMID/game/gamefile.o (section); \
|
||||
build/ROMID/game/bossfile.o (section); \
|
||||
@@ -162,7 +164,7 @@
|
||||
build/ROMID/game/modeldata/chr.o (section); \
|
||||
build/ROMID/game/modeldata/skedar.o (section); \
|
||||
build/ROMID/game/modeldata/robot.o (section); \
|
||||
build/ROMID/game/game_11f000.o (section); \
|
||||
build/ROMID/game/sky.o (section); \
|
||||
build/ROMID/game/playermgr.o (section); \
|
||||
build/ROMID/game/crc.o (section); \
|
||||
build/ROMID/game/rng2.o (section); \
|
||||
@@ -171,7 +173,7 @@
|
||||
build/ROMID/game/smoke.o (section); \
|
||||
build/ROMID/game/sparks.o (section); \
|
||||
build/ROMID/game/weather.o (section); \
|
||||
build/ROMID/game/sky.o (section); \
|
||||
build/ROMID/game/stars.o (section); \
|
||||
build/ROMID/game/credits.o (section); \
|
||||
build/ROMID/game/game_13b670.o (section); \
|
||||
build/ROMID/game/game_13c510.o (section); \
|
||||
@@ -183,14 +185,14 @@
|
||||
build/ROMID/game/options.o (section); \
|
||||
build/ROMID/game/game_152fa0.o (section); \
|
||||
build/ROMID/game/game_1531a0.o (section); \
|
||||
build/ROMID/game/game_1577f0.o (section); \
|
||||
build/ROMID/game/collisionutils.o (section); \
|
||||
build/ROMID/game/bg.o (section); \
|
||||
build/ROMID/game/bgbss.o (section); \
|
||||
build/ROMID/game/game_165360.o (section); \
|
||||
build/ROMID/game/stagetable.o (section); \
|
||||
build/ROMID/game/game_165670.o (section); \
|
||||
build/ROMID/game/gfxreplace.o (section); \
|
||||
build/ROMID/game/env.o (section); \
|
||||
build/ROMID/game/game_1668e0.o (section); \
|
||||
build/ROMID/game/room.o (section); \
|
||||
build/ROMID/game/file.o (section); \
|
||||
build/ROMID/game/gfxmemory.o (section); \
|
||||
build/ROMID/game/lv.o (section); \
|
||||
@@ -199,9 +201,10 @@
|
||||
build/ROMID/game/lang.o (section); \
|
||||
build/ROMID/game/texdecompress.o (section); \
|
||||
build/ROMID/game/texreset.o (section); \
|
||||
build/ROMID/game/game_173a00.o (section); \
|
||||
build/ROMID/game/surface.o (section); \
|
||||
build/ROMID/game/stubs/game_175f50.o (section); \
|
||||
build/ROMID/game/game_175f90.o (section); \
|
||||
build/ROMID/game/buildtime.o (section); \
|
||||
build/ROMID/game/stubs/game_176000.o (section); \
|
||||
build/ROMID/game/game_176080.o (section); \
|
||||
build/ROMID/game/stagemusic.o (section); \
|
||||
@@ -217,7 +220,8 @@
|
||||
build/ROMID/game/botact.o (section); \
|
||||
build/ROMID/game/mplayer/mpaicommands.o (section); \
|
||||
build/ROMID/game/vmstats.o (section); \
|
||||
build/ROMID/game/game_19aa80.o (section); \
|
||||
build/ROMID/game/botroom.o (section); \
|
||||
build/ROMID/game/challenge.o (section); \
|
||||
build/ROMID/game/training.o (section); \
|
||||
build/ROMID/game/trainingmenus.o (section); \
|
||||
build/ROMID/game/game_1a78b0.o (section);
|
||||
+41
-37
@@ -1,33 +1,34 @@
|
||||
#define GAMEFILES(section) \
|
||||
build/ROMID/game/langinit.o (section); \
|
||||
build/ROMID/game/titleinit.o (section); \
|
||||
build/ROMID/game/game_000100.o (section); \
|
||||
build/ROMID/game/game_000130.o (section); \
|
||||
build/ROMID/game/raceinit.o (section); \
|
||||
build/ROMID/game/bodyinit.o (section); \
|
||||
build/ROMID/game/race.o (section); \
|
||||
build/ROMID/game/stubs/game_000840.o (section); \
|
||||
build/ROMID/game/stubs/game_000850.o (section); \
|
||||
build/ROMID/game/stubs/game_000860.o (section); \
|
||||
build/ROMID/game/stubs/game_000870.o (section); \
|
||||
build/ROMID/game/game_000880.o (section); \
|
||||
build/ROMID/game/smokeinit.o (section); \
|
||||
build/ROMID/game/stubs/game_0008e0.o (section); \
|
||||
build/ROMID/game/stubs/game_0008f0.o (section); \
|
||||
build/ROMID/game/stubs/game_000900.o (section); \
|
||||
build/ROMID/game/stubs/game_000910.o (section); \
|
||||
build/ROMID/game/dlights.o (section); \
|
||||
build/ROMID/game/game_005fd0.o (section); \
|
||||
build/ROMID/game/footstep.o (section); \
|
||||
build/ROMID/game/game_006900.o (section); \
|
||||
build/ROMID/game/game_006bd0.o (section); \
|
||||
build/ROMID/game/nbomb.o (section); \
|
||||
build/ROMID/game/stubs/game_00b180.o (section); \
|
||||
build/ROMID/game/game_00b190.o (section); \
|
||||
build/ROMID/game/texinit.o (section); \
|
||||
build/ROMID/game/stubs/game_00b200.o (section); \
|
||||
build/ROMID/game/game_00b210.o (section); \
|
||||
build/ROMID/game/challengeinit.o (section); \
|
||||
build/ROMID/game/langreset.o (section); \
|
||||
build/ROMID/game/game_00b420.o (section); \
|
||||
build/ROMID/game/getitlereset.o (section); \
|
||||
build/ROMID/game/titlereset.o (section); \
|
||||
build/ROMID/game/chrmgr.o (section); \
|
||||
build/ROMID/game/bodyreset.o (section); \
|
||||
build/ROMID/game/game_00b820.o (section); \
|
||||
build/ROMID/game/varsreset.o (section); \
|
||||
build/ROMID/game/game_00c490.o (section); \
|
||||
build/ROMID/game/setup.o (section); \
|
||||
build/ROMID/game/propsndreset.o (section); \
|
||||
build/ROMID/game/objectivesreset.o (section); \
|
||||
build/ROMID/game/casingreset.o (section); \
|
||||
@@ -35,26 +36,27 @@
|
||||
build/ROMID/game/playerreset.o (section); \
|
||||
build/ROMID/game/invreset.o (section); \
|
||||
build/ROMID/game/bondheadreset.o (section); \
|
||||
build/ROMID/game/game_012aa0.o (section); \
|
||||
build/ROMID/game/game_012d50.o (section); \
|
||||
build/ROMID/game/setuppads.o (section); \
|
||||
build/ROMID/game/setupwaypoints.o (section); \
|
||||
build/ROMID/game/explosionsreset.o (section); \
|
||||
build/ROMID/game/smokereset.o (section); \
|
||||
build/ROMID/game/sparksreset.o (section); \
|
||||
build/ROMID/game/weatherreset.o (section); \
|
||||
build/ROMID/game/stubs/game_013540.o (section); \
|
||||
build/ROMID/game/game_013550.o (section); \
|
||||
build/ROMID/game/wallhitreset.o (section); \
|
||||
build/ROMID/game/shardsreset.o (section); \
|
||||
build/ROMID/game/game_013b80.o (section); \
|
||||
build/ROMID/game/surfacereset.o (section); \
|
||||
build/ROMID/game/vtxstorereset.o (section); \
|
||||
build/ROMID/game/tilesreset.o (section); \
|
||||
build/ROMID/game/game_013ee0.o (section); \
|
||||
build/ROMID/game/game_0147a0.o (section); \
|
||||
build/ROMID/game/lasersightsreset.o (section); \
|
||||
build/ROMID/game/roomreset.o (section); \
|
||||
build/ROMID/game/setupcover.o (section); \
|
||||
build/ROMID/game/skyreset.o (section); \
|
||||
build/ROMID/game/gunfxreset.o (section); \
|
||||
build/ROMID/game/botmgr.o (section); \
|
||||
build/ROMID/game/botinvinit.o (section); \
|
||||
build/ROMID/game/chrmgrstop.o (section); \
|
||||
build/ROMID/game/propsstop.o (section); \
|
||||
build/ROMID/game/game_015010.o (section); \
|
||||
build/ROMID/game/propobjstop.o (section); \
|
||||
build/ROMID/game/propsndstop.o (section); \
|
||||
build/ROMID/game/objectivesstop.o (section); \
|
||||
build/ROMID/game/stubs/game_015260.o (section); \
|
||||
@@ -68,27 +70,27 @@
|
||||
build/ROMID/game/bondgunstop.o (section); \
|
||||
build/ROMID/game/getitle.o (section); \
|
||||
build/ROMID/game/title.o (section); \
|
||||
build/ROMID/game/game_01afc0.o (section); \
|
||||
build/ROMID/game/game_01b0a0.o (section); \
|
||||
build/ROMID/game/titleclear.o (section); \
|
||||
build/ROMID/game/pdmode.o (section); \
|
||||
build/ROMID/game/activemenutick.o (section); \
|
||||
build/ROMID/game/menustop.o (section); \
|
||||
build/ROMID/game/menutick.o (section); \
|
||||
build/ROMID/game/weathertick.o (section); \
|
||||
build/ROMID/game/langtick.o (section); \
|
||||
build/ROMID/game/game_01d8c0.o (section); \
|
||||
build/ROMID/game/game_01d990.o (section); \
|
||||
build/ROMID/game/roomtick.o (section); \
|
||||
build/ROMID/game/skytick.o (section); \
|
||||
build/ROMID/game/casingtick.o (section); \
|
||||
build/ROMID/game/shardstick.o (section); \
|
||||
build/ROMID/game/sparkstick.o (section); \
|
||||
build/ROMID/game/chr.o (section); \
|
||||
build/ROMID/game/game_02cde0.o (section); \
|
||||
build/ROMID/game/body.o (section); \
|
||||
build/ROMID/game/chraction.o (section); \
|
||||
build/ROMID/game/chrai.o (section); \
|
||||
build/ROMID/game/chraicommands.o (section); \
|
||||
build/ROMID/game/prop.o (section); \
|
||||
build/ROMID/game/propobj.o (section); \
|
||||
build/ROMID/game/propobjbss.o (section); \
|
||||
build/ROMID/game/game_091e10.o (section); \
|
||||
build/ROMID/game/setuputils.o (section); \
|
||||
build/ROMID/game/propsnd.o (section); \
|
||||
build/ROMID/game/objectives.o (section); \
|
||||
build/ROMID/game/game_096360.o (section); \
|
||||
@@ -97,21 +99,21 @@
|
||||
build/ROMID/game/acosasin.o (section); \
|
||||
build/ROMID/game/acosfasinf.o (section); \
|
||||
build/ROMID/game/game_096b20.o (section); \
|
||||
build/ROMID/game/game_096ca0.o (section); \
|
||||
build/ROMID/game/quaternion.o (section); \
|
||||
build/ROMID/game/floor.o (section); \
|
||||
build/ROMID/game/ceil.o (section); \
|
||||
build/ROMID/game/game_097a50.o (section); \
|
||||
build/ROMID/game/game_097aa0.o (section); \
|
||||
build/ROMID/game/invitems.o (section); \
|
||||
build/ROMID/game/bondgun.o (section); \
|
||||
build/ROMID/game/game_0abe70.o (section); \
|
||||
build/ROMID/game/gunfx.o (section); \
|
||||
build/ROMID/game/mpstats.o (section); \
|
||||
build/ROMID/game/game_0b0fd0.o (section); \
|
||||
build/ROMID/game/game_0b2150.o (section); \
|
||||
build/ROMID/game/game_0b28d0.o (section); \
|
||||
build/ROMID/game/game_0b3350.o (section); \
|
||||
build/ROMID/game/game_0b4950.o (section); \
|
||||
build/ROMID/game/game_0b63b0.o (section); \
|
||||
build/ROMID/game/tex.o (section); \
|
||||
build/ROMID/game/camera.o (section); \
|
||||
build/ROMID/game/portal.o (section); \
|
||||
build/ROMID/game/player.o (section); \
|
||||
build/ROMID/game/game_0c33f0.o (section); \
|
||||
build/ROMID/game/bondcutscene.o (section); \
|
||||
@@ -132,7 +134,7 @@
|
||||
build/ROMID/game/mainmenu.o (section); \
|
||||
build/ROMID/game/cheats.o (section); \
|
||||
build/ROMID/game/filemgr.o (section); \
|
||||
build/ROMID/game/game_10c9c0.o (section); \
|
||||
build/ROMID/game/fmb.o (section); \
|
||||
build/ROMID/game/endscreen.o (section); \
|
||||
build/ROMID/game/gamefile.o (section); \
|
||||
build/ROMID/game/bossfile.o (section); \
|
||||
@@ -161,7 +163,7 @@
|
||||
build/ROMID/game/modeldata/chr.o (section); \
|
||||
build/ROMID/game/modeldata/skedar.o (section); \
|
||||
build/ROMID/game/modeldata/robot.o (section); \
|
||||
build/ROMID/game/game_11f000.o (section); \
|
||||
build/ROMID/game/sky.o (section); \
|
||||
build/ROMID/game/playermgr.o (section); \
|
||||
build/ROMID/game/crc.o (section); \
|
||||
build/ROMID/game/rng2.o (section); \
|
||||
@@ -170,7 +172,7 @@
|
||||
build/ROMID/game/smoke.o (section); \
|
||||
build/ROMID/game/sparks.o (section); \
|
||||
build/ROMID/game/weather.o (section); \
|
||||
build/ROMID/game/sky.o (section); \
|
||||
build/ROMID/game/stars.o (section); \
|
||||
build/ROMID/game/credits.o (section); \
|
||||
build/ROMID/game/game_13b670.o (section); \
|
||||
build/ROMID/game/game_13c510.o (section); \
|
||||
@@ -182,14 +184,14 @@
|
||||
build/ROMID/game/options.o (section); \
|
||||
build/ROMID/game/game_152fa0.o (section); \
|
||||
build/ROMID/game/game_1531a0.o (section); \
|
||||
build/ROMID/game/game_1577f0.o (section); \
|
||||
build/ROMID/game/collisionutils.o (section); \
|
||||
build/ROMID/game/bg.o (section); \
|
||||
build/ROMID/game/bgbss.o (section); \
|
||||
build/ROMID/game/game_165360.o (section); \
|
||||
build/ROMID/game/stagetable.o (section); \
|
||||
build/ROMID/game/game_165670.o (section); \
|
||||
build/ROMID/game/gfxreplace.o (section); \
|
||||
build/ROMID/game/env.o (section); \
|
||||
build/ROMID/game/game_1668e0.o (section); \
|
||||
build/ROMID/game/room.o (section); \
|
||||
build/ROMID/game/file.o (section); \
|
||||
build/ROMID/game/gfxmemory.o (section); \
|
||||
build/ROMID/game/lv.o (section); \
|
||||
@@ -198,9 +200,10 @@
|
||||
build/ROMID/game/lang.o (section); \
|
||||
build/ROMID/game/texdecompress.o (section); \
|
||||
build/ROMID/game/texreset.o (section); \
|
||||
build/ROMID/game/game_173a00.o (section); \
|
||||
build/ROMID/game/surface.o (section); \
|
||||
build/ROMID/game/stubs/game_175f50.o (section); \
|
||||
build/ROMID/game/game_175f90.o (section); \
|
||||
build/ROMID/game/buildtime.o (section); \
|
||||
build/ROMID/game/stubs/game_176000.o (section); \
|
||||
build/ROMID/game/game_176080.o (section); \
|
||||
build/ROMID/game/stagemusic.o (section); \
|
||||
@@ -216,8 +219,9 @@
|
||||
build/ROMID/game/botact.o (section); \
|
||||
build/ROMID/game/mplayer/mpaicommands.o (section); \
|
||||
build/ROMID/game/vmstats.o (section); \
|
||||
build/ROMID/game/game_19aa80.o (section); \
|
||||
build/ROMID/game/botroom.o (section); \
|
||||
build/ROMID/game/challenge.o (section); \
|
||||
build/ROMID/game/training.o (section); \
|
||||
build/ROMID/game/trainingmenus.o (section); \
|
||||
build/ROMID/game/game_1a7560.o (section); \
|
||||
build/ROMID/game/modeldef.o (section); \
|
||||
build/ROMID/game/game_1a78b0.o (section);
|
||||
+41
-37
@@ -1,33 +1,34 @@
|
||||
#define GAMEFILES(section) \
|
||||
build/ROMID/game/langinit.o (section); \
|
||||
build/ROMID/game/titleinit.o (section); \
|
||||
build/ROMID/game/game_000100.o (section); \
|
||||
build/ROMID/game/game_000130.o (section); \
|
||||
build/ROMID/game/raceinit.o (section); \
|
||||
build/ROMID/game/bodyinit.o (section); \
|
||||
build/ROMID/game/race.o (section); \
|
||||
build/ROMID/game/stubs/game_000840.o (section); \
|
||||
build/ROMID/game/stubs/game_000850.o (section); \
|
||||
build/ROMID/game/stubs/game_000860.o (section); \
|
||||
build/ROMID/game/stubs/game_000870.o (section); \
|
||||
build/ROMID/game/game_000880.o (section); \
|
||||
build/ROMID/game/smokeinit.o (section); \
|
||||
build/ROMID/game/stubs/game_0008e0.o (section); \
|
||||
build/ROMID/game/stubs/game_0008f0.o (section); \
|
||||
build/ROMID/game/stubs/game_000900.o (section); \
|
||||
build/ROMID/game/stubs/game_000910.o (section); \
|
||||
build/ROMID/game/dlights.o (section); \
|
||||
build/ROMID/game/game_005fd0.o (section); \
|
||||
build/ROMID/game/footstep.o (section); \
|
||||
build/ROMID/game/game_006900.o (section); \
|
||||
build/ROMID/game/game_006bd0.o (section); \
|
||||
build/ROMID/game/nbomb.o (section); \
|
||||
build/ROMID/game/stubs/game_00b180.o (section); \
|
||||
build/ROMID/game/game_00b190.o (section); \
|
||||
build/ROMID/game/texinit.o (section); \
|
||||
build/ROMID/game/stubs/game_00b200.o (section); \
|
||||
build/ROMID/game/game_00b210.o (section); \
|
||||
build/ROMID/game/challengeinit.o (section); \
|
||||
build/ROMID/game/langreset.o (section); \
|
||||
build/ROMID/game/game_00b420.o (section); \
|
||||
build/ROMID/game/getitlereset.o (section); \
|
||||
build/ROMID/game/titlereset.o (section); \
|
||||
build/ROMID/game/chrmgr.o (section); \
|
||||
build/ROMID/game/bodyreset.o (section); \
|
||||
build/ROMID/game/game_00b820.o (section); \
|
||||
build/ROMID/game/varsreset.o (section); \
|
||||
build/ROMID/game/game_00c490.o (section); \
|
||||
build/ROMID/game/setup.o (section); \
|
||||
build/ROMID/game/propsndreset.o (section); \
|
||||
build/ROMID/game/objectivesreset.o (section); \
|
||||
build/ROMID/game/casingreset.o (section); \
|
||||
@@ -35,26 +36,27 @@
|
||||
build/ROMID/game/playerreset.o (section); \
|
||||
build/ROMID/game/invreset.o (section); \
|
||||
build/ROMID/game/bondheadreset.o (section); \
|
||||
build/ROMID/game/game_012aa0.o (section); \
|
||||
build/ROMID/game/game_012d50.o (section); \
|
||||
build/ROMID/game/setuppads.o (section); \
|
||||
build/ROMID/game/setupwaypoints.o (section); \
|
||||
build/ROMID/game/explosionsreset.o (section); \
|
||||
build/ROMID/game/smokereset.o (section); \
|
||||
build/ROMID/game/sparksreset.o (section); \
|
||||
build/ROMID/game/weatherreset.o (section); \
|
||||
build/ROMID/game/stubs/game_013540.o (section); \
|
||||
build/ROMID/game/game_013550.o (section); \
|
||||
build/ROMID/game/wallhitreset.o (section); \
|
||||
build/ROMID/game/shardsreset.o (section); \
|
||||
build/ROMID/game/game_013b80.o (section); \
|
||||
build/ROMID/game/surfacereset.o (section); \
|
||||
build/ROMID/game/vtxstorereset.o (section); \
|
||||
build/ROMID/game/tilesreset.o (section); \
|
||||
build/ROMID/game/game_013ee0.o (section); \
|
||||
build/ROMID/game/game_0147a0.o (section); \
|
||||
build/ROMID/game/lasersightsreset.o (section); \
|
||||
build/ROMID/game/roomreset.o (section); \
|
||||
build/ROMID/game/setupcover.o (section); \
|
||||
build/ROMID/game/skyreset.o (section); \
|
||||
build/ROMID/game/gunfxreset.o (section); \
|
||||
build/ROMID/game/botmgr.o (section); \
|
||||
build/ROMID/game/botinvinit.o (section); \
|
||||
build/ROMID/game/chrmgrstop.o (section); \
|
||||
build/ROMID/game/propsstop.o (section); \
|
||||
build/ROMID/game/game_015010.o (section); \
|
||||
build/ROMID/game/propobjstop.o (section); \
|
||||
build/ROMID/game/propsndstop.o (section); \
|
||||
build/ROMID/game/objectivesstop.o (section); \
|
||||
build/ROMID/game/stubs/game_015260.o (section); \
|
||||
@@ -68,27 +70,27 @@
|
||||
build/ROMID/game/bondgunstop.o (section); \
|
||||
build/ROMID/game/getitle.o (section); \
|
||||
build/ROMID/game/title.o (section); \
|
||||
build/ROMID/game/game_01afc0.o (section); \
|
||||
build/ROMID/game/game_01b0a0.o (section); \
|
||||
build/ROMID/game/titleclear.o (section); \
|
||||
build/ROMID/game/pdmode.o (section); \
|
||||
build/ROMID/game/activemenutick.o (section); \
|
||||
build/ROMID/game/menustop.o (section); \
|
||||
build/ROMID/game/menutick.o (section); \
|
||||
build/ROMID/game/weathertick.o (section); \
|
||||
build/ROMID/game/langtick.o (section); \
|
||||
build/ROMID/game/game_01d8c0.o (section); \
|
||||
build/ROMID/game/game_01d990.o (section); \
|
||||
build/ROMID/game/roomtick.o (section); \
|
||||
build/ROMID/game/skytick.o (section); \
|
||||
build/ROMID/game/casingtick.o (section); \
|
||||
build/ROMID/game/shardstick.o (section); \
|
||||
build/ROMID/game/sparkstick.o (section); \
|
||||
build/ROMID/game/chr.o (section); \
|
||||
build/ROMID/game/game_02cde0.o (section); \
|
||||
build/ROMID/game/body.o (section); \
|
||||
build/ROMID/game/chraction.o (section); \
|
||||
build/ROMID/game/chrai.o (section); \
|
||||
build/ROMID/game/chraicommands.o (section); \
|
||||
build/ROMID/game/prop.o (section); \
|
||||
build/ROMID/game/propobj.o (section); \
|
||||
build/ROMID/game/propobjbss.o (section); \
|
||||
build/ROMID/game/game_091e10.o (section); \
|
||||
build/ROMID/game/setuputils.o (section); \
|
||||
build/ROMID/game/propsnd.o (section); \
|
||||
build/ROMID/game/objectives.o (section); \
|
||||
build/ROMID/game/game_096360.o (section); \
|
||||
@@ -97,21 +99,21 @@
|
||||
build/ROMID/game/acosasin.o (section); \
|
||||
build/ROMID/game/acosfasinf.o (section); \
|
||||
build/ROMID/game/game_096b20.o (section); \
|
||||
build/ROMID/game/game_096ca0.o (section); \
|
||||
build/ROMID/game/quaternion.o (section); \
|
||||
build/ROMID/game/floor.o (section); \
|
||||
build/ROMID/game/ceil.o (section); \
|
||||
build/ROMID/game/game_097a50.o (section); \
|
||||
build/ROMID/game/game_097aa0.o (section); \
|
||||
build/ROMID/game/invitems.o (section); \
|
||||
build/ROMID/game/bondgun.o (section); \
|
||||
build/ROMID/game/game_0abe70.o (section); \
|
||||
build/ROMID/game/gunfx.o (section); \
|
||||
build/ROMID/game/mpstats.o (section); \
|
||||
build/ROMID/game/game_0b0fd0.o (section); \
|
||||
build/ROMID/game/game_0b2150.o (section); \
|
||||
build/ROMID/game/game_0b28d0.o (section); \
|
||||
build/ROMID/game/game_0b3350.o (section); \
|
||||
build/ROMID/game/game_0b4950.o (section); \
|
||||
build/ROMID/game/game_0b63b0.o (section); \
|
||||
build/ROMID/game/tex.o (section); \
|
||||
build/ROMID/game/camera.o (section); \
|
||||
build/ROMID/game/portal.o (section); \
|
||||
build/ROMID/game/player.o (section); \
|
||||
build/ROMID/game/game_0c33f0.o (section); \
|
||||
build/ROMID/game/bondcutscene.o (section); \
|
||||
@@ -132,7 +134,7 @@
|
||||
build/ROMID/game/mainmenu.o (section); \
|
||||
build/ROMID/game/cheats.o (section); \
|
||||
build/ROMID/game/filemgr.o (section); \
|
||||
build/ROMID/game/game_10c9c0.o (section); \
|
||||
build/ROMID/game/fmb.o (section); \
|
||||
build/ROMID/game/endscreen.o (section); \
|
||||
build/ROMID/game/gamefile.o (section); \
|
||||
build/ROMID/game/bossfile.o (section); \
|
||||
@@ -162,7 +164,7 @@
|
||||
build/ROMID/game/modeldata/chr.o (section); \
|
||||
build/ROMID/game/modeldata/skedar.o (section); \
|
||||
build/ROMID/game/modeldata/robot.o (section); \
|
||||
build/ROMID/game/game_11f000.o (section); \
|
||||
build/ROMID/game/sky.o (section); \
|
||||
build/ROMID/game/playermgr.o (section); \
|
||||
build/ROMID/game/crc.o (section); \
|
||||
build/ROMID/game/rng2.o (section); \
|
||||
@@ -171,7 +173,7 @@
|
||||
build/ROMID/game/smoke.o (section); \
|
||||
build/ROMID/game/sparks.o (section); \
|
||||
build/ROMID/game/weather.o (section); \
|
||||
build/ROMID/game/sky.o (section); \
|
||||
build/ROMID/game/stars.o (section); \
|
||||
build/ROMID/game/credits.o (section); \
|
||||
build/ROMID/game/game_13b670.o (section); \
|
||||
build/ROMID/game/game_13c510.o (section); \
|
||||
@@ -183,14 +185,14 @@
|
||||
build/ROMID/game/options.o (section); \
|
||||
build/ROMID/game/game_152fa0.o (section); \
|
||||
build/ROMID/game/game_1531a0.o (section); \
|
||||
build/ROMID/game/game_1577f0.o (section); \
|
||||
build/ROMID/game/collisionutils.o (section); \
|
||||
build/ROMID/game/bg.o (section); \
|
||||
build/ROMID/game/bgbss.o (section); \
|
||||
build/ROMID/game/game_165360.o (section); \
|
||||
build/ROMID/game/stagetable.o (section); \
|
||||
build/ROMID/game/game_165670.o (section); \
|
||||
build/ROMID/game/gfxreplace.o (section); \
|
||||
build/ROMID/game/env.o (section); \
|
||||
build/ROMID/game/game_1668e0.o (section); \
|
||||
build/ROMID/game/room.o (section); \
|
||||
build/ROMID/game/file.o (section); \
|
||||
build/ROMID/game/gfxmemory.o (section); \
|
||||
build/ROMID/game/lv.o (section); \
|
||||
@@ -199,9 +201,10 @@
|
||||
build/ROMID/game/lang.o (section); \
|
||||
build/ROMID/game/texdecompress.o (section); \
|
||||
build/ROMID/game/texreset.o (section); \
|
||||
build/ROMID/game/game_173a00.o (section); \
|
||||
build/ROMID/game/surface.o (section); \
|
||||
build/ROMID/game/stubs/game_175f50.o (section); \
|
||||
build/ROMID/game/game_175f90.o (section); \
|
||||
build/ROMID/game/buildtime.o (section); \
|
||||
build/ROMID/game/stubs/game_176000.o (section); \
|
||||
build/ROMID/game/game_176080.o (section); \
|
||||
build/ROMID/game/stagemusic.o (section); \
|
||||
@@ -217,8 +220,9 @@
|
||||
build/ROMID/game/botact.o (section); \
|
||||
build/ROMID/game/mplayer/mpaicommands.o (section); \
|
||||
build/ROMID/game/vmstats.o (section); \
|
||||
build/ROMID/game/game_19aa80.o (section); \
|
||||
build/ROMID/game/botroom.o (section); \
|
||||
build/ROMID/game/challenge.o (section); \
|
||||
build/ROMID/game/training.o (section); \
|
||||
build/ROMID/game/trainingmenus.o (section); \
|
||||
build/ROMID/game/game_1a7560.o (section); \
|
||||
build/ROMID/game/modeldef.o (section); \
|
||||
build/ROMID/game/game_1a78b0.o (section);
|
||||
+41
-37
@@ -1,33 +1,34 @@
|
||||
#define GAMEFILES(section) \
|
||||
build/ROMID/game/langinit.o (section); \
|
||||
build/ROMID/game/titleinit.o (section); \
|
||||
build/ROMID/game/game_000100.o (section); \
|
||||
build/ROMID/game/game_000130.o (section); \
|
||||
build/ROMID/game/raceinit.o (section); \
|
||||
build/ROMID/game/bodyinit.o (section); \
|
||||
build/ROMID/game/race.o (section); \
|
||||
build/ROMID/game/stubs/game_000840.o (section); \
|
||||
build/ROMID/game/stubs/game_000850.o (section); \
|
||||
build/ROMID/game/stubs/game_000860.o (section); \
|
||||
build/ROMID/game/stubs/game_000870.o (section); \
|
||||
build/ROMID/game/game_000880.o (section); \
|
||||
build/ROMID/game/smokeinit.o (section); \
|
||||
build/ROMID/game/stubs/game_0008e0.o (section); \
|
||||
build/ROMID/game/stubs/game_0008f0.o (section); \
|
||||
build/ROMID/game/stubs/game_000900.o (section); \
|
||||
build/ROMID/game/stubs/game_000910.o (section); \
|
||||
build/ROMID/game/dlights.o (section); \
|
||||
build/ROMID/game/game_005fd0.o (section); \
|
||||
build/ROMID/game/footstep.o (section); \
|
||||
build/ROMID/game/game_006900.o (section); \
|
||||
build/ROMID/game/game_006bd0.o (section); \
|
||||
build/ROMID/game/nbomb.o (section); \
|
||||
build/ROMID/game/stubs/game_00b180.o (section); \
|
||||
build/ROMID/game/game_00b190.o (section); \
|
||||
build/ROMID/game/texinit.o (section); \
|
||||
build/ROMID/game/stubs/game_00b200.o (section); \
|
||||
build/ROMID/game/game_00b210.o (section); \
|
||||
build/ROMID/game/challengeinit.o (section); \
|
||||
build/ROMID/game/langreset.o (section); \
|
||||
build/ROMID/game/game_00b420.o (section); \
|
||||
build/ROMID/game/getitlereset.o (section); \
|
||||
build/ROMID/game/titlereset.o (section); \
|
||||
build/ROMID/game/chrmgr.o (section); \
|
||||
build/ROMID/game/bodyreset.o (section); \
|
||||
build/ROMID/game/game_00b820.o (section); \
|
||||
build/ROMID/game/varsreset.o (section); \
|
||||
build/ROMID/game/game_00c490.o (section); \
|
||||
build/ROMID/game/setup.o (section); \
|
||||
build/ROMID/game/propsndreset.o (section); \
|
||||
build/ROMID/game/objectivesreset.o (section); \
|
||||
build/ROMID/game/casingreset.o (section); \
|
||||
@@ -35,26 +36,27 @@
|
||||
build/ROMID/game/playerreset.o (section); \
|
||||
build/ROMID/game/invreset.o (section); \
|
||||
build/ROMID/game/bondheadreset.o (section); \
|
||||
build/ROMID/game/game_012aa0.o (section); \
|
||||
build/ROMID/game/game_012d50.o (section); \
|
||||
build/ROMID/game/setuppads.o (section); \
|
||||
build/ROMID/game/setupwaypoints.o (section); \
|
||||
build/ROMID/game/explosionsreset.o (section); \
|
||||
build/ROMID/game/smokereset.o (section); \
|
||||
build/ROMID/game/sparksreset.o (section); \
|
||||
build/ROMID/game/weatherreset.o (section); \
|
||||
build/ROMID/game/stubs/game_013540.o (section); \
|
||||
build/ROMID/game/game_013550.o (section); \
|
||||
build/ROMID/game/wallhitreset.o (section); \
|
||||
build/ROMID/game/shardsreset.o (section); \
|
||||
build/ROMID/game/game_013b80.o (section); \
|
||||
build/ROMID/game/surfacereset.o (section); \
|
||||
build/ROMID/game/vtxstorereset.o (section); \
|
||||
build/ROMID/game/tilesreset.o (section); \
|
||||
build/ROMID/game/game_013ee0.o (section); \
|
||||
build/ROMID/game/game_0147a0.o (section); \
|
||||
build/ROMID/game/lasersightsreset.o (section); \
|
||||
build/ROMID/game/roomreset.o (section); \
|
||||
build/ROMID/game/setupcover.o (section); \
|
||||
build/ROMID/game/skyreset.o (section); \
|
||||
build/ROMID/game/gunfxreset.o (section); \
|
||||
build/ROMID/game/botmgr.o (section); \
|
||||
build/ROMID/game/botinvinit.o (section); \
|
||||
build/ROMID/game/chrmgrstop.o (section); \
|
||||
build/ROMID/game/propsstop.o (section); \
|
||||
build/ROMID/game/game_015010.o (section); \
|
||||
build/ROMID/game/propobjstop.o (section); \
|
||||
build/ROMID/game/propsndstop.o (section); \
|
||||
build/ROMID/game/objectivesstop.o (section); \
|
||||
build/ROMID/game/stubs/game_015260.o (section); \
|
||||
@@ -68,27 +70,27 @@
|
||||
build/ROMID/game/bondgunstop.o (section); \
|
||||
build/ROMID/game/getitle.o (section); \
|
||||
build/ROMID/game/title.o (section); \
|
||||
build/ROMID/game/game_01afc0.o (section); \
|
||||
build/ROMID/game/game_01b0a0.o (section); \
|
||||
build/ROMID/game/titleclear.o (section); \
|
||||
build/ROMID/game/pdmode.o (section); \
|
||||
build/ROMID/game/activemenutick.o (section); \
|
||||
build/ROMID/game/menustop.o (section); \
|
||||
build/ROMID/game/menutick.o (section); \
|
||||
build/ROMID/game/weathertick.o (section); \
|
||||
build/ROMID/game/langtick.o (section); \
|
||||
build/ROMID/game/game_01d8c0.o (section); \
|
||||
build/ROMID/game/game_01d990.o (section); \
|
||||
build/ROMID/game/roomtick.o (section); \
|
||||
build/ROMID/game/skytick.o (section); \
|
||||
build/ROMID/game/casingtick.o (section); \
|
||||
build/ROMID/game/shardstick.o (section); \
|
||||
build/ROMID/game/sparkstick.o (section); \
|
||||
build/ROMID/game/chr.o (section); \
|
||||
build/ROMID/game/game_02cde0.o (section); \
|
||||
build/ROMID/game/body.o (section); \
|
||||
build/ROMID/game/chraction.o (section); \
|
||||
build/ROMID/game/chrai.o (section); \
|
||||
build/ROMID/game/chraicommands.o (section); \
|
||||
build/ROMID/game/prop.o (section); \
|
||||
build/ROMID/game/propobj.o (section); \
|
||||
build/ROMID/game/propobjbss.o (section); \
|
||||
build/ROMID/game/game_091e10.o (section); \
|
||||
build/ROMID/game/setuputils.o (section); \
|
||||
build/ROMID/game/propsnd.o (section); \
|
||||
build/ROMID/game/objectives.o (section); \
|
||||
build/ROMID/game/game_096360.o (section); \
|
||||
@@ -97,21 +99,21 @@
|
||||
build/ROMID/game/acosasin.o (section); \
|
||||
build/ROMID/game/acosfasinf.o (section); \
|
||||
build/ROMID/game/game_096b20.o (section); \
|
||||
build/ROMID/game/game_096ca0.o (section); \
|
||||
build/ROMID/game/quaternion.o (section); \
|
||||
build/ROMID/game/floor.o (section); \
|
||||
build/ROMID/game/ceil.o (section); \
|
||||
build/ROMID/game/game_097a50.o (section); \
|
||||
build/ROMID/game/game_097aa0.o (section); \
|
||||
build/ROMID/game/invitems.o (section); \
|
||||
build/ROMID/game/bondgun.o (section); \
|
||||
build/ROMID/game/game_0abe70.o (section); \
|
||||
build/ROMID/game/gunfx.o (section); \
|
||||
build/ROMID/game/mpstats.o (section); \
|
||||
build/ROMID/game/game_0b0fd0.o (section); \
|
||||
build/ROMID/game/game_0b2150.o (section); \
|
||||
build/ROMID/game/game_0b28d0.o (section); \
|
||||
build/ROMID/game/game_0b3350.o (section); \
|
||||
build/ROMID/game/game_0b4950.o (section); \
|
||||
build/ROMID/game/game_0b63b0.o (section); \
|
||||
build/ROMID/game/tex.o (section); \
|
||||
build/ROMID/game/camera.o (section); \
|
||||
build/ROMID/game/portal.o (section); \
|
||||
build/ROMID/game/player.o (section); \
|
||||
build/ROMID/game/game_0c33f0.o (section); \
|
||||
build/ROMID/game/bondcutscene.o (section); \
|
||||
@@ -132,7 +134,7 @@
|
||||
build/ROMID/game/mainmenu.o (section); \
|
||||
build/ROMID/game/cheats.o (section); \
|
||||
build/ROMID/game/filemgr.o (section); \
|
||||
build/ROMID/game/game_10c9c0.o (section); \
|
||||
build/ROMID/game/fmb.o (section); \
|
||||
build/ROMID/game/endscreen.o (section); \
|
||||
build/ROMID/game/gamefile.o (section); \
|
||||
build/ROMID/game/bossfile.o (section); \
|
||||
@@ -161,7 +163,7 @@
|
||||
build/ROMID/game/modeldata/chr.o (section); \
|
||||
build/ROMID/game/modeldata/skedar.o (section); \
|
||||
build/ROMID/game/modeldata/robot.o (section); \
|
||||
build/ROMID/game/game_11f000.o (section); \
|
||||
build/ROMID/game/sky.o (section); \
|
||||
build/ROMID/game/playermgr.o (section); \
|
||||
build/ROMID/game/crc.o (section); \
|
||||
build/ROMID/game/rng2.o (section); \
|
||||
@@ -170,7 +172,7 @@
|
||||
build/ROMID/game/smoke.o (section); \
|
||||
build/ROMID/game/sparks.o (section); \
|
||||
build/ROMID/game/weather.o (section); \
|
||||
build/ROMID/game/sky.o (section); \
|
||||
build/ROMID/game/stars.o (section); \
|
||||
build/ROMID/game/credits.o (section); \
|
||||
build/ROMID/game/game_13b670.o (section); \
|
||||
build/ROMID/game/game_13c510.o (section); \
|
||||
@@ -182,14 +184,14 @@
|
||||
build/ROMID/game/options.o (section); \
|
||||
build/ROMID/game/game_152fa0.o (section); \
|
||||
build/ROMID/game/game_1531a0.o (section); \
|
||||
build/ROMID/game/game_1577f0.o (section); \
|
||||
build/ROMID/game/collisionutils.o (section); \
|
||||
build/ROMID/game/bg.o (section); \
|
||||
build/ROMID/game/bgbss.o (section); \
|
||||
build/ROMID/game/game_165360.o (section); \
|
||||
build/ROMID/game/stagetable.o (section); \
|
||||
build/ROMID/game/game_165670.o (section); \
|
||||
build/ROMID/game/gfxreplace.o (section); \
|
||||
build/ROMID/game/env.o (section); \
|
||||
build/ROMID/game/game_1668e0.o (section); \
|
||||
build/ROMID/game/room.o (section); \
|
||||
build/ROMID/game/file.o (section); \
|
||||
build/ROMID/game/gfxmemory.o (section); \
|
||||
build/ROMID/game/lv.o (section); \
|
||||
@@ -198,9 +200,10 @@
|
||||
build/ROMID/game/lang.o (section); \
|
||||
build/ROMID/game/texdecompress.o (section); \
|
||||
build/ROMID/game/texreset.o (section); \
|
||||
build/ROMID/game/game_173a00.o (section); \
|
||||
build/ROMID/game/surface.o (section); \
|
||||
build/ROMID/game/stubs/game_175f50.o (section); \
|
||||
build/ROMID/game/game_175f90.o (section); \
|
||||
build/ROMID/game/buildtime.o (section); \
|
||||
build/ROMID/game/stubs/game_176000.o (section); \
|
||||
build/ROMID/game/game_176080.o (section); \
|
||||
build/ROMID/game/stagemusic.o (section); \
|
||||
@@ -216,8 +219,9 @@
|
||||
build/ROMID/game/botact.o (section); \
|
||||
build/ROMID/game/mplayer/mpaicommands.o (section); \
|
||||
build/ROMID/game/vmstats.o (section); \
|
||||
build/ROMID/game/game_19aa80.o (section); \
|
||||
build/ROMID/game/botroom.o (section); \
|
||||
build/ROMID/game/challenge.o (section); \
|
||||
build/ROMID/game/training.o (section); \
|
||||
build/ROMID/game/trainingmenus.o (section); \
|
||||
build/ROMID/game/game_1a7560.o (section); \
|
||||
build/ROMID/game/modeldef.o (section); \
|
||||
build/ROMID/game/game_1a78b0.o (section);
|
||||
@@ -60,7 +60,7 @@
|
||||
build/ROMID/lib/path.o (section); \
|
||||
build/ROMID/lib/modelasm.o (section); \
|
||||
build/ROMID/lib/model.o (section); \
|
||||
build/ROMID/game/game_1a7560.o (section); \
|
||||
build/ROMID/game/modeldef.o (section); \
|
||||
build/ROMID/lib/anim.o (section); \
|
||||
build/ROMID/lib/collision.o (section); \
|
||||
build/ROMID/lib/lib_2f490.o (section); \
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "game/game_006900.h"
|
||||
#include "game/bondgun.h"
|
||||
#include "game/game_0b0fd0.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/savebuffer.h"
|
||||
#include "game/menu.h"
|
||||
#include "game/inv.h"
|
||||
@@ -2841,7 +2841,7 @@ glabel amRender
|
||||
/* f1017b8: 27a40148 */ addiu $a0,$sp,0x148
|
||||
/* f1017bc: 00002825 */ move $a1,$zero
|
||||
/* f1017c0: 24060002 */ li $a2,0x2
|
||||
/* f1017c4: 0fc2d290 */ jal func0f0b39c0
|
||||
/* f1017c4: 0fc2d290 */ jal tex0f0b39c0
|
||||
/* f1017c8: 00003825 */ move $a3,$zero
|
||||
/* f1017cc: 8fac0148 */ lw $t4,0x148($sp)
|
||||
/* f1017d0: 3c0eb900 */ lui $t6,0xb900
|
||||
@@ -3750,7 +3750,7 @@ glabel amRender
|
||||
/* f1014d4: 27a401d8 */ addiu $a0,$sp,0x1d8
|
||||
/* f1014d8: 00002825 */ move $a1,$zero
|
||||
/* f1014dc: 24060002 */ li $a2,0x2
|
||||
/* f1014e0: 0fc2cfb8 */ jal func0f0b39c0
|
||||
/* f1014e0: 0fc2cfb8 */ jal tex0f0b39c0
|
||||
/* f1014e4: 00003825 */ move $a3,$zero
|
||||
/* f1014e8: 8faf01d8 */ lw $t7,0x1d8($sp)
|
||||
/* f1014ec: 3c19b900 */ lui $t9,0xb900
|
||||
@@ -5329,7 +5329,7 @@ glabel amRender
|
||||
/* f1012f4: 27a401d8 */ addiu $a0,$sp,0x1d8
|
||||
/* f1012f8: 00002825 */ move $a1,$zero
|
||||
/* f1012fc: 24060002 */ li $a2,0x2
|
||||
/* f101300: 0fc2cf74 */ jal func0f0b39c0
|
||||
/* f101300: 0fc2cf74 */ jal tex0f0b39c0
|
||||
/* f101304: 00003825 */ move $a3,$zero
|
||||
/* f101308: 8faf01d8 */ lw $t7,0x1d8($sp)
|
||||
/* f10130c: 3c19b900 */ lui $t9,0xb900
|
||||
@@ -6918,7 +6918,7 @@ glabel amRender
|
||||
/* f100d74: 27a401d8 */ addiu $a0,$sp,0x1d8
|
||||
/* f100d78: 00002825 */ or $a1,$zero,$zero
|
||||
/* f100d7c: 24060002 */ addiu $a2,$zero,0x2
|
||||
/* f100d80: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f100d80: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f100d84: 00003825 */ or $a3,$zero,$zero
|
||||
/* f100d88: 8fb901d8 */ lw $t9,0x1d8($sp)
|
||||
/* f100d8c: 3c0fb900 */ lui $t7,0xb900
|
||||
@@ -8507,7 +8507,7 @@ glabel amRender
|
||||
/* f0fced8: 27a401b0 */ addiu $a0,$sp,0x1b0
|
||||
/* f0fcedc: 00002825 */ or $a1,$zero,$zero
|
||||
/* f0fcee0: 24060002 */ addiu $a2,$zero,0x2
|
||||
/* f0fcee4: 0fc2c5c8 */ jal func0f0b39c0
|
||||
/* f0fcee4: 0fc2c5c8 */ jal tex0f0b39c0
|
||||
/* f0fcee8: 00003825 */ or $a3,$zero,$zero
|
||||
/* f0fceec: 8fb901b0 */ lw $t9,0x1b0($sp)
|
||||
/* f0fcef0: 3c0fb900 */ lui $t7,0xb900
|
||||
@@ -9806,7 +9806,7 @@ glabel amRender
|
||||
// gDPSetCombineMode(gdl++, G_CC_MODULATEI, G_CC_MODULATEI);
|
||||
// gSPClearGeometryMode(gdl++, G_CULL_BOTH);
|
||||
//
|
||||
// func0f0b39c0(&gdl, NULL, 2, 0, 2, 1, NULL);
|
||||
// tex0f0b39c0(&gdl, NULL, 2, 0, 2, 1, NULL);
|
||||
//
|
||||
// gDPSetRenderMode(gdl++, G_RM_XLU_SURF, G_RM_XLU_SURF2);
|
||||
//
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/activemenu.h"
|
||||
#include "game/game_01b0a0.h"
|
||||
#include "game/pdmode.h"
|
||||
#include "game/bondgun.h"
|
||||
#include "game/game_0b0fd0.h"
|
||||
#include "game/inv.h"
|
||||
|
||||
+61
-60
@@ -3,29 +3,30 @@
|
||||
#include "game/debug.h"
|
||||
#include "game/dlights.h"
|
||||
#include "game/game_006900.h"
|
||||
#include "game/game_013550.h"
|
||||
#include "game/game_013ee0.h"
|
||||
#include "game/room.h"
|
||||
#include "game/chr.h"
|
||||
#include "game/prop.h"
|
||||
#include "game/ceil.h"
|
||||
#include "game/bondgun.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/game_0b4950.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/camera.h"
|
||||
#include "game/player.h"
|
||||
#include "game/game_11f000.h"
|
||||
#include "game/sky.h"
|
||||
#include "game/stars.h"
|
||||
#include "game/game_13b670.h"
|
||||
#include "game/game_13c510.h"
|
||||
#include "game/game_1531a0.h"
|
||||
#include "game/gfxmemory.h"
|
||||
#include "game/gfxreplace.h"
|
||||
#include "game/bg.h"
|
||||
#include "game/game_165360.h"
|
||||
#include "game/stagetable.h"
|
||||
#include "game/env.h"
|
||||
#include "game/game_1668e0.h"
|
||||
#include "game/room.h"
|
||||
#include "game/file.h"
|
||||
#include "game/lv.h"
|
||||
#include "game/texdecompress.h"
|
||||
#include "game/game_173a00.h"
|
||||
#include "game/surface.h"
|
||||
#include "game/wallhit.h"
|
||||
#include "bss.h"
|
||||
#include "lib/rzip.h"
|
||||
@@ -2424,7 +2425,7 @@ Gfx *bgRenderRoomInXray(Gfx *gdl, s32 roomnum)
|
||||
return gdl;
|
||||
}
|
||||
|
||||
func0f166df0(roomnum, &globaldrawworldoffset);
|
||||
room0f166df0(roomnum, &globaldrawworldoffset);
|
||||
|
||||
sp54.x = player->eraserpos.x - globaldrawworldoffset.x;
|
||||
sp54.y = player->eraserpos.y - globaldrawworldoffset.y;
|
||||
@@ -2434,7 +2435,7 @@ Gfx *bgRenderRoomInXray(Gfx *gdl, s32 roomnum)
|
||||
sp40[1] = sp54.f[1];
|
||||
sp40[2] = sp54.f[2];
|
||||
|
||||
gdl = func0f166d7c(gdl, roomnum);
|
||||
gdl = room0f166d7c(gdl, roomnum);
|
||||
gdl = func0f159f1c(gdl, roomnum, g_Rooms[roomnum].gfxdata->unk08, 1, sp40);
|
||||
gdl = func0f159f1c(gdl, roomnum, g_Rooms[roomnum].gfxdata->unk0c, 1, sp40);
|
||||
|
||||
@@ -2484,9 +2485,9 @@ Gfx *bgRenderSceneInXray(Gfx *gdl)
|
||||
gDPSetTextureFilter(gdl++, G_TF_BILERP);
|
||||
gDPSetCycleType(gdl++, G_CYC_1CYCLE);
|
||||
gDPSetRenderMode(gdl++, G_RM_AA_XLU_SURF, G_RM_AA_XLU_SURF2);
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(currentPlayerGetUnk1758()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(camGetUnk1758()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
|
||||
func0f0b39c0(&gdl, NULL, 2, 0, 2, 1, NULL);
|
||||
tex0f0b39c0(&gdl, NULL, 2, 0, 2, 1, NULL);
|
||||
|
||||
gDPSetRenderMode(gdl++, G_RM_AA_XLU_SURF, G_RM_AA_XLU_SURF2);
|
||||
|
||||
@@ -2506,7 +2507,7 @@ Gfx *bgRenderSceneInXray(Gfx *gdl)
|
||||
// Render props
|
||||
gdl = currentPlayerScissorToViewport(gdl);
|
||||
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(currentPlayerGetUnk1758()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(camGetUnk1758()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
|
||||
if (var800a4ce4); \
|
||||
if (var8007fc2c); \
|
||||
@@ -2515,11 +2516,11 @@ Gfx *bgRenderSceneInXray(Gfx *gdl)
|
||||
struct var800a4640_00 *thing = &var800a4640.unk000[k];
|
||||
|
||||
if (thing->draworder == i) {
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(currentPlayerGetUnk1758()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(camGetUnk1758()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
|
||||
gdl = currentPlayerScissorWithinViewportF(gdl, thing->box.xmin, thing->box.ymin, thing->box.xmax, thing->box.ymax);
|
||||
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(currentPlayerGetUnk1750()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(camGetUnk1750()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
|
||||
if (debugIsPropRenderingEnabled() && getVar80084040()) {
|
||||
if (thing->roomnum == -1) {
|
||||
@@ -2534,7 +2535,7 @@ Gfx *bgRenderSceneInXray(Gfx *gdl)
|
||||
}
|
||||
}
|
||||
|
||||
gdl = func0f125a6c(gdl, 1);
|
||||
gdl = sky0f125a6c(gdl, 1);
|
||||
|
||||
return gdl;
|
||||
}
|
||||
@@ -2639,11 +2640,11 @@ Gfx *bgRenderScene(Gfx *gdl)
|
||||
|| stagenum == STAGE_ATTACKSHIP)) {
|
||||
gdl = func0f153628(gdl);
|
||||
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(currentPlayerGetUnk1758()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(camGetUnk1758()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
|
||||
gdl = playerLoadMatrix(gdl);
|
||||
gdl = envStopFog(gdl);
|
||||
gdl = func0f13687c(gdl);
|
||||
gdl = starsRender(gdl);
|
||||
gdl = func0f153780(gdl);
|
||||
gdl = vi0000ab78(gdl);
|
||||
}
|
||||
@@ -2659,7 +2660,7 @@ Gfx *bgRenderScene(Gfx *gdl)
|
||||
gSPPerspNormalize(gdl++, viGetPerspScale());
|
||||
}
|
||||
|
||||
gdl = func0f125a6c(gdl, 0);
|
||||
gdl = sky0f125a6c(gdl, 0);
|
||||
|
||||
// Build an array of room numbers per onscreen prop.
|
||||
// For each onscreen prop there is exactly one entry in the roomnumsbyprop array.
|
||||
@@ -2696,7 +2697,7 @@ Gfx *bgRenderScene(Gfx *gdl)
|
||||
thing = &var800a4640.unk000[roomnum];
|
||||
|
||||
// Render prop opaque components - pre BG pass
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(currentPlayerGetUnk1750()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(camGetUnk1750()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gdl = envStopFog(gdl);
|
||||
|
||||
if (debugIsPropRenderingEnabled() && getVar80084040()) {
|
||||
@@ -2708,7 +2709,7 @@ Gfx *bgRenderScene(Gfx *gdl)
|
||||
}
|
||||
|
||||
// Render BG opaque components
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(currentPlayerGetUnk1758()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(camGetUnk1758()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
|
||||
gdl = currentPlayerScissorWithinViewportF(gdl, thing->box.xmin, thing->box.ymin, thing->box.xmax, thing->box.ymax);
|
||||
gdl = envStartFog(gdl, false);
|
||||
@@ -2720,7 +2721,7 @@ Gfx *bgRenderScene(Gfx *gdl)
|
||||
}
|
||||
|
||||
// Render prop opaque components - post BG pass
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(currentPlayerGetUnk1750()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(camGetUnk1750()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
|
||||
gdl = envStopFog(gdl);
|
||||
|
||||
@@ -2737,7 +2738,7 @@ Gfx *bgRenderScene(Gfx *gdl)
|
||||
gdl = currentPlayerScissorToViewport(gdl);
|
||||
|
||||
// Render wall hits
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(currentPlayerGetUnk1758()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(camGetUnk1758()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
|
||||
if (getVar80084040() && g_Vars.currentplayer->visionmode != VISIONMODE_XRAY) {
|
||||
for (i = 0; i < var8007fc2c; i++) {
|
||||
@@ -2756,7 +2757,7 @@ Gfx *bgRenderScene(Gfx *gdl)
|
||||
for (i = var8007fc2c - 1; i >= 0; i--) {
|
||||
roomnum = roomnums[i];
|
||||
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(currentPlayerGetUnk1758()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(camGetUnk1758()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
|
||||
thing = &var800a4640.unk000[roomnum];
|
||||
|
||||
@@ -2768,7 +2769,7 @@ Gfx *bgRenderScene(Gfx *gdl)
|
||||
gdl = bgRenderRoomAlpha(gdl, thing->roomnum);
|
||||
}
|
||||
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(currentPlayerGetUnk1750()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(camGetUnk1750()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
|
||||
gdl = envStopFog(gdl);
|
||||
|
||||
@@ -3074,7 +3075,7 @@ glabel bgRenderScene
|
||||
/* f155128: 35ef0040 */ ori $t7,$t7,0x40
|
||||
/* f15512c: ac4f0000 */ sw $t7,0x0($v0)
|
||||
/* f155130: 00408025 */ or $s0,$v0,$zero
|
||||
/* f155134: 0fc2cb5a */ jal currentPlayerGetUnk1758
|
||||
/* f155134: 0fc2cb5a */ jal camGetUnk1758
|
||||
/* f155138: 24510008 */ addiu $s1,$v0,0x8
|
||||
/* f15513c: 0c013100 */ jal osVirtualToPhysical
|
||||
/* f155140: 00402025 */ or $a0,$v0,$zero
|
||||
@@ -3083,7 +3084,7 @@ glabel bgRenderScene
|
||||
/* f15514c: 02202025 */ or $a0,$s1,$zero
|
||||
/* f155150: 0fc583b2 */ jal envStopFog
|
||||
/* f155154: 00402025 */ or $a0,$v0,$zero
|
||||
/* f155158: 0fc4c503 */ jal func0f13687c
|
||||
/* f155158: 0fc4c503 */ jal starsRender
|
||||
/* f15515c: 00402025 */ or $a0,$v0,$zero
|
||||
/* f155160: 0fc537a0 */ jal func0f153780
|
||||
/* f155164: 00402025 */ or $a0,$v0,$zero
|
||||
@@ -3121,7 +3122,7 @@ glabel bgRenderScene
|
||||
.NB0f1551d4:
|
||||
/* f1551d4: 02202025 */ or $a0,$s1,$zero
|
||||
.NB0f1551d8:
|
||||
/* f1551d8: 0fc481ab */ jal func0f125a6c
|
||||
/* f1551d8: 0fc481ab */ jal sky0f125a6c
|
||||
/* f1551dc: 00002825 */ or $a1,$zero,$zero
|
||||
/* f1551e0: 3c05800a */ lui $a1,0x800a
|
||||
/* f1551e4: 3c0e800a */ lui $t6,0x800a
|
||||
@@ -3197,7 +3198,7 @@ glabel bgRenderScene
|
||||
/* f1552e0: 0018c080 */ sll $t8,$t8,0x2
|
||||
/* f1552e4: 030b8021 */ addu $s0,$t8,$t3
|
||||
/* f1552e8: afa20084 */ sw $v0,0x84($sp)
|
||||
/* f1552ec: 0fc2cb52 */ jal currentPlayerGetUnk1750
|
||||
/* f1552ec: 0fc2cb52 */ jal camGetUnk1750
|
||||
/* f1552f0: 26310008 */ addiu $s1,$s1,0x8
|
||||
/* f1552f4: 0c013100 */ jal osVirtualToPhysical
|
||||
/* f1552f8: 00402025 */ or $a0,$v0,$zero
|
||||
@@ -3234,7 +3235,7 @@ glabel bgRenderScene
|
||||
/* f15536c: 02201025 */ or $v0,$s1,$zero
|
||||
/* f155370: ac4c0000 */ sw $t4,0x0($v0)
|
||||
/* f155374: afa20080 */ sw $v0,0x80($sp)
|
||||
/* f155378: 0fc2cb5a */ jal currentPlayerGetUnk1758
|
||||
/* f155378: 0fc2cb5a */ jal camGetUnk1758
|
||||
/* f15537c: 26310008 */ addiu $s1,$s1,0x8
|
||||
/* f155380: 0c013100 */ jal osVirtualToPhysical
|
||||
/* f155384: 00402025 */ or $a0,$v0,$zero
|
||||
@@ -3284,7 +3285,7 @@ glabel bgRenderScene
|
||||
/* f15542c: 02201025 */ or $v0,$s1,$zero
|
||||
/* f155430: ac4c0000 */ sw $t4,0x0($v0)
|
||||
/* f155434: afa2007c */ sw $v0,0x7c($sp)
|
||||
/* f155438: 0fc2cb52 */ jal currentPlayerGetUnk1750
|
||||
/* f155438: 0fc2cb52 */ jal camGetUnk1750
|
||||
/* f15543c: 26310008 */ addiu $s1,$s1,0x8
|
||||
/* f155440: 0c013100 */ jal osVirtualToPhysical
|
||||
/* f155444: 00402025 */ or $a0,$v0,$zero
|
||||
@@ -3332,7 +3333,7 @@ glabel bgRenderScene
|
||||
/* f1554e0: 35ef0040 */ ori $t7,$t7,0x40
|
||||
/* f1554e4: ac4f0000 */ sw $t7,0x0($v0)
|
||||
/* f1554e8: 00408025 */ or $s0,$v0,$zero
|
||||
/* f1554ec: 0fc2cb5a */ jal currentPlayerGetUnk1758
|
||||
/* f1554ec: 0fc2cb5a */ jal camGetUnk1758
|
||||
/* f1554f0: 24510008 */ addiu $s1,$v0,0x8
|
||||
/* f1554f4: 0c013100 */ jal osVirtualToPhysical
|
||||
/* f1554f8: 00402025 */ or $a0,$v0,$zero
|
||||
@@ -3385,7 +3386,7 @@ glabel bgRenderScene
|
||||
/* f1555a8: 02201025 */ or $v0,$s1,$zero
|
||||
/* f1555ac: ac580000 */ sw $t8,0x0($v0)
|
||||
/* f1555b0: afa20074 */ sw $v0,0x74($sp)
|
||||
/* f1555b4: 0fc2cb5a */ jal currentPlayerGetUnk1758
|
||||
/* f1555b4: 0fc2cb5a */ jal camGetUnk1758
|
||||
/* f1555b8: 26310008 */ addiu $s1,$s1,0x8
|
||||
/* f1555bc: 0c013100 */ jal osVirtualToPhysical
|
||||
/* f1555c0: 00402025 */ or $a0,$v0,$zero
|
||||
@@ -3436,7 +3437,7 @@ glabel bgRenderScene
|
||||
/* f15566c: 02201025 */ or $v0,$s1,$zero
|
||||
/* f155670: ac4b0000 */ sw $t3,0x0($v0)
|
||||
/* f155674: afa20070 */ sw $v0,0x70($sp)
|
||||
/* f155678: 0fc2cb52 */ jal currentPlayerGetUnk1750
|
||||
/* f155678: 0fc2cb52 */ jal camGetUnk1750
|
||||
/* f15567c: 26310008 */ addiu $s1,$s1,0x8
|
||||
/* f155680: 0c013100 */ jal osVirtualToPhysical
|
||||
/* f155684: 00402025 */ or $a0,$v0,$zero
|
||||
@@ -3524,7 +3525,7 @@ Gfx *func0f15b114(Gfx *gdl)
|
||||
gdl = func0f13d54c(gdl);
|
||||
}
|
||||
|
||||
return func0f12715c(gdl);
|
||||
return sky0f12715c(gdl);
|
||||
}
|
||||
|
||||
void bgLoadFile(void *memaddr, u32 offset, u32 len)
|
||||
@@ -4842,7 +4843,7 @@ glabel var7f1b75d0
|
||||
/* f15c170: e4460010 */ swc1 $f6,0x10($v0)
|
||||
/* f15c174: 0000a025 */ or $s4,$zero,$zero
|
||||
.L0f15c178:
|
||||
/* f15c178: 0fc2d96a */ jal func0f0b65a8
|
||||
/* f15c178: 0fc2d96a */ jal portal0f0b65a8
|
||||
/* f15c17c: 03c02025 */ or $a0,$s8,$zero
|
||||
/* f15c180: 3c1e800a */ lui $s8,%hi(g_BgPortalCommands)
|
||||
/* f15c184: 27de4cd4 */ addiu $s8,$s8,%lo(g_BgPortalCommands)
|
||||
@@ -4918,7 +4919,7 @@ glabel var7f1b75d0
|
||||
/* f15c28c: 5420ffe4 */ bnezl $at,.L0f15c220
|
||||
/* f15c290: 8eae0000 */ lw $t6,0x0($s5)
|
||||
.L0f15c294:
|
||||
/* f15c294: 0fc04fb8 */ jal func0f013ee0
|
||||
/* f15c294: 0fc04fb8 */ jal roomsReset
|
||||
/* f15c298: 00000000 */ nop
|
||||
/* f15c29c: 44808000 */ mtc1 $zero,$f16
|
||||
/* f15c2a0: 8eaf0000 */ lw $t7,0x0($s5)
|
||||
@@ -5289,7 +5290,7 @@ glabel var7f1b75d0
|
||||
/* f15c7fc: 8fa40148 */ lw $a0,0x148($sp)
|
||||
/* f15c800: 241900c8 */ addiu $t9,$zero,0xc8
|
||||
/* f15c804: 3c018008 */ lui $at,%hi(var8007fc10)
|
||||
/* f15c808: 0fc04d54 */ jal func0f013550
|
||||
/* f15c808: 0fc04d54 */ jal wallhitReset
|
||||
/* f15c80c: a439fc10 */ sh $t9,%lo(var8007fc10)($at)
|
||||
/* f15c810: 0fc00aa6 */ jal func0f002a98
|
||||
/* f15c814: 00000000 */ nop
|
||||
@@ -5906,7 +5907,7 @@ glabel var7f1b75d0
|
||||
/* f15bf34: e4460010 */ swc1 $f6,0x10($v0)
|
||||
/* f15bf38: 0000a025 */ or $s4,$zero,$zero
|
||||
.L0f15bf3c:
|
||||
/* f15bf3c: 0fc2d96a */ jal func0f0b65a8
|
||||
/* f15bf3c: 0fc2d96a */ jal portal0f0b65a8
|
||||
/* f15bf40: 03c02025 */ or $a0,$s8,$zero
|
||||
/* f15bf44: 3c1e800a */ lui $s8,%hi(g_BgPortalCommands)
|
||||
/* f15bf48: 27de4cd4 */ addiu $s8,$s8,%lo(g_BgPortalCommands)
|
||||
@@ -5982,7 +5983,7 @@ glabel var7f1b75d0
|
||||
/* f15c050: 5420ffe4 */ bnezl $at,.L0f15bfe4
|
||||
/* f15c054: 8eae0000 */ lw $t6,0x0($s5)
|
||||
.L0f15c058:
|
||||
/* f15c058: 0fc04fb8 */ jal func0f013ee0
|
||||
/* f15c058: 0fc04fb8 */ jal roomsReset
|
||||
/* f15c05c: 00000000 */ nop
|
||||
/* f15c060: 44808000 */ mtc1 $zero,$f16
|
||||
/* f15c064: 8eaf0000 */ lw $t7,0x0($s5)
|
||||
@@ -6351,7 +6352,7 @@ glabel var7f1b75d0
|
||||
/* f15c5b8: 8fa40148 */ lw $a0,0x148($sp)
|
||||
/* f15c5bc: 241900c8 */ addiu $t9,$zero,0xc8
|
||||
/* f15c5c0: 3c018008 */ lui $at,%hi(var8007fc10)
|
||||
/* f15c5c4: 0fc04d54 */ jal func0f013550
|
||||
/* f15c5c4: 0fc04d54 */ jal wallhitReset
|
||||
/* f15c5c8: a439fc10 */ sh $t9,%lo(var8007fc10)($at)
|
||||
/* f15c5cc: 0fc00aa6 */ jal func0f002a98
|
||||
/* f15c5d0: 00000000 */ nop
|
||||
@@ -6968,7 +6969,7 @@ glabel var7f1b75d0
|
||||
/* f1568c8: e4460010 */ swc1 $f6,0x10($v0)
|
||||
/* f1568cc: 0000a025 */ or $s4,$zero,$zero
|
||||
.NB0f1568d0:
|
||||
/* f1568d0: 0fc2d0c2 */ jal func0f0b65a8
|
||||
/* f1568d0: 0fc2d0c2 */ jal portal0f0b65a8
|
||||
/* f1568d4: 03c02025 */ or $a0,$s8,$zero
|
||||
/* f1568d8: 3c1e800b */ lui $s8,0x800b
|
||||
/* f1568dc: 27de9454 */ addiu $s8,$s8,-27564
|
||||
@@ -7044,7 +7045,7 @@ glabel var7f1b75d0
|
||||
/* f1569e4: 5420ffe4 */ bnezl $at,.NB0f156978
|
||||
/* f1569e8: 8eae0000 */ lw $t6,0x0($s5)
|
||||
.NB0f1569ec:
|
||||
/* f1569ec: 0fc04f00 */ jal func0f013ee0
|
||||
/* f1569ec: 0fc04f00 */ jal roomsReset
|
||||
/* f1569f0: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f1569f4: 44808000 */ mtc1 $zero,$f16
|
||||
/* f1569f8: 8eaf0000 */ lw $t7,0x0($s5)
|
||||
@@ -7413,7 +7414,7 @@ glabel var7f1b75d0
|
||||
/* f156f4c: 8fa40148 */ lw $a0,0x148($sp)
|
||||
/* f156f50: 241900c8 */ addiu $t9,$zero,0xc8
|
||||
/* f156f54: 3c018008 */ lui $at,0x8008
|
||||
/* f156f58: 0fc04c9c */ jal func0f013550
|
||||
/* f156f58: 0fc04c9c */ jal wallhitReset
|
||||
/* f156f5c: a4392474 */ sh $t9,0x2474($at)
|
||||
/* f156f60: 0fc00acc */ jal func0f002a98
|
||||
/* f156f64: 00000000 */ sll $zero,$zero,0x0
|
||||
@@ -7700,7 +7701,7 @@ glabel var7f1b75d0
|
||||
// }
|
||||
//
|
||||
// // 174
|
||||
// func0f0b65a8(numportals);
|
||||
// portal0f0b65a8(numportals);
|
||||
//
|
||||
// // 1a0
|
||||
// if (g_BgPortalCommands != NULL) {
|
||||
@@ -7724,7 +7725,7 @@ glabel var7f1b75d0
|
||||
// }
|
||||
//
|
||||
// // 294
|
||||
// func0f013ee0();
|
||||
// roomsReset();
|
||||
//
|
||||
// g_Rooms[0].bbmin[0] = 0;
|
||||
// g_Rooms[0].bbmin[1] = 0;
|
||||
@@ -7847,7 +7848,7 @@ glabel var7f1b75d0
|
||||
//
|
||||
// var8007fc10 = 200;
|
||||
//
|
||||
// func0f013550();
|
||||
// wallhitReset();
|
||||
// func0f002a98();
|
||||
// func0f001c0c();
|
||||
//}
|
||||
@@ -8126,14 +8127,14 @@ bool func0f15cd90(u32 room, struct screenbox *screen)
|
||||
|
||||
bool func0f15d08c(struct coord *a, struct coord *b)
|
||||
{
|
||||
Mtxf *matrix = currentPlayerGetMatrix1740();
|
||||
Mtxf *matrix = camGetMatrix1740();
|
||||
|
||||
b->x = a->x;
|
||||
b->y = a->y;
|
||||
b->z = a->z;
|
||||
|
||||
mtx4TransformVecInPlace(matrix, b);
|
||||
func0f0b4d68(b, b->f);
|
||||
cam0f0b4d68(b, b->f);
|
||||
|
||||
if (b->z > 0) {
|
||||
return false;
|
||||
@@ -8202,7 +8203,7 @@ glabel func0f15d10c
|
||||
/* f15d1e0: 25290001 */ addiu $t1,$t1,0x1
|
||||
/* f15d1e4: afa302f4 */ sw $v1,0x2f4($sp)
|
||||
/* f15d1e8: afa902f8 */ sw $t1,0x2f8($sp)
|
||||
/* f15d1ec: 0fc2d35a */ jal func0f0b4d68
|
||||
/* f15d1ec: 0fc2d35a */ jal cam0f0b4d68
|
||||
/* f15d1f0: afab02ec */ sw $t3,0x2ec($sp)
|
||||
/* f15d1f4: 8fab02ec */ lw $t3,0x2ec($sp)
|
||||
/* f15d1f8: 44807000 */ mtc1 $zero,$f14
|
||||
@@ -9084,7 +9085,7 @@ glabel roomLoad
|
||||
/* f15e148: 02988021 */ addu $s0,$s4,$t8
|
||||
/* f15e14c: 00441823 */ subu $v1,$v0,$a0
|
||||
/* f15e150: 02032823 */ subu $a1,$s0,$v1
|
||||
/* f15e154: 0fc5d7bd */ jal func0f175ef4
|
||||
/* f15e154: 0fc5d7bd */ jal surface0f175ef4
|
||||
/* f15e158: 00603025 */ or $a2,$v1,$zero
|
||||
/* f15e15c: 26420001 */ addiu $v0,$s2,0x1
|
||||
/* f15e160: 1840000d */ blez $v0,.L0f15e198
|
||||
@@ -9119,7 +9120,7 @@ glabel roomLoad
|
||||
/* f15e1c8: afa30038 */ sw $v1,0x38($sp)
|
||||
/* f15e1cc: 00003825 */ or $a3,$zero,$zero
|
||||
/* f15e1d0: 01ae2823 */ subu $a1,$t5,$t6
|
||||
/* f15e1d4: 0fc5d5b0 */ jal func0f1756c0
|
||||
/* f15e1d4: 0fc5d5b0 */ jal surface0f1756c0
|
||||
/* f15e1d8: afb80010 */ sw $t8,0x10($sp)
|
||||
/* f15e1dc: 8fa602dc */ lw $a2,0x2dc($sp)
|
||||
/* f15e1e0: 8fa90040 */ lw $t1,0x40($sp)
|
||||
@@ -9657,7 +9658,7 @@ glabel roomLoad
|
||||
/* f158904: 02788021 */ addu $s0,$s3,$t8
|
||||
/* f158908: 00441823 */ subu $v1,$v0,$a0
|
||||
/* f15890c: 02032823 */ subu $a1,$s0,$v1
|
||||
/* f158910: 0fc5c2e5 */ jal func0f175ef4
|
||||
/* f158910: 0fc5c2e5 */ jal surface0f175ef4
|
||||
/* f158914: 00603025 */ or $a2,$v1,$zero
|
||||
/* f158918: 26220001 */ addiu $v0,$s1,0x1
|
||||
/* f15891c: 1840000d */ blez $v0,.NB0f158954
|
||||
@@ -9693,7 +9694,7 @@ glabel roomLoad
|
||||
/* f158988: afa602dc */ sw $a2,0x2dc($sp)
|
||||
/* f15898c: afa30034 */ sw $v1,0x34($sp)
|
||||
/* f158990: 00003825 */ or $a3,$zero,$zero
|
||||
/* f158994: 0fc5c0d8 */ jal func0f1756c0
|
||||
/* f158994: 0fc5c0d8 */ jal surface0f1756c0
|
||||
/* f158998: afb80010 */ sw $t8,0x10($sp)
|
||||
/* f15899c: 8fa602dc */ lw $a2,0x2dc($sp)
|
||||
/* f1589a0: 8fa9003c */ lw $t1,0x3c($sp)
|
||||
@@ -10044,7 +10045,7 @@ const char var7f1b1a60nb[] = "bg.c";
|
||||
// sp208[len] = (s32)allocation + inflatedlen;
|
||||
// allocationend = (s32)allocation + size;
|
||||
//
|
||||
// func0f175ef4(sp208[0], allocationend - (sp208[len] - sp208[0]), sp208[len] - sp208[0]);
|
||||
// surface0f175ef4(sp208[0], allocationend - (sp208[len] - sp208[0]), sp208[len] - sp208[0]);
|
||||
//
|
||||
// for (i = 0; i < len + 1; i++) {
|
||||
// sp78[i] = sp208[i] + (allocationend - sp208[len]);
|
||||
@@ -10053,7 +10054,7 @@ const char var7f1b1a60nb[] = "bg.c";
|
||||
// a2 = sp208[0];
|
||||
//
|
||||
// for (i = 0; i < len; i++) {
|
||||
// v0 = func0f1756c0(sp78[i], sp208[i + 1] - sp208[i], a2, 0, sp140[i]);
|
||||
// v0 = surface0f1756c0(sp78[i], sp208[i + 1] - sp208[i], a2, 0, sp140[i]);
|
||||
// sp78[i] = a2;
|
||||
// a2 += v0;
|
||||
// a2 = ALIGN8(a2);
|
||||
@@ -10479,7 +10480,7 @@ Gfx *bgRenderRoomOpaque(Gfx *gdl, s32 roomnum)
|
||||
return gdl;
|
||||
}
|
||||
|
||||
gdl = func0f166d7c(gdl, roomnum);
|
||||
gdl = room0f166d7c(gdl, roomnum);
|
||||
gdl = func0f001138(gdl, roomnum);
|
||||
gdl = func0f15e85c(gdl, roomnum, g_Rooms[roomnum].gfxdata->unk08, true);
|
||||
gdl = func0f001300(gdl);
|
||||
@@ -10531,7 +10532,7 @@ glabel bgRenderRoomAlpha
|
||||
/* f15ec5c: 8fa50024 */ lw $a1,0x24($sp)
|
||||
/* f15ec60: 8fa40020 */ lw $a0,0x20($sp)
|
||||
/* f15ec64: afa30018 */ sw $v1,0x18($sp)
|
||||
/* f15ec68: 0fc59b5f */ jal func0f166d7c
|
||||
/* f15ec68: 0fc59b5f */ jal room0f166d7c
|
||||
/* f15ec6c: afa50024 */ sw $a1,0x24($sp)
|
||||
/* f15ec70: 3c0b800a */ lui $t3,%hi(g_Rooms)
|
||||
/* f15ec74: 8fa30018 */ lw $v1,0x18($sp)
|
||||
@@ -10584,7 +10585,7 @@ glabel bgRenderRoomAlpha
|
||||
// // empty
|
||||
// }
|
||||
//
|
||||
// gdl = func0f166d7c(gdl, roomnum);
|
||||
// gdl = room0f166d7c(gdl, roomnum);
|
||||
// gdl = func0f15e85c(gdl, roomnum, g_Rooms[roomnum].gfxdata->unk0c, 1);
|
||||
//
|
||||
// g_Rooms[roomnum].loaded240 = 1;
|
||||
@@ -15336,7 +15337,7 @@ glabel func0f162d9c
|
||||
/* f162e60: 8ecd17a4 */ lw $t5,0x17a4($s6)
|
||||
/* f162e64: 55a0000a */ bnezl $t5,.L0f162e90
|
||||
/* f162e68: 3c01c3fa */ lui $at,0xc3fa
|
||||
/* f162e6c: 0fc2d5ee */ jal currentPlayerGetLodScaleZ
|
||||
/* f162e6c: 0fc2d5ee */ jal camGetLodScaleZ
|
||||
/* f162e70: 00000000 */ nop
|
||||
/* f162e74: 3c01c3fa */ lui $at,0xc3fa
|
||||
/* f162e78: 44814000 */ mtc1 $at,$f8
|
||||
@@ -15355,7 +15356,7 @@ glabel func0f162d9c
|
||||
/* f162ea4: e7a00094 */ swc1 $f0,0x94($sp)
|
||||
/* f162ea8: e7a00098 */ swc1 $f0,0x98($sp)
|
||||
/* f162eac: c6d2002c */ lwc1 $f18,0x2c($s6)
|
||||
/* f162eb0: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f162eb0: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f162eb4: e7b2009c */ swc1 $f18,0x9c($sp)
|
||||
/* f162eb8: 00402025 */ or $a0,$v0,$zero
|
||||
/* f162ebc: 0c0056d9 */ jal mtx4TransformVecInPlace
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
#include "game/cheats.h"
|
||||
#include "game/chraction.h"
|
||||
#include "game/chr.h"
|
||||
#include "game/game_02cde0.h"
|
||||
#include "game/body.h"
|
||||
#include "game/prop.h"
|
||||
#include "game/atan2f.h"
|
||||
#include "game/game_0b28d0.h"
|
||||
#include "game/lv.h"
|
||||
#include "game/game_1a7560.h"
|
||||
#include "game/modeldef.h"
|
||||
#include "game/mplayer/mplayer.h"
|
||||
#include "game/pad.h"
|
||||
#include "game/propobj.h"
|
||||
@@ -166,7 +166,7 @@ bool bodyLoad(s32 bodynum)
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f02ce8c
|
||||
glabel body0f02ce8c
|
||||
.late_rodata
|
||||
glabel var7f1a8a70
|
||||
.word 0x3dccccce
|
||||
@@ -505,7 +505,7 @@ glabel var7f1a8a84
|
||||
// bodyfiledata instead of headfiledata, but the extra reference to bodyfiledata
|
||||
// causes bodyfiledata to be promoted from t registers to a registers, which
|
||||
// causes significant codegen changes.
|
||||
//struct model *func0f02ce8c(s32 bodynum, s32 headnum, struct modelfiledata *bodyfiledata, struct modelfiledata *headfiledata, bool sunglasses, struct model *model, bool isplayer, u8 varyheight)
|
||||
//struct model *body0f02ce8c(s32 bodynum, s32 headnum, struct modelfiledata *bodyfiledata, struct modelfiledata *headfiledata, bool sunglasses, struct model *model, bool isplayer, u8 varyheight)
|
||||
//{
|
||||
// f32 scale = g_HeadsAndBodies[bodynum].scale * 0.1f;
|
||||
// f32 animscale = g_HeadsAndBodies[bodynum].animscale;
|
||||
@@ -626,12 +626,12 @@ glabel var7f1a8a84
|
||||
// return model;
|
||||
//}
|
||||
|
||||
struct model *func0f02d338(s32 bodynum, s32 headnum, struct modelfiledata *bodyfiledata, struct modelfiledata *headfiledata, bool sunglasses, u8 varyheight)
|
||||
struct model *body0f02d338(s32 bodynum, s32 headnum, struct modelfiledata *bodyfiledata, struct modelfiledata *headfiledata, bool sunglasses, u8 varyheight)
|
||||
{
|
||||
return func0f02ce8c(bodynum, headnum, bodyfiledata, headfiledata, sunglasses, NULL, false, varyheight);
|
||||
return body0f02ce8c(bodynum, headnum, bodyfiledata, headfiledata, sunglasses, NULL, false, varyheight);
|
||||
}
|
||||
|
||||
struct model *modelAllocateChr(s32 bodynum, s32 headnum, u32 spawnflags)
|
||||
struct model *bodyAllocateModel(s32 bodynum, s32 headnum, u32 spawnflags)
|
||||
{
|
||||
bool sunglasses = false;
|
||||
u8 varyheight = true;
|
||||
@@ -646,10 +646,10 @@ struct model *modelAllocateChr(s32 bodynum, s32 headnum, u32 spawnflags)
|
||||
varyheight = false;
|
||||
}
|
||||
|
||||
return func0f02d338(bodynum, headnum, NULL, NULL, sunglasses, varyheight);
|
||||
return body0f02d338(bodynum, headnum, NULL, NULL, sunglasses, varyheight);
|
||||
}
|
||||
|
||||
s32 func0f02d3f8(void)
|
||||
s32 body0f02d3f8(void)
|
||||
{
|
||||
return g_BondBodies[var80062c80];
|
||||
}
|
||||
@@ -683,7 +683,7 @@ s32 bodyChooseHead(s32 bodynum)
|
||||
* Chr definitions are stored in a packed format in each stage's setup file.
|
||||
* The packed format is used for space saving reasons.
|
||||
*/
|
||||
void chrUnpack(s32 stagenum, struct packedchr *packed, s32 cmdindex)
|
||||
void bodyAllocateChr(s32 stagenum, struct packedchr *packed, s32 cmdindex)
|
||||
{
|
||||
struct pad pad;
|
||||
s16 rooms[2];
|
||||
@@ -725,7 +725,7 @@ void chrUnpack(s32 stagenum, struct packedchr *packed, s32 cmdindex)
|
||||
headfiledata = NULL;
|
||||
|
||||
if (packed->bodynum == 255) {
|
||||
bodynum = func0f02d3f8();
|
||||
bodynum = body0f02d3f8();
|
||||
} else {
|
||||
bodynum = packed->bodynum;
|
||||
}
|
||||
@@ -745,9 +745,9 @@ void chrUnpack(s32 stagenum, struct packedchr *packed, s32 cmdindex)
|
||||
headfiledata = func0f18e57c(index, &headnum);
|
||||
}
|
||||
|
||||
model = func0f02ce8c(bodynum, headnum, NULL, headfiledata, false, NULL, false, false);
|
||||
model = body0f02ce8c(bodynum, headnum, NULL, headfiledata, false, NULL, false, false);
|
||||
} else {
|
||||
model = modelAllocateChr(bodynum, headnum, packed->spawnflags);
|
||||
model = bodyAllocateModel(bodynum, headnum, packed->spawnflags);
|
||||
}
|
||||
|
||||
if (model != NULL) {
|
||||
@@ -871,7 +871,7 @@ void chrUnpack(s32 stagenum, struct packedchr *packed, s32 cmdindex)
|
||||
}
|
||||
}
|
||||
|
||||
struct prop *propAllocateEyespy(struct pad *pad, s16 room)
|
||||
struct prop *bodyAllocateEyespy(struct pad *pad, s16 room)
|
||||
{
|
||||
s16 rooms[2];
|
||||
struct prop *prop;
|
||||
@@ -909,7 +909,7 @@ struct prop *propAllocateEyespy(struct pad *pad, s16 room)
|
||||
}
|
||||
#endif
|
||||
|
||||
model = modelAllocateChr(BODY_EYESPY, 0, 0);
|
||||
model = bodyAllocateModel(BODY_EYESPY, 0, 0);
|
||||
|
||||
if (model) {
|
||||
prop = chrAllocate(model, &pad->pos, rooms, 0, ailistFindById(GAILIST_IDLE));
|
||||
@@ -961,7 +961,7 @@ struct prop *propAllocateEyespy(struct pad *pad, s16 room)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void func0f02ddbf(void)
|
||||
void body0f02ddbf(void)
|
||||
{
|
||||
// empty
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/body.h"
|
||||
#include "game/floor.h"
|
||||
#include "bss.h"
|
||||
#include "lib/anim.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
void bodiesInit(void)
|
||||
{
|
||||
g_NumBondBodies = 0;
|
||||
|
||||
while (g_BondBodies[g_NumBondBodies] >= 0) {
|
||||
g_NumBondBodies++;
|
||||
}
|
||||
|
||||
g_NumMaleGuardTeamHeads = 0;
|
||||
|
||||
while (g_MaleGuardTeamHeads[g_NumMaleGuardTeamHeads] >= 0) {
|
||||
g_NumMaleGuardTeamHeads++;
|
||||
}
|
||||
|
||||
g_NumFemaleGuardTeamHeads = 0;
|
||||
|
||||
while (g_FemaleGuardTeamHeads[g_NumFemaleGuardTeamHeads] >= 0) {
|
||||
g_NumFemaleGuardTeamHeads++;
|
||||
}
|
||||
|
||||
g_NumMaleGuardHeads = 0;
|
||||
|
||||
while (g_MaleGuardHeads[g_NumMaleGuardHeads] >= 0) {
|
||||
g_NumMaleGuardHeads++;
|
||||
}
|
||||
|
||||
g_NumFemaleGuardHeads = 0;
|
||||
|
||||
while (g_FemaleGuardHeads[g_NumFemaleGuardHeads] >= 0) {
|
||||
g_NumFemaleGuardHeads++;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,358 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/body.h"
|
||||
#include "game/cheats.h"
|
||||
#include "game/chrai.h"
|
||||
#include "game/game_00b820.h"
|
||||
#include "game/playerreset.h"
|
||||
#include "game/setuputils.h"
|
||||
#include "bss.h"
|
||||
#include "lib/memp.h"
|
||||
#include "lib/rng.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
struct stageheadlimit g_StageHeadLimits[3] = {
|
||||
{ STAGE_INFILTRATION, 5 },
|
||||
{ STAGE_RESCUE, 4 },
|
||||
{ STAGE_ESCAPE, 5 },
|
||||
};
|
||||
|
||||
u32 var80061708 = 0x00000000;
|
||||
u32 var8006170c = 0x00000000;
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel bodiesReset
|
||||
/* f00b820: 27bdffd0 */ addiu $sp,$sp,-48
|
||||
/* f00b824: 3c0e8008 */ lui $t6,%hi(g_HeadsAndBodies+0x2)
|
||||
/* f00b828: 95cecf06 */ lhu $t6,%lo(g_HeadsAndBodies+0x2)($t6)
|
||||
/* f00b82c: afb10018 */ sw $s1,0x18($sp)
|
||||
/* f00b830: afb00014 */ sw $s0,0x14($sp)
|
||||
/* f00b834: 00808025 */ or $s0,$a0,$zero
|
||||
/* f00b838: afbf002c */ sw $ra,0x2c($sp)
|
||||
/* f00b83c: afb50028 */ sw $s5,0x28($sp)
|
||||
/* f00b840: afb40024 */ sw $s4,0x24($sp)
|
||||
/* f00b844: afb30020 */ sw $s3,0x20($sp)
|
||||
/* f00b848: afb2001c */ sw $s2,0x1c($sp)
|
||||
/* f00b84c: 11c00009 */ beqz $t6,.L0f00b874
|
||||
/* f00b850: 00008825 */ or $s1,$zero,$zero
|
||||
/* f00b854: 3c028008 */ lui $v0,%hi(g_HeadsAndBodies)
|
||||
/* f00b858: 2442cf04 */ addiu $v0,$v0,%lo(g_HeadsAndBodies)
|
||||
/* f00b85c: 944f0016 */ lhu $t7,0x16($v0)
|
||||
.L0f00b860:
|
||||
/* f00b860: 24420014 */ addiu $v0,$v0,0x14
|
||||
/* f00b864: ac40fff8 */ sw $zero,-0x8($v0)
|
||||
/* f00b868: 55e0fffd */ bnezl $t7,.L0f00b860
|
||||
/* f00b86c: 944f0016 */ lhu $t7,0x16($v0)
|
||||
/* f00b870: 00008825 */ or $s1,$zero,$zero
|
||||
.L0f00b874:
|
||||
/* f00b874: 0c004b70 */ jal random
|
||||
/* f00b878: 00000000 */ nop
|
||||
/* f00b87c: 3c188006 */ lui $t8,%hi(g_NumBondBodies)
|
||||
/* f00b880: 8f182b00 */ lw $t8,%lo(g_NumBondBodies)($t8)
|
||||
/* f00b884: 3c018006 */ lui $at,%hi(var80062c80)
|
||||
/* f00b888: 3c128006 */ lui $s2,%hi(var80062b14)
|
||||
/* f00b88c: 0058001b */ divu $zero,$v0,$t8
|
||||
/* f00b890: 0000c810 */ mfhi $t9
|
||||
/* f00b894: ac392c80 */ sw $t9,%lo(var80062c80)($at)
|
||||
/* f00b898: 26522b14 */ addiu $s2,$s2,%lo(var80062b14)
|
||||
/* f00b89c: 3c06800a */ lui $a2,%hi(g_Vars)
|
||||
/* f00b8a0: ae400000 */ sw $zero,0x0($s2)
|
||||
/* f00b8a4: 3c018006 */ lui $at,%hi(var80062b18)
|
||||
/* f00b8a8: 24c69fc0 */ addiu $a2,$a2,%lo(g_Vars)
|
||||
/* f00b8ac: ac202b18 */ sw $zero,%lo(var80062b18)($at)
|
||||
/* f00b8b0: 8cc8006c */ lw $t0,0x6c($a2)
|
||||
/* f00b8b4: 17000002 */ bnez $t8,.L0f00b8c0
|
||||
/* f00b8b8: 00000000 */ nop
|
||||
/* f00b8bc: 0007000d */ break 0x7
|
||||
.L0f00b8c0:
|
||||
/* f00b8c0: 00002825 */ or $a1,$zero,$zero
|
||||
/* f00b8c4: 11000003 */ beqz $t0,.L0f00b8d4
|
||||
/* f00b8c8: 00001825 */ or $v1,$zero,$zero
|
||||
/* f00b8cc: 10000001 */ b .L0f00b8d4
|
||||
/* f00b8d0: 24050001 */ addiu $a1,$zero,0x1
|
||||
.L0f00b8d4:
|
||||
/* f00b8d4: 8cc90068 */ lw $t1,0x68($a2)
|
||||
/* f00b8d8: 00002025 */ or $a0,$zero,$zero
|
||||
/* f00b8dc: 00001025 */ or $v0,$zero,$zero
|
||||
/* f00b8e0: 11200003 */ beqz $t1,.L0f00b8f0
|
||||
/* f00b8e4: 00000000 */ nop
|
||||
/* f00b8e8: 10000001 */ b .L0f00b8f0
|
||||
/* f00b8ec: 24030001 */ addiu $v1,$zero,0x1
|
||||
.L0f00b8f0:
|
||||
/* f00b8f0: 8cca0064 */ lw $t2,0x64($a2)
|
||||
/* f00b8f4: 3c15800a */ lui $s5,%hi(g_NumActiveHeadsPerGender)
|
||||
/* f00b8f8: 26b5cd20 */ addiu $s5,$s5,%lo(g_NumActiveHeadsPerGender)
|
||||
/* f00b8fc: 11400003 */ beqz $t2,.L0f00b90c
|
||||
/* f00b900: 24180008 */ addiu $t8,$zero,0x8
|
||||
/* f00b904: 10000001 */ b .L0f00b90c
|
||||
/* f00b908: 24040001 */ addiu $a0,$zero,0x1
|
||||
.L0f00b90c:
|
||||
/* f00b90c: 8ccb0070 */ lw $t3,0x70($a2)
|
||||
/* f00b910: 240f0004 */ addiu $t7,$zero,0x4
|
||||
/* f00b914: 3c198006 */ lui $t9,%hi(g_StageHeadLimits)
|
||||
/* f00b918: 11600003 */ beqz $t3,.L0f00b928
|
||||
/* f00b91c: 00000000 */ nop
|
||||
/* f00b920: 10000001 */ b .L0f00b928
|
||||
/* f00b924: 24020001 */ addiu $v0,$zero,0x1
|
||||
.L0f00b928:
|
||||
/* f00b928: 00446021 */ addu $t4,$v0,$a0
|
||||
/* f00b92c: 01836821 */ addu $t5,$t4,$v1
|
||||
/* f00b930: 01a57021 */ addu $t6,$t5,$a1
|
||||
/* f00b934: 29c10002 */ slti $at,$t6,0x2
|
||||
/* f00b938: 14200005 */ bnez $at,.L0f00b950
|
||||
/* f00b93c: 27221700 */ addiu $v0,$t9,%lo(g_StageHeadLimits)
|
||||
/* f00b940: 3c15800a */ lui $s5,%hi(g_NumActiveHeadsPerGender)
|
||||
/* f00b944: 26b5cd20 */ addiu $s5,$s5,%lo(g_NumActiveHeadsPerGender)
|
||||
/* f00b948: 1000000d */ b .L0f00b980
|
||||
/* f00b94c: aeaf0000 */ sw $t7,0x0($s5)
|
||||
.L0f00b950:
|
||||
/* f00b950: aeb80000 */ sw $t8,0x0($s5)
|
||||
/* f00b954: 24440006 */ addiu $a0,$v0,0x6
|
||||
/* f00b958: 90480000 */ lbu $t0,0x0($v0)
|
||||
.L0f00b95c:
|
||||
/* f00b95c: 56080004 */ bnel $s0,$t0,.L0f00b970
|
||||
/* f00b960: 24420002 */ addiu $v0,$v0,0x2
|
||||
/* f00b964: 90490001 */ lbu $t1,0x1($v0)
|
||||
/* f00b968: aea90000 */ sw $t1,0x0($s5)
|
||||
/* f00b96c: 24420002 */ addiu $v0,$v0,0x2
|
||||
.L0f00b970:
|
||||
/* f00b970: 0044082b */ sltu $at,$v0,$a0
|
||||
/* f00b974: 5420fff9 */ bnezl $at,.L0f00b95c
|
||||
/* f00b978: 90480000 */ lbu $t0,0x0($v0)
|
||||
/* f00b97c: 00008825 */ or $s1,$zero,$zero
|
||||
.L0f00b980:
|
||||
/* f00b980: 0fc41b99 */ jal cheatIsActive
|
||||
/* f00b984: 24040010 */ addiu $a0,$zero,0x10
|
||||
/* f00b988: 10400005 */ beqz $v0,.L0f00b9a0
|
||||
/* f00b98c: 3c148006 */ lui $s4,%hi(g_MaleGuardTeamHeads)
|
||||
/* f00b990: 3c138006 */ lui $s3,%hi(g_NumMaleGuardTeamHeads)
|
||||
/* f00b994: 26942c14 */ addiu $s4,$s4,%lo(g_MaleGuardTeamHeads)
|
||||
/* f00b998: 10000005 */ b .L0f00b9b0
|
||||
/* f00b99c: 8e732b0c */ lw $s3,%lo(g_NumMaleGuardTeamHeads)($s3)
|
||||
.L0f00b9a0:
|
||||
/* f00b9a0: 3c148006 */ lui $s4,%hi(g_MaleGuardHeads)
|
||||
/* f00b9a4: 3c138006 */ lui $s3,%hi(g_NumMaleGuardHeads)
|
||||
/* f00b9a8: 26942b68 */ addiu $s4,$s4,%lo(g_MaleGuardHeads)
|
||||
/* f00b9ac: 8e732b04 */ lw $s3,%lo(g_NumMaleGuardHeads)($s3)
|
||||
.L0f00b9b0:
|
||||
/* f00b9b0: 8eaa0000 */ lw $t2,0x0($s5)
|
||||
/* f00b9b4: 3c12800a */ lui $s2,%hi(g_ActiveMaleHeads)
|
||||
/* f00b9b8: 2652cd28 */ addiu $s2,$s2,%lo(g_ActiveMaleHeads)
|
||||
/* f00b9bc: 19400022 */ blez $t2,.L0f00ba48
|
||||
/* f00b9c0: 00000000 */ nop
|
||||
.L0f00b9c4:
|
||||
/* f00b9c4: 0c004b70 */ jal random
|
||||
/* f00b9c8: 24100001 */ addiu $s0,$zero,0x1
|
||||
/* f00b9cc: 0053001b */ divu $zero,$v0,$s3
|
||||
/* f00b9d0: 00005810 */ mfhi $t3
|
||||
/* f00b9d4: 8ea50000 */ lw $a1,0x0($s5)
|
||||
/* f00b9d8: 000b6080 */ sll $t4,$t3,0x2
|
||||
/* f00b9dc: 028c6821 */ addu $t5,$s4,$t4
|
||||
/* f00b9e0: 8dae0000 */ lw $t6,0x0($t5)
|
||||
/* f00b9e4: 16600002 */ bnez $s3,.L0f00b9f0
|
||||
/* f00b9e8: 00000000 */ nop
|
||||
/* f00b9ec: 0007000d */ break 0x7
|
||||
.L0f00b9f0:
|
||||
/* f00b9f0: 00b3082a */ slt $at,$a1,$s3
|
||||
/* f00b9f4: 1020000d */ beqz $at,.L0f00ba2c
|
||||
/* f00b9f8: ae4e0000 */ sw $t6,0x0($s2)
|
||||
/* f00b9fc: 1a20000b */ blez $s1,.L0f00ba2c
|
||||
/* f00ba00: 00001825 */ or $v1,$zero,$zero
|
||||
/* f00ba04: 3c02800a */ lui $v0,%hi(g_ActiveMaleHeads)
|
||||
/* f00ba08: 2442cd28 */ addiu $v0,$v0,%lo(g_ActiveMaleHeads)
|
||||
/* f00ba0c: 01c02025 */ or $a0,$t6,$zero
|
||||
.L0f00ba10:
|
||||
/* f00ba10: 8c4f0000 */ lw $t7,0x0($v0)
|
||||
/* f00ba14: 24630001 */ addiu $v1,$v1,0x1
|
||||
/* f00ba18: 15e40002 */ bne $t7,$a0,.L0f00ba24
|
||||
/* f00ba1c: 00000000 */ nop
|
||||
/* f00ba20: 00008025 */ or $s0,$zero,$zero
|
||||
.L0f00ba24:
|
||||
/* f00ba24: 1471fffa */ bne $v1,$s1,.L0f00ba10
|
||||
/* f00ba28: 24420004 */ addiu $v0,$v0,0x4
|
||||
.L0f00ba2c:
|
||||
/* f00ba2c: 1200ffe5 */ beqz $s0,.L0f00b9c4
|
||||
/* f00ba30: 00000000 */ nop
|
||||
/* f00ba34: 26310001 */ addiu $s1,$s1,0x1
|
||||
/* f00ba38: 0225082a */ slt $at,$s1,$a1
|
||||
/* f00ba3c: 1420ffe1 */ bnez $at,.L0f00b9c4
|
||||
/* f00ba40: 26520004 */ addiu $s2,$s2,0x4
|
||||
/* f00ba44: 00008825 */ or $s1,$zero,$zero
|
||||
.L0f00ba48:
|
||||
/* f00ba48: 0fc41b99 */ jal cheatIsActive
|
||||
/* f00ba4c: 24040010 */ addiu $a0,$zero,0x10
|
||||
/* f00ba50: 10400006 */ beqz $v0,.L0f00ba6c
|
||||
/* f00ba54: 3c148006 */ lui $s4,%hi(g_FemaleGuardHeads)
|
||||
/* f00ba58: 3c148006 */ lui $s4,%hi(g_FemaleGuardTeamHeads)
|
||||
/* f00ba5c: 3c138006 */ lui $s3,%hi(g_NumFemaleGuardTeamHeads)
|
||||
/* f00ba60: 26942c6c */ addiu $s4,$s4,%lo(g_FemaleGuardTeamHeads)
|
||||
/* f00ba64: 10000004 */ b .L0f00ba78
|
||||
/* f00ba68: 8e732b10 */ lw $s3,%lo(g_NumFemaleGuardTeamHeads)($s3)
|
||||
.L0f00ba6c:
|
||||
/* f00ba6c: 3c138006 */ lui $s3,%hi(g_NumFemaleGuardHeads)
|
||||
/* f00ba70: 26942c58 */ addiu $s4,$s4,%lo(g_FemaleGuardHeads)
|
||||
/* f00ba74: 8e732b08 */ lw $s3,%lo(g_NumFemaleGuardHeads)($s3)
|
||||
.L0f00ba78:
|
||||
/* f00ba78: 8ea50000 */ lw $a1,0x0($s5)
|
||||
/* f00ba7c: 3c12800a */ lui $s2,%hi(g_ActiveFemaleHeads)
|
||||
/* f00ba80: 2652cd48 */ addiu $s2,$s2,%lo(g_ActiveFemaleHeads)
|
||||
/* f00ba84: 18a00022 */ blez $a1,.L0f00bb10
|
||||
/* f00ba88: 00000000 */ nop
|
||||
.L0f00ba8c:
|
||||
/* f00ba8c: 0c004b70 */ jal random
|
||||
/* f00ba90: 24100001 */ addiu $s0,$zero,0x1
|
||||
/* f00ba94: 0053001b */ divu $zero,$v0,$s3
|
||||
/* f00ba98: 0000c010 */ mfhi $t8
|
||||
/* f00ba9c: 8ea50000 */ lw $a1,0x0($s5)
|
||||
/* f00baa0: 0018c880 */ sll $t9,$t8,0x2
|
||||
/* f00baa4: 02994021 */ addu $t0,$s4,$t9
|
||||
/* f00baa8: 8d090000 */ lw $t1,0x0($t0)
|
||||
/* f00baac: 16600002 */ bnez $s3,.L0f00bab8
|
||||
/* f00bab0: 00000000 */ nop
|
||||
/* f00bab4: 0007000d */ break 0x7
|
||||
.L0f00bab8:
|
||||
/* f00bab8: 00b3082a */ slt $at,$a1,$s3
|
||||
/* f00babc: 1020000d */ beqz $at,.L0f00baf4
|
||||
/* f00bac0: ae490000 */ sw $t1,0x0($s2)
|
||||
/* f00bac4: 1a20000b */ blez $s1,.L0f00baf4
|
||||
/* f00bac8: 00001825 */ or $v1,$zero,$zero
|
||||
/* f00bacc: 3c02800a */ lui $v0,%hi(g_ActiveFemaleHeads)
|
||||
/* f00bad0: 2442cd48 */ addiu $v0,$v0,%lo(g_ActiveFemaleHeads)
|
||||
/* f00bad4: 01202025 */ or $a0,$t1,$zero
|
||||
.L0f00bad8:
|
||||
/* f00bad8: 8c4a0000 */ lw $t2,0x0($v0)
|
||||
/* f00badc: 24630001 */ addiu $v1,$v1,0x1
|
||||
/* f00bae0: 15440002 */ bne $t2,$a0,.L0f00baec
|
||||
/* f00bae4: 00000000 */ nop
|
||||
/* f00bae8: 00008025 */ or $s0,$zero,$zero
|
||||
.L0f00baec:
|
||||
/* f00baec: 1471fffa */ bne $v1,$s1,.L0f00bad8
|
||||
/* f00baf0: 24420004 */ addiu $v0,$v0,0x4
|
||||
.L0f00baf4:
|
||||
/* f00baf4: 1200ffe5 */ beqz $s0,.L0f00ba8c
|
||||
/* f00baf8: 00000000 */ nop
|
||||
/* f00bafc: 26310001 */ addiu $s1,$s1,0x1
|
||||
/* f00bb00: 0225082a */ slt $at,$s1,$a1
|
||||
/* f00bb04: 1420ffe1 */ bnez $at,.L0f00ba8c
|
||||
/* f00bb08: 26520004 */ addiu $s2,$s2,0x4
|
||||
/* f00bb0c: 00008825 */ or $s1,$zero,$zero
|
||||
.L0f00bb10:
|
||||
/* f00bb10: 3c018006 */ lui $at,%hi(g_ActiveMaleHeadsIndex)
|
||||
/* f00bb14: ac202c84 */ sw $zero,%lo(g_ActiveMaleHeadsIndex)($at)
|
||||
/* f00bb18: 3c018006 */ lui $at,%hi(g_ActiveFemaleHeadsIndex)
|
||||
/* f00bb1c: 18a00006 */ blez $a1,.L0f00bb38
|
||||
/* f00bb20: ac202c88 */ sw $zero,%lo(g_ActiveFemaleHeadsIndex)($at)
|
||||
/* f00bb24: 26310001 */ addiu $s1,$s1,0x1
|
||||
.L0f00bb28:
|
||||
/* f00bb28: 0225082a */ slt $at,$s1,$a1
|
||||
/* f00bb2c: 5420fffe */ bnezl $at,.L0f00bb28
|
||||
/* f00bb30: 26310001 */ addiu $s1,$s1,0x1
|
||||
/* f00bb34: 00008825 */ or $s1,$zero,$zero
|
||||
.L0f00bb38:
|
||||
/* f00bb38: 18a00005 */ blez $a1,.L0f00bb50
|
||||
/* f00bb3c: 8fb00014 */ lw $s0,0x14($sp)
|
||||
/* f00bb40: 26310001 */ addiu $s1,$s1,0x1
|
||||
.L0f00bb44:
|
||||
/* f00bb44: 0225082a */ slt $at,$s1,$a1
|
||||
/* f00bb48: 5420fffe */ bnezl $at,.L0f00bb44
|
||||
/* f00bb4c: 26310001 */ addiu $s1,$s1,0x1
|
||||
.L0f00bb50:
|
||||
/* f00bb50: 8fbf002c */ lw $ra,0x2c($sp)
|
||||
/* f00bb54: 8fb10018 */ lw $s1,0x18($sp)
|
||||
/* f00bb58: 8fb2001c */ lw $s2,0x1c($sp)
|
||||
/* f00bb5c: 8fb30020 */ lw $s3,0x20($sp)
|
||||
/* f00bb60: 8fb40024 */ lw $s4,0x24($sp)
|
||||
/* f00bb64: 8fb50028 */ lw $s5,0x28($sp)
|
||||
/* f00bb68: 03e00008 */ jr $ra
|
||||
/* f00bb6c: 27bd0030 */ addiu $sp,$sp,0x30
|
||||
);
|
||||
|
||||
// Mismatches:
|
||||
// - Address of var80062b14 Should be loaded to a callee-save register
|
||||
// - PLAYERCOUNT() calculation is more spread out
|
||||
// (does other register preparation during calculation)
|
||||
// - Loop at 950 is calculated differently
|
||||
//void bodiesReset(s32 stagenum)
|
||||
//{
|
||||
// s32 *headsavailablelist;
|
||||
// s32 headsavailablelen;
|
||||
// bool done;
|
||||
// s32 i;
|
||||
// s32 j;
|
||||
//
|
||||
// for (i = 0; g_HeadsAndBodies[i].bodyfileid; i++) {
|
||||
// g_HeadsAndBodies[i].unk0c = NULL;
|
||||
// }
|
||||
//
|
||||
// var80062c80 = random() % g_NumBondBodies;
|
||||
// var80062b14 = 0;
|
||||
// var80062b18 = 0;
|
||||
//
|
||||
// if (PLAYERCOUNT() >= 2) {
|
||||
// g_NumActiveHeadsPerGender = 4;
|
||||
// } else {
|
||||
// // 950
|
||||
// g_NumActiveHeadsPerGender = 8;
|
||||
//
|
||||
// for (i = 0; i < ARRAYCOUNT(g_StageHeadLimits); i++) {
|
||||
// if (g_StageHeadLimits[i].stagenum == stagenum) {
|
||||
// g_NumActiveHeadsPerGender = g_StageHeadLimits[i].maxheads;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// // Male heads
|
||||
// if (cheatIsActive(CHEAT_TEAMHEADSONLY)) {
|
||||
// headsavailablelist = g_MaleGuardTeamHeads;
|
||||
// headsavailablelen = g_NumMaleGuardTeamHeads;
|
||||
// } else {
|
||||
// headsavailablelist = g_MaleGuardHeads;
|
||||
// headsavailablelen = g_NumMaleGuardHeads;
|
||||
// }
|
||||
//
|
||||
// for (i = 0; i < g_NumActiveHeadsPerGender; i++) {
|
||||
// do {
|
||||
// done = true;
|
||||
// g_ActiveMaleHeads[i] = headsavailablelist[random() % headsavailablelen];
|
||||
//
|
||||
// if (headsavailablelen > g_NumActiveHeadsPerGender) {
|
||||
// for (j = 0; j < i; j++) {
|
||||
// if (g_ActiveMaleHeads[i] == g_ActiveMaleHeads[j]) {
|
||||
// done = false;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// } while (!done);
|
||||
// }
|
||||
//
|
||||
// // Female heads
|
||||
// if (cheatIsActive(CHEAT_TEAMHEADSONLY)) {
|
||||
// headsavailablelist = g_FemaleGuardTeamHeads;
|
||||
// headsavailablelen = g_NumFemaleGuardTeamHeads;
|
||||
// } else {
|
||||
// headsavailablelist = g_FemaleGuardHeads;
|
||||
// headsavailablelen = g_NumFemaleGuardHeads;
|
||||
// }
|
||||
//
|
||||
// for (i = 0; i < g_NumActiveHeadsPerGender; i++) {
|
||||
// do {
|
||||
// done = true;
|
||||
// g_ActiveFemaleHeads[i] = headsavailablelist[random() % headsavailablelen];
|
||||
//
|
||||
// if (headsavailablelen > g_NumActiveHeadsPerGender) {
|
||||
// for (j = 0; j < i; j++) {
|
||||
// if (g_ActiveFemaleHeads[i] == g_ActiveFemaleHeads[j]) {
|
||||
// done = false;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// } while (!done);
|
||||
// }
|
||||
//
|
||||
// g_ActiveMaleHeadsIndex = 0;
|
||||
// g_ActiveFemaleHeadsIndex = 0;
|
||||
//
|
||||
// for (i = 0; i < g_NumActiveHeadsPerGender; i++);
|
||||
// for (i = 0; i < g_NumActiveHeadsPerGender; i++);
|
||||
//}
|
||||
+12
-12
@@ -4,12 +4,12 @@
|
||||
#include "game/bondmove.h"
|
||||
#include "game/chraction.h"
|
||||
#include "game/prop.h"
|
||||
#include "game/game_091e10.h"
|
||||
#include "game/setuputils.h"
|
||||
#include "game/propsnd.h"
|
||||
#include "game/objectives.h"
|
||||
#include "game/game_096ca0.h"
|
||||
#include "game/quaternion.h"
|
||||
#include "game/bondgun.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/player.h"
|
||||
#include "game/bondhead.h"
|
||||
#include "game/lv.h"
|
||||
@@ -508,11 +508,11 @@ glabel var7f1adb74
|
||||
/* f0d2ad0: e7aa0034 */ swc1 $f10,0x34($sp)
|
||||
/* f0d2ad4: e7a00038 */ swc1 $f0,0x38($sp)
|
||||
/* f0d2ad8: 27a40030 */ addiu $a0,$sp,0x30
|
||||
/* f0d2adc: 0fc2d341 */ jal func0f0b4d04
|
||||
/* f0d2adc: 0fc2d341 */ jal cam0f0b4d04
|
||||
/* f0d2ae0: 27a50028 */ addiu $a1,$sp,0x28
|
||||
/* f0d2ae4: 0fc2d602 */ jal currentPlayerGetScreenTop
|
||||
/* f0d2ae4: 0fc2d602 */ jal camGetScreenTop
|
||||
/* f0d2ae8: 00000000 */ nop
|
||||
/* f0d2aec: 0fc2d5fa */ jal currentPlayerGetScreenHeight
|
||||
/* f0d2aec: 0fc2d5fa */ jal camGetScreenHeight
|
||||
/* f0d2af0: e7a00024 */ swc1 $f0,0x24($sp)
|
||||
/* f0d2af4: c7a4002c */ lwc1 $f4,0x2c($sp)
|
||||
/* f0d2af8: c7a60024 */ lwc1 $f6,0x24($sp)
|
||||
@@ -848,11 +848,11 @@ glabel var7f1adb74
|
||||
/* f0d2ad0: e7aa0034 */ swc1 $f10,0x34($sp)
|
||||
/* f0d2ad4: e7a00038 */ swc1 $f0,0x38($sp)
|
||||
/* f0d2ad8: 27a40030 */ addiu $a0,$sp,0x30
|
||||
/* f0d2adc: 0fc2d341 */ jal func0f0b4d04
|
||||
/* f0d2adc: 0fc2d341 */ jal cam0f0b4d04
|
||||
/* f0d2ae0: 27a50028 */ addiu $a1,$sp,0x28
|
||||
/* f0d2ae4: 0fc2d602 */ jal currentPlayerGetScreenTop
|
||||
/* f0d2ae4: 0fc2d602 */ jal camGetScreenTop
|
||||
/* f0d2ae8: 00000000 */ nop
|
||||
/* f0d2aec: 0fc2d5fa */ jal currentPlayerGetScreenHeight
|
||||
/* f0d2aec: 0fc2d5fa */ jal camGetScreenHeight
|
||||
/* f0d2af0: e7a00024 */ swc1 $f0,0x24($sp)
|
||||
/* f0d2af4: c7a4002c */ lwc1 $f4,0x2c($sp)
|
||||
/* f0d2af8: c7a60024 */ lwc1 $f6,0x24($sp)
|
||||
@@ -977,9 +977,9 @@ glabel var7f1adb74
|
||||
// sp30.y = -sinf(sp3c);
|
||||
// sp30.z = cosf(sp3c);
|
||||
//
|
||||
// func0f0b4d04(&sp30, sp28);
|
||||
// cam0f0b4d04(&sp30, sp28);
|
||||
//
|
||||
// g_Vars.currentplayer->gunextraaimy = -((sp28[1] - currentPlayerGetScreenTop()) * 2.0f / currentPlayerGetScreenHeight() - 1.0f) * 0.75f;
|
||||
// g_Vars.currentplayer->gunextraaimy = -((sp28[1] - camGetScreenTop()) * 2.0f / camGetScreenHeight() - 1.0f) * 0.75f;
|
||||
// }
|
||||
//}
|
||||
|
||||
@@ -1078,7 +1078,7 @@ s32 bbikeCalculateNewPosition(struct coord *vel, f32 angledelta)
|
||||
g_Vars.currentplayer->hoverbike->rooms,
|
||||
&dstpos, dstrooms, spa8, 20);
|
||||
|
||||
func0f09233c(&bike->base, &dstpos, bike->base.realrot, dstrooms);
|
||||
setup0f09233c(&bike->base, &dstpos, bike->base.realrot, dstrooms);
|
||||
|
||||
hasvel = true;
|
||||
|
||||
|
||||
+114
-114
@@ -11,14 +11,14 @@
|
||||
#include "game/game_096360.h"
|
||||
#include "game/acosfasinf.h"
|
||||
#include "game/game_096b20.h"
|
||||
#include "game/game_096ca0.h"
|
||||
#include "game/quaternion.h"
|
||||
#include "game/game_097aa0.h"
|
||||
#include "game/bondgun.h"
|
||||
#include "game/game_0abe70.h"
|
||||
#include "game/gunfx.h"
|
||||
#include "game/game_0b0fd0.h"
|
||||
#include "game/game_0b28d0.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/game_0b4950.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/camera.h"
|
||||
#include "game/player.h"
|
||||
#include "game/game_0c33f0.h"
|
||||
#include "game/gfxmemory.h"
|
||||
@@ -12298,7 +12298,7 @@ glabel bgun0f09e144
|
||||
/* f09e3dc: afa00014 */ sw $zero,0x14($sp)
|
||||
/* f09e3e0: afb00010 */ sw $s0,0x10($sp)
|
||||
/* f09e3e4: 02202025 */ or $a0,$s1,$zero
|
||||
/* f09e3e8: 0fc69d58 */ jal func0f1a7560
|
||||
/* f09e3e8: 0fc69d58 */ jal modeldef0f1a7560
|
||||
/* f09e3ec: 02203825 */ or $a3,$s1,$zero
|
||||
/* f09e3f0: 0fc59c15 */ jal fileGetInflatedSize
|
||||
/* f09e3f4: 964415b2 */ lhu $a0,0x15b2($s2)
|
||||
@@ -12541,7 +12541,7 @@ glabel bgun0f09e144
|
||||
/* f09c2e8: afa00014 */ sw $zero,0x14($sp)
|
||||
/* f09c2ec: afb00010 */ sw $s0,0x10($sp)
|
||||
/* f09c2f0: 02602025 */ or $a0,$s3,$zero
|
||||
/* f09c2f4: 0c009114 */ jal func0f1a7560
|
||||
/* f09c2f4: 0c009114 */ jal modeldef0f1a7560
|
||||
/* f09c2f8: 02603825 */ or $a3,$s3,$zero
|
||||
/* f09c2fc: 0fc58635 */ jal fileGetInflatedSize
|
||||
/* f09c300: 968415b2 */ lhu $a0,0x15b2($s4)
|
||||
@@ -12655,14 +12655,14 @@ glabel bgunTickLoad
|
||||
/* f09e5d4: 3c05800a */ lui $a1,%hi(g_Casings)
|
||||
/* f09e5d8: 24a5d510 */ addiu $a1,$a1,%lo(g_Casings)
|
||||
/* f09e5dc: 15660004 */ bne $t3,$a2,.L0f09e5f0
|
||||
/* f09e5e0: 3c03800a */ lui $v1,%hi(var8009da60)
|
||||
/* f09e5e0: 3c03800a */ lui $v1,%hi(g_BoltBeams)
|
||||
/* f09e5e4: 3233ffff */ andi $s3,$s1,0xffff
|
||||
/* f09e5e8: 00008825 */ or $s1,$zero,$zero
|
||||
/* f09e5ec: 00008025 */ or $s0,$zero,$zero
|
||||
.L0f09e5f0:
|
||||
/* f09e5f0: 924215b0 */ lbu $v0,0x15b0($s2)
|
||||
/* f09e5f4: 3c048007 */ lui $a0,%hi(g_CasingsActive)
|
||||
/* f09e5f8: 2463da60 */ addiu $v1,$v1,%lo(var8009da60)
|
||||
/* f09e5f8: 2463da60 */ addiu $v1,$v1,%lo(g_BoltBeams)
|
||||
/* f09e5fc: 14400019 */ bnez $v0,.L0f09e664
|
||||
/* f09e600: 24840524 */ addiu $a0,$a0,%lo(g_CasingsActive)
|
||||
/* f09e604: 00a01025 */ or $v0,$a1,$zero
|
||||
@@ -13693,10 +13693,10 @@ void bgun0f09ebcc(struct defaultobj *obj, struct coord *coord, s16 *rooms, Mtxf
|
||||
func0f06a580(obj, coord, matrix1, rooms);
|
||||
|
||||
if (obj->type == OBJTYPE_WEAPON && ((struct weaponobj *) obj)->weaponnum == WEAPON_BOLT) {
|
||||
s32 value = func0f0aec54(objprop);
|
||||
s32 value = boltbeamFindByProp(objprop);
|
||||
|
||||
if (value == -1) {
|
||||
value = func0f0aeca8(objprop);
|
||||
value = boltbeamCreate(objprop);
|
||||
}
|
||||
|
||||
if (value != -1) {
|
||||
@@ -13996,7 +13996,7 @@ glabel var7f1ac72c
|
||||
/* f09f2f0: 8fa60240 */ lw $a2,0x240($sp)
|
||||
/* f09f2f4: 0fc2832c */ jal bgunCalculateShotSpread
|
||||
/* f09f2f8: 24070001 */ addiu $a3,$zero,0x1
|
||||
/* f09f2fc: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f09f2fc: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f09f300: 00000000 */ nop
|
||||
/* f09f304: 00402025 */ or $a0,$v0,$zero
|
||||
/* f09f308: 0c0056c4 */ jal mtx4RotateVecInPlace
|
||||
@@ -14512,7 +14512,7 @@ glabel var7f1ac72c
|
||||
/* f09f2f0: 8fa60240 */ lw $a2,0x240($sp)
|
||||
/* f09f2f4: 0fc2832c */ jal bgunCalculateShotSpread
|
||||
/* f09f2f8: 24070001 */ addiu $a3,$zero,0x1
|
||||
/* f09f2fc: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f09f2fc: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f09f300: 00000000 */ nop
|
||||
/* f09f304: 00402025 */ or $a0,$v0,$zero
|
||||
/* f09f308: 0c0056c4 */ jal mtx4RotateVecInPlace
|
||||
@@ -15005,7 +15005,7 @@ glabel var7f1ac740
|
||||
/* f09fe30: 02003025 */ move $a2,$s0
|
||||
/* f09fe34: 0fc283f5 */ jal bgunCalculateShotSpread
|
||||
/* f09fe38: 24070001 */ li $a3,0x1
|
||||
/* f09fe3c: 0fc2d726 */ jal currentPlayerGetUnk174c
|
||||
/* f09fe3c: 0fc2d726 */ jal camGetUnk174c
|
||||
/* f09fe40: 00000000 */ nop
|
||||
/* f09fe44: 00402025 */ move $a0,$v0
|
||||
/* f09fe48: 0c005628 */ jal mtx4RotateVecInPlace
|
||||
@@ -15640,7 +15640,7 @@ glabel var7f1ac740
|
||||
/* f09fd80: 02003025 */ move $a2,$s0
|
||||
/* f09fd84: 0fc283c9 */ jal bgunCalculateShotSpread
|
||||
/* f09fd88: 24070001 */ li $a3,0x1
|
||||
/* f09fd8c: 0fc2d6e2 */ jal currentPlayerGetUnk174c
|
||||
/* f09fd8c: 0fc2d6e2 */ jal camGetUnk174c
|
||||
/* f09fd90: 00000000 */ nop
|
||||
/* f09fd94: 00402025 */ move $a0,$v0
|
||||
/* f09fd98: 0c005958 */ jal mtx4RotateVecInPlace
|
||||
@@ -16275,7 +16275,7 @@ glabel var7f1ac740
|
||||
/* f09fb2c: 02003025 */ or $a2,$s0,$zero
|
||||
/* f09fb30: 0fc2832c */ jal bgunCalculateShotSpread
|
||||
/* f09fb34: 24070001 */ addiu $a3,$zero,0x1
|
||||
/* f09fb38: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f09fb38: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f09fb3c: 00000000 */ nop
|
||||
/* f09fb40: 00402025 */ or $a0,$v0,$zero
|
||||
/* f09fb44: 0c0056c4 */ jal mtx4RotateVecInPlace
|
||||
@@ -16902,7 +16902,7 @@ glabel var7f1ac740
|
||||
/* f09d9a4: 02003025 */ or $a2,$s0,$zero
|
||||
/* f09d9a8: 0fc27a99 */ jal bgunCalculateShotSpread
|
||||
/* f09d9ac: 24070001 */ addiu $a3,$zero,0x1
|
||||
/* f09d9b0: 0fc2cd36 */ jal currentPlayerGetUnk174c
|
||||
/* f09d9b0: 0fc2cd36 */ jal camGetUnk174c
|
||||
/* f09d9b4: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f09d9b8: 00402025 */ or $a0,$v0,$zero
|
||||
/* f09d9bc: 0c005a80 */ jal mtx4RotateVecInPlace
|
||||
@@ -17458,9 +17458,9 @@ glabel var7f1ac764
|
||||
/* f0a03d4: f7b40010 */ sdc1 $f20,0x10($sp)
|
||||
/* f0a03d8: e7ac00e0 */ swc1 $f12,0xe0($sp)
|
||||
/* f0a03dc: e7ae00e4 */ swc1 $f14,0xe4($sp)
|
||||
/* f0a03e0: 0fc2d5f6 */ jal currentPlayerGetScreenWidth
|
||||
/* f0a03e0: 0fc2d5f6 */ jal camGetScreenWidth
|
||||
/* f0a03e4: afa700ec */ sw $a3,0xec($sp)
|
||||
/* f0a03e8: 0fc2d5fa */ jal currentPlayerGetScreenHeight
|
||||
/* f0a03e8: 0fc2d5fa */ jal camGetScreenHeight
|
||||
/* f0a03ec: 46000706 */ mov.s $f28,$f0
|
||||
/* f0a03f0: 3c0f8007 */ lui $t7,%hi(var800701b8)
|
||||
/* f0a03f4: 25ef01b8 */ addiu $t7,$t7,%lo(var800701b8)
|
||||
@@ -17601,7 +17601,7 @@ glabel var7f1ac764
|
||||
/* f0a05f8: c44606bc */ lwc1 $f6,0x6bc($v0)
|
||||
/* f0a05fc: e7a60098 */ swc1 $f6,0x98($sp)
|
||||
/* f0a0600: c44806c0 */ lwc1 $f8,0x6c0($v0)
|
||||
/* f0a0604: 0fc2d5be */ jal currentPlayerGetMatrix1740
|
||||
/* f0a0604: 0fc2d5be */ jal camGetMatrix1740
|
||||
/* f0a0608: e7a8009c */ swc1 $f8,0x9c($sp)
|
||||
/* f0a060c: 00402025 */ or $a0,$v0,$zero
|
||||
/* f0a0610: 0c0056d9 */ jal mtx4TransformVecInPlace
|
||||
@@ -17626,7 +17626,7 @@ glabel var7f1ac764
|
||||
/* f0a0658: 27a800b0 */ addiu $t0,$sp,0xb0
|
||||
/* f0a065c: 45020018 */ bc1fl .L0f0a06c0
|
||||
/* f0a0660: 26730001 */ addiu $s3,$s3,0x1
|
||||
/* f0a0664: 0fc2d341 */ jal func0f0b4d04
|
||||
/* f0a0664: 0fc2d341 */ jal cam0f0b4d04
|
||||
/* f0a0668: 02889021 */ addu $s2,$s4,$t0
|
||||
/* f0a066c: c7b2008c */ lwc1 $f18,0x8c($sp)
|
||||
/* f0a0670: e6120000 */ swc1 $f18,0x0($s0)
|
||||
@@ -17813,11 +17813,11 @@ glabel var7f1ac764
|
||||
.L0f0a0914:
|
||||
/* f0a0914: e7ae0074 */ swc1 $f14,0x74($sp)
|
||||
.L0f0a0918:
|
||||
/* f0a0918: 0fc2d5fe */ jal currentPlayerGetScreenLeft
|
||||
/* f0a0918: 0fc2d5fe */ jal camGetScreenLeft
|
||||
/* f0a091c: e7b00070 */ swc1 $f16,0x70($sp)
|
||||
/* f0a0920: c6a61660 */ lwc1 $f6,0x1660($s5)
|
||||
/* f0a0924: 46003480 */ add.s $f18,$f6,$f0
|
||||
/* f0a0928: 0fc2d602 */ jal currentPlayerGetScreenTop
|
||||
/* f0a0928: 0fc2d602 */ jal camGetScreenTop
|
||||
/* f0a092c: e6b21660 */ swc1 $f18,0x1660($s5)
|
||||
/* f0a0930: c6a81664 */ lwc1 $f8,0x1664($s5)
|
||||
/* f0a0934: 3c017f1b */ lui $at,%hi(var7f1ac764)
|
||||
@@ -17873,11 +17873,11 @@ glabel var7f1ac764
|
||||
/* f0a09e8: 00000000 */ nop
|
||||
/* f0a09ec: e6200cd0 */ swc1 $f0,0xcd0($s1)
|
||||
.L0f0a09f0:
|
||||
/* f0a09f0: 0fc2d5fe */ jal currentPlayerGetScreenLeft
|
||||
/* f0a09f0: 0fc2d5fe */ jal camGetScreenLeft
|
||||
/* f0a09f4: 00000000 */ nop
|
||||
/* f0a09f8: c6320ccc */ lwc1 $f18,0xccc($s1)
|
||||
/* f0a09fc: 46009200 */ add.s $f8,$f18,$f0
|
||||
/* f0a0a00: 0fc2d602 */ jal currentPlayerGetScreenTop
|
||||
/* f0a0a00: 0fc2d602 */ jal camGetScreenTop
|
||||
/* f0a0a04: e6280ccc */ swc1 $f8,0xccc($s1)
|
||||
/* f0a0a08: c62a0cd0 */ lwc1 $f10,0xcd0($s1)
|
||||
/* f0a0a0c: 26730001 */ addiu $s3,$s3,0x1
|
||||
@@ -17922,11 +17922,11 @@ glabel var7f1ac764
|
||||
/* f0a0aa0: c7aa0070 */ lwc1 $f10,0x70($sp)
|
||||
/* f0a0aa4: 461a9202 */ mul.s $f8,$f18,$f26
|
||||
/* f0a0aa8: 460a4100 */ add.s $f4,$f8,$f10
|
||||
/* f0a0aac: 0fc2d5fe */ jal currentPlayerGetScreenLeft
|
||||
/* f0a0aac: 0fc2d5fe */ jal camGetScreenLeft
|
||||
/* f0a0ab0: e6a41678 */ swc1 $f4,0x1678($s5)
|
||||
/* f0a0ab4: c6a61674 */ lwc1 $f6,0x1674($s5)
|
||||
/* f0a0ab8: 46003480 */ add.s $f18,$f6,$f0
|
||||
/* f0a0abc: 0fc2d602 */ jal currentPlayerGetScreenTop
|
||||
/* f0a0abc: 0fc2d602 */ jal camGetScreenTop
|
||||
/* f0a0ac0: e6b21674 */ swc1 $f18,0x1674($s5)
|
||||
/* f0a0ac4: c6a81678 */ lwc1 $f8,0x1678($s5)
|
||||
/* f0a0ac8: 27b000c8 */ addiu $s0,$sp,0xc8
|
||||
@@ -17934,7 +17934,7 @@ glabel var7f1ac764
|
||||
/* f0a0ad0: 46004280 */ add.s $f10,$f8,$f0
|
||||
/* f0a0ad4: 26a41674 */ addiu $a0,$s5,0x1674
|
||||
/* f0a0ad8: 3c06447a */ lui $a2,0x447a
|
||||
/* f0a0adc: 0fc2d30f */ jal func0f0b4c3c
|
||||
/* f0a0adc: 0fc2d30f */ jal cam0f0b4c3c
|
||||
/* f0a0ae0: e6aa1678 */ swc1 $f10,0x1678($s5)
|
||||
/* f0a0ae4: 0fc2a4f8 */ jal bgunSetAimPos
|
||||
/* f0a0ae8: 02002025 */ or $a0,$s0,$zero
|
||||
@@ -17998,9 +17998,9 @@ glabel var7f1ac764
|
||||
/* f0a03d4: f7b40010 */ sdc1 $f20,0x10($sp)
|
||||
/* f0a03d8: e7ac00e0 */ swc1 $f12,0xe0($sp)
|
||||
/* f0a03dc: e7ae00e4 */ swc1 $f14,0xe4($sp)
|
||||
/* f0a03e0: 0fc2d5f6 */ jal currentPlayerGetScreenWidth
|
||||
/* f0a03e0: 0fc2d5f6 */ jal camGetScreenWidth
|
||||
/* f0a03e4: afa700ec */ sw $a3,0xec($sp)
|
||||
/* f0a03e8: 0fc2d5fa */ jal currentPlayerGetScreenHeight
|
||||
/* f0a03e8: 0fc2d5fa */ jal camGetScreenHeight
|
||||
/* f0a03ec: 46000706 */ mov.s $f28,$f0
|
||||
/* f0a03f0: 3c0f8007 */ lui $t7,%hi(var800701b8)
|
||||
/* f0a03f4: 25ef01b8 */ addiu $t7,$t7,%lo(var800701b8)
|
||||
@@ -18141,7 +18141,7 @@ glabel var7f1ac764
|
||||
/* f0a05f8: c44606bc */ lwc1 $f6,0x6bc($v0)
|
||||
/* f0a05fc: e7a60098 */ swc1 $f6,0x98($sp)
|
||||
/* f0a0600: c44806c0 */ lwc1 $f8,0x6c0($v0)
|
||||
/* f0a0604: 0fc2d5be */ jal currentPlayerGetMatrix1740
|
||||
/* f0a0604: 0fc2d5be */ jal camGetMatrix1740
|
||||
/* f0a0608: e7a8009c */ swc1 $f8,0x9c($sp)
|
||||
/* f0a060c: 00402025 */ or $a0,$v0,$zero
|
||||
/* f0a0610: 0c0056d9 */ jal mtx4TransformVecInPlace
|
||||
@@ -18166,7 +18166,7 @@ glabel var7f1ac764
|
||||
/* f0a0658: 27a800b0 */ addiu $t0,$sp,0xb0
|
||||
/* f0a065c: 45020018 */ bc1fl .L0f0a06c0
|
||||
/* f0a0660: 26730001 */ addiu $s3,$s3,0x1
|
||||
/* f0a0664: 0fc2d341 */ jal func0f0b4d04
|
||||
/* f0a0664: 0fc2d341 */ jal cam0f0b4d04
|
||||
/* f0a0668: 02889021 */ addu $s2,$s4,$t0
|
||||
/* f0a066c: c7b2008c */ lwc1 $f18,0x8c($sp)
|
||||
/* f0a0670: e6120000 */ swc1 $f18,0x0($s0)
|
||||
@@ -18353,11 +18353,11 @@ glabel var7f1ac764
|
||||
.L0f0a0914:
|
||||
/* f0a0914: e7ae0074 */ swc1 $f14,0x74($sp)
|
||||
.L0f0a0918:
|
||||
/* f0a0918: 0fc2d5fe */ jal currentPlayerGetScreenLeft
|
||||
/* f0a0918: 0fc2d5fe */ jal camGetScreenLeft
|
||||
/* f0a091c: e7b00070 */ swc1 $f16,0x70($sp)
|
||||
/* f0a0920: c6a61660 */ lwc1 $f6,0x1660($s5)
|
||||
/* f0a0924: 46003480 */ add.s $f18,$f6,$f0
|
||||
/* f0a0928: 0fc2d602 */ jal currentPlayerGetScreenTop
|
||||
/* f0a0928: 0fc2d602 */ jal camGetScreenTop
|
||||
/* f0a092c: e6b21660 */ swc1 $f18,0x1660($s5)
|
||||
/* f0a0930: c6a81664 */ lwc1 $f8,0x1664($s5)
|
||||
/* f0a0934: 3c017f1b */ lui $at,%hi(var7f1ac764)
|
||||
@@ -18413,11 +18413,11 @@ glabel var7f1ac764
|
||||
/* f0a09e8: 00000000 */ nop
|
||||
/* f0a09ec: e6200cd0 */ swc1 $f0,0xcd0($s1)
|
||||
.L0f0a09f0:
|
||||
/* f0a09f0: 0fc2d5fe */ jal currentPlayerGetScreenLeft
|
||||
/* f0a09f0: 0fc2d5fe */ jal camGetScreenLeft
|
||||
/* f0a09f4: 00000000 */ nop
|
||||
/* f0a09f8: c6320ccc */ lwc1 $f18,0xccc($s1)
|
||||
/* f0a09fc: 46009200 */ add.s $f8,$f18,$f0
|
||||
/* f0a0a00: 0fc2d602 */ jal currentPlayerGetScreenTop
|
||||
/* f0a0a00: 0fc2d602 */ jal camGetScreenTop
|
||||
/* f0a0a04: e6280ccc */ swc1 $f8,0xccc($s1)
|
||||
/* f0a0a08: c62a0cd0 */ lwc1 $f10,0xcd0($s1)
|
||||
/* f0a0a0c: 26730001 */ addiu $s3,$s3,0x1
|
||||
@@ -18462,11 +18462,11 @@ glabel var7f1ac764
|
||||
/* f0a0aa0: c7aa0070 */ lwc1 $f10,0x70($sp)
|
||||
/* f0a0aa4: 461a9202 */ mul.s $f8,$f18,$f26
|
||||
/* f0a0aa8: 460a4100 */ add.s $f4,$f8,$f10
|
||||
/* f0a0aac: 0fc2d5fe */ jal currentPlayerGetScreenLeft
|
||||
/* f0a0aac: 0fc2d5fe */ jal camGetScreenLeft
|
||||
/* f0a0ab0: e6a41678 */ swc1 $f4,0x1678($s5)
|
||||
/* f0a0ab4: c6a61674 */ lwc1 $f6,0x1674($s5)
|
||||
/* f0a0ab8: 46003480 */ add.s $f18,$f6,$f0
|
||||
/* f0a0abc: 0fc2d602 */ jal currentPlayerGetScreenTop
|
||||
/* f0a0abc: 0fc2d602 */ jal camGetScreenTop
|
||||
/* f0a0ac0: e6b21674 */ swc1 $f18,0x1674($s5)
|
||||
/* f0a0ac4: c6a81678 */ lwc1 $f8,0x1678($s5)
|
||||
/* f0a0ac8: 27b000c8 */ addiu $s0,$sp,0xc8
|
||||
@@ -18474,7 +18474,7 @@ glabel var7f1ac764
|
||||
/* f0a0ad0: 46004280 */ add.s $f10,$f8,$f0
|
||||
/* f0a0ad4: 26a41674 */ addiu $a0,$s5,0x1674
|
||||
/* f0a0ad8: 3c06447a */ lui $a2,0x447a
|
||||
/* f0a0adc: 0fc2d30f */ jal func0f0b4c3c
|
||||
/* f0a0adc: 0fc2d30f */ jal cam0f0b4c3c
|
||||
/* f0a0ae0: e6aa1678 */ swc1 $f10,0x1678($s5)
|
||||
/* f0a0ae4: 0fc2a4f8 */ jal bgunSetAimPos
|
||||
/* f0a0ae8: 02002025 */ or $a0,$s0,$zero
|
||||
@@ -18532,7 +18532,7 @@ void bgun0f0a0c08(struct coord *arg0, struct coord *arg1)
|
||||
arg0->y = 0;
|
||||
arg0->z = 0;
|
||||
|
||||
func0f0b4c3c(g_Vars.currentplayer->crosspos, arg1, 1);
|
||||
cam0f0b4c3c(g_Vars.currentplayer->crosspos, arg1, 1);
|
||||
}
|
||||
|
||||
void bgun0f0a0c44(s32 handnum, struct coord *arg1, struct coord *arg2)
|
||||
@@ -18541,7 +18541,7 @@ void bgun0f0a0c44(s32 handnum, struct coord *arg1, struct coord *arg2)
|
||||
arg1->y = 0;
|
||||
arg1->z = 0;
|
||||
|
||||
func0f0b4c3c(g_Vars.currentplayer->hands[handnum].crosspos, arg2, 1);
|
||||
cam0f0b4c3c(g_Vars.currentplayer->hands[handnum].crosspos, arg2, 1);
|
||||
}
|
||||
|
||||
void bgunCalculateShotSpread(struct coord *arg0, struct coord *arg1, s32 handnum, bool dorandom)
|
||||
@@ -18582,8 +18582,8 @@ void bgunCalculateShotSpread(struct coord *arg0, struct coord *arg1, s32 handnum
|
||||
randfactor = 0;
|
||||
}
|
||||
|
||||
crosspos[0] = player->crosspos[0] + randfactor * scaledspread * currentPlayerGetScreenWidth()
|
||||
/ (viGetHeight() * currentPlayerGetPerspAspect());
|
||||
crosspos[0] = player->crosspos[0] + randfactor * scaledspread * camGetScreenWidth()
|
||||
/ (viGetHeight() * camGetPerspAspect());
|
||||
|
||||
if (dorandom) {
|
||||
randfactor = (random() * (1.0f / U32_MAX) - 0.5f) * (random() * (1.0f / U32_MAX));
|
||||
@@ -18591,14 +18591,14 @@ void bgunCalculateShotSpread(struct coord *arg0, struct coord *arg1, s32 handnum
|
||||
randfactor = 0;
|
||||
}
|
||||
|
||||
crosspos[1] = player->crosspos[1] + (randfactor * scaledspread * currentPlayerGetScreenHeight())
|
||||
crosspos[1] = player->crosspos[1] + (randfactor * scaledspread * camGetScreenHeight())
|
||||
/ viGetHeight();
|
||||
|
||||
arg0->x = 0;
|
||||
arg0->y = 0;
|
||||
arg0->z = 0;
|
||||
|
||||
func0f0b4c3c(crosspos, arg1, 1);
|
||||
cam0f0b4c3c(crosspos, arg1, 1);
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
@@ -22221,7 +22221,7 @@ glabel bgun0f0a37b4
|
||||
/* f0a3804: c4660034 */ lwc1 $f6,0x34($v1)
|
||||
/* f0a3808: e7a60068 */ swc1 $f6,0x68($sp)
|
||||
/* f0a380c: c4680038 */ lwc1 $f8,0x38($v1)
|
||||
/* f0a3810: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f0a3810: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f0a3814: e7a8006c */ swc1 $f8,0x6c($sp)
|
||||
/* f0a3818: 00402025 */ or $a0,$v0,$zero
|
||||
/* f0a381c: 0c0056d9 */ jal mtx4TransformVecInPlace
|
||||
@@ -22258,13 +22258,13 @@ glabel bgun0f0a37b4
|
||||
/* f0a3894: e7a40050 */ swc1 $f4,0x50($sp)
|
||||
/* f0a3898: e7a6003c */ swc1 $f6,0x3c($sp)
|
||||
/* f0a389c: e7a80040 */ swc1 $f8,0x40($sp)
|
||||
/* f0a38a0: 0fc2d5be */ jal currentPlayerGetMatrix1740
|
||||
/* f0a38a0: 0fc2d5be */ jal camGetMatrix1740
|
||||
/* f0a38a4: e7aa0044 */ swc1 $f10,0x44($sp)
|
||||
/* f0a38a8: 00402025 */ or $a0,$v0,$zero
|
||||
/* f0a38ac: 27a5003c */ addiu $a1,$sp,0x3c
|
||||
/* f0a38b0: 0c0056da */ jal mtx4TransformVec
|
||||
/* f0a38b4: 27a60054 */ addiu $a2,$sp,0x54
|
||||
/* f0a38b8: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f0a38b8: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f0a38bc: 00000000 */ nop
|
||||
/* f0a38c0: 00402025 */ or $a0,$v0,$zero
|
||||
/* f0a38c4: 27a50048 */ addiu $a1,$sp,0x48
|
||||
@@ -22282,7 +22282,7 @@ glabel bgun0f0a37b4
|
||||
/* f0a38f4: 46004282 */ mul.s $f10,$f8,$f0
|
||||
/* f0a38f8: e7b20088 */ swc1 $f18,0x88($sp)
|
||||
/* f0a38fc: e7a6008c */ swc1 $f6,0x8c($sp)
|
||||
/* f0a3900: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f0a3900: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f0a3904: e7aa0090 */ swc1 $f10,0x90($sp)
|
||||
/* f0a3908: 00402025 */ or $a0,$v0,$zero
|
||||
/* f0a390c: 0c0056c4 */ jal mtx4RotateVecInPlace
|
||||
@@ -22335,7 +22335,7 @@ glabel bgun0f0a37b4
|
||||
/* f0a39c0: 00000000 */ nop
|
||||
.L0f0a39c4:
|
||||
/* f0a39c4: 3c063f80 */ lui $a2,0x3f80
|
||||
/* f0a39c8: 0fc2d30f */ jal func0f0b4c3c
|
||||
/* f0a39c8: 0fc2d30f */ jal cam0f0b4c3c
|
||||
/* f0a39cc: afa3002c */ sw $v1,0x2c($sp)
|
||||
/* f0a39d0: 3c0143fa */ lui $at,0x43fa
|
||||
/* f0a39d4: 44810000 */ mtc1 $at,$f0
|
||||
@@ -22351,7 +22351,7 @@ glabel bgun0f0a37b4
|
||||
/* f0a39fc: e7b0008c */ swc1 $f16,0x8c($sp)
|
||||
/* f0a3a00: e7a40090 */ swc1 $f4,0x90($sp)
|
||||
.L0f0a3a04:
|
||||
/* f0a3a04: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f0a3a04: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f0a3a08: 00000000 */ nop
|
||||
/* f0a3a0c: 00402025 */ or $a0,$v0,$zero
|
||||
/* f0a3a10: 0c0056d9 */ jal mtx4TransformVecInPlace
|
||||
@@ -23620,7 +23620,7 @@ glabel var7f1ac8c8
|
||||
/* f0a44f4: 4600a306 */ mov.s $f12,$f20
|
||||
/* f0a44f8: 0c0057c1 */ jal mtx00015f04
|
||||
/* f0a44fc: 02002825 */ or $a1,$s0,$zero
|
||||
/* f0a4500: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f0a4500: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f0a4504: 00000000 */ nop
|
||||
/* f0a4508: 00402025 */ or $a0,$v0,$zero
|
||||
/* f0a450c: 0c00567f */ jal mtx4MultMtx4InPlace
|
||||
@@ -26391,7 +26391,7 @@ glabel var7f1ac9e0
|
||||
/* f0a53cc: c42cc938 */ lwc1 $f12,%lo(var7f1ac938)($at)
|
||||
/* f0a53d0: 0c0057c1 */ jal mtx00015f04
|
||||
/* f0a53d4: 27a50024 */ addiu $a1,$sp,0x24
|
||||
/* f0a53d8: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f0a53d8: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f0a53dc: 00000000 */ nop
|
||||
/* f0a53e0: 00402025 */ or $a0,$v0,$zero
|
||||
/* f0a53e4: 0c00567f */ jal mtx4MultMtx4InPlace
|
||||
@@ -26934,11 +26934,11 @@ glabel var7f1adc74pf
|
||||
/* f0a69c8: 46068480 */ add.s $f18,$f16,$f6
|
||||
/* f0a69cc: e7b20284 */ swc1 $f18,0x284($sp)
|
||||
.JF0f0a69d0:
|
||||
/* f0a69d0: 0fc2da16 */ jal currentPlayerGetScreenWidth
|
||||
/* f0a69d0: 0fc2da16 */ jal camGetScreenWidth
|
||||
/* f0a69d4: 00000000 */ nop
|
||||
/* f0a69d8: 0fc2da1e */ jal currentPlayerGetScreenLeft
|
||||
/* f0a69d8: 0fc2da1e */ jal camGetScreenLeft
|
||||
/* f0a69dc: e7a00064 */ swc1 $f0,0x64($sp)
|
||||
/* f0a69e0: 0fc2da16 */ jal currentPlayerGetScreenWidth
|
||||
/* f0a69e0: 0fc2da16 */ jal camGetScreenWidth
|
||||
/* f0a69e4: e7a00068 */ swc1 $f0,0x68($sp)
|
||||
/* f0a69e8: 3c013f00 */ lui $at,0x3f00
|
||||
/* f0a69ec: 44811000 */ mtc1 $at,$f2
|
||||
@@ -26956,9 +26956,9 @@ glabel var7f1adc74pf
|
||||
/* f0a6a1c: 00000000 */ nop
|
||||
/* f0a6a20: 46020402 */ mul.s $f16,$f0,$f2
|
||||
/* f0a6a24: 46105103 */ div.s $f4,$f10,$f16
|
||||
/* f0a6a28: 0fc2da22 */ jal currentPlayerGetScreenTop
|
||||
/* f0a6a28: 0fc2da22 */ jal camGetScreenTop
|
||||
/* f0a6a2c: e604076c */ swc1 $f4,0x76c($s0)
|
||||
/* f0a6a30: 0fc2da1a */ jal currentPlayerGetScreenHeight
|
||||
/* f0a6a30: 0fc2da1a */ jal camGetScreenHeight
|
||||
/* f0a6a34: e7a00068 */ swc1 $f0,0x68($sp)
|
||||
/* f0a6a38: 3c013f00 */ lui $at,0x3f00
|
||||
/* f0a6a3c: 44813000 */ mtc1 $at,$f6
|
||||
@@ -26971,11 +26971,11 @@ glabel var7f1adc74pf
|
||||
/* f0a6a58: 00000000 */ nop
|
||||
/* f0a6a5c: 4500001a */ bc1f .JF0f0a6ac8
|
||||
/* f0a6a60: 00000000 */ nop
|
||||
/* f0a6a64: 0fc2da1a */ jal currentPlayerGetScreenHeight
|
||||
/* f0a6a64: 0fc2da1a */ jal camGetScreenHeight
|
||||
/* f0a6a68: 00000000 */ nop
|
||||
/* f0a6a6c: 0fc2da22 */ jal currentPlayerGetScreenTop
|
||||
/* f0a6a6c: 0fc2da22 */ jal camGetScreenTop
|
||||
/* f0a6a70: e7a00064 */ swc1 $f0,0x64($sp)
|
||||
/* f0a6a74: 0fc2da1a */ jal currentPlayerGetScreenHeight
|
||||
/* f0a6a74: 0fc2da1a */ jal camGetScreenHeight
|
||||
/* f0a6a78: e7a00068 */ swc1 $f0,0x68($sp)
|
||||
/* f0a6a7c: 3c013f00 */ lui $at,0x3f00
|
||||
/* f0a6a80: 44819000 */ mtc1 $at,$f18
|
||||
@@ -26997,11 +26997,11 @@ glabel var7f1adc74pf
|
||||
/* f0a6ac0: 10000019 */ b .JF0f0a6b28
|
||||
/* f0a6ac4: e6100770 */ swc1 $f16,0x770($s0)
|
||||
.JF0f0a6ac8:
|
||||
/* f0a6ac8: 0fc2da1a */ jal currentPlayerGetScreenHeight
|
||||
/* f0a6ac8: 0fc2da1a */ jal camGetScreenHeight
|
||||
/* f0a6acc: 00000000 */ nop
|
||||
/* f0a6ad0: 0fc2da22 */ jal currentPlayerGetScreenTop
|
||||
/* f0a6ad0: 0fc2da22 */ jal camGetScreenTop
|
||||
/* f0a6ad4: e7a00064 */ swc1 $f0,0x64($sp)
|
||||
/* f0a6ad8: 0fc2da1a */ jal currentPlayerGetScreenHeight
|
||||
/* f0a6ad8: 0fc2da1a */ jal camGetScreenHeight
|
||||
/* f0a6adc: e7a00068 */ swc1 $f0,0x68($sp)
|
||||
/* f0a6ae0: 3c013f00 */ lui $at,0x3f00
|
||||
/* f0a6ae4: 44814000 */ mtc1 $at,$f8
|
||||
@@ -27282,7 +27282,7 @@ glabel var7f1adc74pf
|
||||
/* f0a6ef0: afa40044 */ sw $a0,0x44($sp)
|
||||
/* f0a6ef4: 0c00572e */ jal mtx4Copy
|
||||
/* f0a6ef8: 26050334 */ addiu $a1,$s0,0x334
|
||||
/* f0a6efc: 0fc2d9fe */ jal currentPlayerGetUnk174c
|
||||
/* f0a6efc: 0fc2d9fe */ jal camGetUnk174c
|
||||
/* f0a6f00: 00000000 */ nop
|
||||
/* f0a6f04: 00402025 */ move $a0,$v0
|
||||
/* f0a6f08: 8fa5004c */ lw $a1,0x4c($sp)
|
||||
@@ -27764,7 +27764,7 @@ glabel var7f1adc74pf
|
||||
/* f0a75d0: c4860038 */ lwc1 $f6,0x38($a0)
|
||||
/* f0a75d4: 0c00572e */ jal mtx4Copy
|
||||
/* f0a75d8: e606037c */ swc1 $f6,0x37c($s0)
|
||||
/* f0a75dc: 0fc2d9fe */ jal currentPlayerGetUnk174c
|
||||
/* f0a75dc: 0fc2d9fe */ jal camGetUnk174c
|
||||
/* f0a75e0: 00000000 */ nop
|
||||
/* f0a75e4: 00402025 */ move $a0,$v0
|
||||
/* f0a75e8: 0c0056c1 */ jal mtx4TransformVecInPlace
|
||||
@@ -27836,7 +27836,7 @@ glabel var7f1adc74pf
|
||||
/* f0a76e8: c4840038 */ lwc1 $f4,0x38($a0)
|
||||
/* f0a76ec: 0c00572e */ jal mtx4Copy
|
||||
/* f0a76f0: e604037c */ swc1 $f4,0x37c($s0)
|
||||
/* f0a76f4: 0fc2d9fe */ jal currentPlayerGetUnk174c
|
||||
/* f0a76f4: 0fc2d9fe */ jal camGetUnk174c
|
||||
/* f0a76f8: 00000000 */ nop
|
||||
/* f0a76fc: 00402025 */ move $a0,$v0
|
||||
/* f0a7700: 0c0056c1 */ jal mtx4TransformVecInPlace
|
||||
@@ -28485,11 +28485,11 @@ glabel var7f1adc74pf
|
||||
/* f0a5d94: 46068480 */ add.s $f18,$f16,$f6
|
||||
/* f0a5d98: e7b20284 */ swc1 $f18,0x284($sp)
|
||||
.PF0f0a5d9c:
|
||||
/* f0a5d9c: 0fc2d73e */ jal currentPlayerGetScreenWidth
|
||||
/* f0a5d9c: 0fc2d73e */ jal camGetScreenWidth
|
||||
/* f0a5da0: 00000000 */ nop
|
||||
/* f0a5da4: 0fc2d746 */ jal currentPlayerGetScreenLeft
|
||||
/* f0a5da4: 0fc2d746 */ jal camGetScreenLeft
|
||||
/* f0a5da8: e7a00064 */ swc1 $f0,0x64($sp)
|
||||
/* f0a5dac: 0fc2d73e */ jal currentPlayerGetScreenWidth
|
||||
/* f0a5dac: 0fc2d73e */ jal camGetScreenWidth
|
||||
/* f0a5db0: e7a00068 */ swc1 $f0,0x68($sp)
|
||||
/* f0a5db4: 3c013f00 */ lui $at,0x3f00
|
||||
/* f0a5db8: 44811000 */ mtc1 $at,$f2
|
||||
@@ -28507,9 +28507,9 @@ glabel var7f1adc74pf
|
||||
/* f0a5de8: 00000000 */ nop
|
||||
/* f0a5dec: 46020402 */ mul.s $f16,$f0,$f2
|
||||
/* f0a5df0: 46105103 */ div.s $f4,$f10,$f16
|
||||
/* f0a5df4: 0fc2d74a */ jal currentPlayerGetScreenTop
|
||||
/* f0a5df4: 0fc2d74a */ jal camGetScreenTop
|
||||
/* f0a5df8: e604076c */ swc1 $f4,0x76c($s0)
|
||||
/* f0a5dfc: 0fc2d742 */ jal currentPlayerGetScreenHeight
|
||||
/* f0a5dfc: 0fc2d742 */ jal camGetScreenHeight
|
||||
/* f0a5e00: e7a00068 */ swc1 $f0,0x68($sp)
|
||||
/* f0a5e04: 3c013f00 */ lui $at,0x3f00
|
||||
/* f0a5e08: 44813000 */ mtc1 $at,$f6
|
||||
@@ -28522,11 +28522,11 @@ glabel var7f1adc74pf
|
||||
/* f0a5e24: 00000000 */ nop
|
||||
/* f0a5e28: 4500001a */ bc1f .PF0f0a5e94
|
||||
/* f0a5e2c: 00000000 */ nop
|
||||
/* f0a5e30: 0fc2d742 */ jal currentPlayerGetScreenHeight
|
||||
/* f0a5e30: 0fc2d742 */ jal camGetScreenHeight
|
||||
/* f0a5e34: 00000000 */ nop
|
||||
/* f0a5e38: 0fc2d74a */ jal currentPlayerGetScreenTop
|
||||
/* f0a5e38: 0fc2d74a */ jal camGetScreenTop
|
||||
/* f0a5e3c: e7a00064 */ swc1 $f0,0x64($sp)
|
||||
/* f0a5e40: 0fc2d742 */ jal currentPlayerGetScreenHeight
|
||||
/* f0a5e40: 0fc2d742 */ jal camGetScreenHeight
|
||||
/* f0a5e44: e7a00068 */ swc1 $f0,0x68($sp)
|
||||
/* f0a5e48: 3c013f00 */ lui $at,0x3f00
|
||||
/* f0a5e4c: 44819000 */ mtc1 $at,$f18
|
||||
@@ -28548,11 +28548,11 @@ glabel var7f1adc74pf
|
||||
/* f0a5e8c: 10000019 */ b .PF0f0a5ef4
|
||||
/* f0a5e90: e6100770 */ swc1 $f16,0x770($s0)
|
||||
.PF0f0a5e94:
|
||||
/* f0a5e94: 0fc2d742 */ jal currentPlayerGetScreenHeight
|
||||
/* f0a5e94: 0fc2d742 */ jal camGetScreenHeight
|
||||
/* f0a5e98: 00000000 */ nop
|
||||
/* f0a5e9c: 0fc2d74a */ jal currentPlayerGetScreenTop
|
||||
/* f0a5e9c: 0fc2d74a */ jal camGetScreenTop
|
||||
/* f0a5ea0: e7a00064 */ swc1 $f0,0x64($sp)
|
||||
/* f0a5ea4: 0fc2d742 */ jal currentPlayerGetScreenHeight
|
||||
/* f0a5ea4: 0fc2d742 */ jal camGetScreenHeight
|
||||
/* f0a5ea8: e7a00068 */ swc1 $f0,0x68($sp)
|
||||
/* f0a5eac: 3c013f00 */ lui $at,0x3f00
|
||||
/* f0a5eb0: 44814000 */ mtc1 $at,$f8
|
||||
@@ -28833,7 +28833,7 @@ glabel var7f1adc74pf
|
||||
/* f0a62bc: afa40044 */ sw $a0,0x44($sp)
|
||||
/* f0a62c0: 0c0056aa */ jal mtx4Copy
|
||||
/* f0a62c4: 26050334 */ addiu $a1,$s0,0x334
|
||||
/* f0a62c8: 0fc2d726 */ jal currentPlayerGetUnk174c
|
||||
/* f0a62c8: 0fc2d726 */ jal camGetUnk174c
|
||||
/* f0a62cc: 00000000 */ nop
|
||||
/* f0a62d0: 00402025 */ move $a0,$v0
|
||||
/* f0a62d4: 8fa5004c */ lw $a1,0x4c($sp)
|
||||
@@ -29315,7 +29315,7 @@ glabel var7f1adc74pf
|
||||
/* f0a699c: c4860038 */ lwc1 $f6,0x38($a0)
|
||||
/* f0a69a0: 0c0056aa */ jal mtx4Copy
|
||||
/* f0a69a4: e606037c */ swc1 $f6,0x37c($s0)
|
||||
/* f0a69a8: 0fc2d726 */ jal currentPlayerGetUnk174c
|
||||
/* f0a69a8: 0fc2d726 */ jal camGetUnk174c
|
||||
/* f0a69ac: 00000000 */ nop
|
||||
/* f0a69b0: 00402025 */ move $a0,$v0
|
||||
/* f0a69b4: 0c00563d */ jal mtx4TransformVecInPlace
|
||||
@@ -29387,7 +29387,7 @@ glabel var7f1adc74pf
|
||||
/* f0a6ab4: c4840038 */ lwc1 $f4,0x38($a0)
|
||||
/* f0a6ab8: 0c0056aa */ jal mtx4Copy
|
||||
/* f0a6abc: e604037c */ swc1 $f4,0x37c($s0)
|
||||
/* f0a6ac0: 0fc2d726 */ jal currentPlayerGetUnk174c
|
||||
/* f0a6ac0: 0fc2d726 */ jal camGetUnk174c
|
||||
/* f0a6ac4: 00000000 */ nop
|
||||
/* f0a6ac8: 00402025 */ move $a0,$v0
|
||||
/* f0a6acc: 0c00563d */ jal mtx4TransformVecInPlace
|
||||
@@ -30036,11 +30036,11 @@ glabel var7f1adc74pf
|
||||
/* f0a5ce4: 46068480 */ add.s $f18,$f16,$f6
|
||||
/* f0a5ce8: e7b20284 */ swc1 $f18,0x284($sp)
|
||||
.PB0f0a5cec:
|
||||
/* f0a5cec: 0fc2d6fa */ jal currentPlayerGetScreenWidth
|
||||
/* f0a5cec: 0fc2d6fa */ jal camGetScreenWidth
|
||||
/* f0a5cf0: 00000000 */ nop
|
||||
/* f0a5cf4: 0fc2d702 */ jal currentPlayerGetScreenLeft
|
||||
/* f0a5cf4: 0fc2d702 */ jal camGetScreenLeft
|
||||
/* f0a5cf8: e7a00064 */ swc1 $f0,0x64($sp)
|
||||
/* f0a5cfc: 0fc2d6fa */ jal currentPlayerGetScreenWidth
|
||||
/* f0a5cfc: 0fc2d6fa */ jal camGetScreenWidth
|
||||
/* f0a5d00: e7a00068 */ swc1 $f0,0x68($sp)
|
||||
/* f0a5d04: 3c013f00 */ lui $at,0x3f00
|
||||
/* f0a5d08: 44811000 */ mtc1 $at,$f2
|
||||
@@ -30058,9 +30058,9 @@ glabel var7f1adc74pf
|
||||
/* f0a5d38: 00000000 */ nop
|
||||
/* f0a5d3c: 46020402 */ mul.s $f16,$f0,$f2
|
||||
/* f0a5d40: 46105103 */ div.s $f4,$f10,$f16
|
||||
/* f0a5d44: 0fc2d706 */ jal currentPlayerGetScreenTop
|
||||
/* f0a5d44: 0fc2d706 */ jal camGetScreenTop
|
||||
/* f0a5d48: e604076c */ swc1 $f4,0x76c($s0)
|
||||
/* f0a5d4c: 0fc2d6fe */ jal currentPlayerGetScreenHeight
|
||||
/* f0a5d4c: 0fc2d6fe */ jal camGetScreenHeight
|
||||
/* f0a5d50: e7a00068 */ swc1 $f0,0x68($sp)
|
||||
/* f0a5d54: 3c013f00 */ lui $at,0x3f00
|
||||
/* f0a5d58: 44813000 */ mtc1 $at,$f6
|
||||
@@ -30073,11 +30073,11 @@ glabel var7f1adc74pf
|
||||
/* f0a5d74: 00000000 */ nop
|
||||
/* f0a5d78: 4500001a */ bc1f .PB0f0a5de4
|
||||
/* f0a5d7c: 00000000 */ nop
|
||||
/* f0a5d80: 0fc2d6fe */ jal currentPlayerGetScreenHeight
|
||||
/* f0a5d80: 0fc2d6fe */ jal camGetScreenHeight
|
||||
/* f0a5d84: 00000000 */ nop
|
||||
/* f0a5d88: 0fc2d706 */ jal currentPlayerGetScreenTop
|
||||
/* f0a5d88: 0fc2d706 */ jal camGetScreenTop
|
||||
/* f0a5d8c: e7a00064 */ swc1 $f0,0x64($sp)
|
||||
/* f0a5d90: 0fc2d6fe */ jal currentPlayerGetScreenHeight
|
||||
/* f0a5d90: 0fc2d6fe */ jal camGetScreenHeight
|
||||
/* f0a5d94: e7a00068 */ swc1 $f0,0x68($sp)
|
||||
/* f0a5d98: 3c013f00 */ lui $at,0x3f00
|
||||
/* f0a5d9c: 44819000 */ mtc1 $at,$f18
|
||||
@@ -30099,11 +30099,11 @@ glabel var7f1adc74pf
|
||||
/* f0a5ddc: 10000019 */ b .PB0f0a5e44
|
||||
/* f0a5de0: e6100770 */ swc1 $f16,0x770($s0)
|
||||
.PB0f0a5de4:
|
||||
/* f0a5de4: 0fc2d6fe */ jal currentPlayerGetScreenHeight
|
||||
/* f0a5de4: 0fc2d6fe */ jal camGetScreenHeight
|
||||
/* f0a5de8: 00000000 */ nop
|
||||
/* f0a5dec: 0fc2d706 */ jal currentPlayerGetScreenTop
|
||||
/* f0a5dec: 0fc2d706 */ jal camGetScreenTop
|
||||
/* f0a5df0: e7a00064 */ swc1 $f0,0x64($sp)
|
||||
/* f0a5df4: 0fc2d6fe */ jal currentPlayerGetScreenHeight
|
||||
/* f0a5df4: 0fc2d6fe */ jal camGetScreenHeight
|
||||
/* f0a5df8: e7a00068 */ swc1 $f0,0x68($sp)
|
||||
/* f0a5dfc: 3c013f00 */ lui $at,0x3f00
|
||||
/* f0a5e00: 44814000 */ mtc1 $at,$f8
|
||||
@@ -30384,7 +30384,7 @@ glabel var7f1adc74pf
|
||||
/* f0a620c: afa40044 */ sw $a0,0x44($sp)
|
||||
/* f0a6210: 0c0059da */ jal mtx4Copy
|
||||
/* f0a6214: 26050334 */ addiu $a1,$s0,0x334
|
||||
/* f0a6218: 0fc2d6e2 */ jal currentPlayerGetUnk174c
|
||||
/* f0a6218: 0fc2d6e2 */ jal camGetUnk174c
|
||||
/* f0a621c: 00000000 */ nop
|
||||
/* f0a6220: 00402025 */ move $a0,$v0
|
||||
/* f0a6224: 8fa5004c */ lw $a1,0x4c($sp)
|
||||
@@ -30866,7 +30866,7 @@ glabel var7f1adc74pf
|
||||
/* f0a68ec: c4860038 */ lwc1 $f6,0x38($a0)
|
||||
/* f0a68f0: 0c0059da */ jal mtx4Copy
|
||||
/* f0a68f4: e606037c */ swc1 $f6,0x37c($s0)
|
||||
/* f0a68f8: 0fc2d6e2 */ jal currentPlayerGetUnk174c
|
||||
/* f0a68f8: 0fc2d6e2 */ jal camGetUnk174c
|
||||
/* f0a68fc: 00000000 */ nop
|
||||
/* f0a6900: 00402025 */ move $a0,$v0
|
||||
/* f0a6904: 0c00596d */ jal mtx4TransformVecInPlace
|
||||
@@ -30938,7 +30938,7 @@ glabel var7f1adc74pf
|
||||
/* f0a6a04: c4840038 */ lwc1 $f4,0x38($a0)
|
||||
/* f0a6a08: 0c0059da */ jal mtx4Copy
|
||||
/* f0a6a0c: e604037c */ swc1 $f4,0x37c($s0)
|
||||
/* f0a6a10: 0fc2d6e2 */ jal currentPlayerGetUnk174c
|
||||
/* f0a6a10: 0fc2d6e2 */ jal camGetUnk174c
|
||||
/* f0a6a14: 00000000 */ nop
|
||||
/* f0a6a18: 00402025 */ move $a0,$v0
|
||||
/* f0a6a1c: 0c00596d */ jal mtx4TransformVecInPlace
|
||||
@@ -31575,11 +31575,11 @@ glabel var7f1aca70
|
||||
/* f0a5a7c: 46068480 */ add.s $f18,$f16,$f6
|
||||
/* f0a5a80: e7b2027c */ swc1 $f18,0x27c($sp)
|
||||
.L0f0a5a84:
|
||||
/* f0a5a84: 0fc2d5f6 */ jal currentPlayerGetScreenWidth
|
||||
/* f0a5a84: 0fc2d5f6 */ jal camGetScreenWidth
|
||||
/* f0a5a88: 00000000 */ nop
|
||||
/* f0a5a8c: 0fc2d5fe */ jal currentPlayerGetScreenLeft
|
||||
/* f0a5a8c: 0fc2d5fe */ jal camGetScreenLeft
|
||||
/* f0a5a90: e7a00060 */ swc1 $f0,0x60($sp)
|
||||
/* f0a5a94: 0fc2d5f6 */ jal currentPlayerGetScreenWidth
|
||||
/* f0a5a94: 0fc2d5f6 */ jal camGetScreenWidth
|
||||
/* f0a5a98: e7a00064 */ swc1 $f0,0x64($sp)
|
||||
/* f0a5a9c: 3c013f00 */ lui $at,0x3f00
|
||||
/* f0a5aa0: 44811000 */ mtc1 $at,$f2
|
||||
@@ -31597,9 +31597,9 @@ glabel var7f1aca70
|
||||
/* f0a5ad0: 00000000 */ nop
|
||||
/* f0a5ad4: 46020402 */ mul.s $f16,$f0,$f2
|
||||
/* f0a5ad8: 46105103 */ div.s $f4,$f10,$f16
|
||||
/* f0a5adc: 0fc2d602 */ jal currentPlayerGetScreenTop
|
||||
/* f0a5adc: 0fc2d602 */ jal camGetScreenTop
|
||||
/* f0a5ae0: e604076c */ swc1 $f4,0x76c($s0)
|
||||
/* f0a5ae4: 0fc2d5fa */ jal currentPlayerGetScreenHeight
|
||||
/* f0a5ae4: 0fc2d5fa */ jal camGetScreenHeight
|
||||
/* f0a5ae8: e7a00064 */ swc1 $f0,0x64($sp)
|
||||
/* f0a5aec: 3c013f00 */ lui $at,0x3f00
|
||||
/* f0a5af0: 44813000 */ mtc1 $at,$f6
|
||||
@@ -31612,11 +31612,11 @@ glabel var7f1aca70
|
||||
/* f0a5b0c: 00000000 */ nop
|
||||
/* f0a5b10: 4500001a */ bc1f .L0f0a5b7c
|
||||
/* f0a5b14: 00000000 */ nop
|
||||
/* f0a5b18: 0fc2d5fa */ jal currentPlayerGetScreenHeight
|
||||
/* f0a5b18: 0fc2d5fa */ jal camGetScreenHeight
|
||||
/* f0a5b1c: 00000000 */ nop
|
||||
/* f0a5b20: 0fc2d602 */ jal currentPlayerGetScreenTop
|
||||
/* f0a5b20: 0fc2d602 */ jal camGetScreenTop
|
||||
/* f0a5b24: e7a00060 */ swc1 $f0,0x60($sp)
|
||||
/* f0a5b28: 0fc2d5fa */ jal currentPlayerGetScreenHeight
|
||||
/* f0a5b28: 0fc2d5fa */ jal camGetScreenHeight
|
||||
/* f0a5b2c: e7a00064 */ swc1 $f0,0x64($sp)
|
||||
/* f0a5b30: 3c013f00 */ lui $at,0x3f00
|
||||
/* f0a5b34: 44819000 */ mtc1 $at,$f18
|
||||
@@ -31638,11 +31638,11 @@ glabel var7f1aca70
|
||||
/* f0a5b74: 10000019 */ b .L0f0a5bdc
|
||||
/* f0a5b78: e6100770 */ swc1 $f16,0x770($s0)
|
||||
.L0f0a5b7c:
|
||||
/* f0a5b7c: 0fc2d5fa */ jal currentPlayerGetScreenHeight
|
||||
/* f0a5b7c: 0fc2d5fa */ jal camGetScreenHeight
|
||||
/* f0a5b80: 00000000 */ nop
|
||||
/* f0a5b84: 0fc2d602 */ jal currentPlayerGetScreenTop
|
||||
/* f0a5b84: 0fc2d602 */ jal camGetScreenTop
|
||||
/* f0a5b88: e7a00060 */ swc1 $f0,0x60($sp)
|
||||
/* f0a5b8c: 0fc2d5fa */ jal currentPlayerGetScreenHeight
|
||||
/* f0a5b8c: 0fc2d5fa */ jal camGetScreenHeight
|
||||
/* f0a5b90: e7a00064 */ swc1 $f0,0x64($sp)
|
||||
/* f0a5b94: 3c013f00 */ lui $at,0x3f00
|
||||
/* f0a5b98: 44814000 */ mtc1 $at,$f8
|
||||
@@ -31923,7 +31923,7 @@ glabel var7f1aca70
|
||||
/* f0a5fa4: afa40040 */ sw $a0,0x40($sp)
|
||||
/* f0a5fa8: 0c005746 */ jal mtx4Copy
|
||||
/* f0a5fac: 26050334 */ addiu $a1,$s0,0x334
|
||||
/* f0a5fb0: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f0a5fb0: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f0a5fb4: 00000000 */ nop
|
||||
/* f0a5fb8: 00402025 */ or $a0,$v0,$zero
|
||||
/* f0a5fbc: 8fa50048 */ lw $a1,0x48($sp)
|
||||
@@ -32321,7 +32321,7 @@ glabel var7f1aca70
|
||||
/* f0a6558: c4860038 */ lwc1 $f6,0x38($a0)
|
||||
/* f0a655c: 0c005746 */ jal mtx4Copy
|
||||
/* f0a6560: e606037c */ swc1 $f6,0x37c($s0)
|
||||
/* f0a6564: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f0a6564: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f0a6568: 00000000 */ nop
|
||||
/* f0a656c: 00402025 */ or $a0,$v0,$zero
|
||||
/* f0a6570: 0c0056d9 */ jal mtx4TransformVecInPlace
|
||||
@@ -32393,7 +32393,7 @@ glabel var7f1aca70
|
||||
/* f0a6670: c4840038 */ lwc1 $f4,0x38($a0)
|
||||
/* f0a6674: 0c005746 */ jal mtx4Copy
|
||||
/* f0a6678: e604037c */ swc1 $f4,0x37c($s0)
|
||||
/* f0a667c: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f0a667c: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f0a6680: 00000000 */ nop
|
||||
/* f0a6684: 00402025 */ or $a0,$v0,$zero
|
||||
/* f0a6688: 0c0056d9 */ jal mtx4TransformVecInPlace
|
||||
@@ -33159,7 +33159,7 @@ glabel var7f1aca90
|
||||
/* f0a74d4: 25ae0008 */ addiu $t6,$t5,0x8
|
||||
/* f0a74d8: afae014c */ sw $t6,0x14c($sp)
|
||||
/* f0a74dc: adaf0000 */ sw $t7,0x0($t5)
|
||||
/* f0a74e0: 0fc2d5ea */ jal currentPlayerGetUnk175c
|
||||
/* f0a74e0: 0fc2d5ea */ jal camGetUnk175c
|
||||
/* f0a74e4: afad00d4 */ sw $t5,0xd4($sp)
|
||||
/* f0a74e8: 8fa500d4 */ lw $a1,0xd4($sp)
|
||||
/* f0a74ec: 3c080382 */ lui $t0,0x382
|
||||
@@ -33169,7 +33169,7 @@ glabel var7f1aca90
|
||||
/* f0a74fc: 25890008 */ addiu $t1,$t4,0x8
|
||||
/* f0a7500: afa9014c */ sw $t1,0x14c($sp)
|
||||
/* f0a7504: ad880000 */ sw $t0,0x0($t4)
|
||||
/* f0a7508: 0fc2d5ea */ jal currentPlayerGetUnk175c
|
||||
/* f0a7508: 0fc2d5ea */ jal camGetUnk175c
|
||||
/* f0a750c: afac00d0 */ sw $t4,0xd0($sp)
|
||||
/* f0a7510: 8fa300d0 */ lw $v1,0xd0($sp)
|
||||
/* f0a7514: 244a0010 */ addiu $t2,$v0,0x10
|
||||
@@ -34000,7 +34000,7 @@ glabel var7f1aca90
|
||||
/* f0a74d4: 25ae0008 */ addiu $t6,$t5,0x8
|
||||
/* f0a74d8: afae014c */ sw $t6,0x14c($sp)
|
||||
/* f0a74dc: adaf0000 */ sw $t7,0x0($t5)
|
||||
/* f0a74e0: 0fc2d5ea */ jal currentPlayerGetUnk175c
|
||||
/* f0a74e0: 0fc2d5ea */ jal camGetUnk175c
|
||||
/* f0a74e4: afad00d4 */ sw $t5,0xd4($sp)
|
||||
/* f0a74e8: 8fa500d4 */ lw $a1,0xd4($sp)
|
||||
/* f0a74ec: 3c080382 */ lui $t0,0x382
|
||||
@@ -34010,7 +34010,7 @@ glabel var7f1aca90
|
||||
/* f0a74fc: 25890008 */ addiu $t1,$t4,0x8
|
||||
/* f0a7500: afa9014c */ sw $t1,0x14c($sp)
|
||||
/* f0a7504: ad880000 */ sw $t0,0x0($t4)
|
||||
/* f0a7508: 0fc2d5ea */ jal currentPlayerGetUnk175c
|
||||
/* f0a7508: 0fc2d5ea */ jal camGetUnk175c
|
||||
/* f0a750c: afac00d0 */ sw $t4,0xd0($sp)
|
||||
/* f0a7510: 8fa300d0 */ lw $v1,0xd0($sp)
|
||||
/* f0a7514: 244a0010 */ addiu $t2,$v0,0x10
|
||||
@@ -34841,7 +34841,7 @@ glabel var7f1aca90
|
||||
/* f0a5220: 25ae0008 */ addiu $t6,$t5,0x8
|
||||
/* f0a5224: afae0144 */ sw $t6,0x144($sp)
|
||||
/* f0a5228: adaf0000 */ sw $t7,0x0($t5)
|
||||
/* f0a522c: 0fc2cd42 */ jal currentPlayerGetUnk175c
|
||||
/* f0a522c: 0fc2cd42 */ jal camGetUnk175c
|
||||
/* f0a5230: afad00cc */ sw $t5,0xcc($sp)
|
||||
/* f0a5234: 8fa500cc */ lw $a1,0xcc($sp)
|
||||
/* f0a5238: 3c080382 */ lui $t0,0x382
|
||||
@@ -34851,7 +34851,7 @@ glabel var7f1aca90
|
||||
/* f0a5248: 25890008 */ addiu $t1,$t4,0x8
|
||||
/* f0a524c: afa90144 */ sw $t1,0x144($sp)
|
||||
/* f0a5250: ad880000 */ sw $t0,0x0($t4)
|
||||
/* f0a5254: 0fc2cd42 */ jal currentPlayerGetUnk175c
|
||||
/* f0a5254: 0fc2cd42 */ jal camGetUnk175c
|
||||
/* f0a5258: afac00c8 */ sw $t4,0xc8($sp)
|
||||
/* f0a525c: 8fa300c8 */ lw $v1,0xc8($sp)
|
||||
/* f0a5260: 244a0010 */ addiu $t2,$v0,0x10
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/game_01afc0.h"
|
||||
#include "bss.h"
|
||||
#include "lib/vi.h"
|
||||
#include "lib/dma.h"
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/game_013ee0.h"
|
||||
#include "game/bondhead.h"
|
||||
#include "game/bg.h"
|
||||
#include "game/pad.h"
|
||||
|
||||
+11
-11
@@ -10,11 +10,11 @@
|
||||
#include "game/chr.h"
|
||||
#include "game/prop.h"
|
||||
#include "game/atan2f.h"
|
||||
#include "game/game_096ca0.h"
|
||||
#include "game/quaternion.h"
|
||||
#include "game/bondgun.h"
|
||||
#include "game/game_0b0fd0.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/game_0b4950.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/camera.h"
|
||||
#include "game/player.h"
|
||||
#include "game/bondcutscene.h"
|
||||
#include "game/bondhead.h"
|
||||
@@ -1488,7 +1488,7 @@ void bmoveProcessInput(bool allowc1x, bool allowc1y, bool allowc1buttons, bool i
|
||||
&& g_Vars.currentplayer->insightaimmode
|
||||
&& (movedata.farsighttempautoseek || g_Vars.currentplayer->hands[HAND_RIGHT].gset.weaponfunc == FUNC_SECONDARY)
|
||||
&& g_Vars.currentplayer->autoeraserdist > 0) {
|
||||
eraserfov = func0f0b49b8(500.0f / g_Vars.currentplayer->autoeraserdist);
|
||||
eraserfov = cam0f0b49b8(500.0f / g_Vars.currentplayer->autoeraserdist);
|
||||
|
||||
if (eraserfov > 60) {
|
||||
eraserfov = 60;
|
||||
@@ -1500,19 +1500,19 @@ void bmoveProcessInput(bool allowc1x, bool allowc1y, bool allowc1buttons, bool i
|
||||
|
||||
g_Vars.currentplayer->gunzoomfovs[1] = eraserfov;
|
||||
|
||||
mtx4TransformVec(currentPlayerGetMatrix1740(), &g_Vars.currentplayer->autoerasertarget->pos, &spa0);
|
||||
mtx4TransformVec(camGetMatrix1740(), &g_Vars.currentplayer->autoerasertarget->pos, &spa0);
|
||||
|
||||
func0f0b4eb8(&spa0, crosspos, eraserfov, g_Vars.currentplayer->c_perspaspect);
|
||||
cam0f0b4eb8(&spa0, crosspos, eraserfov, g_Vars.currentplayer->c_perspaspect);
|
||||
|
||||
if (crosspos[0] < (currentPlayerGetScreenLeft() + currentPlayerGetScreenWidth() * 0.5f) - 20.0f) {
|
||||
if (crosspos[0] < (camGetScreenLeft() + camGetScreenWidth() * 0.5f) - 20.0f) {
|
||||
movedata.aimturnleftspeed = 0.25f;
|
||||
} else if (crosspos[0] > currentPlayerGetScreenLeft() + currentPlayerGetScreenWidth() * 0.5f + 20.0f) {
|
||||
} else if (crosspos[0] > camGetScreenLeft() + camGetScreenWidth() * 0.5f + 20.0f) {
|
||||
movedata.aimturnrightspeed = 0.25f;
|
||||
}
|
||||
|
||||
if (crosspos[1] < (currentPlayerGetScreenTop() + currentPlayerGetScreenHeight() * 0.5f) - 20.0f) {
|
||||
if (crosspos[1] < (camGetScreenTop() + camGetScreenHeight() * 0.5f) - 20.0f) {
|
||||
movedata.speedvertaup = 0.25f;
|
||||
} else if (crosspos[1] > currentPlayerGetScreenTop() + currentPlayerGetScreenHeight() * 0.5f + 20.0f) {
|
||||
} else if (crosspos[1] > camGetScreenTop() + camGetScreenHeight() * 0.5f + 20.0f) {
|
||||
movedata.speedvertadown = 0.25f;
|
||||
}
|
||||
}
|
||||
@@ -1957,7 +1957,7 @@ void bmoveTick(bool allowc1x, bool allowc1y, bool allowc1buttons, bool ignorec2)
|
||||
|
||||
chr->floortype = g_Vars.currentplayer->floortype;
|
||||
|
||||
sound = chrChooseFootstepSound(chr, distance > 10);
|
||||
sound = footstepChooseSound(chr, distance > 10);
|
||||
|
||||
if (sound != -1) {
|
||||
snd00010718(0, 0, 0x7fff, 0x40, sound, 1, 1, -1, 1);
|
||||
|
||||
+4
-4
@@ -4,7 +4,7 @@
|
||||
#include "game/game_006900.h"
|
||||
#include "game/atan2f.h"
|
||||
#include "game/savebuffer.h"
|
||||
#include "game/game_11f000.h"
|
||||
#include "game/sky.h"
|
||||
#include "game/bondview.h"
|
||||
#include "game/game_1531a0.h"
|
||||
#include "game/gfxmemory.h"
|
||||
@@ -19784,7 +19784,7 @@ glabel bviewRenderNvLens
|
||||
/* f1473f0: 14200004 */ bnez $at,.L0f147404
|
||||
/* f1473f4: 00402025 */ or $a0,$v0,$zero
|
||||
/* f1473f8: 00402825 */ or $a1,$v0,$zero
|
||||
/* f1473fc: 0fc49ccd */ jal func0f127334
|
||||
/* f1473fc: 0fc49ccd */ jal sky0f127334
|
||||
/* f147400: 00403025 */ or $a2,$v0,$zero
|
||||
.L0f147404:
|
||||
/* f147404: 8e0e0288 */ lw $t6,0x288($s0)
|
||||
@@ -19954,7 +19954,7 @@ glabel bviewRenderNvLens
|
||||
/* f141c84: 14200004 */ bnez $at,.NB0f141c98
|
||||
/* f141c88: 00402025 */ or $a0,$v0,$zero
|
||||
/* f141c8c: 00402825 */ or $a1,$v0,$zero
|
||||
/* f141c90: 0fc487dd */ jal func0f127334
|
||||
/* f141c90: 0fc487dd */ jal sky0f127334
|
||||
/* f141c94: 00403025 */ or $a2,$v0,$zero
|
||||
.NB0f141c98:
|
||||
/* f141c98: 8e0e0288 */ lw $t6,0x288($s0)
|
||||
@@ -20088,7 +20088,7 @@ glabel bviewRenderNvLens
|
||||
// roomvalue = func0f0009c0(g_Vars.currentplayer->prop->rooms[0]);
|
||||
//
|
||||
// if (roomvalue > 128) {
|
||||
// func0f127334(roomvalue, roomvalue, roomvalue);
|
||||
// sky0f127334(roomvalue, roomvalue, roomvalue);
|
||||
// }
|
||||
//
|
||||
// if (g_Menus[g_Vars.currentplayerstats->mpindex].curframe == NULL) {
|
||||
|
||||
+4
-4
@@ -2553,7 +2553,7 @@ void bwalkUpdateVertical(void)
|
||||
chr->floortype = g_Vars.currentplayer->floortype;
|
||||
chr->footstep = 1;
|
||||
|
||||
sound = chrChooseFootstepSound(chr, true);
|
||||
sound = footstepChooseSound(chr, true);
|
||||
|
||||
if (sound != -1) {
|
||||
if (sound != -1) {
|
||||
@@ -2562,7 +2562,7 @@ void bwalkUpdateVertical(void)
|
||||
}
|
||||
|
||||
chr->footstep = 2;
|
||||
sound = chrChooseFootstepSound(chr, true);
|
||||
sound = footstepChooseSound(chr, true);
|
||||
|
||||
if (sound != -1) {
|
||||
func0f0939f8(NULL, g_Vars.currentplayer->prop, sound,
|
||||
@@ -3322,7 +3322,7 @@ glabel var7f1a7b20nb
|
||||
/* f0c3504: a0980191 */ sb $t8,0x191($a0)
|
||||
/* f0c3508: a0990190 */ sb $t9,0x190($a0)
|
||||
/* f0c350c: afa300ec */ sw $v1,0xec($sp)
|
||||
/* f0c3510: 0fc01771 */ jal chrChooseFootstepSound
|
||||
/* f0c3510: 0fc01771 */ jal footstepChooseSound
|
||||
/* f0c3514: afa40070 */ sw $a0,0x70($sp)
|
||||
/* f0c3518: 2401ffff */ addiu $at,$zero,-1
|
||||
/* f0c351c: 10410043 */ beq $v0,$at,.NB0f0c362c
|
||||
@@ -3360,7 +3360,7 @@ glabel var7f1a7b20nb
|
||||
/* f0c3598: 240e0002 */ addiu $t6,$zero,0x2
|
||||
/* f0c359c: 24050001 */ addiu $a1,$zero,0x1
|
||||
/* f0c35a0: a08e0190 */ sb $t6,0x190($a0)
|
||||
/* f0c35a4: 0fc01771 */ jal chrChooseFootstepSound
|
||||
/* f0c35a4: 0fc01771 */ jal footstepChooseSound
|
||||
/* f0c35a8: afa300ec */ sw $v1,0xec($sp)
|
||||
/* f0c35ac: 2401ffff */ addiu $at,$zero,-1
|
||||
/* f0c35b0: 1041001e */ beq $v0,$at,.NB0f0c362c
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@
|
||||
#include "game/savebuffer.h"
|
||||
#include "game/bossfile.h"
|
||||
#include "game/bg.h"
|
||||
#include "game/game_19aa80.h"
|
||||
#include "game/challenge.h"
|
||||
#include "game/training.h"
|
||||
#include "game/gamefile.h"
|
||||
#include "game/mplayer/mplayer.h"
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@
|
||||
#include "game/botcmd.h"
|
||||
#include "game/botact.h"
|
||||
#include "game/botinv.h"
|
||||
#include "game/game_19aa80.h"
|
||||
#include "game/challenge.h"
|
||||
#include "game/lang.h"
|
||||
#include "game/mplayer/mplayer.h"
|
||||
#include "game/pad.h"
|
||||
|
||||
+2
-2
@@ -2,7 +2,7 @@
|
||||
#include "constants.h"
|
||||
#include "game/botmgr.h"
|
||||
#include "game/chr.h"
|
||||
#include "game/game_02cde0.h"
|
||||
#include "game/body.h"
|
||||
#include "game/prop.h"
|
||||
#include "game/botcmd.h"
|
||||
#include "game/mplayer/mplayer.h"
|
||||
@@ -46,7 +46,7 @@ void botmgrAllocateBot(s32 chrnum, s32 aibotnum)
|
||||
bodynum = BODY_DDSHOCK;
|
||||
}
|
||||
|
||||
model = modelAllocateChr(bodynum, headnum, 0);
|
||||
model = bodyAllocateModel(bodynum, headnum, 0);
|
||||
|
||||
if (model != NULL) {
|
||||
struct coord pos = {0.0f, 0.0f, 0.0f};
|
||||
|
||||
@@ -0,0 +1,164 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/chrai.h"
|
||||
#include "game/chraicommands.h"
|
||||
#include "game/prop.h"
|
||||
#include "game/atan2f.h"
|
||||
#include "game/playermgr.h"
|
||||
#include "game/mplayer/setup.h"
|
||||
#include "game/bot.h"
|
||||
#include "game/challenge.h"
|
||||
#include "game/training.h"
|
||||
#include "game/lang.h"
|
||||
#include "game/mplayer/mplayer.h"
|
||||
#include "game/mplayer/scenarios.h"
|
||||
#include "game/pad.h"
|
||||
#include "bss.h"
|
||||
#include "lib/dma.h"
|
||||
#include "lib/rng.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
/**
|
||||
* Find a position inside the given room and populate the pointer arguments with
|
||||
* information about the position.
|
||||
*
|
||||
* Used by bots in King of the Hill scenarios only. The room argument is always
|
||||
* a hill room.
|
||||
*
|
||||
* @bug: There is a possible array overflow in both the covernums and padnums
|
||||
* arrays. The for loops stop when the array is full, but the outer loop makes
|
||||
* them iterate again, and the check is only at the end of each for loop rather
|
||||
* than at the start.
|
||||
*
|
||||
* For covernums, the three variables declared above it are never written to the
|
||||
* stack, so the outer loop would need to iterate three times while covernums is
|
||||
* full in order to write into the caller's stack space. The only caller is
|
||||
* botTickUnpaused, and its first stack usage is 0x20 where it backs up s0.
|
||||
* So the outer loop would need to iterate 11 times before any damage could be
|
||||
* done.
|
||||
*
|
||||
* For padnums, any overflow will write into the rooms array, likely clearing
|
||||
* the -1 terminator in rooms[1] and affecting cover selection. Further
|
||||
* iterations of the outer loop would write into the cover struct, but this is
|
||||
* written before it's read so there's no issue there.
|
||||
*
|
||||
* It's likely that these don't ever overflow, or they overflow minimally which
|
||||
* has no serious effect, but this should be investigated further.
|
||||
*/
|
||||
bool botroomFindPos(s16 room, struct coord *pos, f32 *angleptr, s32 *padnumptr, s32 *covernumptr)
|
||||
{
|
||||
s32 i;
|
||||
struct waypoint *waypoint;
|
||||
s32 waypointnum;
|
||||
s32 covernums[40]; /// written to stack
|
||||
s32 covercount;
|
||||
struct cover cover; // written to stack
|
||||
s16 rooms[2]; // written to stack
|
||||
s32 padnums[40]; // written to stack
|
||||
s32 padcount;
|
||||
s32 totalcount;
|
||||
struct pad pad;
|
||||
bool sp54;
|
||||
bool sp50;
|
||||
s32 count;
|
||||
|
||||
covercount = 0;
|
||||
padcount = 0;
|
||||
|
||||
sp50 = 0;
|
||||
|
||||
rooms[0] = room;
|
||||
rooms[1] = -1;
|
||||
|
||||
totalcount = 0;
|
||||
|
||||
do {
|
||||
sp54 = false;
|
||||
count = coverGetCount();
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
if (coverUnpack(i, &cover) && !coverIsSpecial(&cover) && arrayIntersects(cover.rooms, rooms)) {
|
||||
if (sp50 && (cover.flags & COVERFLAG_0100)) {
|
||||
coverUnsetFlag(i, COVERFLAG_0100);
|
||||
covernums[covercount] = i;
|
||||
covercount++;
|
||||
totalcount++;
|
||||
} else if ((cover.flags & COVERFLAG_0100) == 0) {
|
||||
covernums[covercount] = i;
|
||||
covercount++;
|
||||
totalcount++;
|
||||
} else {
|
||||
sp54 = true;
|
||||
}
|
||||
|
||||
if (covercount >= ARRAYCOUNT(covernums)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (g_StageSetup.waypoints != NULL) {
|
||||
count = g_Rooms[room].numwaypoints;
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
waypointnum = g_Vars.waypointnums[g_Rooms[room].firstwaypoint + i];
|
||||
waypoint = &g_StageSetup.waypoints[waypointnum];
|
||||
|
||||
padUnpack(waypoint->padnum, PADFIELD_FLAGS, &pad);
|
||||
|
||||
if (sp50 && (pad.flags & PADFLAG_20000)) {
|
||||
padUnsetFlag(waypoint->padnum, PADFLAG_20000);
|
||||
padnums[padcount] = waypoint->padnum;
|
||||
padcount++;
|
||||
totalcount++;
|
||||
} else if ((pad.flags & PADFLAG_20000) == 0) {
|
||||
padnums[padcount] = waypoint->padnum;
|
||||
padcount++;
|
||||
totalcount++;
|
||||
} else {
|
||||
sp54 = true;
|
||||
}
|
||||
|
||||
if (padcount >= ARRAYCOUNT(padnums)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (1);
|
||||
|
||||
sp50 = sp54;
|
||||
} while (sp54 && !totalcount);
|
||||
|
||||
if (!totalcount) {
|
||||
return false;
|
||||
}
|
||||
|
||||
i = random() % totalcount;
|
||||
|
||||
if (i < covercount) {
|
||||
coverUnpack(covernums[i], &cover);
|
||||
|
||||
pos->x = cover.pos->x;
|
||||
pos->y = cover.pos->y;
|
||||
pos->z = cover.pos->z;
|
||||
|
||||
*angleptr = atan2f(cover.look->z, cover.look->x);
|
||||
*padnumptr = -1;
|
||||
*covernumptr = covernums[i];
|
||||
} else {
|
||||
i -= covercount;
|
||||
padUnpack(padnums[i], PADFIELD_POS | PADFIELD_LOOK, &pad);
|
||||
|
||||
pos->x = pad.pos.x;
|
||||
pos->y = pad.pos.y;
|
||||
pos->z = pad.pos.z;
|
||||
|
||||
*angleptr = atan2f(pad.look.z, pad.look.x);
|
||||
*padnumptr = padnums[i];
|
||||
*covernumptr = -1;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "bss.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
char *buildGetTimestamp(void)
|
||||
{
|
||||
#if VERSION >= VERSION_JPN_FINAL
|
||||
return "Jul 19 2000 09:43:24";
|
||||
#elif VERSION >= VERSION_PAL_FINAL
|
||||
return "Apr 28 2000 14:40:49";
|
||||
#elif VERSION >= VERSION_PAL_BETA
|
||||
return "Apr 26 2000 16:36:48";
|
||||
#elif VERSION >= VERSION_NTSC_1_0
|
||||
return "Apr 6 2000 15:05:01";
|
||||
#else
|
||||
return "Mar 22 2000 00:26:50";
|
||||
#endif
|
||||
}
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/camdraw.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/menu.h"
|
||||
#include "game/stubs/game_102230.h"
|
||||
#include "game/bg.h"
|
||||
@@ -2090,7 +2090,7 @@ Gfx *func0f14c870(Gfx *gdl, struct textureconfig *tconfig, f32 *arg2, f32 arg3,
|
||||
gDPSetTextureConvert(gdl++, G_TC_FILT);
|
||||
gDPSetCombineMode(gdl++, G_CC_MODULATEI, G_CC_MODULATEI);
|
||||
|
||||
func0f0b39c0(&gdl, tconfig, 1, 0, 2, 1, &var800a45a8);
|
||||
tex0f0b39c0(&gdl, tconfig, 1, 0, 2, 1, &var800a45a8);
|
||||
|
||||
gDPSetCycleType(gdl++, G_CYC_1CYCLE);
|
||||
gDPSetCombineMode(gdl++, G_CC_DECALRGBA, G_CC_DECALRGBA);
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/atan2f.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/playermgr.h"
|
||||
#include "game/bg.h"
|
||||
#include "game/texdecompress.h"
|
||||
#include "game/game_173a00.h"
|
||||
#include "game/surface.h"
|
||||
#include "bss.h"
|
||||
#include "lib/mtx.h"
|
||||
#include "data.h"
|
||||
@@ -32,12 +32,12 @@ f32 var8009dd64;
|
||||
f32 var8009dd68;
|
||||
f32 var8009dd6c;
|
||||
|
||||
void func0f0b4950(void)
|
||||
void cam0f0b4950(void)
|
||||
{
|
||||
// empty
|
||||
}
|
||||
|
||||
void currentPlayerSetScreenSize(f32 width, f32 height)
|
||||
void camSetScreenSize(f32 width, f32 height)
|
||||
{
|
||||
struct player *player = g_Vars.currentplayer;
|
||||
|
||||
@@ -47,7 +47,7 @@ void currentPlayerSetScreenSize(f32 width, f32 height)
|
||||
player->c_halfheight = height * 0.5f;
|
||||
}
|
||||
|
||||
void currentPlayerSetScreenPosition(f32 left, f32 top)
|
||||
void camSetScreenPosition(f32 left, f32 top)
|
||||
{
|
||||
struct player *player = g_Vars.currentplayer;
|
||||
|
||||
@@ -55,7 +55,7 @@ void currentPlayerSetScreenPosition(f32 left, f32 top)
|
||||
player->c_screentop = top;
|
||||
}
|
||||
|
||||
void currentPlayerSetPerspective(f32 near, f32 fovy, f32 aspect)
|
||||
void camSetPerspective(f32 near, f32 fovy, f32 aspect)
|
||||
{
|
||||
struct player *player = g_Vars.currentplayer;
|
||||
|
||||
@@ -64,7 +64,7 @@ void currentPlayerSetPerspective(f32 near, f32 fovy, f32 aspect)
|
||||
player->c_perspaspect = aspect;
|
||||
}
|
||||
|
||||
f32 func0f0b49b8(f32 arg0)
|
||||
f32 cam0f0b49b8(f32 arg0)
|
||||
{
|
||||
f32 result = atan2f(g_Vars.currentplayer->c_scalelod60 * arg0 * g_Vars.currentplayer->c_halfheight, 1.0f);
|
||||
result *= 114.591552f;
|
||||
@@ -76,7 +76,7 @@ f32 func0f0b49b8(f32 arg0)
|
||||
return result;
|
||||
}
|
||||
|
||||
void currentPlayerSetCameraScale(void)
|
||||
void camSetScale(void)
|
||||
{
|
||||
struct player *player = g_Vars.currentplayer;
|
||||
f32 fVar4;
|
||||
@@ -116,7 +116,7 @@ void currentPlayerSetCameraScale(void)
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f0b4c3c
|
||||
glabel cam0f0b4c3c
|
||||
/* f0b4c3c: 27bdffd8 */ addiu $sp,$sp,-40
|
||||
/* f0b4c40: 3c02800a */ lui $v0,%hi(g_Vars+0x284)
|
||||
/* f0b4c44: 8c42a244 */ lw $v0,%lo(g_Vars+0x284)($v0)
|
||||
@@ -169,7 +169,7 @@ glabel func0f0b4c3c
|
||||
/* f0b4d00: 00000000 */ nop
|
||||
);
|
||||
|
||||
void func0f0b4d04(struct coord *in, f32 *out)
|
||||
void cam0f0b4d04(struct coord *in, f32 *out)
|
||||
{
|
||||
struct player *player = g_Vars.currentplayer;
|
||||
f32 value = 1.0f / in->z;
|
||||
@@ -181,7 +181,7 @@ void func0f0b4d04(struct coord *in, f32 *out)
|
||||
- in->x * value * player->c_recipscalex;
|
||||
}
|
||||
|
||||
void func0f0b4d68(struct coord *in, struct coord *out)
|
||||
void cam0f0b4d68(struct coord *in, struct coord *out)
|
||||
{
|
||||
struct player *player = g_Vars.currentplayer;
|
||||
f32 value;
|
||||
@@ -199,7 +199,7 @@ void func0f0b4d68(struct coord *in, struct coord *out)
|
||||
in->x * value * player->c_recipscalex;
|
||||
}
|
||||
|
||||
void func0f0b4dec(struct coord *in, f32 out[2])
|
||||
void cam0f0b4dec(struct coord *in, f32 out[2])
|
||||
{
|
||||
struct player *player = g_Vars.currentplayer;
|
||||
f32 value = 1.0f / in->z;
|
||||
@@ -215,14 +215,14 @@ void func0f0b4dec(struct coord *in, f32 out[2])
|
||||
- in->x * value * player->c_recipscalex;
|
||||
}
|
||||
|
||||
void func0f0b4e68(struct coord *in, f32 divisor, struct coord *out)
|
||||
void cam0f0b4e68(struct coord *in, f32 divisor, struct coord *out)
|
||||
{
|
||||
out->y = in->y * (1.0f / divisor) * g_Vars.currentplayer->c_recipscaley;
|
||||
out->x = in->x * (1.0f / divisor) * g_Vars.currentplayer->c_recipscalex;
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f0b4eb8
|
||||
glabel cam0f0b4eb8
|
||||
.late_rodata
|
||||
glabel var7f1ad154
|
||||
.word 0x3c0efa35
|
||||
@@ -277,57 +277,57 @@ glabel var7f1ad154
|
||||
/* f0b4f74: 00000000 */ nop
|
||||
);
|
||||
|
||||
void currentPlayerSetUnk1738(void *value)
|
||||
void camSetUnk1738(void *value)
|
||||
{
|
||||
g_Vars.currentplayer->unk1738 = value;
|
||||
}
|
||||
|
||||
void *currentPlayerGetUnk1738(void)
|
||||
void *camGetUnk1738(void)
|
||||
{
|
||||
return g_Vars.currentplayer->unk1738;
|
||||
}
|
||||
|
||||
void currentPlayerSetUnk173c(Mtx *matrix)
|
||||
void camSetUnk173c(Mtx *matrix)
|
||||
{
|
||||
g_Vars.currentplayer->unk173c = matrix;
|
||||
}
|
||||
|
||||
Mtx *currentPlayerGetUnk173c(void)
|
||||
Mtx *camGetUnk173c(void)
|
||||
{
|
||||
return g_Vars.currentplayer->unk173c;
|
||||
}
|
||||
|
||||
void currentPlayerSetUnk006c(Mtxf *matrix)
|
||||
void camSetUnk006c(Mtxf *matrix)
|
||||
{
|
||||
g_Vars.currentplayer->matrix6c = matrix;
|
||||
}
|
||||
|
||||
Mtxf *currentPlayerGetUnk006c(void)
|
||||
Mtxf *camGetUnk006c(void)
|
||||
{
|
||||
return g_Vars.currentplayer->matrix6c;
|
||||
}
|
||||
|
||||
void currentPlayerSetUnk1750(void *value)
|
||||
void camSetUnk1750(void *value)
|
||||
{
|
||||
g_Vars.currentplayer->unk1750 = value;
|
||||
}
|
||||
|
||||
void *currentPlayerGetUnk1750(void)
|
||||
void *camGetUnk1750(void)
|
||||
{
|
||||
return g_Vars.currentplayer->unk1750;
|
||||
}
|
||||
|
||||
void currentPlayerSetUnk1758(Mtx *matrix)
|
||||
void camSetUnk1758(Mtx *matrix)
|
||||
{
|
||||
g_Vars.currentplayer->unk1758 = matrix;
|
||||
}
|
||||
|
||||
Mtx *currentPlayerGetUnk1758(void)
|
||||
Mtx *camGetUnk1758(void)
|
||||
{
|
||||
return g_Vars.currentplayer->unk1758;
|
||||
}
|
||||
|
||||
void currentPlayerSetMatrix1740(Mtxf *matrix)
|
||||
void camSetMatrix1740(Mtxf *matrix)
|
||||
{
|
||||
struct player *player = g_Vars.currentplayer;
|
||||
|
||||
@@ -339,7 +339,7 @@ void currentPlayerSetMatrix1740(Mtxf *matrix)
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f0b5050
|
||||
glabel cam0f0b5050
|
||||
/* f0b5050: 3c02800b */ lui $v0,%hi(g_GfxActiveBufferIndex)
|
||||
/* f0b5054: 9042a5a0 */ lbu $v0,%lo(g_GfxActiveBufferIndex)($v0)
|
||||
/* f0b5058: 3c03800b */ lui $v1,%hi(g_VtxBuffers)
|
||||
@@ -582,7 +582,7 @@ glabel func0f0b5050
|
||||
);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f0b53a4
|
||||
glabel cam0f0b53a4
|
||||
/* f0b53a4: 3c02800b */ lui $v0,%hi(g_GfxActiveBufferIndex)
|
||||
/* f0b53a8: 9042a5a0 */ lbu $v0,%lo(g_GfxActiveBufferIndex)($v0)
|
||||
/* f0b53ac: 3c03800b */ lui $v1,%hi(g_VtxBuffers)
|
||||
@@ -824,37 +824,37 @@ glabel func0f0b53a4
|
||||
/* f0b56f4: 27bd0050 */ addiu $sp,$sp,0x50
|
||||
);
|
||||
|
||||
Mtxf *currentPlayerGetMatrix1740(void)
|
||||
Mtxf *camGetMatrix1740(void)
|
||||
{
|
||||
return g_Vars.currentplayer->matrix1740;
|
||||
}
|
||||
|
||||
void currentPlayerSetUnk1754(Mtxf *matrix)
|
||||
void camSetUnk1754(Mtxf *matrix)
|
||||
{
|
||||
g_Vars.currentplayer->unk1754 = matrix;
|
||||
}
|
||||
|
||||
Mtxf *currentPlayerGetUnk1754(void)
|
||||
Mtxf *camGetUnk1754(void)
|
||||
{
|
||||
return g_Vars.currentplayer->unk1754;
|
||||
}
|
||||
|
||||
Mtxf *currentPlayerGetPrevMatrix(void)
|
||||
Mtxf *camGetPrevMatrix(void)
|
||||
{
|
||||
return g_Vars.currentplayer->prev1740;
|
||||
}
|
||||
|
||||
void currentPlayerSetUnk1748(u32 value)
|
||||
void camSetUnk1748(u32 value)
|
||||
{
|
||||
g_Vars.currentplayer->unk1748 = value;
|
||||
}
|
||||
|
||||
u32 currentPlayerGetUnk1748(void)
|
||||
u32 camGetUnk1748(void)
|
||||
{
|
||||
return g_Vars.currentplayer->unk1748;
|
||||
}
|
||||
|
||||
void currentPlayerSetUnk174c(Mtxf *matrix)
|
||||
void camSetUnk174c(Mtxf *matrix)
|
||||
{
|
||||
struct player *player = g_Vars.currentplayer;
|
||||
|
||||
@@ -863,68 +863,68 @@ void currentPlayerSetUnk174c(Mtxf *matrix)
|
||||
player->unk174c = matrix;
|
||||
}
|
||||
|
||||
Mtxf *currentPlayerGetUnk174c(void)
|
||||
Mtxf *camGetUnk174c(void)
|
||||
{
|
||||
return g_Vars.currentplayer->unk174c;
|
||||
}
|
||||
|
||||
Mtxf *currentPlayerGetUnk1768(void)
|
||||
Mtxf *camGetUnk1768(void)
|
||||
{
|
||||
return g_Vars.currentplayer->unk1768;
|
||||
}
|
||||
|
||||
void currentPlayerSetUnk175c(Mtxf *mtx)
|
||||
void camSetUnk175c(Mtxf *mtx)
|
||||
{
|
||||
g_Vars.currentplayer->unk175c = mtx;
|
||||
}
|
||||
|
||||
Mtxf *currentPlayerGetUnk175c(void)
|
||||
Mtxf *camGetUnk175c(void)
|
||||
{
|
||||
return g_Vars.currentplayer->unk175c;
|
||||
}
|
||||
|
||||
f32 currentPlayerGetLodScaleZ(void)
|
||||
f32 camGetLodScaleZ(void)
|
||||
{
|
||||
return g_Vars.currentplayer->c_lodscalez;
|
||||
}
|
||||
|
||||
u32 currentPlayerGetLodScaleZU32(void)
|
||||
u32 camGetLodScaleZU32(void)
|
||||
{
|
||||
return g_Vars.currentplayer->c_lodscalezu32;
|
||||
}
|
||||
|
||||
f32 currentPlayerGetScreenWidth(void)
|
||||
f32 camGetScreenWidth(void)
|
||||
{
|
||||
return g_Vars.currentplayer->c_screenwidth;
|
||||
}
|
||||
|
||||
f32 currentPlayerGetScreenHeight(void)
|
||||
f32 camGetScreenHeight(void)
|
||||
{
|
||||
return g_Vars.currentplayer->c_screenheight;
|
||||
}
|
||||
|
||||
f32 currentPlayerGetScreenLeft(void)
|
||||
f32 camGetScreenLeft(void)
|
||||
{
|
||||
return g_Vars.currentplayer->c_screenleft;
|
||||
}
|
||||
|
||||
f32 currentPlayerGetScreenTop(void)
|
||||
f32 camGetScreenTop(void)
|
||||
{
|
||||
return g_Vars.currentplayer->c_screentop;
|
||||
}
|
||||
|
||||
f32 currentPlayerGetPerspFovY(void)
|
||||
f32 camGetPerspFovY(void)
|
||||
{
|
||||
return g_Vars.currentplayer->c_perspfovy;
|
||||
}
|
||||
|
||||
f32 currentPlayerGetPerspAspect(void)
|
||||
f32 camGetPerspAspect(void)
|
||||
{
|
||||
return g_Vars.currentplayer->c_perspaspect;
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f0b5838
|
||||
glabel cam0f0b5838
|
||||
/* f0b5838: 3c04800a */ lui $a0,%hi(g_Vars+0x284)
|
||||
/* f0b583c: 8c84a244 */ lw $a0,%lo(g_Vars+0x284)($a0)
|
||||
/* f0b5840: 27bdffd0 */ addiu $sp,$sp,-48
|
||||
@@ -1145,7 +1145,7 @@ glabel func0f0b5838
|
||||
);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f0b5b9c
|
||||
glabel cam0f0b5b9c
|
||||
/* f0b5b9c: 3c0e800a */ lui $t6,%hi(g_Vars+0x284)
|
||||
/* f0b5ba0: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6)
|
||||
/* f0b5ba4: c4820000 */ lwc1 $f2,0x0($a0)
|
||||
@@ -1257,7 +1257,7 @@ glabel func0f0b5b9c
|
||||
);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f0b5d38
|
||||
glabel cam0f0b5d38
|
||||
/* f0b5d38: 27bdff80 */ addiu $sp,$sp,-128
|
||||
/* f0b5d3c: afb00028 */ sw $s0,0x28($sp)
|
||||
/* f0b5d40: 3c10800a */ lui $s0,%hi(g_Vars+0x284)
|
||||
@@ -1596,7 +1596,7 @@ glabel func0f0b5d38
|
||||
);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f0b6260
|
||||
glabel cam0f0b6260
|
||||
/* f0b6260: 27bdffb0 */ addiu $sp,$sp,-80
|
||||
/* f0b6264: afbf002c */ sw $ra,0x2c($sp)
|
||||
/* f0b6268: afb40028 */ sw $s4,0x28($sp)
|
||||
@@ -1678,7 +1678,7 @@ glabel func0f0b6260
|
||||
/* f0b6378: 00001025 */ or $v0,$zero,$zero
|
||||
.L0f0b637c:
|
||||
/* f0b637c: 8fa50058 */ lw $a1,0x58($sp)
|
||||
/* f0b6380: 0fc2d74e */ jal func0f0b5d38
|
||||
/* f0b6380: 0fc2d74e */ jal cam0f0b5d38
|
||||
/* f0b6384: 27a60034 */ addiu $a2,$sp,0x34
|
||||
.L0f0b6388:
|
||||
/* f0b6388: 8fbf002c */ lw $ra,0x2c($sp)
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "game/playermgr.h"
|
||||
#include "game/mplayer/setup.h"
|
||||
#include "game/bot.h"
|
||||
#include "game/game_19aa80.h"
|
||||
#include "game/challenge.h"
|
||||
#include "game/training.h"
|
||||
#include "game/lang.h"
|
||||
#include "game/mplayer/mplayer.h"
|
||||
@@ -58,156 +58,12 @@ struct challenge g_MpChallenges[NUM_CHALLENGES] = {
|
||||
{ L_OPTIONS_435, MPCONFIG_CHALLENGE30 }, // "Challenge 30"
|
||||
};
|
||||
|
||||
/**
|
||||
* Find a position inside the given room and populate the pointer arguments with
|
||||
* information about the position.
|
||||
*
|
||||
* Used by bots in King of the Hill scenarios only. The room argument is always
|
||||
* a hill room.
|
||||
*
|
||||
* @bug: There is a possible array overflow in both the covernums and padnums
|
||||
* arrays. The for loops stop when the array is full, but the outer loop makes
|
||||
* them iterate again, and the check is only at the end of each for loop rather
|
||||
* than at the start.
|
||||
*
|
||||
* For covernums, the three variables declared above it are never written to the
|
||||
* stack, so the outer loop would need to iterate three times while covernums is
|
||||
* full in order to write into the caller's stack space. The only caller is
|
||||
* botTickUnpaused, and its first stack usage is 0x20 where it backs up s0.
|
||||
* So the outer loop would need to iterate 11 times before any damage could be
|
||||
* done.
|
||||
*
|
||||
* For padnums, any overflow will write into the rooms array, likely clearing
|
||||
* the -1 terminator in rooms[1] and affecting cover selection. Further
|
||||
* iterations of the outer loop would write into the cover struct, but this is
|
||||
* written before it's read so there's no issue there.
|
||||
*
|
||||
* It's likely that these don't ever overflow, or they overflow minimally which
|
||||
* has no serious effect, but this should be investigated further.
|
||||
*/
|
||||
bool botroomFindPos(s16 room, struct coord *pos, f32 *angleptr, s32 *padnumptr, s32 *covernumptr)
|
||||
{
|
||||
s32 i;
|
||||
struct waypoint *waypoint;
|
||||
s32 waypointnum;
|
||||
s32 covernums[40]; /// written to stack
|
||||
s32 covercount;
|
||||
struct cover cover; // written to stack
|
||||
s16 rooms[2]; // written to stack
|
||||
s32 padnums[40]; // written to stack
|
||||
s32 padcount;
|
||||
s32 totalcount;
|
||||
struct pad pad;
|
||||
bool sp54;
|
||||
bool sp50;
|
||||
s32 count;
|
||||
|
||||
covercount = 0;
|
||||
padcount = 0;
|
||||
|
||||
sp50 = 0;
|
||||
|
||||
rooms[0] = room;
|
||||
rooms[1] = -1;
|
||||
|
||||
totalcount = 0;
|
||||
|
||||
do {
|
||||
sp54 = false;
|
||||
count = coverGetCount();
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
if (coverUnpack(i, &cover) && !coverIsSpecial(&cover) && arrayIntersects(cover.rooms, rooms)) {
|
||||
if (sp50 && (cover.flags & COVERFLAG_0100)) {
|
||||
coverUnsetFlag(i, COVERFLAG_0100);
|
||||
covernums[covercount] = i;
|
||||
covercount++;
|
||||
totalcount++;
|
||||
} else if ((cover.flags & COVERFLAG_0100) == 0) {
|
||||
covernums[covercount] = i;
|
||||
covercount++;
|
||||
totalcount++;
|
||||
} else {
|
||||
sp54 = true;
|
||||
}
|
||||
|
||||
if (covercount >= ARRAYCOUNT(covernums)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (g_StageSetup.waypoints != NULL) {
|
||||
count = g_Rooms[room].numwaypoints;
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
waypointnum = g_Vars.waypointnums[g_Rooms[room].firstwaypoint + i];
|
||||
waypoint = &g_StageSetup.waypoints[waypointnum];
|
||||
|
||||
padUnpack(waypoint->padnum, PADFIELD_FLAGS, &pad);
|
||||
|
||||
if (sp50 && (pad.flags & PADFLAG_20000)) {
|
||||
padUnsetFlag(waypoint->padnum, PADFLAG_20000);
|
||||
padnums[padcount] = waypoint->padnum;
|
||||
padcount++;
|
||||
totalcount++;
|
||||
} else if ((pad.flags & PADFLAG_20000) == 0) {
|
||||
padnums[padcount] = waypoint->padnum;
|
||||
padcount++;
|
||||
totalcount++;
|
||||
} else {
|
||||
sp54 = true;
|
||||
}
|
||||
|
||||
if (padcount >= ARRAYCOUNT(padnums)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (1);
|
||||
|
||||
sp50 = sp54;
|
||||
} while (sp54 && !totalcount);
|
||||
|
||||
if (!totalcount) {
|
||||
return false;
|
||||
}
|
||||
|
||||
i = random() % totalcount;
|
||||
|
||||
if (i < covercount) {
|
||||
coverUnpack(covernums[i], &cover);
|
||||
|
||||
pos->x = cover.pos->x;
|
||||
pos->y = cover.pos->y;
|
||||
pos->z = cover.pos->z;
|
||||
|
||||
*angleptr = atan2f(cover.look->z, cover.look->x);
|
||||
*padnumptr = -1;
|
||||
*covernumptr = covernums[i];
|
||||
} else {
|
||||
i -= covercount;
|
||||
padUnpack(padnums[i], PADFIELD_POS | PADFIELD_LOOK, &pad);
|
||||
|
||||
pos->x = pad.pos.x;
|
||||
pos->y = pad.pos.y;
|
||||
pos->z = pad.pos.z;
|
||||
|
||||
*angleptr = atan2f(pad.look.z, pad.look.x);
|
||||
*padnumptr = padnums[i];
|
||||
*covernumptr = -1;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool func0f19af10(s32 challengeindex)
|
||||
bool challengeIsAvailable(s32 challengeindex)
|
||||
{
|
||||
return (g_MpChallenges[challengeindex].availability & 1) != 0;
|
||||
}
|
||||
|
||||
bool mpIsChallengeAvailableToPlayer(s32 chrnum, s32 challengeindex)
|
||||
bool ChallengeIsAvailableToPlayer(s32 chrnum, s32 challengeindex)
|
||||
{
|
||||
if ((g_MpSetup.chrslots & (1 << chrnum)) == 0) {
|
||||
return 0;
|
||||
@@ -216,12 +72,12 @@ bool mpIsChallengeAvailableToPlayer(s32 chrnum, s32 challengeindex)
|
||||
return ((g_MpChallenges[challengeindex].availability & (2 << chrnum)) != 0);
|
||||
}
|
||||
|
||||
bool mpIsChallengeAvailableToAnyPlayer(s32 challengeindex)
|
||||
bool challengeIsAvailableToAnyPlayer(s32 challengeindex)
|
||||
{
|
||||
return (g_MpChallenges[challengeindex].availability & (((g_MpSetup.chrslots & 0xf) << 1) | 1)) != 0;
|
||||
}
|
||||
|
||||
void mpDetermineUnlockedFeatures(void)
|
||||
void challengeDetermineUnlockedFeatures(void)
|
||||
{
|
||||
s32 challengeindex;
|
||||
s32 numgifted; // number of unlocked but not completed challenges
|
||||
@@ -242,10 +98,10 @@ void mpDetermineUnlockedFeatures(void)
|
||||
for (challengeindex = 0; challengeindex < 30; challengeindex++) {
|
||||
flag = 0;
|
||||
|
||||
if (mpIsChallengeCompletedByAnyPlayerWithNumPlayers(challengeindex, 1)
|
||||
|| mpIsChallengeCompletedByAnyPlayerWithNumPlayers(challengeindex, 2)
|
||||
|| mpIsChallengeCompletedByAnyPlayerWithNumPlayers(challengeindex, 3)
|
||||
|| mpIsChallengeCompletedByAnyPlayerWithNumPlayers(challengeindex, 4)) {
|
||||
if (challengeIsCompletedByAnyPlayerWithNumPlayers(challengeindex, 1)
|
||||
|| challengeIsCompletedByAnyPlayerWithNumPlayers(challengeindex, 2)
|
||||
|| challengeIsCompletedByAnyPlayerWithNumPlayers(challengeindex, 3)
|
||||
|| challengeIsCompletedByAnyPlayerWithNumPlayers(challengeindex, 4)) {
|
||||
// Completed challenge
|
||||
flag = 1;
|
||||
} else if (challengeindex < 4) {
|
||||
@@ -253,10 +109,10 @@ void mpDetermineUnlockedFeatures(void)
|
||||
flag = 1;
|
||||
numgifted++;
|
||||
} else if (challengeindex > 0
|
||||
&& (mpIsChallengeCompletedByAnyPlayerWithNumPlayers(challengeindex - 1, 1)
|
||||
|| mpIsChallengeCompletedByAnyPlayerWithNumPlayers(challengeindex - 1, 2)
|
||||
|| mpIsChallengeCompletedByAnyPlayerWithNumPlayers(challengeindex - 1, 3)
|
||||
|| mpIsChallengeCompletedByAnyPlayerWithNumPlayers(challengeindex - 1, 4))) {
|
||||
&& (challengeIsCompletedByAnyPlayerWithNumPlayers(challengeindex - 1, 1)
|
||||
|| challengeIsCompletedByAnyPlayerWithNumPlayers(challengeindex - 1, 2)
|
||||
|| challengeIsCompletedByAnyPlayerWithNumPlayers(challengeindex - 1, 3)
|
||||
|| challengeIsCompletedByAnyPlayerWithNumPlayers(challengeindex - 1, 4))) {
|
||||
// Challenges are available if their previous one is complete
|
||||
flag = 1;
|
||||
numgifted++;
|
||||
@@ -285,10 +141,10 @@ void mpDetermineUnlockedFeatures(void)
|
||||
for (challengeindex = 0; challengeindex < 30; challengeindex++) {
|
||||
flag = 0;
|
||||
|
||||
if (mpIsChallengeCompletedByPlayerWithNumPlayers(j, challengeindex, 1)
|
||||
|| mpIsChallengeCompletedByPlayerWithNumPlayers(j, challengeindex, 2)
|
||||
|| mpIsChallengeCompletedByPlayerWithNumPlayers(j, challengeindex, 3)
|
||||
|| mpIsChallengeCompletedByPlayerWithNumPlayers(j, challengeindex, 4)) {
|
||||
if (challengeIsCompletedByPlayerWithNumPlayers(j, challengeindex, 1)
|
||||
|| challengeIsCompletedByPlayerWithNumPlayers(j, challengeindex, 2)
|
||||
|| challengeIsCompletedByPlayerWithNumPlayers(j, challengeindex, 3)
|
||||
|| challengeIsCompletedByPlayerWithNumPlayers(j, challengeindex, 4)) {
|
||||
// Completed challenge
|
||||
flag = 2 << j;
|
||||
} else if (challengeindex < 4) {
|
||||
@@ -299,10 +155,10 @@ void mpDetermineUnlockedFeatures(void)
|
||||
// Challenges are available if their previous one is complete
|
||||
prev = challengeindex - 1;
|
||||
|
||||
if (mpIsChallengeCompletedByPlayerWithNumPlayers(j, prev, 1)
|
||||
|| mpIsChallengeCompletedByPlayerWithNumPlayers(j, prev, 2)
|
||||
|| mpIsChallengeCompletedByPlayerWithNumPlayers(j, prev, 3)
|
||||
|| mpIsChallengeCompletedByPlayerWithNumPlayers(j, prev, 4)) {
|
||||
if (challengeIsCompletedByPlayerWithNumPlayers(j, prev, 1)
|
||||
|| challengeIsCompletedByPlayerWithNumPlayers(j, prev, 2)
|
||||
|| challengeIsCompletedByPlayerWithNumPlayers(j, prev, 3)
|
||||
|| challengeIsCompletedByPlayerWithNumPlayers(j, prev, 4)) {
|
||||
flag = 2 << j;
|
||||
numgifted++;
|
||||
}
|
||||
@@ -324,7 +180,7 @@ void mpDetermineUnlockedFeatures(void)
|
||||
flag = 0;
|
||||
|
||||
for (challengeindex = 0; challengeindex < 30; challengeindex++) {
|
||||
if (mpIsChallengeAvailableToAnyPlayer(challengeindex)) {
|
||||
if (challengeIsAvailableToAnyPlayer(challengeindex)) {
|
||||
for (i = 0; i < 16; i++) {
|
||||
if (g_MpChallenges[challengeindex].unlockfeatures[i] == j) {
|
||||
flag |= 1;
|
||||
@@ -341,7 +197,7 @@ void mpDetermineUnlockedFeatures(void)
|
||||
|
||||
for (challengeindex = 0; challengeindex < 30; challengeindex++) {
|
||||
for (prev = 0; prev < 4; prev++) {
|
||||
if (mpIsChallengeAvailableToPlayer(prev, challengeindex)) {
|
||||
if (ChallengeIsAvailableToPlayer(prev, challengeindex)) {
|
||||
for (i = 0; i < 16; i++) {
|
||||
if (g_MpChallenges[challengeindex].unlockfeatures[i] == j) {
|
||||
flag |= 2 << prev;
|
||||
@@ -365,7 +221,7 @@ void mpDetermineUnlockedFeatures(void)
|
||||
func0f1895e8();
|
||||
|
||||
// If the ability to have 8 simulants hasn't been unlocked, limit them to 4
|
||||
if (!mpIsFeatureUnlocked(MPFEATURE_8BOTS)) {
|
||||
if (!challengeIsFeatureUnlocked(MPFEATURE_8BOTS)) {
|
||||
for (k = 4; k < MAX_BOTS; k++) {
|
||||
if (g_MpSetup.chrslots & (1 << (4 + k))) {
|
||||
mpRemoveSimulant(k);
|
||||
@@ -378,7 +234,7 @@ void mpDetermineUnlockedFeatures(void)
|
||||
}
|
||||
}
|
||||
|
||||
void mpPerformSanityChecks(void)
|
||||
void challengePerformSanityChecks(void)
|
||||
{
|
||||
if (g_BossFile.locktype == MPLOCKTYPE_CHALLENGE) {
|
||||
s32 numplayers = 0;
|
||||
@@ -407,19 +263,19 @@ void mpPerformSanityChecks(void)
|
||||
if (g_MpSetup.scenario == MPSCENARIO_KINGOFTHEHILL) {
|
||||
g_Vars.mphilltime = 10;
|
||||
}
|
||||
} else if (!mpIsFeatureUnlocked(MPFEATURE_8BOTS)) {
|
||||
} else if (!challengeIsFeatureUnlocked(MPFEATURE_8BOTS)) {
|
||||
// Limit to 4 players and 4 simulants
|
||||
g_MpSetup.chrslots &= 0x00ff;
|
||||
}
|
||||
}
|
||||
|
||||
s32 mpGetNumAvailableChallenges(void)
|
||||
s32 challengeGetNumAvailable(void)
|
||||
{
|
||||
s32 challengeindex;
|
||||
s32 count = 0;
|
||||
|
||||
for (challengeindex = 0; challengeindex != NUM_CHALLENGES; challengeindex++) {
|
||||
if (mpIsChallengeAvailableToAnyPlayer(challengeindex)) {
|
||||
if (challengeIsAvailableToAnyPlayer(challengeindex)) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
@@ -427,20 +283,20 @@ s32 mpGetNumAvailableChallenges(void)
|
||||
return count;
|
||||
}
|
||||
|
||||
char *mpChallengeGetName(s32 challengeindex)
|
||||
char *challengeGetName(s32 challengeindex)
|
||||
{
|
||||
return langGet(g_MpChallenges[challengeindex].name);
|
||||
}
|
||||
|
||||
char *mpGetChallengeNameBySlot(s32 slot)
|
||||
char *challengeGetNameBySlot(s32 slot)
|
||||
{
|
||||
s32 index = 0;
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 30; i++) {
|
||||
if (mpIsChallengeAvailableToAnyPlayer(i)) {
|
||||
if (challengeIsAvailableToAnyPlayer(i)) {
|
||||
if (index == slot) {
|
||||
return mpChallengeGetName(i);
|
||||
return challengeGetName(i);
|
||||
}
|
||||
|
||||
index++;
|
||||
@@ -450,13 +306,13 @@ char *mpGetChallengeNameBySlot(s32 slot)
|
||||
return "";
|
||||
}
|
||||
|
||||
void mpSetCurrentChallenge(s32 slotnum)
|
||||
void challengeSetCurrentBySlot(s32 slotnum)
|
||||
{
|
||||
s32 challengeindex;
|
||||
g_MpChallengeIndex = 0;
|
||||
|
||||
for (challengeindex = 0; challengeindex != NUM_CHALLENGES; challengeindex++) {
|
||||
if (mpIsChallengeAvailableToAnyPlayer(challengeindex)) {
|
||||
if (challengeIsAvailableToAnyPlayer(challengeindex)) {
|
||||
if (slotnum == 0) {
|
||||
g_MpChallengeIndex = challengeindex;
|
||||
break;
|
||||
@@ -466,23 +322,23 @@ void mpSetCurrentChallenge(s32 slotnum)
|
||||
}
|
||||
}
|
||||
|
||||
func0f19c1cc();
|
||||
challengeApply();
|
||||
}
|
||||
|
||||
s32 mpGetCurrentChallengeIndex(void)
|
||||
s32 challengeGetCurrent(void)
|
||||
{
|
||||
return g_MpChallengeIndex;
|
||||
}
|
||||
|
||||
bool mpIsChallengeCompletedByAnyChrWithNumPlayersBySlot(s32 slot, s32 numplayers)
|
||||
bool challengeIsCompletedByAnyChrWithNumPlayersBySlot(s32 slot, s32 numplayers)
|
||||
{
|
||||
s32 availableindex = 0;
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 30; i++) {
|
||||
if (mpIsChallengeAvailableToAnyPlayer(i)) {
|
||||
if (challengeIsAvailableToAnyPlayer(i)) {
|
||||
if (availableindex == slot) {
|
||||
return mpIsChallengeCompletedByAnyPlayerWithNumPlayers(i, numplayers);
|
||||
return challengeIsCompletedByAnyPlayerWithNumPlayers(i, numplayers);
|
||||
}
|
||||
|
||||
availableindex++;
|
||||
@@ -492,15 +348,15 @@ bool mpIsChallengeCompletedByAnyChrWithNumPlayersBySlot(s32 slot, s32 numplayers
|
||||
return false;
|
||||
}
|
||||
|
||||
bool mpIsChallengeCompletedByChrWithNumPlayersBySlot(s32 mpchrnum, s32 slot, s32 numplayers)
|
||||
bool challengeIsCompletedByChrWithNumPlayersBySlot(s32 mpchrnum, s32 slot, s32 numplayers)
|
||||
{
|
||||
s32 availableindex = 0;
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 30; i++) {
|
||||
if (mpIsChallengeAvailableToAnyPlayer(i)) {
|
||||
if (challengeIsAvailableToAnyPlayer(i)) {
|
||||
if (availableindex == slot) {
|
||||
return mpIsChallengeCompletedByPlayerWithNumPlayers(mpchrnum, i, numplayers);
|
||||
return challengeIsCompletedByPlayerWithNumPlayers(mpchrnum, i, numplayers);
|
||||
}
|
||||
|
||||
availableindex++;
|
||||
@@ -541,7 +397,7 @@ u32 *var800887f4 = &_mpstringsISegmentRomStart;
|
||||
u32 *var800887f8 = &_mpstringsISegmentRomEnd;
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel mpLoadConfig
|
||||
glabel challengeLoadConfig
|
||||
/* f19b914: 27bdfe38 */ addiu $sp,$sp,-456
|
||||
/* f19b918: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f19b91c: afa401c8 */ sw $a0,0x1c8($sp)
|
||||
@@ -629,7 +485,7 @@ glabel mpLoadConfig
|
||||
|
||||
// Mismatch because the arguments to an addu instruction are swapped.
|
||||
// It's the addu for calculating &bank[confignum].
|
||||
//struct mpconfigfull *mpLoadConfig(s32 confignum, u8 *buffer, s32 len)
|
||||
//struct mpconfigfull *challengeLoadConfig(s32 confignum, u8 *buffer, s32 len)
|
||||
//{
|
||||
// struct mpconfigfull *mpconfig;
|
||||
// u8 buffer2[sizeof(struct mpstrings) + 40];
|
||||
@@ -674,20 +530,20 @@ glabel mpLoadConfig
|
||||
// return mpconfig;
|
||||
//}
|
||||
|
||||
struct mpconfigfull *mpLoadChallenge(s32 challengeindex, u8 *buffer, s32 len)
|
||||
struct mpconfigfull *challengeLoad(s32 challengeindex, u8 *buffer, s32 len)
|
||||
{
|
||||
return mpLoadConfig(g_MpChallenges[challengeindex].confignum, buffer, len);
|
||||
return challengeLoadConfig(g_MpChallenges[challengeindex].confignum, buffer, len);
|
||||
}
|
||||
|
||||
struct mpconfigfull *mpGetNthAvailableChallengeSomething(s32 n, u8 *buffer, s32 len)
|
||||
struct mpconfigfull *challengeLoadBySlot(s32 n, u8 *buffer, s32 len)
|
||||
{
|
||||
s32 numavailable = 0;
|
||||
s32 challengeindex;
|
||||
|
||||
for (challengeindex = 0; challengeindex != NUM_CHALLENGES; challengeindex++) {
|
||||
if (mpIsChallengeAvailableToAnyPlayer(challengeindex)) {
|
||||
if (challengeIsAvailableToAnyPlayer(challengeindex)) {
|
||||
if (numavailable == n) {
|
||||
return mpLoadChallenge(challengeindex, buffer, len);
|
||||
return challengeLoad(challengeindex, buffer, len);
|
||||
}
|
||||
|
||||
numavailable++;
|
||||
@@ -697,15 +553,15 @@ struct mpconfigfull *mpGetNthAvailableChallengeSomething(s32 n, u8 *buffer, s32
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct mpconfigfull *mpLoadCurrentChallenge(u8 *buffer, s32 len)
|
||||
struct mpconfigfull *challengeLoadCurrent(u8 *buffer, s32 len)
|
||||
{
|
||||
return mpLoadChallenge(g_MpChallengeIndex, buffer, len);
|
||||
return challengeLoad(g_MpChallengeIndex, buffer, len);
|
||||
}
|
||||
|
||||
/**
|
||||
* This is adding featurenum to the array, provided it's unique.
|
||||
*/
|
||||
s32 mpForceUnlockFeature(s32 featurenum, u8 *array, s32 tail, s32 len)
|
||||
s32 challengeForceUnlockFeature(s32 featurenum, u8 *array, s32 tail, s32 len)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
@@ -723,7 +579,7 @@ s32 mpForceUnlockFeature(s32 featurenum, u8 *array, s32 tail, s32 len)
|
||||
return tail;
|
||||
}
|
||||
|
||||
s32 mpForceUnlockSetupFeatures(struct mpsetup *setup, u8 *array, s32 len)
|
||||
s32 challengeForceUnlockSetupFeatures(struct mpsetup *setup, u8 *array, s32 len)
|
||||
{
|
||||
s32 index = 0;
|
||||
s32 i;
|
||||
@@ -733,7 +589,7 @@ s32 mpForceUnlockSetupFeatures(struct mpsetup *setup, u8 *array, s32 len)
|
||||
s32 featurenum = g_MpWeapons[setup->weapons[i]].unlockfeature;
|
||||
|
||||
if (featurenum) {
|
||||
index = mpForceUnlockFeature(featurenum, array, index, len);
|
||||
index = challengeForceUnlockFeature(featurenum, array, index, len);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -743,7 +599,7 @@ s32 mpForceUnlockSetupFeatures(struct mpsetup *setup, u8 *array, s32 len)
|
||||
s32 featurenum = g_MpArenas[i].requirefeature;
|
||||
|
||||
if (featurenum) {
|
||||
index = mpForceUnlockFeature(featurenum, array, index, len);
|
||||
index = challengeForceUnlockFeature(featurenum, array, index, len);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -753,25 +609,25 @@ s32 mpForceUnlockSetupFeatures(struct mpsetup *setup, u8 *array, s32 len)
|
||||
s32 featurenum = g_MpScenarioOverviews[setup->scenario].requirefeature;
|
||||
|
||||
if (featurenum) {
|
||||
index = mpForceUnlockFeature(featurenum, array, index, len);
|
||||
index = challengeForceUnlockFeature(featurenum, array, index, len);
|
||||
}
|
||||
}
|
||||
|
||||
// Force unlock the scenario options
|
||||
if (setup->options & MPOPTION_ONEHITKILLS) {
|
||||
index = mpForceUnlockFeature(MPFEATURE_ONEHITKILLS, array, index, len);
|
||||
index = challengeForceUnlockFeature(MPFEATURE_ONEHITKILLS, array, index, len);
|
||||
}
|
||||
|
||||
if (setup->options & (MPOPTION_SLOWMOTION_ON | MPOPTION_SLOWMOTION_SMART)) {
|
||||
index = mpForceUnlockFeature(MPFEATURE_SLOWMOTION, array, index, len);
|
||||
index = challengeForceUnlockFeature(MPFEATURE_SLOWMOTION, array, index, len);
|
||||
}
|
||||
|
||||
return index;
|
||||
}
|
||||
|
||||
void mpForceUnlockConfigFeatures(struct mpconfig *config, u8 *array, s32 len, s32 challengeindex)
|
||||
void challengeForceUnlockConfigFeatures(struct mpconfig *config, u8 *array, s32 len, s32 challengeindex)
|
||||
{
|
||||
s32 index = mpForceUnlockSetupFeatures(&config->setup, array, len);
|
||||
s32 index = challengeForceUnlockSetupFeatures(&config->setup, array, len);
|
||||
s32 featurenum;
|
||||
s32 numplayers;
|
||||
s32 i;
|
||||
@@ -783,7 +639,7 @@ void mpForceUnlockConfigFeatures(struct mpconfig *config, u8 *array, s32 len, s3
|
||||
featurenum = g_BotProfiles[simtype].requirefeature;
|
||||
|
||||
if (featurenum) {
|
||||
index = mpForceUnlockFeature(featurenum, array, index, len);
|
||||
index = challengeForceUnlockFeature(featurenum, array, index, len);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -794,7 +650,7 @@ void mpForceUnlockConfigFeatures(struct mpconfig *config, u8 *array, s32 len, s3
|
||||
featurenum = g_BotProfiles[simtype].requirefeature;
|
||||
|
||||
if (featurenum) {
|
||||
index = mpForceUnlockFeature(featurenum, array, index, len);
|
||||
index = challengeForceUnlockFeature(featurenum, array, index, len);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -803,7 +659,7 @@ void mpForceUnlockConfigFeatures(struct mpconfig *config, u8 *array, s32 len, s3
|
||||
featurenum = g_MpBodies[config->simulants[i].mpbodynum].requirefeature;
|
||||
|
||||
if (featurenum) {
|
||||
index = mpForceUnlockFeature(featurenum, array, index, len);
|
||||
index = challengeForceUnlockFeature(featurenum, array, index, len);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -811,34 +667,34 @@ void mpForceUnlockConfigFeatures(struct mpconfig *config, u8 *array, s32 len, s3
|
||||
featurenum = g_MpHeads[config->simulants[i].mpheadnum].requirefeature;
|
||||
|
||||
if (featurenum) {
|
||||
index = mpForceUnlockFeature(featurenum, array, index, len);
|
||||
index = challengeForceUnlockFeature(featurenum, array, index, len);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
if (challengeindex >= 25) {
|
||||
index = mpForceUnlockFeature(MPFEATURE_BOTDIFF_DARK, array, index, len);
|
||||
index = challengeForceUnlockFeature(MPFEATURE_BOTDIFF_DARK, array, index, len);
|
||||
} else if (challengeindex >= 20) {
|
||||
index = mpForceUnlockFeature(MPFEATURE_STAGE_CARPARK, array, index, len);
|
||||
index = challengeForceUnlockFeature(MPFEATURE_STAGE_CARPARK, array, index, len);
|
||||
} else if (challengeindex >= 15) {
|
||||
index = mpForceUnlockFeature(MPFEATURE_SCENARIO_PAC, array, index, len);
|
||||
index = challengeForceUnlockFeature(MPFEATURE_SCENARIO_PAC, array, index, len);
|
||||
}
|
||||
|
||||
if (challengeindex >= 10) {
|
||||
index = mpForceUnlockFeature(MPFEATURE_8BOTS, array, index, len);
|
||||
index = challengeForceUnlockFeature(MPFEATURE_8BOTS, array, index, len);
|
||||
}
|
||||
#else
|
||||
if (challengeindex >= 10) {
|
||||
index = mpForceUnlockFeature(MPFEATURE_8BOTS, array, index, len);
|
||||
index = challengeForceUnlockFeature(MPFEATURE_8BOTS, array, index, len);
|
||||
}
|
||||
|
||||
if (challengeindex >= 15) {
|
||||
index = mpForceUnlockFeature(MPFEATURE_SCENARIO_PAC, array, index, len);
|
||||
index = challengeForceUnlockFeature(MPFEATURE_SCENARIO_PAC, array, index, len);
|
||||
}
|
||||
|
||||
if (challengeindex >= 20) {
|
||||
index = mpForceUnlockFeature(MPFEATURE_STAGE_CARPARK, array, index, len);
|
||||
index = challengeForceUnlockFeature(MPFEATURE_STAGE_CARPARK, array, index, len);
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -848,10 +704,10 @@ void mpForceUnlockConfigFeatures(struct mpconfig *config, u8 *array, s32 len, s3
|
||||
}
|
||||
}
|
||||
|
||||
void mpForceUnlockSimulantFeatures(void)
|
||||
void challengeForceUnlockBotFeatures(void)
|
||||
{
|
||||
s32 numsims = 0;
|
||||
s32 index = mpForceUnlockSetupFeatures(&g_MpSetup, g_MpFeaturesForceUnlocked, ARRAYCOUNT(g_MpFeaturesForceUnlocked));
|
||||
s32 index = challengeForceUnlockSetupFeatures(&g_MpSetup, g_MpFeaturesForceUnlocked, ARRAYCOUNT(g_MpFeaturesForceUnlocked));
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 8; i++) {
|
||||
@@ -862,7 +718,7 @@ void mpForceUnlockSimulantFeatures(void)
|
||||
s32 featurenum = g_BotProfiles[simtypeindex].requirefeature;
|
||||
|
||||
if (featurenum) {
|
||||
index = mpForceUnlockFeature(featurenum, g_MpFeaturesForceUnlocked, index, ARRAYCOUNT(g_MpFeaturesForceUnlocked));
|
||||
index = challengeForceUnlockFeature(featurenum, g_MpFeaturesForceUnlocked, index, ARRAYCOUNT(g_MpFeaturesForceUnlocked));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -873,7 +729,7 @@ void mpForceUnlockSimulantFeatures(void)
|
||||
s32 featurenum = g_BotProfiles[simtypeindex].requirefeature;
|
||||
|
||||
if (featurenum) {
|
||||
index = mpForceUnlockFeature(featurenum, g_MpFeaturesForceUnlocked, index, ARRAYCOUNT(g_MpFeaturesForceUnlocked));
|
||||
index = challengeForceUnlockFeature(featurenum, g_MpFeaturesForceUnlocked, index, ARRAYCOUNT(g_MpFeaturesForceUnlocked));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -886,7 +742,7 @@ void mpForceUnlockSimulantFeatures(void)
|
||||
s32 featurenum = g_MpBodies[g_BotConfigsArray[i].base.mpbodynum].requirefeature;
|
||||
|
||||
if (featurenum) {
|
||||
index = mpForceUnlockFeature(featurenum, g_MpFeaturesForceUnlocked, index, ARRAYCOUNT(g_MpFeaturesForceUnlocked));
|
||||
index = challengeForceUnlockFeature(featurenum, g_MpFeaturesForceUnlocked, index, ARRAYCOUNT(g_MpFeaturesForceUnlocked));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -895,14 +751,14 @@ void mpForceUnlockSimulantFeatures(void)
|
||||
s32 featurenum = g_MpHeads[g_BotConfigsArray[i].base.mpheadnum].requirefeature;
|
||||
|
||||
if (featurenum) {
|
||||
index = mpForceUnlockFeature(featurenum, g_MpFeaturesForceUnlocked, index, ARRAYCOUNT(g_MpFeaturesForceUnlocked));
|
||||
index = challengeForceUnlockFeature(featurenum, g_MpFeaturesForceUnlocked, index, ARRAYCOUNT(g_MpFeaturesForceUnlocked));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Force unlock 8 simulants
|
||||
if (numsims > 4) {
|
||||
index = mpForceUnlockFeature(MPFEATURE_8BOTS, g_MpFeaturesForceUnlocked, index, ARRAYCOUNT(g_MpFeaturesForceUnlocked));
|
||||
index = challengeForceUnlockFeature(MPFEATURE_8BOTS, g_MpFeaturesForceUnlocked, index, ARRAYCOUNT(g_MpFeaturesForceUnlocked));
|
||||
}
|
||||
|
||||
// Clear the remainder of the array
|
||||
@@ -910,10 +766,10 @@ void mpForceUnlockSimulantFeatures(void)
|
||||
g_MpFeaturesForceUnlocked[i] = 0;
|
||||
}
|
||||
|
||||
mpDetermineUnlockedFeatures();
|
||||
challengeDetermineUnlockedFeatures();
|
||||
}
|
||||
|
||||
void func0f19c190(void)
|
||||
void challengeRemoveForceUnlocks(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
@@ -921,15 +777,15 @@ void func0f19c190(void)
|
||||
g_MpFeaturesForceUnlocked[i] = 0;
|
||||
}
|
||||
|
||||
mpDetermineUnlockedFeatures();
|
||||
challengeDetermineUnlockedFeatures();
|
||||
}
|
||||
|
||||
void func0f19c1cc(void)
|
||||
void challengeApply(void)
|
||||
{
|
||||
s32 i;
|
||||
u8 buffer[458];
|
||||
|
||||
mpApplyConfig(mpLoadCurrentChallenge(buffer, 458));
|
||||
mpApplyConfig(challengeLoadCurrent(buffer, 458));
|
||||
mpSetLock(MPLOCKTYPE_CHALLENGE, 5);
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
@@ -937,27 +793,27 @@ void func0f19c1cc(void)
|
||||
}
|
||||
}
|
||||
|
||||
s32 mpRemoveLock(void)
|
||||
s32 challengeRemovePlayerLock(void)
|
||||
{
|
||||
return mpSetLock(MPLOCKTYPE_NONE, 0);
|
||||
}
|
||||
|
||||
void mpLoadAndStoreCurrentChallenge(u8 *buffer, s32 len)
|
||||
void challengeLoadAndStoreCurrent(u8 *buffer, s32 len)
|
||||
{
|
||||
g_MpCurrentChallengeConfig = mpLoadCurrentChallenge(buffer, len);
|
||||
g_MpCurrentChallengeConfig = challengeLoadCurrent(buffer, len);
|
||||
}
|
||||
|
||||
void mpClearCurrentChallenge(void)
|
||||
void challengeUnsetCurrent(void)
|
||||
{
|
||||
g_MpCurrentChallengeConfig = NULL;
|
||||
}
|
||||
|
||||
bool mpIsChallengeLoaded(void)
|
||||
bool challengeIsLoaded(void)
|
||||
{
|
||||
return g_MpCurrentChallengeConfig != NULL;
|
||||
}
|
||||
|
||||
char *mpGetCurrentChallengeDescription(void)
|
||||
char *challengeGetCurrentDescription(void)
|
||||
{
|
||||
if (g_MpCurrentChallengeConfig) {
|
||||
return g_MpCurrentChallengeConfig->strings.description;
|
||||
@@ -966,7 +822,7 @@ char *mpGetCurrentChallengeDescription(void)
|
||||
return "";
|
||||
}
|
||||
|
||||
char *mpconfigGetDescription(struct mpconfigfull *mpconfig)
|
||||
char *challengeGetConfigDescription(struct mpconfigfull *mpconfig)
|
||||
{
|
||||
if (mpconfig) {
|
||||
return mpconfig->strings.description;
|
||||
@@ -979,16 +835,16 @@ char *mpconfigGetDescription(struct mpconfigfull *mpconfig)
|
||||
* Return the index of the first incomplete challenge, but if it's in the first
|
||||
* 4 then return index 4 because the first 4 are always shown.
|
||||
*/
|
||||
s32 mpGetAutoFocusedChallengeIndex(s32 mpchrnum)
|
||||
s32 challengeGetAutoFocusedIndex(s32 mpchrnum)
|
||||
{
|
||||
s32 challengeindex;
|
||||
s32 index = 0;
|
||||
|
||||
for (challengeindex = 29; challengeindex >= 0; challengeindex--) {
|
||||
if (mpIsChallengeCompletedByPlayerWithNumPlayers(mpchrnum, challengeindex, 1) ||
|
||||
mpIsChallengeCompletedByPlayerWithNumPlayers(mpchrnum, challengeindex, 2) ||
|
||||
mpIsChallengeCompletedByPlayerWithNumPlayers(mpchrnum, challengeindex, 3) ||
|
||||
mpIsChallengeCompletedByPlayerWithNumPlayers(mpchrnum, challengeindex, 4)) {
|
||||
if (challengeIsCompletedByPlayerWithNumPlayers(mpchrnum, challengeindex, 1) ||
|
||||
challengeIsCompletedByPlayerWithNumPlayers(mpchrnum, challengeindex, 2) ||
|
||||
challengeIsCompletedByPlayerWithNumPlayers(mpchrnum, challengeindex, 3) ||
|
||||
challengeIsCompletedByPlayerWithNumPlayers(mpchrnum, challengeindex, 4)) {
|
||||
index = challengeindex + 1;
|
||||
break;
|
||||
}
|
||||
@@ -1001,22 +857,22 @@ s32 mpGetAutoFocusedChallengeIndex(s32 mpchrnum)
|
||||
return index;
|
||||
}
|
||||
|
||||
char *mpChallengeGetNameWithArg(s32 arg0, s32 challengeindex)
|
||||
char *xhallengeGetName(s32 arg0, s32 challengeindex)
|
||||
{
|
||||
return langGet(g_MpChallenges[challengeindex].name);
|
||||
}
|
||||
|
||||
bool mpIsChallengeCompletedByPlayerWithNumPlayers2(s32 mpchrnum, s32 index, s32 numplayers)
|
||||
bool challengeIsCompletedByPlayerWithNumPlayers2(s32 mpchrnum, s32 index, s32 numplayers)
|
||||
{
|
||||
return mpIsChallengeCompletedByPlayerWithNumPlayers(mpchrnum, index, numplayers);
|
||||
return challengeIsCompletedByPlayerWithNumPlayers(mpchrnum, index, numplayers);
|
||||
}
|
||||
|
||||
bool mpIsChallengeCompletedByAnyPlayerWithNumPlayers(s32 index, s32 numplayers)
|
||||
bool challengeIsCompletedByAnyPlayerWithNumPlayers(s32 index, s32 numplayers)
|
||||
{
|
||||
return (g_MpChallenges[index].completions[numplayers - 1] & 1) != 0;
|
||||
}
|
||||
|
||||
void mpSetChallengeCompletedByAnyPlayerWithNumPlayers(s32 index, s32 numplayers, bool completed)
|
||||
void challengeSetCompletedByAnyPlayerWithNumPlayers(s32 index, s32 numplayers, bool completed)
|
||||
{
|
||||
if (completed) {
|
||||
g_MpChallenges[index].completions[numplayers - 1] |= 1;
|
||||
@@ -1026,12 +882,12 @@ void mpSetChallengeCompletedByAnyPlayerWithNumPlayers(s32 index, s32 numplayers,
|
||||
g_MpChallenges[index].completions[numplayers - 1] &= ~1;
|
||||
}
|
||||
|
||||
bool mpIsChallengeCompletedByPlayerWithNumPlayers(s32 mpchrnum, s32 index, s32 numplayers)
|
||||
bool challengeIsCompletedByPlayerWithNumPlayers(s32 mpchrnum, s32 index, s32 numplayers)
|
||||
{
|
||||
return (g_MpChallenges[index].completions[numplayers - 1] & (2 << mpchrnum)) != 0;
|
||||
}
|
||||
|
||||
void mpSetChallengeCompletedByPlayerWithNumPlayers(u32 mpchrnum, s32 index, s32 numplayers, bool completed)
|
||||
void challengeSetCompletedByPlayerWithNumPlayers(u32 mpchrnum, s32 index, s32 numplayers, bool completed)
|
||||
{
|
||||
if (completed) {
|
||||
g_MpChallenges[index].completions[numplayers - 1] |= 2 << mpchrnum;
|
||||
@@ -1041,7 +897,7 @@ void mpSetChallengeCompletedByPlayerWithNumPlayers(u32 mpchrnum, s32 index, s32
|
||||
g_MpChallenges[index].completions[numplayers - 1] &= ~(2 << mpchrnum);
|
||||
}
|
||||
|
||||
bool mpIsChallengeCompleteForEndscreen(void)
|
||||
bool challengeIsCompleteForEndscreen(void)
|
||||
{
|
||||
s32 prevplayernum = g_Vars.currentplayernum;
|
||||
s32 result = false;
|
||||
@@ -1071,9 +927,9 @@ bool mpIsChallengeCompleteForEndscreen(void)
|
||||
return result;
|
||||
}
|
||||
|
||||
void mpConsiderMarkingCurrentChallengeComplete(void)
|
||||
void challengeConsiderMarkingComplete(void)
|
||||
{
|
||||
bool result = mpIsChallengeCompleteForEndscreen();
|
||||
bool result = challengeIsCompleteForEndscreen();
|
||||
|
||||
#if VERSION == VERSION_PAL_BETA
|
||||
if ((g_CheatsActiveBank0 == 0 && g_CheatsActiveBank1 == 0) && (result || debugIsSetCompleteEnabled()))
|
||||
@@ -1086,20 +942,20 @@ void mpConsiderMarkingCurrentChallengeComplete(void)
|
||||
u32 prevplayernum;
|
||||
s32 i;
|
||||
|
||||
mpSetChallengeCompletedByAnyPlayerWithNumPlayers(g_MpChallengeIndex, PLAYERCOUNT(), 1);
|
||||
challengeSetCompletedByAnyPlayerWithNumPlayers(g_MpChallengeIndex, PLAYERCOUNT(), 1);
|
||||
prevplayernum = g_Vars.currentplayernum;
|
||||
|
||||
for (i = 0; i < PLAYERCOUNT(); i++) {
|
||||
setCurrentPlayerNum(i);
|
||||
mpSetChallengeCompletedByPlayerWithNumPlayers(g_Vars.currentplayerstats->mpindex, g_MpChallengeIndex, PLAYERCOUNT(), true);
|
||||
challengeSetCompletedByPlayerWithNumPlayers(g_Vars.currentplayerstats->mpindex, g_MpChallengeIndex, PLAYERCOUNT(), true);
|
||||
}
|
||||
|
||||
setCurrentPlayerNum(prevplayernum);
|
||||
mpDetermineUnlockedFeatures();
|
||||
challengeDetermineUnlockedFeatures();
|
||||
}
|
||||
}
|
||||
|
||||
bool mpIsFeatureUnlocked(s32 featurenum)
|
||||
bool challengeIsFeatureUnlocked(s32 featurenum)
|
||||
{
|
||||
if (featurenum == 0) {
|
||||
return true;
|
||||
@@ -1108,7 +964,7 @@ bool mpIsFeatureUnlocked(s32 featurenum)
|
||||
return (g_MpFeaturesUnlocked[featurenum] & 1) != 0;
|
||||
}
|
||||
|
||||
bool mpIsFeatureUnlockedByPlayer(u32 numplayers, s32 featurenum)
|
||||
bool challengeIsFeatureUnlockedByPlayer(u32 numplayers, s32 featurenum)
|
||||
{
|
||||
if (featurenum == 0) {
|
||||
return true;
|
||||
@@ -1117,7 +973,7 @@ bool mpIsFeatureUnlockedByPlayer(u32 numplayers, s32 featurenum)
|
||||
return (g_MpFeaturesUnlocked[featurenum] & (2 << numplayers)) != 0;
|
||||
}
|
||||
|
||||
bool mpIsFeatureUnlockedByDefault(s32 featurenum)
|
||||
bool challengeIsFeatureUnlockedByDefault(s32 featurenum)
|
||||
{
|
||||
if (featurenum) {
|
||||
return false;
|
||||
@@ -1,6 +1,6 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/game_19aa80.h"
|
||||
#include "game/challenge.h"
|
||||
#include "game/mplayer/mplayer.h"
|
||||
#include "bss.h"
|
||||
#include "data.h"
|
||||
@@ -19,14 +19,14 @@ void challengesInit(void)
|
||||
g_MpChallenges[i].completions[2] = 0;
|
||||
g_MpChallenges[i].completions[3] = 0;
|
||||
|
||||
mpconfig = mpLoadChallenge(i, buffer, 0x1ca);
|
||||
mpForceUnlockConfigFeatures(&mpconfig->config, g_MpChallenges[i].unlockfeatures, 16, i);
|
||||
mpconfig = challengeLoad(i, buffer, 0x1ca);
|
||||
challengeForceUnlockConfigFeatures(&mpconfig->config, g_MpChallenges[i].unlockfeatures, 16, i);
|
||||
}
|
||||
|
||||
for (i = 0; i < mpGetNumPresets(); i++) {
|
||||
mpconfig = mpLoadConfig(g_MpPresets[i].confignum, buffer, 0x1ca);
|
||||
mpForceUnlockConfigFeatures(&mpconfig->config, g_MpPresets[i].requirefeatures, 16, -1);
|
||||
mpconfig = challengeLoadConfig(g_MpPresets[i].confignum, buffer, 0x1ca);
|
||||
challengeForceUnlockConfigFeatures(&mpconfig->config, g_MpPresets[i].requirefeatures, 16, -1);
|
||||
}
|
||||
|
||||
mpDetermineUnlockedFeatures();
|
||||
challengeDetermineUnlockedFeatures();
|
||||
}
|
||||
+28
-29
@@ -11,11 +11,11 @@
|
||||
#include "game/objectives.h"
|
||||
#include "game/game_096360.h"
|
||||
#include "game/bondgun.h"
|
||||
#include "game/game_0abe70.h"
|
||||
#include "game/gunfx.h"
|
||||
#include "game/game_0b0fd0.h"
|
||||
#include "game/game_0b28d0.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/game_0b4950.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/camera.h"
|
||||
#include "game/player.h"
|
||||
#include "game/game_0c33f0.h"
|
||||
#include "game/playermgr.h"
|
||||
@@ -26,7 +26,6 @@
|
||||
#include "game/smoke.h"
|
||||
#include "game/sparks.h"
|
||||
#include "game/bg.h"
|
||||
#include "game/game_165670.h"
|
||||
#include "game/file.h"
|
||||
#include "game/mplayer/setup.h"
|
||||
#include "game/bot.h"
|
||||
@@ -1661,7 +1660,7 @@ void chrHandleJointPositioned(s32 joint, Mtxf *mtx)
|
||||
return;
|
||||
}
|
||||
|
||||
mtx00015be0(currentPlayerGetUnk174c(), mtx);
|
||||
mtx00015be0(camGetUnk174c(), mtx);
|
||||
|
||||
sp138.x = mtx->m[3][0];
|
||||
sp138.y = mtx->m[3][1];
|
||||
@@ -1707,7 +1706,7 @@ void chrHandleJointPositioned(s32 joint, Mtxf *mtx)
|
||||
mtx->m[3][1] = sp138.y;
|
||||
mtx->m[3][2] = sp138.z;
|
||||
|
||||
mtx00015be0(currentPlayerGetMatrix1740(), mtx);
|
||||
mtx00015be0(camGetMatrix1740(), mtx);
|
||||
} else {
|
||||
if (g_CurModelChr->model->filedata->skel == &g_SkelChr) {
|
||||
lshoulderjoint = 2;
|
||||
@@ -1870,7 +1869,7 @@ void chrHandleJointPositioned(s32 joint, Mtxf *mtx)
|
||||
yrot += M_BADTAU;
|
||||
}
|
||||
|
||||
mtx00015be0(currentPlayerGetUnk174c(), mtx);
|
||||
mtx00015be0(camGetUnk174c(), mtx);
|
||||
|
||||
sp70.x = mtx->m[3][0];
|
||||
sp70.y = mtx->m[3][1];
|
||||
@@ -1915,7 +1914,7 @@ void chrHandleJointPositioned(s32 joint, Mtxf *mtx)
|
||||
mtx->m[3][1] = sp70.y;
|
||||
mtx->m[3][2] = sp70.z;
|
||||
|
||||
mtx00015be0(currentPlayerGetMatrix1740(), mtx);
|
||||
mtx00015be0(camGetMatrix1740(), mtx);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2918,7 +2917,7 @@ s32 chrTick(struct prop *prop)
|
||||
sp190.z = cosf(angle) * 19;
|
||||
|
||||
mtx4LoadTranslation(&sp190, &sp1a8);
|
||||
mtx4MultMtx4InPlace(currentPlayerGetMatrix1740(), &sp1a8);
|
||||
mtx4MultMtx4InPlace(camGetMatrix1740(), &sp1a8);
|
||||
sp210.unk00 = &sp1a8;
|
||||
} else if (prop->type == PROPTYPE_PLAYER) {
|
||||
u8 stack[0x14];
|
||||
@@ -2935,13 +2934,13 @@ s32 chrTick(struct prop *prop)
|
||||
sp17c.z = sinf(-sp178) * sp130;
|
||||
|
||||
mtx4LoadTranslation(&sp17c, &sp1a8);
|
||||
mtx4MultMtx4InPlace(currentPlayerGetMatrix1740(), &sp1a8);
|
||||
mtx4MultMtx4InPlace(camGetMatrix1740(), &sp1a8);
|
||||
sp210.unk00 = &sp1a8;
|
||||
} else {
|
||||
sp210.unk00 = currentPlayerGetMatrix1740();
|
||||
sp210.unk00 = camGetMatrix1740();
|
||||
}
|
||||
} else {
|
||||
sp210.unk00 = currentPlayerGetMatrix1740();
|
||||
sp210.unk00 = camGetMatrix1740();
|
||||
}
|
||||
|
||||
sp210.unk10 = gfxAllocate(model->filedata->nummatrices * sizeof(Mtxf));
|
||||
@@ -2961,7 +2960,7 @@ s32 chrTick(struct prop *prop)
|
||||
f32 xdiff;
|
||||
f32 ydiff;
|
||||
f32 zdiff;
|
||||
f32 sp114 = currentPlayerGetLodScaleZ();
|
||||
f32 sp114 = camGetLodScaleZ();
|
||||
bool restore = false;
|
||||
f32 prevfrac;
|
||||
s32 prevframea;
|
||||
@@ -3280,7 +3279,7 @@ bool chr0f024738(struct chrdata *chr)
|
||||
+ thing->unk06c.m[1][2] * campos->f[1]
|
||||
+ thing->unk06c.m[2][2] * campos->f[2]) + thing->unk06c.m[3][2];
|
||||
|
||||
mtx00015be4(&thing->unk06c, currentPlayerGetUnk174c(), &thing->unk0ac);
|
||||
mtx00015be4(&thing->unk06c, camGetUnk174c(), &thing->unk0ac);
|
||||
thing->unk00c = true;
|
||||
}
|
||||
|
||||
@@ -3388,13 +3387,13 @@ bool chr0f024b18(struct model *model, struct modelnode *node)
|
||||
sp88.z = thing->bbox.zmin;
|
||||
}
|
||||
|
||||
mtx00015be4(currentPlayerGetMatrix1740(), &thing->unk02c, &thing->unk0ec);
|
||||
mtx00015be4(camGetMatrix1740(), &thing->unk02c, &thing->unk0ec);
|
||||
mtx4TransformVec(&thing->unk0ec, &spa0, &sp70);
|
||||
func0f0b4dec(&sp70, thing->unk134);
|
||||
cam0f0b4dec(&sp70, thing->unk134);
|
||||
mtx4TransformVec(&thing->unk0ec, &sp94, &sp70);
|
||||
func0f0b4dec(&sp70, thing->unk13c);
|
||||
cam0f0b4dec(&sp70, thing->unk13c);
|
||||
mtx4TransformVec(&thing->unk0ec, &sp88, &sp70);
|
||||
func0f0b4dec(&sp70, thing->unk144);
|
||||
cam0f0b4dec(&sp70, thing->unk144);
|
||||
|
||||
thing->unk130 = 1;
|
||||
thing->unk14c = thing->unk13c[1] - thing->unk134[1];
|
||||
@@ -3448,7 +3447,7 @@ bool chr0f024b18(struct model *model, struct modelnode *node)
|
||||
}
|
||||
|
||||
mtx4TransformVec(mtx, &sp64, &sp70);
|
||||
func0f0b4dec(&sp70, sp80);
|
||||
cam0f0b4dec(&sp70, sp80);
|
||||
|
||||
value = thing->unk14c * sp80[0] + thing->unk150 * sp80[1] - thing->unk154;
|
||||
|
||||
@@ -5388,9 +5387,9 @@ void chr0f027994(struct prop *prop, struct shotdata *shotdata, bool arg2, bool a
|
||||
while (spc0 > 0) {
|
||||
if (func0f084594(model, node, &shotdata->unk00, &shotdata->unk0c, &sp88, &sp84, &sp80)) {
|
||||
mtx4TransformVec(&model->matrices[sp84], &sp88.unk00, &spdc);
|
||||
mtx4TransformVecInPlace(currentPlayerGetUnk174c(), &spdc);
|
||||
mtx4TransformVecInPlace(camGetUnk174c(), &spdc);
|
||||
mtx4RotateVec(&model->matrices[sp84], &sp88.unk0c, &spd0);
|
||||
mtx4RotateVecInPlace(currentPlayerGetUnk174c(), &spd0);
|
||||
mtx4RotateVecInPlace(camGetUnk174c(), &spd0);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -5402,8 +5401,8 @@ void chr0f027994(struct prop *prop, struct shotdata *shotdata, bool arg2, bool a
|
||||
if (spc0 > 0) {
|
||||
if (func0f06bea0(model, model->filedata->rootnode, model->filedata->rootnode, &shotdata->unk00,
|
||||
&shotdata->unk0c, &sp88.unk00, &sp70, &node, &spc0, &sp84, &sp80)) {
|
||||
mtx4TransformVec(currentPlayerGetUnk174c(), &sp88.unk00, &spdc);
|
||||
mtx4RotateVec(currentPlayerGetUnk174c(), &sp88.unk0c, &spd0);
|
||||
mtx4TransformVec(camGetUnk174c(), &sp88.unk00, &spdc);
|
||||
mtx4RotateVec(camGetUnk174c(), &sp88.unk0c, &spd0);
|
||||
} else {
|
||||
spc0 = 0;
|
||||
}
|
||||
@@ -5416,7 +5415,7 @@ void chr0f027994(struct prop *prop, struct shotdata *shotdata, bool arg2, bool a
|
||||
}
|
||||
|
||||
if (spc0 > 0) {
|
||||
mtx = currentPlayerGetMatrix1740();
|
||||
mtx = camGetMatrix1740();
|
||||
sp68 = spdc.x * mtx->m[0][2] + spdc.y * mtx->m[1][2] + spdc.z * mtx->m[2][2] + mtx->m[3][2];
|
||||
sp68 = -sp68;
|
||||
|
||||
@@ -5470,7 +5469,7 @@ void chrHit(struct shotdata *shotdata, struct hit *hit)
|
||||
sp98.y = shotdata->unk00.y - (hit->distance * shotdata->unk0c.y) / shotdata->unk0c.z;
|
||||
sp98.z = shotdata->unk00.z - hit->distance;
|
||||
|
||||
mtx4TransformVec(currentPlayerGetUnk174c(), &sp98, &hitpos);
|
||||
mtx4TransformVec(camGetUnk174c(), &sp98, &hitpos);
|
||||
bgunSetHitPos(&hitpos);
|
||||
bgunPlayPropHitSound(&shotdata->gset, hit->prop, -1);
|
||||
|
||||
@@ -6788,7 +6787,7 @@ glabel var7f1a9ba0pf
|
||||
/* f029df4: 24060004 */ li $a2,0x4
|
||||
/* f029df8: 24070001 */ li $a3,0x1
|
||||
/* f029dfc: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f029e00: 0fc2cfb8 */ jal func0f0b39c0
|
||||
/* f029e00: 0fc2cfb8 */ jal tex0f0b39c0
|
||||
/* f029e04: e7ae016c */ swc1 $f14,0x16c($sp)
|
||||
/* f029e08: 8fa80204 */ lw $t0,0x204($sp)
|
||||
/* f029e0c: c7ae016c */ lwc1 $f14,0x16c($sp)
|
||||
@@ -8950,7 +8949,7 @@ glabel var7f1a9ba0pf
|
||||
/* f029da0: 24060004 */ li $a2,0x4
|
||||
/* f029da4: 24070001 */ li $a3,0x1
|
||||
/* f029da8: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f029dac: 0fc2cf74 */ jal func0f0b39c0
|
||||
/* f029dac: 0fc2cf74 */ jal tex0f0b39c0
|
||||
/* f029db0: e7ae016c */ swc1 $f14,0x16c($sp)
|
||||
/* f029db4: 8fa80204 */ lw $t0,0x204($sp)
|
||||
/* f029db8: c7ae016c */ lwc1 $f14,0x16c($sp)
|
||||
@@ -11106,7 +11105,7 @@ glabel var7f1a8980
|
||||
/* f029cd0: 24060004 */ addiu $a2,$zero,0x4
|
||||
/* f029cd4: 24070001 */ addiu $a3,$zero,0x1
|
||||
/* f029cd8: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f029cdc: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f029cdc: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f029ce0: e7ae016c */ swc1 $f14,0x16c($sp)
|
||||
/* f029ce4: 8fa80204 */ lw $t0,0x204($sp)
|
||||
/* f029ce8: c7ae016c */ lwc1 $f14,0x16c($sp)
|
||||
@@ -13126,7 +13125,7 @@ Gfx *chrRenderCloak(Gfx *gdl, struct prop *chrprop, struct prop *thisprop)
|
||||
coord.y = mtx->m[3][1];
|
||||
coord.z = mtx->m[3][2];
|
||||
|
||||
func0f0b4d68(&coord, screenpos);
|
||||
cam0f0b4d68(&coord, screenpos);
|
||||
|
||||
if (screenpos[0] < 0.0f) {
|
||||
screenpos[0] = 0.0f;
|
||||
|
||||
+20
-20
@@ -4,21 +4,22 @@
|
||||
#include "game/chrai.h"
|
||||
#include "game/debug.h"
|
||||
#include "game/dlights.h"
|
||||
#include "game/footstep.h"
|
||||
#include "game/game_006900.h"
|
||||
#include "game/game_01b0a0.h"
|
||||
#include "game/pdmode.h"
|
||||
#include "game/chr.h"
|
||||
#include "game/game_02cde0.h"
|
||||
#include "game/body.h"
|
||||
#include "game/prop.h"
|
||||
#include "game/propsnd.h"
|
||||
#include "game/objectives.h"
|
||||
#include "game/atan2f.h"
|
||||
#include "game/acosfasinf.h"
|
||||
#include "game/bondgun.h"
|
||||
#include "game/game_0abe70.h"
|
||||
#include "game/gunfx.h"
|
||||
#include "game/game_0b0fd0.h"
|
||||
#include "game/game_0b28d0.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/game_0b4950.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/camera.h"
|
||||
#include "game/player.h"
|
||||
#include "game/inv.h"
|
||||
#include "game/playermgr.h"
|
||||
@@ -27,7 +28,6 @@
|
||||
#include "game/bg.h"
|
||||
#include "game/game_1531a0.h"
|
||||
#include "game/stagetable.h"
|
||||
#include "game/game_165670.h"
|
||||
#include "game/env.h"
|
||||
#include "game/lv.h"
|
||||
#include "game/bot.h"
|
||||
@@ -9714,7 +9714,7 @@ glabel var7f1a8fc8
|
||||
/* f03f32c: afa20108 */ sw $v0,0x108($sp)
|
||||
/* f03f330: 00402025 */ or $a0,$v0,$zero
|
||||
/* f03f334: 8cb80004 */ lw $t8,0x4($a1)
|
||||
/* f03f338: 0fc2d4e9 */ jal func0f0b53a4
|
||||
/* f03f338: 0fc2d4e9 */ jal cam0f0b53a4
|
||||
/* f03f33c: afb800c4 */ sw $t8,0xc4($sp)
|
||||
/* f03f340: 10400037 */ beqz $v0,.L0f03f420
|
||||
/* f03f344: 8fa40108 */ lw $a0,0x108($sp)
|
||||
@@ -9755,7 +9755,7 @@ glabel var7f1a8fc8
|
||||
/* f03f3cc: 0c006973 */ jal model0001a5cc
|
||||
/* f03f3d0: 00003025 */ or $a2,$zero,$zero
|
||||
/* f03f3d4: afa200b0 */ sw $v0,0xb0($sp)
|
||||
/* f03f3d8: 0fc2d4e9 */ jal func0f0b53a4
|
||||
/* f03f3d8: 0fc2d4e9 */ jal cam0f0b53a4
|
||||
/* f03f3dc: 00402025 */ or $a0,$v0,$zero
|
||||
/* f03f3e0: 1040000f */ beqz $v0,.L0f03f420
|
||||
/* f03f3e4: 8fa400b0 */ lw $a0,0xb0($sp)
|
||||
@@ -10324,13 +10324,13 @@ bool chrGetGunPos(struct chrdata *chr, s32 handnum, struct coord *gunpos)
|
||||
gunpos->y = rodata->pos.y;
|
||||
gunpos->z = rodata->pos.z;
|
||||
|
||||
mtx00015be4(currentPlayerGetUnk174c(), spac, &sp6c);
|
||||
mtx00015be4(camGetUnk174c(), spac, &sp6c);
|
||||
mtx4TransformVecInPlace(&sp6c, gunpos);
|
||||
result = true;
|
||||
} else if ((part1 = modelGetPart(model->filedata, MODELPART_0001))) {
|
||||
sp64 = model0001a5cc(model, part1, 0);
|
||||
|
||||
mtx00015be4(currentPlayerGetUnk174c(), sp64, &sp24);
|
||||
mtx00015be4(camGetUnk174c(), sp64, &sp24);
|
||||
|
||||
gunpos->x = sp24.m[3][0];
|
||||
gunpos->y = sp24.m[3][1];
|
||||
@@ -10386,13 +10386,13 @@ void chrCalculateShieldHit(struct chrdata *chr, struct coord *pos, struct coord
|
||||
if (prop->flags & (PROPFLAG_ONTHISSCREENTHISTICK | PROPFLAG_ONANYSCREENTHISTICK | PROPFLAG_ONANYSCREENPREVTICK)) {
|
||||
bestnode = NULL;
|
||||
bestvolume = MAXFLOAT;
|
||||
lVar4 = func0f0b5050(chr->model->matrices);
|
||||
lVar4 = cam0f0b5050(chr->model->matrices);
|
||||
|
||||
if (lVar4) {
|
||||
mtx4TransformVec(lVar4, pos, &sp124);
|
||||
mtx4RotateVec(lVar4, vector, &sp118);
|
||||
|
||||
isdifferentmtx = (currentPlayerGetMatrix1740() != lVar4);
|
||||
isdifferentmtx = (camGetMatrix1740() != lVar4);
|
||||
node = chr->model->filedata->rootnode;
|
||||
|
||||
while (node) {
|
||||
@@ -22621,7 +22621,7 @@ void chrTickPatrol(struct chrdata *chr)
|
||||
chrNavTickMagic(chr, &chr->act_patrol.waydata, func0f0370a8(chr), &sp58, sp48);
|
||||
}
|
||||
|
||||
chrCheckFootstepMagic(chr);
|
||||
footstepCheckMagic(chr);
|
||||
} else {
|
||||
arrivinglaterally = posIsArrivingLaterallyAtPos(&chr->prevpos, &prop->pos, &sp58, 30);
|
||||
arriving = posIsArrivingAtPos(&chr->prevpos, &prop->pos, &sp58, 30);
|
||||
@@ -22641,7 +22641,7 @@ void chrTickPatrol(struct chrdata *chr)
|
||||
}
|
||||
|
||||
chrNavTickMain(chr, &sp58, &chr->act_patrol.waydata, true);
|
||||
chrCheckFootstep(chr);
|
||||
footstepCheckDefault(chr);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22935,10 +22935,10 @@ void chraTick(struct chrdata *chr)
|
||||
#endif
|
||||
|
||||
if (pass) {
|
||||
chrCheckFootstep(chr);
|
||||
footstepCheckDefault(chr);
|
||||
}
|
||||
} else {
|
||||
chrCheckFootstepMagic(chr);
|
||||
footstepCheckMagic(chr);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25631,7 +25631,7 @@ bool chrCanSeeTargetWithExtraCheck(struct chrdata *chr)
|
||||
|
||||
bgun0f0a0c08(&sp68, &sp56);
|
||||
modelGetRootPosition(model, &sp44);
|
||||
mtx4TransformVecInPlace(currentPlayerGetMatrix1740(), &sp44);
|
||||
mtx4TransformVecInPlace(camGetMatrix1740(), &sp44);
|
||||
|
||||
if (func0f06b39c(&sp68, &sp56, &sp44, somefloat)) {
|
||||
return true;
|
||||
@@ -26112,7 +26112,7 @@ bool func0f04aeb0(struct coord *pos, s16 *rooms)
|
||||
|
||||
if (rooms[i] != -1) {
|
||||
// Room is visible by player
|
||||
result = !func0f0b5d38(pos, 200, func0f158140(rooms[i]));
|
||||
result = !cam0f0b5d38(pos, 200, func0f158140(rooms[i]));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26293,7 +26293,7 @@ struct prop *chrSpawnAtCoord(s32 bodynum, s32 headnum, struct coord *pos, s16 *r
|
||||
if (chrAdjustPosForSpawn(20, &pos2, rooms2, angle, (spawnflags & SPAWNFLAG_00000010) != 0, 0))
|
||||
#endif
|
||||
{
|
||||
struct model *model = modelAllocateChr(bodynum, headnum, spawnflags);
|
||||
struct model *model = bodyAllocateModel(bodynum, headnum, spawnflags);
|
||||
struct chrdata *chr;
|
||||
|
||||
if (model) {
|
||||
@@ -28611,7 +28611,7 @@ Gfx *chrsRenderChrStats(Gfx *gdl, s16 *rooms)
|
||||
mtx4TransformVecInPlace(g_Vars.currentplayer->matrix1740, &sp20c);
|
||||
|
||||
if (sp20c.z < -100 && sp20c.z > -1000) {
|
||||
func0f0b4eb8(&sp20c, sp204, g_Vars.currentplayer->c_perspfovy, g_Vars.currentplayer->c_perspaspect);
|
||||
cam0f0b4eb8(&sp20c, sp204, g_Vars.currentplayer->c_perspfovy, g_Vars.currentplayer->c_perspaspect);
|
||||
x = sp204[0];
|
||||
y = sp204[1];
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
#include "game/title.h"
|
||||
#include "game/chr.h"
|
||||
#include "game/prop.h"
|
||||
#include "game/game_091e10.h"
|
||||
#include "game/setuputils.h"
|
||||
#include "game/propsnd.h"
|
||||
#include "game/objectives.h"
|
||||
#include "game/atan2f.h"
|
||||
@@ -28,7 +28,6 @@
|
||||
#include "game/weather.h"
|
||||
#include "game/bg.h"
|
||||
#include "game/stagetable.h"
|
||||
#include "game/game_165670.h"
|
||||
#include "game/env.h"
|
||||
#include "game/lv.h"
|
||||
#include "game/music.h"
|
||||
@@ -5287,10 +5286,10 @@ bool ai00df(void)
|
||||
struct tag *tag = tagFindById(cmd[2]);
|
||||
|
||||
if (tag) {
|
||||
s32 cmdindex = tagGetCommandIndex(tag);
|
||||
s32 cmdindex = setupGetCmdIndexByTag(tag);
|
||||
|
||||
if (cmdindex >= 0) {
|
||||
void *ptr = setupGetPtrToCommandByIndex(cmdindex + tag->cmdoffset);
|
||||
void *ptr = setupGetCmdByIndex(cmdindex + tag->cmdoffset);
|
||||
playerPrepareWarpType2(ptr, cmd[4] | (cmd[3] << 8), cmd[6] | (cmd[5] << 8));
|
||||
}
|
||||
}
|
||||
|
||||
File renamed without changes.
+4
-4
@@ -2,7 +2,7 @@
|
||||
#include "constants.h"
|
||||
#include "game/game_006900.h"
|
||||
#include "game/title.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/player.h"
|
||||
#include "game/savebuffer.h"
|
||||
#include "game/menugfx.h"
|
||||
@@ -206,7 +206,7 @@ Gfx *creditsRenderBackgroundLayer(Gfx *gdl, u8 type, u8 layernum, f32 arg3, u32
|
||||
gDPSetCombineMode(gdl++, G_CC_MODULATEI, G_CC_MODULATEI);
|
||||
gSPClearGeometryMode(gdl++, G_CULL_BOTH);
|
||||
|
||||
func0f0b39c0(&gdl, &g_TexGeneralConfigs[g_CreditsBgTypes[type].texturenum], 1, 1, 2, 1, NULL);
|
||||
tex0f0b39c0(&gdl, &g_TexGeneralConfigs[g_CreditsBgTypes[type].texturenum], 1, 1, 2, 1, NULL);
|
||||
|
||||
gDPSetRenderMode(gdl++, G_RM_XLU_SURF, G_RM_XLU_SURF2);
|
||||
|
||||
@@ -2397,7 +2397,7 @@ glabel var7f1b5850
|
||||
/* f139590: 24140001 */ addiu $s4,$zero,0x1
|
||||
/* f139594: 00006812 */ mflo $t5
|
||||
/* f139598: 01ae2821 */ addu $a1,$t5,$t6
|
||||
/* f13959c: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f13959c: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f1395a0: 00000000 */ nop
|
||||
/* f1395a4: 8fb90118 */ lw $t9,0x118($sp)
|
||||
/* f1395a8: 3c09ba00 */ lui $t1,0xba00
|
||||
@@ -5871,7 +5871,7 @@ Gfx *creditsRender(Gfx *gdl)
|
||||
|
||||
mtx4LoadIdentity(&sp68);
|
||||
mtx00016054(&sp68, matrix);
|
||||
currentPlayerSetMatrix1740(&sp68);
|
||||
camSetMatrix1740(&sp68);
|
||||
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(matrix), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
|
||||
|
||||
+2
-2
@@ -606,7 +606,7 @@ bool debugProcessInput(s8 stickx, s8 sticky, u16 buttons, u16 buttonsthisframe)
|
||||
break;
|
||||
case DEBUGOPT_ALLCHALLENGES:
|
||||
g_DebugAllChallenges ^= 1;
|
||||
mpDetermineUnlockedFeatures();
|
||||
challengeDetermineUnlockedFeatures();
|
||||
break;
|
||||
case DEBUGOPT_ALLTRAINING:
|
||||
g_DebugAllTraining ^= 1;
|
||||
@@ -647,7 +647,7 @@ bool debugProcessInput(s8 stickx, s8 sticky, u16 buttons, u16 buttonsthisframe)
|
||||
break;
|
||||
case DEBUGOPT_ALLCHALLENGES:
|
||||
g_DebugAllChallenges ^= 1;
|
||||
mpDetermineUnlockedFeatures();
|
||||
challengeDetermineUnlockedFeatures();
|
||||
break;
|
||||
case DEBUGOPT_ALLBUDDIES:
|
||||
g_DebugAllBuddies ^= 1;
|
||||
|
||||
+7
-7
@@ -3,8 +3,8 @@
|
||||
#include "game/cheats.h"
|
||||
#include "game/dlights.h"
|
||||
#include "game/propsnd.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/game_0b4950.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/camera.h"
|
||||
#include "game/player.h"
|
||||
#include "game/smoke.h"
|
||||
#include "game/sparks.h"
|
||||
@@ -437,7 +437,7 @@ glabel var7f1a7d8c
|
||||
/* f0012a4: 44cef800 */ ctc1 $t6,$31
|
||||
/* f0012a8: acab0000 */ sw $t3,0x0($a1)
|
||||
/* f0012ac: afa50028 */ sw $a1,0x28($sp)
|
||||
/* f0012b0: 0fc2d5ea */ jal currentPlayerGetUnk175c
|
||||
/* f0012b0: 0fc2d5ea */ jal camGetUnk175c
|
||||
/* f0012b4: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f0012b8: 8fa50028 */ lw $a1,0x28($sp)
|
||||
/* f0012bc: 3c0c0382 */ lui $t4,0x382
|
||||
@@ -446,7 +446,7 @@ glabel var7f1a7d8c
|
||||
/* f0012c8: aca20004 */ sw $v0,0x4($a1)
|
||||
/* f0012cc: ac6c0000 */ sw $t4,0x0($v1)
|
||||
/* f0012d0: afa30024 */ sw $v1,0x24($sp)
|
||||
/* f0012d4: 0fc2d5ea */ jal currentPlayerGetUnk175c
|
||||
/* f0012d4: 0fc2d5ea */ jal camGetUnk175c
|
||||
/* f0012d8: 26100008 */ addiu $s0,$s0,0x8
|
||||
/* f0012dc: 8fa30024 */ lw $v1,0x24($sp)
|
||||
/* f0012e0: 244d0010 */ addiu $t5,$v0,0x10
|
||||
@@ -462,8 +462,8 @@ glabel var7f1a7d8c
|
||||
Gfx *func0f001300(Gfx *gdl)
|
||||
{
|
||||
gSPSetLights1(gdl++, var80061460);
|
||||
gSPLookAtX(gdl++, currentPlayerGetUnk175c()->m[0]);
|
||||
gSPLookAtY(gdl++, currentPlayerGetUnk175c()->m[1]);
|
||||
gSPLookAtX(gdl++, camGetUnk175c()->m[0]);
|
||||
gSPLookAtY(gdl++, camGetUnk175c()->m[1]);
|
||||
|
||||
return gdl;
|
||||
}
|
||||
@@ -5257,7 +5257,7 @@ glabel func0f004c6c
|
||||
/* f004eb4: 00008025 */ or $s0,$zero,$zero
|
||||
/* f004eb8: 0000a025 */ or $s4,$zero,$zero
|
||||
.L0f004ebc:
|
||||
/* f004ebc: 0fc2d95b */ jal func0f0b656c
|
||||
/* f004ebc: 0fc2d95b */ jal portal0f0b656c
|
||||
/* f004ec0: 02202025 */ or $a0,$s1,$zero
|
||||
/* f004ec4: 3c013f00 */ lui $at,0x3f00
|
||||
/* f004ec8: 44812000 */ mtc1 $at,$f4
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "game/cheats.h"
|
||||
#include "game/game_006900.h"
|
||||
#include "game/title.h"
|
||||
#include "game/game_01b0a0.h"
|
||||
#include "game/pdmode.h"
|
||||
#include "game/objectives.h"
|
||||
#include "game/bondgun.h"
|
||||
#include "game/game_0b0fd0.h"
|
||||
@@ -17,7 +17,7 @@
|
||||
#include "game/stagetable.h"
|
||||
#include "game/lv.h"
|
||||
#include "game/mplayer/ingame.h"
|
||||
#include "game/game_19aa80.h"
|
||||
#include "game/challenge.h"
|
||||
#include "game/gamefile.h"
|
||||
#include "game/lang.h"
|
||||
#include "game/options.h"
|
||||
@@ -1112,7 +1112,7 @@ void endscreenPrepare(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
mpDetermineUnlockedFeatures();
|
||||
challengeDetermineUnlockedFeatures();
|
||||
|
||||
if (g_MissionConfig.stagenum == STAGE_SKEDARRUINS && g_AltTitleUnlocked == false) {
|
||||
g_AltTitleUnlocked = true;
|
||||
|
||||
+3
-4
@@ -1,9 +1,8 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/game_0b4950.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/camera.h"
|
||||
#include "game/bg.h"
|
||||
#include "game/game_165670.h"
|
||||
#include "bss.h"
|
||||
#include "lib/vi.h"
|
||||
#include "data.h"
|
||||
@@ -405,7 +404,7 @@ bool env0f1666f8(struct coord *pos, f32 arg1)
|
||||
return true;
|
||||
}
|
||||
|
||||
mtx = currentPlayerGetMatrix1740();
|
||||
mtx = camGetMatrix1740();
|
||||
|
||||
sp24.x = pos->x - campos->x;
|
||||
sp24.y = pos->y - campos->y;
|
||||
|
||||
+12
-12
@@ -4,14 +4,14 @@
|
||||
#include "game/dlights.h"
|
||||
#include "game/chr.h"
|
||||
#include "game/prop.h"
|
||||
#include "game/game_091e10.h"
|
||||
#include "game/setuputils.h"
|
||||
#include "game/propsnd.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/game_0b4950.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/camera.h"
|
||||
#include "game/explosions.h"
|
||||
#include "game/smoke.h"
|
||||
#include "game/bg.h"
|
||||
#include "game/game_1668e0.h"
|
||||
#include "game/room.h"
|
||||
#include "game/file.h"
|
||||
#include "game/gfxmemory.h"
|
||||
#include "game/mplayer/mplayer.h"
|
||||
@@ -244,7 +244,7 @@ bool explosionCreate(struct prop *sourceprop, struct coord *exppos, s16 *exproom
|
||||
|
||||
// Bullet holes: only crate the flame (explosion) if within 4 metres
|
||||
if (type == EXPLOSIONTYPE_BULLETHOLE) {
|
||||
f32 lodscale = currentPlayerGetLodScaleZ();
|
||||
f32 lodscale = camGetLodScaleZ();
|
||||
struct coord *campos = &g_Vars.currentplayer->cam_pos;
|
||||
f32 xdist = exppos->x - campos->x;
|
||||
f32 ydist = exppos->y - campos->y;
|
||||
@@ -779,7 +779,7 @@ void explosionInflictDamage(struct prop *expprop)
|
||||
&& ydist <= damageradius && ydist >= -damageradius
|
||||
&& zdist <= damageradius && zdist >= -damageradius) {
|
||||
|
||||
if (func0f092304(obj, &sp130, &sp124)) {
|
||||
if (setup0f092304(obj, &sp130, &sp124)) {
|
||||
if (explosionOverlapsProp(exp, prop, &sp130, &sp124)) {
|
||||
candamage = true;
|
||||
}
|
||||
@@ -1244,7 +1244,7 @@ u32 explosionTick(struct prop *prop)
|
||||
|
||||
u32 explosionTickPlayer(struct prop *prop)
|
||||
{
|
||||
Mtxf *matrix = currentPlayerGetMatrix1740();
|
||||
Mtxf *matrix = camGetMatrix1740();
|
||||
|
||||
prop->z = -(matrix->m[0][2] * prop->pos.x + matrix->m[1][2] * prop->pos.y + matrix->m[2][2] * prop->pos.z + matrix->m[3][2]);
|
||||
|
||||
@@ -1286,7 +1286,7 @@ Gfx *explosionRender(struct prop *prop, Gfx *gdl, bool withalpha)
|
||||
|
||||
if (roomnum != -1) {
|
||||
struct screenbox screenbox;
|
||||
struct coord *coord = func0f166dd0(roomnum);
|
||||
struct coord *coord = room0f166dd0(roomnum);
|
||||
u32 *colour;
|
||||
s32 tmp;
|
||||
|
||||
@@ -1297,9 +1297,9 @@ Gfx *explosionRender(struct prop *prop, Gfx *gdl, bool withalpha)
|
||||
}
|
||||
|
||||
gSPClearGeometryMode(gdl++, G_CULL_BOTH | G_FOG);
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(currentPlayerGetUnk1758()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(camGetUnk1758()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
|
||||
gdl = func0f166d7c(gdl, roomnum);
|
||||
gdl = room0f166d7c(gdl, roomnum);
|
||||
|
||||
gSPDisplayList(gdl++, g_TexGdl2);
|
||||
|
||||
@@ -1366,7 +1366,7 @@ Gfx *explosionRender(struct prop *prop, Gfx *gdl, bool withalpha)
|
||||
}
|
||||
}
|
||||
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(currentPlayerGetUnk1750()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(camGetUnk1750()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
|
||||
#if PAL
|
||||
tmp = (g_ExplosionTypes[exp->type].flarespeed * 15.0f) * 0.83333331346512f;
|
||||
@@ -1415,7 +1415,7 @@ glabel var7f1b55c4
|
||||
/* f12cd8c: afa700dc */ sw $a3,0xdc($sp)
|
||||
/* f12cd90: 0fc59e59 */ jal gfxAllocateVertices
|
||||
/* f12cd94: 24040004 */ addiu $a0,$zero,0x4
|
||||
/* f12cd98: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f12cd98: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f12cd9c: 00408025 */ or $s0,$v0,$zero
|
||||
/* f12cda0: 8faa00d0 */ lw $t2,0xd0($sp)
|
||||
/* f12cda4: 00405825 */ or $t3,$v0,$zero
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@
|
||||
#include "game/savebuffer.h"
|
||||
#include "game/filelist.h"
|
||||
#include "game/bg.h"
|
||||
#include "game/game_19aa80.h"
|
||||
#include "game/challenge.h"
|
||||
#include "game/training.h"
|
||||
#include "game/gamefile.h"
|
||||
#include "game/mplayer/mplayer.h"
|
||||
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/filelist.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/savebuffer.h"
|
||||
#include "game/menu.h"
|
||||
#include "game/filemgr.h"
|
||||
@@ -2302,7 +2302,7 @@ Gfx *filemgrRenderPerfectHeadThumbnail(Gfx *gdl, struct menuitemrenderdata *rend
|
||||
gDPSetTextureLOD(gdl++, G_TL_TILE);
|
||||
gDPSetTextureConvert(gdl++, G_TC_FILT);
|
||||
|
||||
func0f0b39c0(&gdl, texture, 1, 0, 2, 1, NULL);
|
||||
tex0f0b39c0(&gdl, texture, 1, 0, 2, 1, NULL);
|
||||
|
||||
gDPSetCycleType(gdl++, G_CYC_1CYCLE);
|
||||
gDPSetTextureFilter(gdl++, G_TF_POINT);
|
||||
@@ -3187,7 +3187,7 @@ s32 filemgrChooseAgentListMenuHandler(s32 operation, struct menuitem *item, unio
|
||||
gDPSetTextureLOD(gdl++, G_TL_TILE);
|
||||
gDPSetTextureConvert(gdl++, G_TC_FILT);
|
||||
|
||||
func0f0b39c0(&gdl, &g_TexGeneralConfigs[texturenum], 2, 0, 2, 1, NULL);
|
||||
tex0f0b39c0(&gdl, &g_TexGeneralConfigs[texturenum], 2, 0, 2, 1, NULL);
|
||||
|
||||
gDPSetCycleType(gdl++, G_CYC_1CYCLE);
|
||||
gDPSetTextureFilter(gdl++, G_TF_POINT);
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
#include "constants.h"
|
||||
#include "game/menu.h"
|
||||
#include "game/filemgr.h"
|
||||
#include "game/game_10c9c0.h"
|
||||
#include "game/fmb.h"
|
||||
#include "game/mainmenu.h"
|
||||
#include "game/game_19aa80.h"
|
||||
#include "game/challenge.h"
|
||||
#include "game/mplayer/mplayer.h"
|
||||
#include "game/mplayer/scenarios.h"
|
||||
#include "game/mplayer/setup.h"
|
||||
@@ -12,7 +12,7 @@
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
s32 menuhandler4MbDropOut(s32 operation, struct menuitem *item, union handlerdata *data)
|
||||
s32 fmbHandleDropOut(s32 operation, struct menuitem *item, union handlerdata *data)
|
||||
{
|
||||
if (operation == MENUOP_SET) {
|
||||
menuPopDialog();
|
||||
@@ -26,7 +26,7 @@ s32 menuhandler4MbDropOut(s32 operation, struct menuitem *item, union handlerdat
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 menuhandler0010ca1c(s32 operation, struct menuitem *item, union handlerdata *data)
|
||||
s32 fmdHandleAbortGame(s32 operation, struct menuitem *item, union handlerdata *data)
|
||||
{
|
||||
if (operation == MENUOP_SET) {
|
||||
if (g_Vars.stagenum == STAGE_4MBMENU) {
|
||||
@@ -39,7 +39,7 @@ s32 menuhandler0010ca1c(s32 operation, struct menuitem *item, union handlerdata
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 menuhandler4MbAdvancedSetup(s32 operation, struct menuitem *item, union handlerdata *data)
|
||||
s32 fmbHandleAdvancedSetup(s32 operation, struct menuitem *item, union handlerdata *data)
|
||||
{
|
||||
if (operation == MENUOP_SET) {
|
||||
func0f0f820c(&g_AdvancedSetup4MbMenuDialog, MENUROOT_4MBMAINMENU);
|
||||
@@ -48,17 +48,17 @@ s32 menuhandler4MbAdvancedSetup(s32 operation, struct menuitem *item, union hand
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 menuhandler0010cabc(s32 operation, struct menuitem *item, union handlerdata *data)
|
||||
s32 fmbHandleAcceptChallenge(s32 operation, struct menuitem *item, union handlerdata *data)
|
||||
{
|
||||
if (operation == MENUOP_SET) {
|
||||
mpSetCurrentChallenge(g_Menus[g_MpPlayerNum].main4mb.slotindex);
|
||||
challengeSetCurrentBySlot(g_Menus[g_MpPlayerNum].main4mb.slotindex);
|
||||
func0f0f820c(&g_MpQuickGo4MbMenuDialog, MENUROOT_4MBMAINMENU);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void fmbmenuReset(void)
|
||||
void fmbReset(void)
|
||||
{
|
||||
s32 i;
|
||||
u32 prevplayernum = g_MpPlayerNum;
|
||||
@@ -80,7 +80,7 @@ void fmbmenuReset(void)
|
||||
g_Vars.coopplayernum = -1;
|
||||
g_Vars.antiplayernum = -1;
|
||||
|
||||
mpDetermineUnlockedFeatures();
|
||||
challengeDetermineUnlockedFeatures();
|
||||
|
||||
menuPushRootDialog(&g_FilemgrFileSelect4MbMenuDialog, MENUROOT_4MBFILEMGR);
|
||||
|
||||
@@ -94,7 +94,7 @@ void fmbmenuReset(void)
|
||||
g_MpPlayerNum = prevplayernum;
|
||||
}
|
||||
|
||||
s32 menudialog4MbMainMenu(s32 operation, struct menudialogdef *dialogdef, union handlerdata *data)
|
||||
s32 fmbHandleMainMenu(s32 operation, struct menudialogdef *dialogdef, union handlerdata *data)
|
||||
{
|
||||
if (operation == MENUOP_OPEN) {
|
||||
g_Vars.waitingtojoin[0] = false;
|
||||
@@ -109,8 +109,8 @@ s32 menudialog4MbMainMenu(s32 operation, struct menudialogdef *dialogdef, union
|
||||
g_Vars.mpsetupmenu = MPSETUPMENU_GENERAL;
|
||||
g_Vars.mpquickteam = MPQUICKTEAM_NONE;
|
||||
g_Vars.usingadvsetup = false;
|
||||
mpClearCurrentChallenge();
|
||||
mpRemoveLock();
|
||||
challengeUnsetCurrent();
|
||||
challengeRemovePlayerLock();
|
||||
}
|
||||
|
||||
return false;
|
||||
@@ -231,7 +231,7 @@ struct menuitem g_MpConfirmChallenge4MbMenuItems[] = {
|
||||
{ MENUITEMTYPE_SCROLLABLE, DESCRIPTION_MPCONFIG, 0x00000000, 0x0000007c, 55, NULL },
|
||||
#endif
|
||||
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
|
||||
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPMENU_057, 0x00000000, menuhandler0010cabc }, // "Accept"
|
||||
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPMENU_057, 0x00000000, fmbHandleAcceptChallenge }, // "Accept"
|
||||
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000008, L_MPMENU_058, 0x00000000, NULL }, // "Cancel"
|
||||
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
|
||||
};
|
||||
@@ -263,7 +263,7 @@ struct menuitem g_MainMenu4MbMenuItems[] = {
|
||||
{ MENUITEMTYPE_SELECTABLE, 0, 0x00400004, L_MISC_441, 0x00000000, (void *)&g_MpChallenges4MbMenuDialog }, // "Challenges"
|
||||
{ MENUITEMTYPE_SELECTABLE, 0, 0x00400004, L_MISC_442, 0x00000001, (void *)&g_MpLoadPresetMenuDialog }, // "Load/Preset Games"
|
||||
{ MENUITEMTYPE_SELECTABLE, 0, 0x00400004, L_MISC_443, 0x00000002, (void *)&g_MpQuickTeamMenuDialog }, // "Quick Start"
|
||||
{ MENUITEMTYPE_SELECTABLE, 0, 0x00400000, L_MISC_444, 0x00000003, menuhandler4MbAdvancedSetup }, // "Advanced Setup"
|
||||
{ MENUITEMTYPE_SELECTABLE, 0, 0x00400000, L_MISC_444, 0x00000003, fmbHandleAdvancedSetup }, // "Advanced Setup"
|
||||
{ MENUITEMTYPE_SELECTABLE, 0, 0x00400004, L_OPTIONS_305, 0x00000000, (void *)&g_AudioVideo4MbMenuDialog }, // "Audio/Video"
|
||||
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000082, 0x00000000, NULL },
|
||||
{ MENUITEMTYPE_SELECTABLE, 0, 0x00400004, L_OPTIONS_306, 0x00000000, (void *)&g_ChangeAgentMenuDialog }, // "Change Agent"
|
||||
@@ -274,14 +274,14 @@ struct menudialogdef g_MainMenu4MbMenuDialog = {
|
||||
MENUDIALOGTYPE_DEFAULT,
|
||||
L_OPTIONS_302, // "Small but Perfect Menu"
|
||||
g_MainMenu4MbMenuItems,
|
||||
menudialog4MbMainMenu,
|
||||
fmbHandleMainMenu,
|
||||
MENUDIALOGFLAG_MPLOCKABLE | MENUDIALOGFLAG_IGNOREBACK,
|
||||
NULL,
|
||||
};
|
||||
|
||||
struct menuitem g_MpDropOut4MbMenuItems[] = {
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00000010, L_MPMENU_196, 0x00000000, NULL }, // "Are you sure you want to drop out?"
|
||||
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPMENU_197, 0x00000000, menuhandler4MbDropOut }, // "Drop Out"
|
||||
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPMENU_197, 0x00000000, fmbHandleDropOut }, // "Drop Out"
|
||||
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000008, L_MPMENU_198, 0x00000000, NULL }, // "Cancel"
|
||||
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
|
||||
};
|
||||
@@ -297,7 +297,7 @@ struct menudialogdef g_MpDropOut4MbMenuDialog = {
|
||||
|
||||
struct menuitem g_UnusedAbortMenuItems[] = {
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00000010, L_MPMENU_053, 0x00000000, NULL }, // "Are you sure you want to abort the game?"
|
||||
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPMENU_054, 0x00000000, menuhandler0010ca1c }, // "Abort"
|
||||
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPMENU_054, 0x00000000, fmdHandleAbortGame }, // "Abort"
|
||||
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000008, L_MPMENU_055, 0x00000000, NULL }, // "Cancel"
|
||||
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
|
||||
};
|
||||
@@ -66,7 +66,7 @@ struct footstepframe g_FootstepAnims[] = {
|
||||
{ ANIM_SKEDAR_RUNNING, 0x00, 0x00 },
|
||||
};
|
||||
|
||||
bool func0f005fd0(s32 animnum)
|
||||
bool footstepIsRunning(s32 animnum)
|
||||
{
|
||||
switch (animnum) {
|
||||
case ANIM_001D:
|
||||
@@ -96,10 +96,10 @@ bool func0f005fd0(s32 animnum)
|
||||
return false;
|
||||
}
|
||||
|
||||
s32 chrChooseFootstepSound(struct chrdata *chr, s32 footstepindex)
|
||||
s32 footstepChooseSound(struct chrdata *chr, s32 footstepindex)
|
||||
{
|
||||
s32 floortype;
|
||||
s32 which;
|
||||
s32 running;
|
||||
s32 rand;
|
||||
s32 index;
|
||||
|
||||
@@ -134,11 +134,11 @@ s32 chrChooseFootstepSound(struct chrdata *chr, s32 footstepindex)
|
||||
return result;
|
||||
}
|
||||
|
||||
which = func0f005fd0(g_FootstepAnims[footstepindex].animnum);
|
||||
running = footstepIsRunning(g_FootstepAnims[footstepindex].animnum);
|
||||
|
||||
do {
|
||||
rand = random() % 8;
|
||||
index = (which ? 2 : 0) + (rand & 5) + floortype * 8;
|
||||
index = (running ? 2 : 0) + (rand & 5) + floortype * 8;
|
||||
} while (index == chr->lastfootsample);
|
||||
|
||||
chr->lastfootsample = index;
|
||||
@@ -148,7 +148,7 @@ s32 chrChooseFootstepSound(struct chrdata *chr, s32 footstepindex)
|
||||
|
||||
#if VERSION >= VERSION_JPN_FINAL
|
||||
GLOBAL_ASM(
|
||||
glabel chrCheckFootstep
|
||||
glabel footstepCheckDefault
|
||||
/* f00626c: 27bdff88 */ addiu $sp,$sp,-120
|
||||
/* f006270: afbf004c */ sw $ra,0x4c($sp)
|
||||
/* f006274: afb10048 */ sw $s1,0x48($sp)
|
||||
@@ -328,7 +328,7 @@ glabel chrCheckFootstep
|
||||
/* f0064e8: 00000000 */ nop
|
||||
/* f0064ec: a2390190 */ sb $t9,0x190($s1)
|
||||
.JF0f0064f0:
|
||||
/* f0064f0: 0fc01841 */ jal chrChooseFootstepSound
|
||||
/* f0064f0: 0fc01841 */ jal footstepChooseSound
|
||||
/* f0064f4: 02202025 */ move $a0,$s1
|
||||
/* f0064f8: 2401ffff */ li $at,-1
|
||||
/* f0064fc: 5041001c */ beql $v0,$at,.JF0f006570
|
||||
@@ -381,7 +381,7 @@ glabel chrCheckFootstep
|
||||
);
|
||||
#elif VERSION >= VERSION_PAL_FINAL
|
||||
GLOBAL_ASM(
|
||||
glabel chrCheckFootstep
|
||||
glabel footstepCheckDefault
|
||||
/* f0061dc: 27bdff88 */ addiu $sp,$sp,-120
|
||||
/* f0061e0: afbf004c */ sw $ra,0x4c($sp)
|
||||
/* f0061e4: afb10048 */ sw $s1,0x48($sp)
|
||||
@@ -561,7 +561,7 @@ glabel chrCheckFootstep
|
||||
/* f006458: 00000000 */ nop
|
||||
/* f00645c: a2390190 */ sb $t9,0x190($s1)
|
||||
.PF0f006460:
|
||||
/* f006460: 0fc0181d */ jal chrChooseFootstepSound
|
||||
/* f006460: 0fc0181d */ jal footstepChooseSound
|
||||
/* f006464: 02202025 */ move $a0,$s1
|
||||
/* f006468: 2401ffff */ li $at,-1
|
||||
/* f00646c: 5041001c */ beql $v0,$at,.PF0f0064e0
|
||||
@@ -614,7 +614,7 @@ glabel chrCheckFootstep
|
||||
);
|
||||
#elif VERSION >= VERSION_PAL_BETA
|
||||
GLOBAL_ASM(
|
||||
glabel chrCheckFootstep
|
||||
glabel footstepCheckDefault
|
||||
/* f0061dc: 27bdff88 */ addiu $sp,$sp,-120
|
||||
/* f0061e0: afbf004c */ sw $ra,0x4c($sp)
|
||||
/* f0061e4: afb10048 */ sw $s1,0x48($sp)
|
||||
@@ -794,7 +794,7 @@ glabel chrCheckFootstep
|
||||
/* f006458: 00000000 */ nop
|
||||
/* f00645c: a2390190 */ sb $t9,0x190($s1)
|
||||
.PB0f006460:
|
||||
/* f006460: 0fc0181d */ jal chrChooseFootstepSound
|
||||
/* f006460: 0fc0181d */ jal footstepChooseSound
|
||||
/* f006464: 02202025 */ move $a0,$s1
|
||||
/* f006468: 2401ffff */ li $at,-1
|
||||
/* f00646c: 5041001c */ beql $v0,$at,.PB0f0064e0
|
||||
@@ -847,7 +847,7 @@ glabel chrCheckFootstep
|
||||
);
|
||||
#elif VERSION >= VERSION_NTSC_1_0
|
||||
GLOBAL_ASM(
|
||||
glabel chrCheckFootstep
|
||||
glabel footstepCheckDefault
|
||||
/* f0061dc: 27bdff88 */ addiu $sp,$sp,-120
|
||||
/* f0061e0: afbf004c */ sw $ra,0x4c($sp)
|
||||
/* f0061e4: afb10048 */ sw $s1,0x48($sp)
|
||||
@@ -1027,7 +1027,7 @@ glabel chrCheckFootstep
|
||||
/* f006458: 00000000 */ nop
|
||||
/* f00645c: a2390190 */ sb $t9,0x190($s1)
|
||||
.L0f006460:
|
||||
/* f006460: 0fc0181d */ jal chrChooseFootstepSound
|
||||
/* f006460: 0fc0181d */ jal footstepChooseSound
|
||||
/* f006464: 02202025 */ or $a0,$s1,$zero
|
||||
/* f006468: 2401ffff */ addiu $at,$zero,-1
|
||||
/* f00646c: 5041001c */ beql $v0,$at,.L0f0064e0
|
||||
@@ -1083,7 +1083,7 @@ glabel chrCheckFootstep
|
||||
);
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
glabel chrCheckFootstep
|
||||
glabel footstepCheckDefault
|
||||
/* f005f2c: 27bdff88 */ addiu $sp,$sp,-120
|
||||
/* f005f30: afbf004c */ sw $ra,0x4c($sp)
|
||||
/* f005f34: afb10048 */ sw $s1,0x48($sp)
|
||||
@@ -1263,7 +1263,7 @@ glabel chrCheckFootstep
|
||||
/* f0061a8: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f0061ac: a2390190 */ sb $t9,0x190($s1)
|
||||
.NB0f0061b0:
|
||||
/* f0061b0: 0fc01771 */ jal chrChooseFootstepSound
|
||||
/* f0061b0: 0fc01771 */ jal footstepChooseSound
|
||||
/* f0061b4: 02202025 */ or $a0,$s1,$zero
|
||||
/* f0061b8: 2401ffff */ addiu $at,$zero,-1
|
||||
/* f0061bc: 5041001a */ beql $v0,$at,.NB0f006228
|
||||
@@ -1323,7 +1323,7 @@ glabel chrCheckFootstep
|
||||
* It is assumed that the chr is moving normally and not via magic.
|
||||
*/
|
||||
// Mismatch: load of 10.0f into $at is swapped with load of prevframe from stack
|
||||
//void chrCheckFootstep(struct chrdata *chr)
|
||||
//void footstepCheckDefault(struct chrdata *chr)
|
||||
//{
|
||||
// if (debugIsFootstepsEnabled() && PLAYERCOUNT() == 1 && chr) {
|
||||
// chr->footstep = 0;
|
||||
@@ -1355,7 +1355,7 @@ glabel chrCheckFootstep
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// soundnum = chrChooseFootstepSound(chr, i);
|
||||
// soundnum = footstepChooseSound(chr, i);
|
||||
//
|
||||
// if (soundnum != -1 && chr->footstep != 0) {
|
||||
// func0f0939f8(NULL, chr->prop, soundnum, -1,
|
||||
@@ -1382,7 +1382,7 @@ glabel chrCheckFootstep
|
||||
* The "magic" method of movement applies when the chr is off-screen.
|
||||
* It uses a computationally simple approach to movement.
|
||||
*/
|
||||
void chrCheckFootstepMagic(struct chrdata *chr)
|
||||
void footstepCheckMagic(struct chrdata *chr)
|
||||
{
|
||||
s32 index;
|
||||
f32 frame;
|
||||
@@ -1432,7 +1432,7 @@ void chrCheckFootstepMagic(struct chrdata *chr)
|
||||
}
|
||||
}
|
||||
|
||||
soundnum = chrChooseFootstepSound(chr, index);
|
||||
soundnum = footstepChooseSound(chr, index);
|
||||
|
||||
if (soundnum != -1 && chr->footstep != 0) {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
@@ -1445,7 +1445,7 @@ void chrCheckFootstepMagic(struct chrdata *chr)
|
||||
}
|
||||
}
|
||||
|
||||
if (func0f005fd0(g_FootstepAnims[index].animnum)) {
|
||||
if (footstepIsRunning(g_FootstepAnims[index].animnum)) {
|
||||
if (chr->magicframe > 22) {
|
||||
chr->magicframe -= 22;
|
||||
}
|
||||
@@ -1,162 +0,0 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/game_000130.h"
|
||||
#include "game/floor.h"
|
||||
#include "bss.h"
|
||||
#include "lib/anim.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
void bodiesInit(void)
|
||||
{
|
||||
g_NumBondBodies = 0;
|
||||
|
||||
while (g_BondBodies[g_NumBondBodies] >= 0) {
|
||||
g_NumBondBodies++;
|
||||
}
|
||||
|
||||
g_NumMaleGuardTeamHeads = 0;
|
||||
|
||||
while (g_MaleGuardTeamHeads[g_NumMaleGuardTeamHeads] >= 0) {
|
||||
g_NumMaleGuardTeamHeads++;
|
||||
}
|
||||
|
||||
g_NumFemaleGuardTeamHeads = 0;
|
||||
|
||||
while (g_FemaleGuardTeamHeads[g_NumFemaleGuardTeamHeads] >= 0) {
|
||||
g_NumFemaleGuardTeamHeads++;
|
||||
}
|
||||
|
||||
g_NumMaleGuardHeads = 0;
|
||||
|
||||
while (g_MaleGuardHeads[g_NumMaleGuardHeads] >= 0) {
|
||||
g_NumMaleGuardHeads++;
|
||||
}
|
||||
|
||||
g_NumFemaleGuardHeads = 0;
|
||||
|
||||
while (g_FemaleGuardHeads[g_NumFemaleGuardHeads] >= 0) {
|
||||
g_NumFemaleGuardHeads++;
|
||||
}
|
||||
}
|
||||
|
||||
u16 func0f0002a0(s16 animnum, s32 frame, s32 endframe)
|
||||
{
|
||||
s16 sp48[4];
|
||||
u16 count = 0;
|
||||
|
||||
while (frame < endframe) {
|
||||
count += anim0002485c(0, 0, &g_SkelChr, animnum, frame, sp48, 0);
|
||||
frame++;
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
s32 func0f000358(s16 animnum, s32 frame, s32 endframe)
|
||||
{
|
||||
s32 count = 0;
|
||||
s16 sp44[4];
|
||||
|
||||
while (frame < endframe) {
|
||||
anim0002485c(0, 0, &g_SkelChr, animnum, frame, sp44, 0);
|
||||
count += sp44[2];
|
||||
frame++;
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
s32 func0f00040c(struct attackanimconfig *configs)
|
||||
{
|
||||
s32 count = 0;
|
||||
struct attackanimconfig *config = configs;
|
||||
|
||||
while (config->animnum != 0) {
|
||||
u16 value = func0f0002a0(config->animnum, 0, floor(config->unk04));
|
||||
|
||||
if (config->unk04 > 0) {
|
||||
if (value < 0x8000) {
|
||||
config->unk08 = value * 0.00009585853695171f / config->unk04;
|
||||
} else {
|
||||
config->unk08 = (value * 0.00009585853695171f - M_BADTAU) / config->unk04;
|
||||
}
|
||||
} else {
|
||||
config->unk08 = 0;
|
||||
}
|
||||
|
||||
config++;
|
||||
count++;
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
void func0f00052c(struct attackanimgroup **groups)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 32; i++) {
|
||||
if (groups[i]->len < 0) {
|
||||
groups[i]->len = func0f00040c(groups[i]->animcfg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s32 func0f000590(struct animtablerow *rows)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; rows[i].animnum > 0; i++);
|
||||
|
||||
return i;
|
||||
}
|
||||
|
||||
f32 func0f0005c0(s16 animnum)
|
||||
{
|
||||
f32 tmp = func0f000358(animnum, 0, animGetNumFrames(animnum) - 1) / (f32) animGetNumFrames(animnum);
|
||||
|
||||
var8005f014[animnum] = tmp;
|
||||
|
||||
return tmp * 0.1000000089407f;
|
||||
}
|
||||
|
||||
void func0f000648(void)
|
||||
{
|
||||
s32 race;
|
||||
s32 i;
|
||||
|
||||
for (race = 0; race < 5; race++) {
|
||||
for (i = 0; g_AnimTablesByRace[race][i].hitpart != -1; i++) {
|
||||
if (g_AnimTablesByRace[race][i].deathanims) {
|
||||
g_AnimTablesByRace[race][i].deathanimcount = func0f000590(g_AnimTablesByRace[race][i].deathanims);
|
||||
} else {
|
||||
g_AnimTablesByRace[race][i].deathanimcount = 0;
|
||||
}
|
||||
|
||||
if (g_AnimTablesByRace[race][i].injuryanims) {
|
||||
g_AnimTablesByRace[race][i].injuryanimcount = func0f000590(g_AnimTablesByRace[race][i].injuryanims);
|
||||
} else {
|
||||
g_AnimTablesByRace[race][i].injuryanimcount = 0;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; var80067fdc[race][i].animnum >= 0; i++) {
|
||||
var80067fdc[race][i].value = func0f0005c0(var80067fdc[race][i].animnum);
|
||||
}
|
||||
}
|
||||
|
||||
func0f000590(g_AnimTableHumanSlumped);
|
||||
|
||||
for (race = 0; race < 2; race++) {
|
||||
func0f00052c(g_StandHeavyAttackAnims[race]);
|
||||
func0f00052c(g_StandLightAttackAnims[race]);
|
||||
func0f00052c(g_StandDualAttackAnims[race]);
|
||||
func0f00052c(g_KneelHeavyAttackAnims[race]);
|
||||
func0f00052c(g_KneelLightAttackAnims[race]);
|
||||
func0f00052c(g_KneelDualAttackAnims[race]);
|
||||
}
|
||||
|
||||
func0f00040c(g_RollAttackAnims);
|
||||
func0f00040c(&g_AttackAnimHeavyWalk);
|
||||
}
|
||||
@@ -96,7 +96,6 @@ f32 func0f006ba0(f32 arg0)
|
||||
return tmp;
|
||||
}
|
||||
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
f32 func0f006bd0(f32 arg0)
|
||||
{
|
||||
s32 ival = arg0 * 4.0f;
|
||||
@@ -116,4 +115,3 @@ f32 func0f006bd0(f32 arg0)
|
||||
|
||||
return 0.0f;
|
||||
}
|
||||
#endif
|
||||
@@ -1,47 +0,0 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/chraction.h"
|
||||
#include "game/dlights.h"
|
||||
#include "game/game_006900.h"
|
||||
#include "game/nbomb.h"
|
||||
#include "game/chr.h"
|
||||
#include "game/chraction.h"
|
||||
#include "game/prop.h"
|
||||
#include "game/objectives.h"
|
||||
#include "game/atan2f.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/savebuffer.h"
|
||||
#include "game/bg.h"
|
||||
#include "game/file.h"
|
||||
#include "game/gfxmemory.h"
|
||||
#include "bss.h"
|
||||
#include "lib/vi.h"
|
||||
#include "lib/snd.h"
|
||||
#include "lib/rng.h"
|
||||
#include "lib/mtx.h"
|
||||
#include "lib/lib_317f0.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
// In ntsc-bta, this function is in a different file
|
||||
f32 func0f006bd0(f32 arg0)
|
||||
{
|
||||
s32 ival = arg0 * 4.0f;
|
||||
f32 fval = arg0 * 4.0f - (f32)(ival / 4) * 4.0f;
|
||||
|
||||
if (fval < 1.0f) {
|
||||
return fval;
|
||||
}
|
||||
|
||||
if (fval < 2.0f) {
|
||||
return 1.0f;
|
||||
}
|
||||
|
||||
if (fval < 3.0f) {
|
||||
return 1.0f - (fval - 2.0f);
|
||||
}
|
||||
|
||||
return 0.0f;
|
||||
}
|
||||
#endif
|
||||
+8
-353
@@ -4,8 +4,8 @@
|
||||
#include "game/chrai.h"
|
||||
#include "game/game_00b820.h"
|
||||
#include "game/playerreset.h"
|
||||
#include "game/game_02cde0.h"
|
||||
#include "game/game_091e10.h"
|
||||
#include "game/body.h"
|
||||
#include "game/setuputils.h"
|
||||
#include "bss.h"
|
||||
#include "lib/memp.h"
|
||||
#include "lib/rng.h"
|
||||
@@ -14,351 +14,6 @@
|
||||
|
||||
struct prop *g_DangerousProps[MAX_DANGEROUSPROPS];
|
||||
|
||||
struct stageheadlimit g_StageHeadLimits[3] = {
|
||||
{ STAGE_INFILTRATION, 5 },
|
||||
{ STAGE_RESCUE, 4 },
|
||||
{ STAGE_ESCAPE, 5 },
|
||||
};
|
||||
|
||||
u32 var80061708 = 0x00000000;
|
||||
u32 var8006170c = 0x00000000;
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel headsReset
|
||||
/* f00b820: 27bdffd0 */ addiu $sp,$sp,-48
|
||||
/* f00b824: 3c0e8008 */ lui $t6,%hi(g_HeadsAndBodies+0x2)
|
||||
/* f00b828: 95cecf06 */ lhu $t6,%lo(g_HeadsAndBodies+0x2)($t6)
|
||||
/* f00b82c: afb10018 */ sw $s1,0x18($sp)
|
||||
/* f00b830: afb00014 */ sw $s0,0x14($sp)
|
||||
/* f00b834: 00808025 */ or $s0,$a0,$zero
|
||||
/* f00b838: afbf002c */ sw $ra,0x2c($sp)
|
||||
/* f00b83c: afb50028 */ sw $s5,0x28($sp)
|
||||
/* f00b840: afb40024 */ sw $s4,0x24($sp)
|
||||
/* f00b844: afb30020 */ sw $s3,0x20($sp)
|
||||
/* f00b848: afb2001c */ sw $s2,0x1c($sp)
|
||||
/* f00b84c: 11c00009 */ beqz $t6,.L0f00b874
|
||||
/* f00b850: 00008825 */ or $s1,$zero,$zero
|
||||
/* f00b854: 3c028008 */ lui $v0,%hi(g_HeadsAndBodies)
|
||||
/* f00b858: 2442cf04 */ addiu $v0,$v0,%lo(g_HeadsAndBodies)
|
||||
/* f00b85c: 944f0016 */ lhu $t7,0x16($v0)
|
||||
.L0f00b860:
|
||||
/* f00b860: 24420014 */ addiu $v0,$v0,0x14
|
||||
/* f00b864: ac40fff8 */ sw $zero,-0x8($v0)
|
||||
/* f00b868: 55e0fffd */ bnezl $t7,.L0f00b860
|
||||
/* f00b86c: 944f0016 */ lhu $t7,0x16($v0)
|
||||
/* f00b870: 00008825 */ or $s1,$zero,$zero
|
||||
.L0f00b874:
|
||||
/* f00b874: 0c004b70 */ jal random
|
||||
/* f00b878: 00000000 */ nop
|
||||
/* f00b87c: 3c188006 */ lui $t8,%hi(g_NumBondBodies)
|
||||
/* f00b880: 8f182b00 */ lw $t8,%lo(g_NumBondBodies)($t8)
|
||||
/* f00b884: 3c018006 */ lui $at,%hi(var80062c80)
|
||||
/* f00b888: 3c128006 */ lui $s2,%hi(var80062b14)
|
||||
/* f00b88c: 0058001b */ divu $zero,$v0,$t8
|
||||
/* f00b890: 0000c810 */ mfhi $t9
|
||||
/* f00b894: ac392c80 */ sw $t9,%lo(var80062c80)($at)
|
||||
/* f00b898: 26522b14 */ addiu $s2,$s2,%lo(var80062b14)
|
||||
/* f00b89c: 3c06800a */ lui $a2,%hi(g_Vars)
|
||||
/* f00b8a0: ae400000 */ sw $zero,0x0($s2)
|
||||
/* f00b8a4: 3c018006 */ lui $at,%hi(var80062b18)
|
||||
/* f00b8a8: 24c69fc0 */ addiu $a2,$a2,%lo(g_Vars)
|
||||
/* f00b8ac: ac202b18 */ sw $zero,%lo(var80062b18)($at)
|
||||
/* f00b8b0: 8cc8006c */ lw $t0,0x6c($a2)
|
||||
/* f00b8b4: 17000002 */ bnez $t8,.L0f00b8c0
|
||||
/* f00b8b8: 00000000 */ nop
|
||||
/* f00b8bc: 0007000d */ break 0x7
|
||||
.L0f00b8c0:
|
||||
/* f00b8c0: 00002825 */ or $a1,$zero,$zero
|
||||
/* f00b8c4: 11000003 */ beqz $t0,.L0f00b8d4
|
||||
/* f00b8c8: 00001825 */ or $v1,$zero,$zero
|
||||
/* f00b8cc: 10000001 */ b .L0f00b8d4
|
||||
/* f00b8d0: 24050001 */ addiu $a1,$zero,0x1
|
||||
.L0f00b8d4:
|
||||
/* f00b8d4: 8cc90068 */ lw $t1,0x68($a2)
|
||||
/* f00b8d8: 00002025 */ or $a0,$zero,$zero
|
||||
/* f00b8dc: 00001025 */ or $v0,$zero,$zero
|
||||
/* f00b8e0: 11200003 */ beqz $t1,.L0f00b8f0
|
||||
/* f00b8e4: 00000000 */ nop
|
||||
/* f00b8e8: 10000001 */ b .L0f00b8f0
|
||||
/* f00b8ec: 24030001 */ addiu $v1,$zero,0x1
|
||||
.L0f00b8f0:
|
||||
/* f00b8f0: 8cca0064 */ lw $t2,0x64($a2)
|
||||
/* f00b8f4: 3c15800a */ lui $s5,%hi(g_NumActiveHeadsPerGender)
|
||||
/* f00b8f8: 26b5cd20 */ addiu $s5,$s5,%lo(g_NumActiveHeadsPerGender)
|
||||
/* f00b8fc: 11400003 */ beqz $t2,.L0f00b90c
|
||||
/* f00b900: 24180008 */ addiu $t8,$zero,0x8
|
||||
/* f00b904: 10000001 */ b .L0f00b90c
|
||||
/* f00b908: 24040001 */ addiu $a0,$zero,0x1
|
||||
.L0f00b90c:
|
||||
/* f00b90c: 8ccb0070 */ lw $t3,0x70($a2)
|
||||
/* f00b910: 240f0004 */ addiu $t7,$zero,0x4
|
||||
/* f00b914: 3c198006 */ lui $t9,%hi(g_StageHeadLimits)
|
||||
/* f00b918: 11600003 */ beqz $t3,.L0f00b928
|
||||
/* f00b91c: 00000000 */ nop
|
||||
/* f00b920: 10000001 */ b .L0f00b928
|
||||
/* f00b924: 24020001 */ addiu $v0,$zero,0x1
|
||||
.L0f00b928:
|
||||
/* f00b928: 00446021 */ addu $t4,$v0,$a0
|
||||
/* f00b92c: 01836821 */ addu $t5,$t4,$v1
|
||||
/* f00b930: 01a57021 */ addu $t6,$t5,$a1
|
||||
/* f00b934: 29c10002 */ slti $at,$t6,0x2
|
||||
/* f00b938: 14200005 */ bnez $at,.L0f00b950
|
||||
/* f00b93c: 27221700 */ addiu $v0,$t9,%lo(g_StageHeadLimits)
|
||||
/* f00b940: 3c15800a */ lui $s5,%hi(g_NumActiveHeadsPerGender)
|
||||
/* f00b944: 26b5cd20 */ addiu $s5,$s5,%lo(g_NumActiveHeadsPerGender)
|
||||
/* f00b948: 1000000d */ b .L0f00b980
|
||||
/* f00b94c: aeaf0000 */ sw $t7,0x0($s5)
|
||||
.L0f00b950:
|
||||
/* f00b950: aeb80000 */ sw $t8,0x0($s5)
|
||||
/* f00b954: 24440006 */ addiu $a0,$v0,0x6
|
||||
/* f00b958: 90480000 */ lbu $t0,0x0($v0)
|
||||
.L0f00b95c:
|
||||
/* f00b95c: 56080004 */ bnel $s0,$t0,.L0f00b970
|
||||
/* f00b960: 24420002 */ addiu $v0,$v0,0x2
|
||||
/* f00b964: 90490001 */ lbu $t1,0x1($v0)
|
||||
/* f00b968: aea90000 */ sw $t1,0x0($s5)
|
||||
/* f00b96c: 24420002 */ addiu $v0,$v0,0x2
|
||||
.L0f00b970:
|
||||
/* f00b970: 0044082b */ sltu $at,$v0,$a0
|
||||
/* f00b974: 5420fff9 */ bnezl $at,.L0f00b95c
|
||||
/* f00b978: 90480000 */ lbu $t0,0x0($v0)
|
||||
/* f00b97c: 00008825 */ or $s1,$zero,$zero
|
||||
.L0f00b980:
|
||||
/* f00b980: 0fc41b99 */ jal cheatIsActive
|
||||
/* f00b984: 24040010 */ addiu $a0,$zero,0x10
|
||||
/* f00b988: 10400005 */ beqz $v0,.L0f00b9a0
|
||||
/* f00b98c: 3c148006 */ lui $s4,%hi(g_MaleGuardTeamHeads)
|
||||
/* f00b990: 3c138006 */ lui $s3,%hi(g_NumMaleGuardTeamHeads)
|
||||
/* f00b994: 26942c14 */ addiu $s4,$s4,%lo(g_MaleGuardTeamHeads)
|
||||
/* f00b998: 10000005 */ b .L0f00b9b0
|
||||
/* f00b99c: 8e732b0c */ lw $s3,%lo(g_NumMaleGuardTeamHeads)($s3)
|
||||
.L0f00b9a0:
|
||||
/* f00b9a0: 3c148006 */ lui $s4,%hi(g_MaleGuardHeads)
|
||||
/* f00b9a4: 3c138006 */ lui $s3,%hi(g_NumMaleGuardHeads)
|
||||
/* f00b9a8: 26942b68 */ addiu $s4,$s4,%lo(g_MaleGuardHeads)
|
||||
/* f00b9ac: 8e732b04 */ lw $s3,%lo(g_NumMaleGuardHeads)($s3)
|
||||
.L0f00b9b0:
|
||||
/* f00b9b0: 8eaa0000 */ lw $t2,0x0($s5)
|
||||
/* f00b9b4: 3c12800a */ lui $s2,%hi(g_ActiveMaleHeads)
|
||||
/* f00b9b8: 2652cd28 */ addiu $s2,$s2,%lo(g_ActiveMaleHeads)
|
||||
/* f00b9bc: 19400022 */ blez $t2,.L0f00ba48
|
||||
/* f00b9c0: 00000000 */ nop
|
||||
.L0f00b9c4:
|
||||
/* f00b9c4: 0c004b70 */ jal random
|
||||
/* f00b9c8: 24100001 */ addiu $s0,$zero,0x1
|
||||
/* f00b9cc: 0053001b */ divu $zero,$v0,$s3
|
||||
/* f00b9d0: 00005810 */ mfhi $t3
|
||||
/* f00b9d4: 8ea50000 */ lw $a1,0x0($s5)
|
||||
/* f00b9d8: 000b6080 */ sll $t4,$t3,0x2
|
||||
/* f00b9dc: 028c6821 */ addu $t5,$s4,$t4
|
||||
/* f00b9e0: 8dae0000 */ lw $t6,0x0($t5)
|
||||
/* f00b9e4: 16600002 */ bnez $s3,.L0f00b9f0
|
||||
/* f00b9e8: 00000000 */ nop
|
||||
/* f00b9ec: 0007000d */ break 0x7
|
||||
.L0f00b9f0:
|
||||
/* f00b9f0: 00b3082a */ slt $at,$a1,$s3
|
||||
/* f00b9f4: 1020000d */ beqz $at,.L0f00ba2c
|
||||
/* f00b9f8: ae4e0000 */ sw $t6,0x0($s2)
|
||||
/* f00b9fc: 1a20000b */ blez $s1,.L0f00ba2c
|
||||
/* f00ba00: 00001825 */ or $v1,$zero,$zero
|
||||
/* f00ba04: 3c02800a */ lui $v0,%hi(g_ActiveMaleHeads)
|
||||
/* f00ba08: 2442cd28 */ addiu $v0,$v0,%lo(g_ActiveMaleHeads)
|
||||
/* f00ba0c: 01c02025 */ or $a0,$t6,$zero
|
||||
.L0f00ba10:
|
||||
/* f00ba10: 8c4f0000 */ lw $t7,0x0($v0)
|
||||
/* f00ba14: 24630001 */ addiu $v1,$v1,0x1
|
||||
/* f00ba18: 15e40002 */ bne $t7,$a0,.L0f00ba24
|
||||
/* f00ba1c: 00000000 */ nop
|
||||
/* f00ba20: 00008025 */ or $s0,$zero,$zero
|
||||
.L0f00ba24:
|
||||
/* f00ba24: 1471fffa */ bne $v1,$s1,.L0f00ba10
|
||||
/* f00ba28: 24420004 */ addiu $v0,$v0,0x4
|
||||
.L0f00ba2c:
|
||||
/* f00ba2c: 1200ffe5 */ beqz $s0,.L0f00b9c4
|
||||
/* f00ba30: 00000000 */ nop
|
||||
/* f00ba34: 26310001 */ addiu $s1,$s1,0x1
|
||||
/* f00ba38: 0225082a */ slt $at,$s1,$a1
|
||||
/* f00ba3c: 1420ffe1 */ bnez $at,.L0f00b9c4
|
||||
/* f00ba40: 26520004 */ addiu $s2,$s2,0x4
|
||||
/* f00ba44: 00008825 */ or $s1,$zero,$zero
|
||||
.L0f00ba48:
|
||||
/* f00ba48: 0fc41b99 */ jal cheatIsActive
|
||||
/* f00ba4c: 24040010 */ addiu $a0,$zero,0x10
|
||||
/* f00ba50: 10400006 */ beqz $v0,.L0f00ba6c
|
||||
/* f00ba54: 3c148006 */ lui $s4,%hi(g_FemaleGuardHeads)
|
||||
/* f00ba58: 3c148006 */ lui $s4,%hi(g_FemaleGuardTeamHeads)
|
||||
/* f00ba5c: 3c138006 */ lui $s3,%hi(g_NumFemaleGuardTeamHeads)
|
||||
/* f00ba60: 26942c6c */ addiu $s4,$s4,%lo(g_FemaleGuardTeamHeads)
|
||||
/* f00ba64: 10000004 */ b .L0f00ba78
|
||||
/* f00ba68: 8e732b10 */ lw $s3,%lo(g_NumFemaleGuardTeamHeads)($s3)
|
||||
.L0f00ba6c:
|
||||
/* f00ba6c: 3c138006 */ lui $s3,%hi(g_NumFemaleGuardHeads)
|
||||
/* f00ba70: 26942c58 */ addiu $s4,$s4,%lo(g_FemaleGuardHeads)
|
||||
/* f00ba74: 8e732b08 */ lw $s3,%lo(g_NumFemaleGuardHeads)($s3)
|
||||
.L0f00ba78:
|
||||
/* f00ba78: 8ea50000 */ lw $a1,0x0($s5)
|
||||
/* f00ba7c: 3c12800a */ lui $s2,%hi(g_ActiveFemaleHeads)
|
||||
/* f00ba80: 2652cd48 */ addiu $s2,$s2,%lo(g_ActiveFemaleHeads)
|
||||
/* f00ba84: 18a00022 */ blez $a1,.L0f00bb10
|
||||
/* f00ba88: 00000000 */ nop
|
||||
.L0f00ba8c:
|
||||
/* f00ba8c: 0c004b70 */ jal random
|
||||
/* f00ba90: 24100001 */ addiu $s0,$zero,0x1
|
||||
/* f00ba94: 0053001b */ divu $zero,$v0,$s3
|
||||
/* f00ba98: 0000c010 */ mfhi $t8
|
||||
/* f00ba9c: 8ea50000 */ lw $a1,0x0($s5)
|
||||
/* f00baa0: 0018c880 */ sll $t9,$t8,0x2
|
||||
/* f00baa4: 02994021 */ addu $t0,$s4,$t9
|
||||
/* f00baa8: 8d090000 */ lw $t1,0x0($t0)
|
||||
/* f00baac: 16600002 */ bnez $s3,.L0f00bab8
|
||||
/* f00bab0: 00000000 */ nop
|
||||
/* f00bab4: 0007000d */ break 0x7
|
||||
.L0f00bab8:
|
||||
/* f00bab8: 00b3082a */ slt $at,$a1,$s3
|
||||
/* f00babc: 1020000d */ beqz $at,.L0f00baf4
|
||||
/* f00bac0: ae490000 */ sw $t1,0x0($s2)
|
||||
/* f00bac4: 1a20000b */ blez $s1,.L0f00baf4
|
||||
/* f00bac8: 00001825 */ or $v1,$zero,$zero
|
||||
/* f00bacc: 3c02800a */ lui $v0,%hi(g_ActiveFemaleHeads)
|
||||
/* f00bad0: 2442cd48 */ addiu $v0,$v0,%lo(g_ActiveFemaleHeads)
|
||||
/* f00bad4: 01202025 */ or $a0,$t1,$zero
|
||||
.L0f00bad8:
|
||||
/* f00bad8: 8c4a0000 */ lw $t2,0x0($v0)
|
||||
/* f00badc: 24630001 */ addiu $v1,$v1,0x1
|
||||
/* f00bae0: 15440002 */ bne $t2,$a0,.L0f00baec
|
||||
/* f00bae4: 00000000 */ nop
|
||||
/* f00bae8: 00008025 */ or $s0,$zero,$zero
|
||||
.L0f00baec:
|
||||
/* f00baec: 1471fffa */ bne $v1,$s1,.L0f00bad8
|
||||
/* f00baf0: 24420004 */ addiu $v0,$v0,0x4
|
||||
.L0f00baf4:
|
||||
/* f00baf4: 1200ffe5 */ beqz $s0,.L0f00ba8c
|
||||
/* f00baf8: 00000000 */ nop
|
||||
/* f00bafc: 26310001 */ addiu $s1,$s1,0x1
|
||||
/* f00bb00: 0225082a */ slt $at,$s1,$a1
|
||||
/* f00bb04: 1420ffe1 */ bnez $at,.L0f00ba8c
|
||||
/* f00bb08: 26520004 */ addiu $s2,$s2,0x4
|
||||
/* f00bb0c: 00008825 */ or $s1,$zero,$zero
|
||||
.L0f00bb10:
|
||||
/* f00bb10: 3c018006 */ lui $at,%hi(g_ActiveMaleHeadsIndex)
|
||||
/* f00bb14: ac202c84 */ sw $zero,%lo(g_ActiveMaleHeadsIndex)($at)
|
||||
/* f00bb18: 3c018006 */ lui $at,%hi(g_ActiveFemaleHeadsIndex)
|
||||
/* f00bb1c: 18a00006 */ blez $a1,.L0f00bb38
|
||||
/* f00bb20: ac202c88 */ sw $zero,%lo(g_ActiveFemaleHeadsIndex)($at)
|
||||
/* f00bb24: 26310001 */ addiu $s1,$s1,0x1
|
||||
.L0f00bb28:
|
||||
/* f00bb28: 0225082a */ slt $at,$s1,$a1
|
||||
/* f00bb2c: 5420fffe */ bnezl $at,.L0f00bb28
|
||||
/* f00bb30: 26310001 */ addiu $s1,$s1,0x1
|
||||
/* f00bb34: 00008825 */ or $s1,$zero,$zero
|
||||
.L0f00bb38:
|
||||
/* f00bb38: 18a00005 */ blez $a1,.L0f00bb50
|
||||
/* f00bb3c: 8fb00014 */ lw $s0,0x14($sp)
|
||||
/* f00bb40: 26310001 */ addiu $s1,$s1,0x1
|
||||
.L0f00bb44:
|
||||
/* f00bb44: 0225082a */ slt $at,$s1,$a1
|
||||
/* f00bb48: 5420fffe */ bnezl $at,.L0f00bb44
|
||||
/* f00bb4c: 26310001 */ addiu $s1,$s1,0x1
|
||||
.L0f00bb50:
|
||||
/* f00bb50: 8fbf002c */ lw $ra,0x2c($sp)
|
||||
/* f00bb54: 8fb10018 */ lw $s1,0x18($sp)
|
||||
/* f00bb58: 8fb2001c */ lw $s2,0x1c($sp)
|
||||
/* f00bb5c: 8fb30020 */ lw $s3,0x20($sp)
|
||||
/* f00bb60: 8fb40024 */ lw $s4,0x24($sp)
|
||||
/* f00bb64: 8fb50028 */ lw $s5,0x28($sp)
|
||||
/* f00bb68: 03e00008 */ jr $ra
|
||||
/* f00bb6c: 27bd0030 */ addiu $sp,$sp,0x30
|
||||
);
|
||||
|
||||
// Mismatches:
|
||||
// - Address of var80062b14 Should be loaded to a callee-save register
|
||||
// - PLAYERCOUNT() calculation is more spread out
|
||||
// (does other register preparation during calculation)
|
||||
// - Loop at 950 is calculated differently
|
||||
//void headsReset(s32 stagenum)
|
||||
//{
|
||||
// s32 *headsavailablelist;
|
||||
// s32 headsavailablelen;
|
||||
// bool done;
|
||||
// s32 i;
|
||||
// s32 j;
|
||||
//
|
||||
// for (i = 0; g_HeadsAndBodies[i].bodyfileid; i++) {
|
||||
// g_HeadsAndBodies[i].unk0c = NULL;
|
||||
// }
|
||||
//
|
||||
// var80062c80 = random() % g_NumBondBodies;
|
||||
// var80062b14 = 0;
|
||||
// var80062b18 = 0;
|
||||
//
|
||||
// if (PLAYERCOUNT() >= 2) {
|
||||
// g_NumActiveHeadsPerGender = 4;
|
||||
// } else {
|
||||
// // 950
|
||||
// g_NumActiveHeadsPerGender = 8;
|
||||
//
|
||||
// for (i = 0; i < ARRAYCOUNT(g_StageHeadLimits); i++) {
|
||||
// if (g_StageHeadLimits[i].stagenum == stagenum) {
|
||||
// g_NumActiveHeadsPerGender = g_StageHeadLimits[i].maxheads;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// // Male heads
|
||||
// if (cheatIsActive(CHEAT_TEAMHEADSONLY)) {
|
||||
// headsavailablelist = g_MaleGuardTeamHeads;
|
||||
// headsavailablelen = g_NumMaleGuardTeamHeads;
|
||||
// } else {
|
||||
// headsavailablelist = g_MaleGuardHeads;
|
||||
// headsavailablelen = g_NumMaleGuardHeads;
|
||||
// }
|
||||
//
|
||||
// for (i = 0; i < g_NumActiveHeadsPerGender; i++) {
|
||||
// do {
|
||||
// done = true;
|
||||
// g_ActiveMaleHeads[i] = headsavailablelist[random() % headsavailablelen];
|
||||
//
|
||||
// if (headsavailablelen > g_NumActiveHeadsPerGender) {
|
||||
// for (j = 0; j < i; j++) {
|
||||
// if (g_ActiveMaleHeads[i] == g_ActiveMaleHeads[j]) {
|
||||
// done = false;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// } while (!done);
|
||||
// }
|
||||
//
|
||||
// // Female heads
|
||||
// if (cheatIsActive(CHEAT_TEAMHEADSONLY)) {
|
||||
// headsavailablelist = g_FemaleGuardTeamHeads;
|
||||
// headsavailablelen = g_NumFemaleGuardTeamHeads;
|
||||
// } else {
|
||||
// headsavailablelist = g_FemaleGuardHeads;
|
||||
// headsavailablelen = g_NumFemaleGuardHeads;
|
||||
// }
|
||||
//
|
||||
// for (i = 0; i < g_NumActiveHeadsPerGender; i++) {
|
||||
// do {
|
||||
// done = true;
|
||||
// g_ActiveFemaleHeads[i] = headsavailablelist[random() % headsavailablelen];
|
||||
//
|
||||
// if (headsavailablelen > g_NumActiveHeadsPerGender) {
|
||||
// for (j = 0; j < i; j++) {
|
||||
// if (g_ActiveFemaleHeads[i] == g_ActiveFemaleHeads[j]) {
|
||||
// done = false;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// } while (!done);
|
||||
// }
|
||||
//
|
||||
// g_ActiveMaleHeadsIndex = 0;
|
||||
// g_ActiveFemaleHeadsIndex = 0;
|
||||
//
|
||||
// for (i = 0; i < g_NumActiveHeadsPerGender; i++);
|
||||
// for (i = 0; i < g_NumActiveHeadsPerGender; i++);
|
||||
//}
|
||||
|
||||
void resetSomeStageThings(void)
|
||||
{
|
||||
s32 i;
|
||||
@@ -522,7 +177,7 @@ glabel debugLoadAllAilistModels
|
||||
/* f00c120: 92080003 */ lbu $t0,0x3($s0)
|
||||
/* f00c124: 0018ca00 */ sll $t9,$t8,0x8
|
||||
/* f00c128: 03281025 */ or $v0,$t9,$t0
|
||||
/* f00c12c: 0fc2486d */ jal modelLoad
|
||||
/* f00c12c: 0fc2486d */ jal setupLoadModeldef
|
||||
/* f00c130: 3044ffff */ andi $a0,$v0,0xffff
|
||||
/* f00c134: 5040002a */ beqzl $v0,.L0f00c1e0
|
||||
/* f00c138: 02002025 */ or $a0,$s0,$zero
|
||||
@@ -556,7 +211,7 @@ glabel debugLoadAllAilistModels
|
||||
.L0f00c1a0:
|
||||
/* f00c1a0: 920c0003 */ lbu $t4,0x3($s0)
|
||||
/* f00c1a4: 000a5a00 */ sll $t3,$t2,0x8
|
||||
/* f00c1a8: 0fc2486d */ jal modelLoad
|
||||
/* f00c1a8: 0fc2486d */ jal setupLoadModeldef
|
||||
/* f00c1ac: 016c2025 */ or $a0,$t3,$t4
|
||||
/* f00c1b0: 0fc04558 */ jal weaponLoadProjectileModels
|
||||
/* f00c1b4: 92040004 */ lbu $a0,0x4($s0)
|
||||
@@ -568,7 +223,7 @@ glabel debugLoadAllAilistModels
|
||||
.L0f00c1cc:
|
||||
/* f00c1cc: 920f0003 */ lbu $t7,0x3($s0)
|
||||
/* f00c1d0: 000d7200 */ sll $t6,$t5,0x8
|
||||
/* f00c1d4: 0fc2486d */ jal modelLoad
|
||||
/* f00c1d4: 0fc2486d */ jal setupLoadModeldef
|
||||
/* f00c1d8: 01cf2025 */ or $a0,$t6,$t7
|
||||
/* f00c1dc: 02002025 */ or $a0,$s0,$zero
|
||||
.L0f00c1e0:
|
||||
@@ -617,7 +272,7 @@ glabel debugLoadAllAilistModels
|
||||
// case AICMD_DROPITEM: // 120
|
||||
// id = cmd[3] | (cmd[2] << 8);
|
||||
//
|
||||
// if (modelLoad(id & 0xffff)) {
|
||||
// if (setupLoadModeldef(id & 0xffff)) {
|
||||
// // empty
|
||||
// }
|
||||
// break;
|
||||
@@ -638,7 +293,7 @@ glabel debugLoadAllAilistModels
|
||||
// }
|
||||
// break;
|
||||
// case AICMD_EQUIPWEAPON: // 19c
|
||||
// if (modelLoad(cmd[3] | (cmd[2] << 8))) {
|
||||
// if (setupLoadModeldef(cmd[3] | (cmd[2] << 8))) {
|
||||
// // empty
|
||||
// }
|
||||
// if (weaponLoadProjectileModels(cmd[4])) {
|
||||
@@ -646,7 +301,7 @@ glabel debugLoadAllAilistModels
|
||||
// }
|
||||
// break;
|
||||
// case AICMD_EQUIPHAT: // 1c8
|
||||
// if (modelLoad(cmd[3] | (cmd[2] << 8))) {
|
||||
// if (setupLoadModeldef(cmd[3] | (cmd[2] << 8))) {
|
||||
// // empty
|
||||
// }
|
||||
// break;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#include "constants.h"
|
||||
#include "game/objectives.h"
|
||||
#include "game/game_096360.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/training.h"
|
||||
#include "game/propobj.h"
|
||||
#include "bss.h"
|
||||
|
||||
@@ -190,9 +190,15 @@ f32 currentPlayerGetGunZoomFov(void)
|
||||
struct weapon *weapon;
|
||||
|
||||
switch (bgunGetWeaponNum2(0)) {
|
||||
case WEAPON_SNIPERRIFLE: index = 0; break;
|
||||
case WEAPON_FARSIGHT: index = 1; break;
|
||||
case WEAPON_HORIZONSCANNER: index = 2; break;
|
||||
case WEAPON_SNIPERRIFLE:
|
||||
index = 0;
|
||||
break;
|
||||
case WEAPON_FARSIGHT:
|
||||
index = 1;
|
||||
break;
|
||||
case WEAPON_HORIZONSCANNER:
|
||||
index = 2;
|
||||
break;
|
||||
}
|
||||
|
||||
if (index >= 0) {
|
||||
|
||||
-11224
File diff suppressed because it is too large.
Load diff
+10
-11
@@ -3,13 +3,12 @@
|
||||
#include "constants.h"
|
||||
#include "game/dlights.h"
|
||||
#include "game/game_0b2150.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/game_11f000.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/sky.h"
|
||||
#include "game/game_13c510.h"
|
||||
#include "game/bg.h"
|
||||
#include "game/stagetable.h"
|
||||
#include "game/game_165670.h"
|
||||
#include "game/game_1668e0.h"
|
||||
#include "game/room.h"
|
||||
#include "bss.h"
|
||||
#include "lib/vi.h"
|
||||
#include "lib/mtx.h"
|
||||
@@ -316,14 +315,14 @@ glabel func0f13c780
|
||||
/* f13c854: afab00c0 */ sw $t3,0xc0($sp)
|
||||
/* f13c858: afa601c0 */ sw $a2,0x1c0($sp)
|
||||
/* f13c85c: 02002025 */ or $a0,$s0,$zero
|
||||
/* f13c860: 0fc59a9b */ jal func0f166a6c
|
||||
/* f13c860: 0fc59a9b */ jal room0f166a6c
|
||||
/* f13c864: 018d8821 */ addu $s1,$t4,$t5
|
||||
/* f13c868: 0fc5722e */ jal currentPlayerGetScaleBg2Gfx
|
||||
/* f13c86c: 00000000 */ nop
|
||||
/* f13c870: 46000306 */ mov.s $f12,$f0
|
||||
/* f13c874: 0c0057e2 */ jal mtx00015f88
|
||||
/* f13c878: 02002825 */ or $a1,$s0,$zero
|
||||
/* f13c87c: 0fc2d3f2 */ jal currentPlayerGetUnk006c
|
||||
/* f13c87c: 0fc2d3f2 */ jal camGetUnk006c
|
||||
/* f13c880: 00000000 */ nop
|
||||
/* f13c884: 00402025 */ or $a0,$v0,$zero
|
||||
/* f13c888: 02002825 */ or $a1,$s0,$zero
|
||||
@@ -1106,7 +1105,7 @@ Gfx *func0f13d40c(Gfx *gdl)
|
||||
{
|
||||
struct stagetableentry *stage = stageGetCurrent();
|
||||
|
||||
func0f0b39c0(&gdl, &g_TexLightGlareConfigs[stage->light_type], 4, 0, 2, 1, NULL);
|
||||
tex0f0b39c0(&gdl, &g_TexLightGlareConfigs[stage->light_type], 4, 0, 2, 1, NULL);
|
||||
|
||||
gDPSetCycleType(gdl++, G_CYC_1CYCLE);
|
||||
gDPSetRenderMode(gdl++, G_RM_CLD_SURF, G_RM_CLD_SURF2);
|
||||
@@ -1464,7 +1463,7 @@ glabel func0f13d568
|
||||
/* f13da30: 44059000 */ mfc1 $a1,$f18
|
||||
/* f13da34: 4600328d */ trunc.w.s $f10,$f6
|
||||
/* f13da38: 44065000 */ mfc1 $a2,$f10
|
||||
/* f13da3c: 0fc49ccd */ jal func0f127334
|
||||
/* f13da3c: 0fc49ccd */ jal sky0f127334
|
||||
/* f13da40: 00000000 */ nop
|
||||
/* f13da44: 8fac0164 */ lw $t4,0x164($sp)
|
||||
/* f13da48: 3c18800a */ lui $t8,%hi(g_BgRooms)
|
||||
@@ -1511,13 +1510,13 @@ glabel func0f13d568
|
||||
/* f13dae4: 460a3481 */ sub.s $f18,$f6,$f10
|
||||
/* f13dae8: 14a8ffe4 */ bne $a1,$t0,.L0f13da7c
|
||||
/* f13daec: e4b2fffc */ swc1 $f18,-0x4($a1)
|
||||
/* f13daf0: 0fc2d5be */ jal currentPlayerGetMatrix1740
|
||||
/* f13daf0: 0fc2d5be */ jal camGetMatrix1740
|
||||
/* f13daf4: 00000000 */ nop
|
||||
/* f13daf8: 00402025 */ or $a0,$v0,$zero
|
||||
/* f13dafc: 0c0056c4 */ jal mtx4RotateVecInPlace
|
||||
/* f13db00: 27a500e4 */ addiu $a1,$sp,0xe4
|
||||
/* f13db04: 27a400e4 */ addiu $a0,$sp,0xe4
|
||||
/* f13db08: 0fc2d341 */ jal func0f0b4d04
|
||||
/* f13db08: 0fc2d341 */ jal cam0f0b4d04
|
||||
/* f13db0c: 27a500dc */ addiu $a1,$sp,0xdc
|
||||
/* f13db10: c7a000ec */ lwc1 $f0,0xec($sp)
|
||||
/* f13db14: 3c013f80 */ lui $at,0x3f80
|
||||
@@ -1645,7 +1644,7 @@ glabel func0f13d568
|
||||
/* f13dcd8: 3c017f1b */ lui $at,%hi(var7f1b5a00)
|
||||
/* f13dcdc: c4245a00 */ lwc1 $f4,%lo(var7f1b5a00)($at)
|
||||
/* f13dce0: 46045682 */ mul.s $f26,$f10,$f4
|
||||
/* f13dce4: 0fc2d60a */ jal currentPlayerGetPerspAspect
|
||||
/* f13dce4: 0fc2d60a */ jal camGetPerspAspect
|
||||
/* f13dce8: 00000000 */ nop
|
||||
/* f13dcec: 0c002f22 */ jal viGetViewWidth
|
||||
/* f13dcf0: 46000506 */ mov.s $f20,$f0
|
||||
|
||||
@@ -160,7 +160,7 @@ u32 var8007fbf8 = 0x00000000;
|
||||
u32 var8007fbfc = 0x00000000;
|
||||
#endif
|
||||
|
||||
void func0f1531a0(void)
|
||||
void fontsInit(void)
|
||||
{
|
||||
// empty
|
||||
}
|
||||
|
||||
@@ -24,18 +24,3 @@ void func0f175fc8(void)
|
||||
mempDisablePool(MEMPOOL_5);
|
||||
filesStop(5);
|
||||
}
|
||||
|
||||
char *func0f175ff0(void)
|
||||
{
|
||||
#if VERSION >= VERSION_JPN_FINAL
|
||||
return "Jul 19 2000 09:43:24";
|
||||
#elif VERSION >= VERSION_PAL_FINAL
|
||||
return "Apr 28 2000 14:40:49";
|
||||
#elif VERSION >= VERSION_PAL_BETA
|
||||
return "Apr 26 2000 16:36:48";
|
||||
#elif VERSION >= VERSION_NTSC_1_0
|
||||
return "Apr 6 2000 15:05:01";
|
||||
#else
|
||||
return "Mar 22 2000 00:26:50";
|
||||
#endif
|
||||
}
|
||||
+7
-7
@@ -6,7 +6,7 @@
|
||||
#include "game/player.h"
|
||||
#include "game/savebuffer.h"
|
||||
#include "game/bg.h"
|
||||
#include "game/game_19aa80.h"
|
||||
#include "game/challenge.h"
|
||||
#include "game/training.h"
|
||||
#include "game/gamefile.h"
|
||||
#include "game/mplayer/mplayer.h"
|
||||
@@ -231,11 +231,11 @@ void gamefileLoadDefaults(struct gamefile *file)
|
||||
|
||||
for (i = 0; i < 30; i++) {
|
||||
for (j = 1; j != 5; j++) {
|
||||
mpSetChallengeCompletedByAnyPlayerWithNumPlayers(i, j, false);
|
||||
challengeSetCompletedByAnyPlayerWithNumPlayers(i, j, false);
|
||||
}
|
||||
}
|
||||
|
||||
mpDetermineUnlockedFeatures();
|
||||
challengeDetermineUnlockedFeatures();
|
||||
|
||||
for (i = 0; i < ARRAYCOUNT(g_GameFile.coopcompletions); i++) {
|
||||
g_GameFile.coopcompletions[i] = 0;
|
||||
@@ -325,11 +325,11 @@ s32 gamefileLoad(s32 device)
|
||||
|
||||
for (i = 0; i < 30; i++) {
|
||||
for (j = 1; j < 5; j++) {
|
||||
mpSetChallengeCompletedByAnyPlayerWithNumPlayers(i, j, savebufferReadBits(&buffer, 1));
|
||||
challengeSetCompletedByAnyPlayerWithNumPlayers(i, j, savebufferReadBits(&buffer, 1));
|
||||
}
|
||||
}
|
||||
|
||||
mpDetermineUnlockedFeatures();
|
||||
challengeDetermineUnlockedFeatures();
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
g_GameFile.coopcompletions[i] = savebufferReadBits(&buffer, 21);
|
||||
@@ -488,7 +488,7 @@ s32 gamefileSave(s32 device, s32 fileid, u16 deviceserial)
|
||||
|
||||
for (i = 0; i < 30; i++) {
|
||||
for (j = 1; j < 5; j++) {
|
||||
savebufferOr(&buffer, mpIsChallengeCompletedByAnyPlayerWithNumPlayers(i, j), 1);
|
||||
savebufferOr(&buffer, challengeIsCompletedByAnyPlayerWithNumPlayers(i, j), 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -891,7 +891,7 @@ glabel gamefileSave
|
||||
.NB0f10a910:
|
||||
/* f10a910: 02202025 */ or $a0,$s1,$zero
|
||||
.NB0f10a914:
|
||||
/* f10a914: 0fc65912 */ jal mpIsChallengeCompletedByAnyPlayerWithNumPlayers
|
||||
/* f10a914: 0fc65912 */ jal challengeIsCompletedByAnyPlayerWithNumPlayers
|
||||
/* f10a918: 02002825 */ or $a1,$s0,$zero
|
||||
/* f10a91c: 02802025 */ or $a0,$s4,$zero
|
||||
/* f10a920: 00402825 */ or $a1,$v0,$zero
|
||||
|
||||
+3
-4
@@ -1,6 +1,5 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/game_01afc0.h"
|
||||
#include "bss.h"
|
||||
#include "lib/vi.h"
|
||||
#include "lib/dma.h"
|
||||
@@ -61,7 +60,7 @@ glabel getitle0f0155f0
|
||||
/* f015630: 02001025 */ or $v0,$s0,$zero
|
||||
/* f015634: 13000007 */ beqz $t8,.L0f015654
|
||||
/* f015638: 3c19ba00 */ lui $t9,0xba00
|
||||
/* f01563c: 0fc06bf0 */ jal func0f01afc0
|
||||
/* f01563c: 0fc06bf0 */ jal titleClear
|
||||
/* f015640: 02002025 */ or $a0,$s0,$zero
|
||||
/* f015644: 3c018006 */ lui $at,%hi(var80062494)
|
||||
/* f015648: 00408025 */ or $s0,$v0,$zero
|
||||
@@ -591,7 +590,7 @@ Gfx *getitle0f0155f0(Gfx *gdl, s32 arg1, u32 arg2);
|
||||
// gSPDisplayList(gdl++, &var80061360);
|
||||
//
|
||||
// if (var80062494) {
|
||||
// gdl = func0f01afc0(gdl);
|
||||
// gdl = titleClear(gdl);
|
||||
// var80062494 = 0;
|
||||
// } else {
|
||||
// gDPSetCycleType(gdl++, G_CYC_FILL);
|
||||
@@ -670,7 +669,7 @@ extern u8 _getitleSegmentRomStart;
|
||||
extern u8 _getitleSegmentStart;
|
||||
extern u8 _getitleSegmentEnd;
|
||||
|
||||
void getitleReset(void *addr, u32 arg1)
|
||||
void getitleLoad(void *addr, u32 arg1)
|
||||
{
|
||||
u32 len = (u32)&_getitleSegmentEnd - (u32)&_getitleSegmentStart;
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
void func0f00b420(void)
|
||||
void getitleReset(void)
|
||||
{
|
||||
var80062410 = 0;
|
||||
var8009cc80 = mempAlloc(2 * sizeof(Mtx), MEMPOOL_STAGE);
|
||||
@@ -1,8 +1,8 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/bg.h"
|
||||
#include "game/game_165670.h"
|
||||
#include "game/gfxreplace.h"
|
||||
#include "bss.h"
|
||||
#include "lib/vi.h"
|
||||
#include "data.h"
|
||||
@@ -2,10 +2,10 @@
|
||||
#include "constants.h"
|
||||
#include "game/acosfasinf.h"
|
||||
#include "game/bondgun.h"
|
||||
#include "game/game_0abe70.h"
|
||||
#include "game/gunfx.h"
|
||||
#include "game/game_0b0fd0.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/game_0b4950.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/camera.h"
|
||||
#include "game/game_0c33f0.h"
|
||||
#include "game/gfxmemory.h"
|
||||
#include "game/file.h"
|
||||
@@ -23,7 +23,7 @@ const u32 var7f1acc1c[] = {0x73706200};
|
||||
const u32 var7f1acc20[] = {0x73706900};
|
||||
|
||||
struct casing g_Casings[20];
|
||||
struct var8009da60 var8009da60[8];
|
||||
struct boltbeam g_BoltBeams[8];
|
||||
struct lasersight g_LaserSights[4];
|
||||
|
||||
u32 var80070500 = 0x00000000;
|
||||
@@ -129,7 +129,7 @@ glabel var7f1acc48
|
||||
/* f0ac140: 27bdff88 */ addiu $sp,$sp,-120
|
||||
/* f0ac144: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f0ac148: afa40078 */ sw $a0,0x78($sp)
|
||||
/* f0ac14c: 0fc2d5be */ jal currentPlayerGetMatrix1740
|
||||
/* f0ac14c: 0fc2d5be */ jal camGetMatrix1740
|
||||
/* f0ac150: afae0074 */ sw $t6,0x74($sp)
|
||||
/* f0ac154: 8fa40078 */ lw $a0,0x78($sp)
|
||||
/* f0ac158: 8faf0074 */ lw $t7,0x74($sp)
|
||||
@@ -372,7 +372,7 @@ glabel var7f1acc48
|
||||
/* f0a9ea0: 27bdff88 */ addiu $sp,$sp,-120
|
||||
/* f0a9ea4: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f0a9ea8: afa40078 */ sw $a0,0x78($sp)
|
||||
/* f0a9eac: 0fc2cd16 */ jal currentPlayerGetMatrix1740
|
||||
/* f0a9eac: 0fc2cd16 */ jal camGetMatrix1740
|
||||
/* f0a9eb0: afae0074 */ sw $t6,0x74($sp)
|
||||
/* f0a9eb4: 8fa40078 */ lw $a0,0x78($sp)
|
||||
/* f0a9eb8: 8faf0074 */ lw $t7,0x74($sp)
|
||||
@@ -637,7 +637,7 @@ glabel var7f1acc68
|
||||
/* f0ac4dc: 24040002 */ addiu $a0,$zero,0x2
|
||||
/* f0ac4e0: 0fc59e73 */ jal gfxAllocateColours
|
||||
/* f0ac4e4: 26101bb0 */ addiu $s0,$s0,7088
|
||||
/* f0ac4e8: 0fc2d5be */ jal currentPlayerGetMatrix1740
|
||||
/* f0ac4e8: 0fc2d5be */ jal camGetMatrix1740
|
||||
/* f0ac4ec: afa200c4 */ sw $v0,0xc4($sp)
|
||||
/* f0ac4f0: 3c0c8007 */ lui $t4,%hi(var80070500)
|
||||
/* f0ac4f4: afa20080 */ sw $v0,0x80($sp)
|
||||
@@ -696,7 +696,7 @@ glabel var7f1acc68
|
||||
/* f0ac5c4: e7a800e4 */ swc1 $f8,0xe4($sp)
|
||||
/* f0ac5c8: 46023283 */ div.s $f10,$f6,$f2
|
||||
/* f0ac5cc: e7a400e8 */ swc1 $f4,0xe8($sp)
|
||||
/* f0ac5d0: 0fc2d5be */ jal currentPlayerGetMatrix1740
|
||||
/* f0ac5d0: 0fc2d5be */ jal camGetMatrix1740
|
||||
/* f0ac5d4: e7aa00ec */ swc1 $f10,0xec($sp)
|
||||
/* f0ac5d8: 00402025 */ or $a0,$v0,$zero
|
||||
/* f0ac5dc: 8fa500fc */ lw $a1,0xfc($sp)
|
||||
@@ -748,7 +748,7 @@ glabel var7f1acc68
|
||||
/* f0ac680: 1000013e */ b .L0f0acb7c
|
||||
/* f0ac684: 8fa200f0 */ lw $v0,0xf0($sp)
|
||||
.L0f0ac688:
|
||||
/* f0ac688: 0fc2d5be */ jal currentPlayerGetMatrix1740
|
||||
/* f0ac688: 0fc2d5be */ jal camGetMatrix1740
|
||||
/* f0ac68c: 00000000 */ nop
|
||||
/* f0ac690: 00402025 */ or $a0,$v0,$zero
|
||||
/* f0ac694: 8fa50108 */ lw $a1,0x108($sp)
|
||||
@@ -1053,7 +1053,7 @@ glabel var7f1acc68
|
||||
/* f0acb18: 8fa500f4 */ lw $a1,0xf4($sp)
|
||||
/* f0acb1c: 27a400f0 */ addiu $a0,$sp,0xf0
|
||||
/* f0acb20: 24060004 */ addiu $a2,$zero,0x4
|
||||
/* f0acb24: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f0acb24: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f0acb28: 24070001 */ addiu $a3,$zero,0x1
|
||||
/* f0acb2c: 8fae00f0 */ lw $t6,0xf0($sp)
|
||||
/* f0acb30: 3c0d0430 */ lui $t5,0x430
|
||||
@@ -1209,7 +1209,7 @@ glabel var7f1accf4
|
||||
/* f0acc54: 01cf6821 */ addu $t5,$t6,$t7
|
||||
/* f0acc58: afad00ec */ sw $t5,0xec($sp)
|
||||
/* f0acc5c: e7a20124 */ swc1 $f2,0x124($sp)
|
||||
/* f0acc60: 0fc2d5be */ jal currentPlayerGetMatrix1740
|
||||
/* f0acc60: 0fc2d5be */ jal camGetMatrix1740
|
||||
/* f0acc64: e7aa00f0 */ swc1 $f10,0xf0($sp)
|
||||
/* f0acc68: afa200e4 */ sw $v0,0xe4($sp)
|
||||
/* f0acc6c: 82230001 */ lb $v1,0x1($s1)
|
||||
@@ -1656,7 +1656,7 @@ glabel var7f1accf4
|
||||
/* f0ad2e8: 46001087 */ neg.s $f2,$f2
|
||||
/* f0ad2ec: 44051000 */ mfc1 $a1,$f2
|
||||
/* f0ad2f0: e7a000bc */ swc1 $f0,0xbc($sp)
|
||||
/* f0ad2f4: 0fc2d39a */ jal func0f0b4e68
|
||||
/* f0ad2f4: 0fc2d39a */ jal cam0f0b4e68
|
||||
/* f0ad2f8: e7a000b8 */ swc1 $f0,0xb8($sp)
|
||||
/* f0ad2fc: 3c014000 */ lui $at,0x4000
|
||||
/* f0ad300: c7ac00c0 */ lwc1 $f12,0xc0($sp)
|
||||
@@ -1680,7 +1680,7 @@ glabel var7f1accf4
|
||||
/* f0ad348: e7ae00d0 */ swc1 $f14,0xd0($sp)
|
||||
/* f0ad34c: e7aa00d4 */ swc1 $f10,0xd4($sp)
|
||||
.L0f0ad350:
|
||||
/* f0ad350: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f0ad350: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f0ad354: 00000000 */ nop
|
||||
/* f0ad358: 00402025 */ or $a0,$v0,$zero
|
||||
/* f0ad35c: 0c0056d9 */ jal mtx4TransformVecInPlace
|
||||
@@ -2153,7 +2153,7 @@ glabel var7f1accf4
|
||||
/* f0ada94: 02202025 */ or $a0,$s1,$zero
|
||||
/* f0ada98: 24060004 */ addiu $a2,$zero,0x4
|
||||
/* f0ada9c: 8fa70198 */ lw $a3,0x198($sp)
|
||||
/* f0adaa0: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f0adaa0: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f0adaa4: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f0adaa8: 8fac0190 */ lw $t4,0x190($sp)
|
||||
/* f0adaac: 3c0e0470 */ lui $t6,0x470
|
||||
@@ -2182,7 +2182,7 @@ glabel var7f1accf4
|
||||
/* f0adb08: 8fa70198 */ lw $a3,0x198($sp)
|
||||
/* f0adb0c: 8fa500ec */ lw $a1,0xec($sp)
|
||||
/* f0adb10: 02202025 */ or $a0,$s1,$zero
|
||||
/* f0adb14: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f0adb14: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f0adb18: 24060004 */ addiu $a2,$zero,0x4
|
||||
/* f0adb1c: 8fac0190 */ lw $t4,0x190($sp)
|
||||
/* f0adb20: 3c0eb100 */ lui $t6,0xb100
|
||||
@@ -2198,7 +2198,7 @@ glabel var7f1accf4
|
||||
/* f0adb44: 240d0001 */ addiu $t5,$zero,0x1
|
||||
/* f0adb48: afad0014 */ sw $t5,0x14($sp)
|
||||
/* f0adb4c: afaa0010 */ sw $t2,0x10($sp)
|
||||
/* f0adb50: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f0adb50: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f0adb54: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f0adb58: 8fb80190 */ lw $t8,0x190($sp)
|
||||
/* f0adb5c: 3c190430 */ lui $t9,0x430
|
||||
@@ -3987,7 +3987,7 @@ void casingRender(struct casing *casing, Gfx **gdlptr)
|
||||
|
||||
mtx00015f04(0.1000000089407f, &mtx);
|
||||
mtx4SetTranslation(&casing->pos, &mtx);
|
||||
mtx00015be4(currentPlayerGetMatrix1740(), &mtx, model.matrices);
|
||||
mtx00015be4(camGetMatrix1740(), &mtx, model.matrices);
|
||||
|
||||
// Check if any coordinate is out of range
|
||||
for (i = 0; i < 3; i++) {
|
||||
@@ -4032,13 +4032,13 @@ void casingsRender(Gfx **gdlptr)
|
||||
}
|
||||
}
|
||||
|
||||
s32 func0f0aec54(struct prop *prop)
|
||||
s32 boltbeamFindByProp(struct prop *prop)
|
||||
{
|
||||
s32 result = -1;
|
||||
s32 i = 0;
|
||||
|
||||
for (; i < 8 && result == -1; i++) {
|
||||
if (var8009da60[i].unk00_prop == prop) {
|
||||
if (g_BoltBeams[i].unk00_prop == prop) {
|
||||
result = i;
|
||||
}
|
||||
}
|
||||
@@ -4046,47 +4046,47 @@ s32 func0f0aec54(struct prop *prop)
|
||||
return result;
|
||||
}
|
||||
|
||||
s32 func0f0aeca8(struct prop *prop)
|
||||
s32 boltbeamCreate(struct prop *prop)
|
||||
{
|
||||
s32 index = func0f0aec54((struct prop *) -1);
|
||||
s32 index = boltbeamFindByProp((struct prop *) -1);
|
||||
|
||||
if (index >= 0) {
|
||||
var8009da60[index].unk05 = 0;
|
||||
var8009da60[index].unk00_prop = prop;
|
||||
g_BoltBeams[index].unk05 = 0;
|
||||
g_BoltBeams[index].unk00_prop = prop;
|
||||
}
|
||||
|
||||
return index;
|
||||
}
|
||||
|
||||
void func0f0aecfc(struct prop *prop)
|
||||
void boltbeamFree(struct prop *prop)
|
||||
{
|
||||
s32 index = func0f0aec54(prop);
|
||||
s32 index = boltbeamFindByProp(prop);
|
||||
|
||||
if (index != -1) {
|
||||
var8009da60[index].unk00 = -1;
|
||||
g_BoltBeams[index].unk00 = -1;
|
||||
}
|
||||
}
|
||||
|
||||
void func0f0aed3c(s32 index, struct coord *coord)
|
||||
{
|
||||
var8009da60[index].unk14.x = coord->x;
|
||||
var8009da60[index].unk14.y = coord->y;
|
||||
var8009da60[index].unk14.z = coord->z;
|
||||
g_BoltBeams[index].unk14.x = coord->x;
|
||||
g_BoltBeams[index].unk14.y = coord->y;
|
||||
g_BoltBeams[index].unk14.z = coord->z;
|
||||
}
|
||||
|
||||
void func0f0aed70(s32 index, struct coord *coord)
|
||||
{
|
||||
var8009da60[index].unk20.x = coord->x;
|
||||
var8009da60[index].unk20.y = coord->y;
|
||||
var8009da60[index].unk20.z = coord->z;
|
||||
g_BoltBeams[index].unk20.x = coord->x;
|
||||
g_BoltBeams[index].unk20.y = coord->y;
|
||||
g_BoltBeams[index].unk20.z = coord->z;
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f0aeda4
|
||||
/* f0aeda4: 00047080 */ sll $t6,$a0,0x2
|
||||
/* f0aeda8: 01c47023 */ subu $t6,$t6,$a0
|
||||
/* f0aedac: 3c0f800a */ lui $t7,%hi(var8009da60)
|
||||
/* f0aedb0: 25efda60 */ addiu $t7,$t7,%lo(var8009da60)
|
||||
/* f0aedac: 3c0f800a */ lui $t7,%hi(g_BoltBeams)
|
||||
/* f0aedb0: 25efda60 */ addiu $t7,$t7,%lo(g_BoltBeams)
|
||||
/* f0aedb4: 000e7100 */ sll $t6,$t6,0x4
|
||||
/* f0aedb8: 01cf1021 */ addu $v0,$t6,$t7
|
||||
/* f0aedbc: c4440028 */ lwc1 $f4,0x28($v0)
|
||||
@@ -4153,43 +4153,43 @@ glabel func0f0aeda4
|
||||
|
||||
void func0f0aeea8(s32 index, f32 arg1)
|
||||
{
|
||||
var8009da60[index].unk05 = 1;
|
||||
var8009da60[index].unk00 = 0;
|
||||
var8009da60[index].unk2c = arg1;
|
||||
g_BoltBeams[index].unk05 = 1;
|
||||
g_BoltBeams[index].unk00 = 0;
|
||||
g_BoltBeams[index].unk2c = arg1;
|
||||
}
|
||||
|
||||
Gfx *func0f0aeed8(Gfx *gdl)
|
||||
Gfx *boltbeamsRender(Gfx *gdl)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < ARRAYCOUNT(var8009da60); i++) {
|
||||
if (var8009da60[i].unk00 != -1) {
|
||||
gdl = func0f0ac4b8(gdl, g_TexLaserConfigs, 1, &var8009da60[i].unk14, 0xafafff00, 2, &var8009da60[i].unk20, 0xafafff7f);
|
||||
for (i = 0; i < ARRAYCOUNT(g_BoltBeams); i++) {
|
||||
if (g_BoltBeams[i].unk00 != -1) {
|
||||
gdl = func0f0ac4b8(gdl, g_TexLaserConfigs, 1, &g_BoltBeams[i].unk14, 0xafafff00, 2, &g_BoltBeams[i].unk20, 0xafafff7f);
|
||||
}
|
||||
}
|
||||
|
||||
return gdl;
|
||||
}
|
||||
|
||||
void func0f0aefb8(void)
|
||||
void boltbeamsTick(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 8; i++) {
|
||||
if (var8009da60[i].unk00 != -1 && var8009da60[i].unk05 == 1) {
|
||||
if (g_BoltBeams[i].unk00 != -1 && g_BoltBeams[i].unk05 == 1) {
|
||||
f32 value = sqrtf(
|
||||
(var8009da60[i].unk20.f[0] - var8009da60[i].unk14.f[0]) * (var8009da60[i].unk20.f[0] - var8009da60[i].unk14.f[0]) +
|
||||
(var8009da60[i].unk20.f[1] - var8009da60[i].unk14.f[1]) * (var8009da60[i].unk20.f[1] - var8009da60[i].unk14.f[1]) +
|
||||
(var8009da60[i].unk20.f[2] - var8009da60[i].unk14.f[2]) * (var8009da60[i].unk20.f[2] - var8009da60[i].unk14.f[2]));
|
||||
(g_BoltBeams[i].unk20.f[0] - g_BoltBeams[i].unk14.f[0]) * (g_BoltBeams[i].unk20.f[0] - g_BoltBeams[i].unk14.f[0]) +
|
||||
(g_BoltBeams[i].unk20.f[1] - g_BoltBeams[i].unk14.f[1]) * (g_BoltBeams[i].unk20.f[1] - g_BoltBeams[i].unk14.f[1]) +
|
||||
(g_BoltBeams[i].unk20.f[2] - g_BoltBeams[i].unk14.f[2]) * (g_BoltBeams[i].unk20.f[2] - g_BoltBeams[i].unk14.f[2]));
|
||||
|
||||
#if VERSION >= VERSION_PAL_BETA
|
||||
value -= var8009da60[i].unk2c * g_Vars.lvupdate240freal / 60.0f;
|
||||
value -= g_BoltBeams[i].unk2c * g_Vars.lvupdate240freal / 60.0f;
|
||||
#else
|
||||
value -= var8009da60[i].unk2c * g_Vars.lvupdate240f / 60.0f;
|
||||
value -= g_BoltBeams[i].unk2c * g_Vars.lvupdate240f / 60.0f;
|
||||
#endif
|
||||
|
||||
if (value < 0) {
|
||||
var8009da60[i].unk00 = -1;
|
||||
g_BoltBeams[i].unk00 = -1;
|
||||
} else {
|
||||
func0f0aeda4(i, value, 0);
|
||||
}
|
||||
@@ -4376,7 +4376,7 @@ glabel var7f1acd8c
|
||||
/* f0af32c: af090004 */ sw $t1,0x4($t8)
|
||||
/* f0af330: 0c00566c */ jal mtx4LoadIdentity
|
||||
/* f0af334: af080000 */ sw $t0,0x0($t8)
|
||||
/* f0af338: 0fc2d5be */ jal currentPlayerGetMatrix1740
|
||||
/* f0af338: 0fc2d5be */ jal camGetMatrix1740
|
||||
/* f0af33c: 00000000 */ nop
|
||||
/* f0af340: 00402025 */ or $a0,$v0,$zero
|
||||
/* f0af344: 0c0056f8 */ jal mtx00015be0
|
||||
@@ -4384,7 +4384,7 @@ glabel var7f1acd8c
|
||||
/* f0af34c: 27b10124 */ addiu $s1,$sp,0x124
|
||||
/* f0af350: 0c00566c */ jal mtx4LoadIdentity
|
||||
/* f0af354: 02202025 */ or $a0,$s1,$zero
|
||||
/* f0af358: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f0af358: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f0af35c: 00000000 */ nop
|
||||
/* f0af360: 00402025 */ or $a0,$v0,$zero
|
||||
/* f0af364: 0c0056f8 */ jal mtx00015be0
|
||||
@@ -4396,7 +4396,7 @@ glabel var7f1acd8c
|
||||
/* f0af37c: e7a00154 */ swc1 $f0,0x154($sp)
|
||||
/* f0af380: 0c00566c */ jal mtx4LoadIdentity
|
||||
/* f0af384: e7a0015c */ swc1 $f0,0x15c($sp)
|
||||
/* f0af388: 0fc2d5be */ jal currentPlayerGetMatrix1740
|
||||
/* f0af388: 0fc2d5be */ jal camGetMatrix1740
|
||||
/* f0af38c: 00000000 */ nop
|
||||
/* f0af390: 00402025 */ or $a0,$v0,$zero
|
||||
/* f0af394: 0c0056f8 */ jal mtx00015be0
|
||||
@@ -4631,7 +4631,7 @@ glabel var7f1acd8c
|
||||
/* f0af6f8: afaf0010 */ sw $t7,0x10($sp)
|
||||
/* f0af6fc: afb80014 */ sw $t8,0x14($sp)
|
||||
/* f0af700: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f0af704: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f0af704: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f0af708: 24a50030 */ addiu $a1,$a1,0x0030
|
||||
/* f0af70c: 44800000 */ mtc1 $zero,$f0
|
||||
/* f0af710: c7aa00dc */ lwc1 $f10,0xdc($sp)
|
||||
@@ -4886,16 +4886,16 @@ glabel var7f1acd8c
|
||||
// gDPSetCombineMode(gdl++, G_CC_BLENDIA, G_CC_BLENDIA);
|
||||
//
|
||||
// mtx4LoadIdentity(&sp164);
|
||||
// mtx00015be0(currentPlayerGetMatrix1740(), &sp164);
|
||||
// mtx00015be0(camGetMatrix1740(), &sp164);
|
||||
// mtx4LoadIdentity(&sp124);
|
||||
// mtx00015be0(currentPlayerGetUnk174c(), &sp124);
|
||||
// mtx00015be0(camGetUnk174c(), &sp124);
|
||||
//
|
||||
// sp124.m[3][1] = 0;
|
||||
// sp124.m[3][0] = 0;
|
||||
// sp124.m[3][2] = 0;
|
||||
//
|
||||
// mtx4LoadIdentity(&sp1b0);
|
||||
// mtx00015be0(currentPlayerGetMatrix1740(), &sp1b0);
|
||||
// mtx00015be0(camGetMatrix1740(), &sp1b0);
|
||||
//
|
||||
// campos.x = player->cam_pos.x;
|
||||
// campos.y = player->cam_pos.y;
|
||||
@@ -4986,7 +4986,7 @@ glabel var7f1acd8c
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// func0f0b39c0(&gdl, &g_TexGeneralConfigs[4], 4, 0, 2, 1, NULL);
|
||||
// tex0f0b39c0(&gdl, &g_TexGeneralConfigs[4], 4, 0, 2, 1, NULL);
|
||||
//
|
||||
// // 724
|
||||
// if (rot.f[0] == 0 && rot.f[2] == 0) {
|
||||
@@ -5174,18 +5174,18 @@ glabel var7f1acd90
|
||||
/* f0afc08: 27a401e8 */ addiu $a0,$sp,0x1e8
|
||||
/* f0afc0c: 24060004 */ addiu $a2,$zero,0x4
|
||||
/* f0afc10: 00003825 */ or $a3,$zero,$zero
|
||||
/* f0afc14: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f0afc14: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f0afc18: 24a50024 */ addiu $a1,$a1,0x0024
|
||||
/* f0afc1c: 0c00566c */ jal mtx4LoadIdentity
|
||||
/* f0afc20: 27a4014c */ addiu $a0,$sp,0x14c
|
||||
/* f0afc24: 0fc2d5be */ jal currentPlayerGetMatrix1740
|
||||
/* f0afc24: 0fc2d5be */ jal camGetMatrix1740
|
||||
/* f0afc28: 00000000 */ nop
|
||||
/* f0afc2c: 00402025 */ or $a0,$v0,$zero
|
||||
/* f0afc30: 0c0056f8 */ jal mtx00015be0
|
||||
/* f0afc34: 27a5014c */ addiu $a1,$sp,0x14c
|
||||
/* f0afc38: 0c00566c */ jal mtx4LoadIdentity
|
||||
/* f0afc3c: 27a4010c */ addiu $a0,$sp,0x10c
|
||||
/* f0afc40: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f0afc40: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f0afc44: 00000000 */ nop
|
||||
/* f0afc48: 00402025 */ or $a0,$v0,$zero
|
||||
/* f0afc4c: 0c0056f8 */ jal mtx00015be0
|
||||
@@ -5197,7 +5197,7 @@ glabel var7f1acd90
|
||||
/* f0afc64: e7b4013c */ swc1 $f20,0x13c($sp)
|
||||
/* f0afc68: 0c00566c */ jal mtx4LoadIdentity
|
||||
/* f0afc6c: e7b40144 */ swc1 $f20,0x144($sp)
|
||||
/* f0afc70: 0fc2d5be */ jal currentPlayerGetMatrix1740
|
||||
/* f0afc70: 0fc2d5be */ jal camGetMatrix1740
|
||||
/* f0afc74: 00000000 */ nop
|
||||
/* f0afc78: 00402025 */ or $a0,$v0,$zero
|
||||
/* f0afc7c: 0c0056f8 */ jal mtx00015be0
|
||||
@@ -5609,19 +5609,19 @@ glabel var7f1acd90
|
||||
// gDPSetCombineMode(gdl++, G_CC_BLENDIA, G_CC_BLENDIA);
|
||||
// gSPClearGeometryMode(gdl++, G_CULL_BOTH);
|
||||
//
|
||||
// func0f0b39c0(&gdl, &g_TexGeneralConfigs[3], 4, 0, 2, 1, NULL);
|
||||
// tex0f0b39c0(&gdl, &g_TexGeneralConfigs[3], 4, 0, 2, 1, NULL);
|
||||
// mtx4LoadIdentity(&sp14c);
|
||||
//
|
||||
// mtx00015be0(currentPlayerGetMatrix1740(), &sp14c);
|
||||
// mtx00015be0(camGetMatrix1740(), &sp14c);
|
||||
// mtx4LoadIdentity(&sp10c);
|
||||
// mtx00015be0(currentPlayerGetUnk174c(), &sp10c);
|
||||
// mtx00015be0(camGetUnk174c(), &sp10c);
|
||||
//
|
||||
// sp10c.m[3][1] = 0;
|
||||
// sp10c.m[3][0] = 0;
|
||||
// sp10c.m[3][2] = 0;
|
||||
//
|
||||
// mtx4LoadIdentity(&sp198);
|
||||
// mtx00015be0(currentPlayerGetMatrix1740(), &sp198);
|
||||
// mtx00015be0(camGetMatrix1740(), &sp198);
|
||||
//
|
||||
// campos.x = player->cam_pos.x;
|
||||
// campos.y = player->cam_pos.y;
|
||||
@@ -1,8 +1,6 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/lasersights.h"
|
||||
#include "game/chr.h"
|
||||
#include "game/game_02cde0.h"
|
||||
#include "game/prop.h"
|
||||
#include "game/botcmd.h"
|
||||
#include "game/mplayer/mplayer.h"
|
||||
@@ -14,12 +12,12 @@
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
void func0f0147d0(void)
|
||||
void boltbeamsReset(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 8; i++) {
|
||||
var8009da60[i].unk00 = -1;
|
||||
g_BoltBeams[i].unk00 = -1;
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/game_1668e0.h"
|
||||
#include "game/room.h"
|
||||
#include "bss.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
+25
-28
@@ -21,28 +21,21 @@
|
||||
#include "game/filemgr.h"
|
||||
#include "game/game_006900.h"
|
||||
#include "game/game_00b820.h"
|
||||
#include "game/game_00c490.h"
|
||||
#include "game/game_013550.h"
|
||||
#include "game/game_0147a0.h"
|
||||
#include "game/game_015010.h"
|
||||
#include "game/game_01b0a0.h"
|
||||
#include "game/game_01d990.h"
|
||||
#include "game/game_0abe70.h"
|
||||
#include "game/gunfx.h"
|
||||
#include "game/game_0b0fd0.h"
|
||||
#include "game/game_0b28d0.h"
|
||||
#include "game/game_0b63b0.h"
|
||||
#include "game/game_10c9c0.h"
|
||||
#include "game/game_11f000.h"
|
||||
#include "game/portal.h"
|
||||
#include "game/fmb.h"
|
||||
#include "game/sky.h"
|
||||
#include "game/game_13c510.h"
|
||||
#include "game/game_1531a0.h"
|
||||
#include "game/game_165670.h"
|
||||
#include "game/game_176080.h"
|
||||
#include "game/game_19aa80.h"
|
||||
#include "game/challenge.h"
|
||||
#include "game/gfxmemory.h"
|
||||
#include "game/gunfx.h"
|
||||
#include "game/hudmsg.h"
|
||||
#include "game/inv.h"
|
||||
#include "game/lang.h"
|
||||
#include "game/lasersights.h"
|
||||
#include "game/lv.h"
|
||||
#include "game/menu.h"
|
||||
#include "game/mplayer/mplayer.h"
|
||||
@@ -52,17 +45,21 @@
|
||||
#include "game/nbomb.h"
|
||||
#include "game/objectives.h"
|
||||
#include "game/pak.h"
|
||||
#include "game/pdmode.h"
|
||||
#include "game/player.h"
|
||||
#include "game/playermgr.h"
|
||||
#include "game/playerreset.h"
|
||||
#include "game/prop.h"
|
||||
#include "game/propobj.h"
|
||||
#include "game/propobjstop.h"
|
||||
#include "game/propsnd.h"
|
||||
#include "game/savebuffer.h"
|
||||
#include "game/setup.h"
|
||||
#include "game/shards.h"
|
||||
#include "game/sky.h"
|
||||
#include "game/sparks.h"
|
||||
#include "game/splat.h"
|
||||
#include "game/stars.h"
|
||||
#include "game/stubs/game_013540.h"
|
||||
#include "game/stubs/game_015260.h"
|
||||
#include "game/stubs/game_015270.h"
|
||||
@@ -292,7 +289,7 @@ void lvReset(s32 stagenum)
|
||||
|
||||
musicReset();
|
||||
func0f011124(true);
|
||||
func0f013b80();
|
||||
surfaceReset();
|
||||
texReset();
|
||||
fontsReset();
|
||||
hudmsgsReset();
|
||||
@@ -316,7 +313,7 @@ void lvReset(s32 stagenum)
|
||||
tilesReset();
|
||||
bgReset(g_Vars.stagenum);
|
||||
bgBuildTables(g_Vars.stagenum);
|
||||
func0f0147a0(g_Vars.stagenum);
|
||||
skyReset(g_Vars.stagenum);
|
||||
|
||||
if (g_Vars.normmplayerisrunning) {
|
||||
musicSetStageAndStartMusic(stagenum);
|
||||
@@ -362,13 +359,13 @@ void lvReset(s32 stagenum)
|
||||
vtxstoreReset();
|
||||
func0f011110();
|
||||
propsndReset();
|
||||
setupReset(stagenum);
|
||||
setupLoadFiles(stagenum);
|
||||
scenarioReset();
|
||||
varsReset();
|
||||
propsReset();
|
||||
chrmgrReset();
|
||||
headsReset(stagenum);
|
||||
propsCreate(stagenum);
|
||||
bodiesReset(stagenum);
|
||||
setupCreateProps(stagenum);
|
||||
tagsReset();
|
||||
explosionsReset();
|
||||
smokeReset();
|
||||
@@ -383,12 +380,12 @@ void lvReset(s32 stagenum)
|
||||
case STAGE_DEFECTION:
|
||||
case STAGE_ATTACKSHIP:
|
||||
case STAGE_TEST_OLD:
|
||||
skyReset();
|
||||
starsReset();
|
||||
break;
|
||||
}
|
||||
|
||||
func0f0099a4();
|
||||
func0f0147d0();
|
||||
boltbeamsReset();
|
||||
lasersightsReset();
|
||||
stub0f013540();
|
||||
shardsReset();
|
||||
@@ -430,7 +427,7 @@ void lvReset(s32 stagenum)
|
||||
}
|
||||
|
||||
acousticReset();
|
||||
func0f0b65f8();
|
||||
portalsReset();
|
||||
lightsReset();
|
||||
setCurrentPlayerNum(0);
|
||||
}
|
||||
@@ -447,7 +444,7 @@ void lvReset(s32 stagenum)
|
||||
}
|
||||
|
||||
if (stagenum == STAGE_4MBMENU) {
|
||||
fmbmenuReset();
|
||||
fmbReset();
|
||||
}
|
||||
|
||||
if (IS8MB()) {
|
||||
@@ -1179,7 +1176,7 @@ Gfx *lvRender(Gfx *gdl)
|
||||
}
|
||||
|
||||
gdl = viRenderViewportEdges(gdl);
|
||||
gdl = func0f11f984(gdl);
|
||||
gdl = skyRender(gdl);
|
||||
bgTick();
|
||||
lightsTick();
|
||||
propsTickPlayer(islastplayer);
|
||||
@@ -1311,7 +1308,7 @@ Gfx *lvRender(Gfx *gdl)
|
||||
gdl = lvRenderManPosIfEnabled(gdl);
|
||||
#endif
|
||||
} else {
|
||||
gdl = func0f0aeed8(gdl);
|
||||
gdl = boltbeamsRender(gdl);
|
||||
|
||||
if (g_Vars.currentplayer->visionmode != VISIONMODE_XRAY) {
|
||||
gdl = func0f15b114(gdl);
|
||||
@@ -1626,7 +1623,7 @@ Gfx *lvRender(Gfx *gdl)
|
||||
#endif
|
||||
}
|
||||
|
||||
gdl = func0f1274d8(gdl);
|
||||
gdl = sky0f1274d8(gdl);
|
||||
gdl = amRender(gdl);
|
||||
mtx00016748(1);
|
||||
|
||||
@@ -2291,8 +2288,8 @@ void lvTick(void)
|
||||
lvUpdateCutsceneTime();
|
||||
vtxstoreTick();
|
||||
lvUpdateSoloHandicaps();
|
||||
func0f01d8c0();
|
||||
func0f01d990();
|
||||
roomsTick();
|
||||
skyTick();
|
||||
casingsTick();
|
||||
shardsTick();
|
||||
sparksTick();
|
||||
@@ -2312,7 +2309,7 @@ void lvTick(void)
|
||||
pakExecuteDebugOperations();
|
||||
lightingTick();
|
||||
func0f0b2904();
|
||||
func0f0aefb8();
|
||||
boltbeamsTick();
|
||||
amTick();
|
||||
menuTick();
|
||||
scenarioTick();
|
||||
|
||||
+11
-11
@@ -1,13 +1,13 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/cheats.h"
|
||||
#include "game/game_00c490.h"
|
||||
#include "game/setup.h"
|
||||
#include "game/title.h"
|
||||
#include "game/game_01b0a0.h"
|
||||
#include "game/pdmode.h"
|
||||
#include "game/objectives.h"
|
||||
#include "game/bondgun.h"
|
||||
#include "game/game_0b0fd0.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/player.h"
|
||||
#include "game/menu.h"
|
||||
#include "game/mainmenu.h"
|
||||
@@ -16,7 +16,7 @@
|
||||
#include "game/game_1531a0.h"
|
||||
#include "game/lv.h"
|
||||
#include "game/mplayer/ingame.h"
|
||||
#include "game/game_19aa80.h"
|
||||
#include "game/challenge.h"
|
||||
#include "game/training.h"
|
||||
#include "game/gamefile.h"
|
||||
#include "game/lang.h"
|
||||
@@ -2693,7 +2693,7 @@ glabel var7f1b2dfc
|
||||
/* f104d1c: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f104d20: 02002025 */ or $a0,$s0,$zero
|
||||
/* f104d24: 24060002 */ addiu $a2,$zero,0x2
|
||||
/* f104d28: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f104d28: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f104d2c: 00003825 */ or $a3,$zero,$zero
|
||||
/* f104d30: 8faf0138 */ lw $t7,0x138($sp)
|
||||
/* f104d34: 8faa0134 */ lw $t2,0x134($sp)
|
||||
@@ -2826,7 +2826,7 @@ glabel var7f1b2dfc
|
||||
/* f104f28: 00003825 */ or $a3,$zero,$zero
|
||||
/* f104f2c: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f104f30: afaa0134 */ sw $t2,0x134($sp)
|
||||
/* f104f34: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f104f34: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f104f38: 24a501b0 */ addiu $a1,$a1,0x1b0
|
||||
/* f104f3c: 8fb80138 */ lw $t8,0x138($sp)
|
||||
/* f104f40: 8faa0134 */ lw $t2,0x134($sp)
|
||||
@@ -2990,7 +2990,7 @@ glabel var7f1b2dfc
|
||||
/* f1051a0: afae0010 */ sw $t6,0x10($sp)
|
||||
/* f1051a4: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f1051a8: afaa0134 */ sw $t2,0x134($sp)
|
||||
/* f1051ac: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f1051ac: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f1051b0: 24a50198 */ addiu $a1,$a1,0x198
|
||||
/* f1051b4: 8fb90138 */ lw $t9,0x138($sp)
|
||||
/* f1051b8: 8faa0134 */ lw $t2,0x134($sp)
|
||||
@@ -3696,7 +3696,7 @@ glabel var7f1ad0fcnb
|
||||
/* f100b1c: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f100b20: 02002025 */ or $a0,$s0,$zero
|
||||
/* f100b24: 24060001 */ addiu $a2,$zero,0x1
|
||||
/* f100b28: 0fc2c5c8 */ jal func0f0b39c0
|
||||
/* f100b28: 0fc2c5c8 */ jal tex0f0b39c0
|
||||
/* f100b2c: 00003825 */ or $a3,$zero,$zero
|
||||
/* f100b30: 8faf0130 */ lw $t7,0x130($sp)
|
||||
/* f100b34: 8faa012c */ lw $t2,0x12c($sp)
|
||||
@@ -3815,7 +3815,7 @@ glabel var7f1ad0fcnb
|
||||
/* f100cf0: 00003825 */ or $a3,$zero,$zero
|
||||
/* f100cf4: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f100cf8: afaa012c */ sw $t2,0x12c($sp)
|
||||
/* f100cfc: 0fc2c5c8 */ jal func0f0b39c0
|
||||
/* f100cfc: 0fc2c5c8 */ jal tex0f0b39c0
|
||||
/* f100d00: 24a501b0 */ addiu $a1,$a1,0x1b0
|
||||
/* f100d04: 8fae0130 */ lw $t6,0x130($sp)
|
||||
/* f100d08: 8faa012c */ lw $t2,0x12c($sp)
|
||||
@@ -3965,7 +3965,7 @@ glabel var7f1ad0fcnb
|
||||
/* f100f30: afaf0010 */ sw $t7,0x10($sp)
|
||||
/* f100f34: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f100f38: afaa012c */ sw $t2,0x12c($sp)
|
||||
/* f100f3c: 0fc2c5c8 */ jal func0f0b39c0
|
||||
/* f100f3c: 0fc2c5c8 */ jal tex0f0b39c0
|
||||
/* f100f40: 24a50198 */ addiu $a1,$a1,0x198
|
||||
/* f100f44: 8fae0130 */ lw $t6,0x130($sp)
|
||||
/* f100f48: 8faa012c */ lw $t2,0x12c($sp)
|
||||
@@ -6184,7 +6184,7 @@ s32 menuhandlerMainMenuCombatSimulator(s32 operation, struct menuitem *item, uni
|
||||
g_Vars.bondplayernum = 0;
|
||||
g_Vars.coopplayernum = -1;
|
||||
g_Vars.antiplayernum = -1;
|
||||
mpDetermineUnlockedFeatures();
|
||||
challengeDetermineUnlockedFeatures();
|
||||
g_Vars.mpsetupmenu = MPSETUPMENU_GENERAL;
|
||||
func0f0f820c(&g_CombatSimulatorMenuDialog, MENUROOT_MPSETUP);
|
||||
func0f0f8300();
|
||||
|
||||
+77
-78
@@ -2,15 +2,14 @@
|
||||
#include "constants.h"
|
||||
#include "game/camdraw.h"
|
||||
#include "game/game_006900.h"
|
||||
#include "game/game_006bd0.h"
|
||||
#include "game/game_02cde0.h"
|
||||
#include "game/body.h"
|
||||
#include "game/objectives.h"
|
||||
#include "game/game_096ca0.h"
|
||||
#include "game/quaternion.h"
|
||||
#include "game/bondgun.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/game_0b4950.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/camera.h"
|
||||
#include "game/player.h"
|
||||
#include "game/game_1a7560.h"
|
||||
#include "game/modeldef.h"
|
||||
#include "game/savebuffer.h"
|
||||
#include "game/menugfx.h"
|
||||
#include "game/menuitem.h"
|
||||
@@ -24,7 +23,7 @@
|
||||
#include "game/music.h"
|
||||
#include "game/texdecompress.h"
|
||||
#include "game/mplayer/setup.h"
|
||||
#include "game/game_19aa80.h"
|
||||
#include "game/challenge.h"
|
||||
#include "game/training.h"
|
||||
#include "game/game_1a78b0.h"
|
||||
#include "game/gamefile.h"
|
||||
@@ -3900,7 +3899,7 @@ void func0f0f372c(struct menu840 *arg0, f32 x, f32 y, f32 arg3, f32 arg4, f32 ar
|
||||
void func0f0f37a4(struct menu840 *arg0)
|
||||
{
|
||||
if (arg0->unk010 == 0x4fac5ace) {
|
||||
mpClearCurrentChallenge();
|
||||
challengeUnsetCurrent();
|
||||
}
|
||||
|
||||
arg0->unk000 = 0;
|
||||
@@ -4054,7 +4053,7 @@ glabel var7f1b3658jf
|
||||
.JF0f0f4620:
|
||||
/* f0f4620: 54610004 */ bnel $v1,$at,.JF0f0f4634
|
||||
/* f0f4624: 92020000 */ lbu $v0,0x0($s0)
|
||||
/* f0f4628: 0fc672f2 */ jal mpClearCurrentChallenge
|
||||
/* f0f4628: 0fc672f2 */ jal challengeUnsetCurrent
|
||||
/* f0f462c: 00000000 */ nop
|
||||
/* f0f4630: 92020000 */ lbu $v0,0x0($s0)
|
||||
.JF0f0f4634:
|
||||
@@ -4224,7 +4223,7 @@ glabel var7f1b3658jf
|
||||
/* f0f489c: afa00010 */ sw $zero,0x10($sp)
|
||||
/* f0f48a0: 8fa50400 */ lw $a1,0x400($sp)
|
||||
/* f0f48a4: 8fa40404 */ lw $a0,0x404($sp)
|
||||
/* f0f48a8: 0fc0b813 */ jal func0f02ce8c
|
||||
/* f0f48a8: 0fc0b813 */ jal body0f02ce8c
|
||||
/* f0f48ac: afad0014 */ sw $t5,0x14($sp)
|
||||
/* f0f48b0: 10000027 */ b .JF0f0f4950
|
||||
/* f0f48b4: 8e0b000c */ lw $t3,0xc($s0)
|
||||
@@ -4850,7 +4849,7 @@ glabel var7f1b3658jf
|
||||
/* f0f51e4: 27a40390 */ addiu $a0,$sp,0x390
|
||||
.JF0f0f51e8:
|
||||
/* f0f51e8: 27a50398 */ addiu $a1,$sp,0x398
|
||||
/* f0f51ec: 0fc2d72f */ jal func0f0b4c3c
|
||||
/* f0f51ec: 0fc2d72f */ jal cam0f0b4c3c
|
||||
/* f0f51f0: 3c063f80 */ lui $a2,0x3f80
|
||||
/* f0f51f4: 0c005654 */ jal mtx4LoadIdentity
|
||||
/* f0f51f8: 27a40310 */ addiu $a0,$sp,0x310
|
||||
@@ -4995,7 +4994,7 @@ glabel var7f1b3658jf
|
||||
/* f0f53f8: 37180040 */ ori $t8,$t8,0x40
|
||||
/* f0f53fc: afa90440 */ sw $t1,0x440($sp)
|
||||
/* f0f5400: ac580000 */ sw $t8,0x0($v0)
|
||||
/* f0f5404: 0fc2d81a */ jal currentPlayerGetUnk1750
|
||||
/* f0f5404: 0fc2d81a */ jal camGetUnk1750
|
||||
/* f0f5408: 00408825 */ move $s1,$v0
|
||||
/* f0f540c: 0c012b34 */ jal osVirtualToPhysical
|
||||
/* f0f5410: 00402025 */ move $a0,$v0
|
||||
@@ -5341,7 +5340,7 @@ glabel var7f1b3658jf
|
||||
/* f0f590c: c4660034 */ lwc1 $f6,0x34($v1)
|
||||
/* f0f5910: e7a600d4 */ swc1 $f6,0xd4($sp)
|
||||
/* f0f5914: c46a0038 */ lwc1 $f10,0x38($v1)
|
||||
/* f0f5918: 0fc2d761 */ jal func0f0b4d04
|
||||
/* f0f5918: 0fc2d761 */ jal cam0f0b4d04
|
||||
/* f0f591c: e7aa00d8 */ swc1 $f10,0xd8($sp)
|
||||
/* f0f5920: 0c002eeb */ jal viGetWidth
|
||||
/* f0f5924: 00000000 */ nop
|
||||
@@ -5419,7 +5418,7 @@ glabel var7f1b3658jf
|
||||
/* f0f5a2c: 25ec0008 */ addiu $t4,$t7,0x8
|
||||
/* f0f5a30: afac0440 */ sw $t4,0x440($sp)
|
||||
/* f0f5a34: adf90000 */ sw $t9,0x0($t7)
|
||||
/* f0f5a38: 0fc2da0a */ jal currentPlayerGetUnk175c
|
||||
/* f0f5a38: 0fc2da0a */ jal camGetUnk175c
|
||||
/* f0f5a3c: afaf00b8 */ sw $t7,0xb8($sp)
|
||||
/* f0f5a40: 8fa500b8 */ lw $a1,0xb8($sp)
|
||||
/* f0f5a44: 3c180382 */ lui $t8,0x382
|
||||
@@ -5429,7 +5428,7 @@ glabel var7f1b3658jf
|
||||
/* f0f5a54: 25cd0008 */ addiu $t5,$t6,0x8
|
||||
/* f0f5a58: afad0440 */ sw $t5,0x440($sp)
|
||||
/* f0f5a5c: add80000 */ sw $t8,0x0($t6)
|
||||
/* f0f5a60: 0fc2da0a */ jal currentPlayerGetUnk175c
|
||||
/* f0f5a60: 0fc2da0a */ jal camGetUnk175c
|
||||
/* f0f5a64: afae00b4 */ sw $t6,0xb4($sp)
|
||||
/* f0f5a68: 8fa600b4 */ lw $a2,0xb4($sp)
|
||||
/* f0f5a6c: 24490010 */ addiu $t1,$v0,0x10
|
||||
@@ -5544,7 +5543,7 @@ glabel var7f1b3658jf
|
||||
/* f0f5c14: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f0f5c18: 00002825 */ move $a1,$zero
|
||||
/* f0f5c1c: 24060002 */ li $a2,0x2
|
||||
/* f0f5c20: 0fc2d290 */ jal func0f0b39c0
|
||||
/* f0f5c20: 0fc2d290 */ jal tex0f0b39c0
|
||||
/* f0f5c24: 00003825 */ move $a3,$zero
|
||||
/* f0f5c28: 8fae0440 */ lw $t6,0x440($sp)
|
||||
/* f0f5c2c: 3c18b900 */ lui $t8,0xb900
|
||||
@@ -5563,7 +5562,7 @@ glabel var7f1b3658jf
|
||||
/* f0f5c60: 02002025 */ move $a0,$s0
|
||||
/* f0f5c64: 00002825 */ move $a1,$zero
|
||||
/* f0f5c68: 24060002 */ li $a2,0x2
|
||||
/* f0f5c6c: 0fc2d290 */ jal func0f0b39c0
|
||||
/* f0f5c6c: 0fc2d290 */ jal tex0f0b39c0
|
||||
/* f0f5c70: 00003825 */ move $a3,$zero
|
||||
/* f0f5c74: 8faf0440 */ lw $t7,0x440($sp)
|
||||
/* f0f5c78: 3c190600 */ lui $t9,0x600
|
||||
@@ -5670,7 +5669,7 @@ glabel var7f1b3c40pf
|
||||
.PF0f0f40e0:
|
||||
/* f0f40e0: 54610004 */ bnel $v1,$at,.PF0f0f40f4
|
||||
/* f0f40e4: 92020000 */ lbu $v0,0x0($s0)
|
||||
/* f0f40e8: 0fc674da */ jal mpClearCurrentChallenge
|
||||
/* f0f40e8: 0fc674da */ jal challengeUnsetCurrent
|
||||
/* f0f40ec: 00000000 */ nop
|
||||
/* f0f40f0: 92020000 */ lbu $v0,0x0($s0)
|
||||
.PF0f0f40f4:
|
||||
@@ -5840,7 +5839,7 @@ glabel var7f1b3c40pf
|
||||
/* f0f435c: afa00010 */ sw $zero,0x10($sp)
|
||||
/* f0f4360: 8fa50400 */ lw $a1,0x400($sp)
|
||||
/* f0f4364: 8fa40404 */ lw $a0,0x404($sp)
|
||||
/* f0f4368: 0fc0b3eb */ jal func0f02ce8c
|
||||
/* f0f4368: 0fc0b3eb */ jal body0f02ce8c
|
||||
/* f0f436c: afad0014 */ sw $t5,0x14($sp)
|
||||
/* f0f4370: 10000027 */ b .PF0f0f4410
|
||||
/* f0f4374: 8e0b000c */ lw $t3,0xc($s0)
|
||||
@@ -6456,7 +6455,7 @@ glabel var7f1b3c40pf
|
||||
/* f0f4c84: 27a40390 */ addiu $a0,$sp,0x390
|
||||
.PF0f0f4c88:
|
||||
/* f0f4c88: 27a50398 */ addiu $a1,$sp,0x398
|
||||
/* f0f4c8c: 0fc2d457 */ jal func0f0b4c3c
|
||||
/* f0f4c8c: 0fc2d457 */ jal cam0f0b4c3c
|
||||
/* f0f4c90: 3c063f80 */ lui $a2,0x3f80
|
||||
/* f0f4c94: 0c0055d0 */ jal mtx4LoadIdentity
|
||||
/* f0f4c98: 27a40310 */ addiu $a0,$sp,0x310
|
||||
@@ -6601,7 +6600,7 @@ glabel var7f1b3c40pf
|
||||
/* f0f4e98: 35290040 */ ori $t1,$t1,0x40
|
||||
/* f0f4e9c: afad0440 */ sw $t5,0x440($sp)
|
||||
/* f0f4ea0: ac490000 */ sw $t1,0x0($v0)
|
||||
/* f0f4ea4: 0fc2d542 */ jal currentPlayerGetUnk1750
|
||||
/* f0f4ea4: 0fc2d542 */ jal camGetUnk1750
|
||||
/* f0f4ea8: 00408825 */ move $s1,$v0
|
||||
/* f0f4eac: 0c012ab0 */ jal osVirtualToPhysical
|
||||
/* f0f4eb0: 00402025 */ move $a0,$v0
|
||||
@@ -6947,7 +6946,7 @@ glabel var7f1b3c40pf
|
||||
/* f0f53ac: c4700034 */ lwc1 $f16,0x34($v1)
|
||||
/* f0f53b0: e7b000d4 */ swc1 $f16,0xd4($sp)
|
||||
/* f0f53b4: c4660038 */ lwc1 $f6,0x38($v1)
|
||||
/* f0f53b8: 0fc2d489 */ jal func0f0b4d04
|
||||
/* f0f53b8: 0fc2d489 */ jal cam0f0b4d04
|
||||
/* f0f53bc: e7a600d8 */ swc1 $f6,0xd8($sp)
|
||||
/* f0f53c0: 0c002e53 */ jal viGetWidth
|
||||
/* f0f53c4: 00000000 */ nop
|
||||
@@ -7025,7 +7024,7 @@ glabel var7f1b3c40pf
|
||||
/* f0f54cc: 258b0008 */ addiu $t3,$t4,0x8
|
||||
/* f0f54d0: afab0440 */ sw $t3,0x440($sp)
|
||||
/* f0f54d4: ad8f0000 */ sw $t7,0x0($t4)
|
||||
/* f0f54d8: 0fc2d732 */ jal currentPlayerGetUnk175c
|
||||
/* f0f54d8: 0fc2d732 */ jal camGetUnk175c
|
||||
/* f0f54dc: afac00b8 */ sw $t4,0xb8($sp)
|
||||
/* f0f54e0: 8fa500b8 */ lw $a1,0xb8($sp)
|
||||
/* f0f54e4: 3c090382 */ lui $t1,0x382
|
||||
@@ -7035,7 +7034,7 @@ glabel var7f1b3c40pf
|
||||
/* f0f54f4: 272e0008 */ addiu $t6,$t9,0x8
|
||||
/* f0f54f8: afae0440 */ sw $t6,0x440($sp)
|
||||
/* f0f54fc: af290000 */ sw $t1,0x0($t9)
|
||||
/* f0f5500: 0fc2d732 */ jal currentPlayerGetUnk175c
|
||||
/* f0f5500: 0fc2d732 */ jal camGetUnk175c
|
||||
/* f0f5504: afb900b4 */ sw $t9,0xb4($sp)
|
||||
/* f0f5508: 8fa600b4 */ lw $a2,0xb4($sp)
|
||||
/* f0f550c: 244d0010 */ addiu $t5,$v0,0x10
|
||||
@@ -7150,7 +7149,7 @@ glabel var7f1b3c40pf
|
||||
/* f0f56b4: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f0f56b8: 00002825 */ move $a1,$zero
|
||||
/* f0f56bc: 24060002 */ li $a2,0x2
|
||||
/* f0f56c0: 0fc2cfb8 */ jal func0f0b39c0
|
||||
/* f0f56c0: 0fc2cfb8 */ jal tex0f0b39c0
|
||||
/* f0f56c4: 00003825 */ move $a3,$zero
|
||||
/* f0f56c8: 8fb90440 */ lw $t9,0x440($sp)
|
||||
/* f0f56cc: 3c09b900 */ lui $t1,0xb900
|
||||
@@ -7169,7 +7168,7 @@ glabel var7f1b3c40pf
|
||||
/* f0f5700: 02002025 */ move $a0,$s0
|
||||
/* f0f5704: 00002825 */ move $a1,$zero
|
||||
/* f0f5708: 24060002 */ li $a2,0x2
|
||||
/* f0f570c: 0fc2cfb8 */ jal func0f0b39c0
|
||||
/* f0f570c: 0fc2cfb8 */ jal tex0f0b39c0
|
||||
/* f0f5710: 00003825 */ move $a3,$zero
|
||||
/* f0f5714: 8fac0440 */ lw $t4,0x440($sp)
|
||||
/* f0f5718: 3c0f0600 */ lui $t7,0x600
|
||||
@@ -7276,7 +7275,7 @@ glabel var7f1b3c40pf
|
||||
.PB0f0f3ef8:
|
||||
/* f0f3ef8: 54610004 */ bnel $v1,$at,.PB0f0f3f0c
|
||||
/* f0f3efc: 92020000 */ lbu $v0,0x0($s0)
|
||||
/* f0f3f00: 0fc677c0 */ jal mpClearCurrentChallenge
|
||||
/* f0f3f00: 0fc677c0 */ jal challengeUnsetCurrent
|
||||
/* f0f3f04: 00000000 */ nop
|
||||
/* f0f3f08: 92020000 */ lbu $v0,0x0($s0)
|
||||
.PB0f0f3f0c:
|
||||
@@ -7446,7 +7445,7 @@ glabel var7f1b3c40pf
|
||||
/* f0f4174: afa00010 */ sw $zero,0x10($sp)
|
||||
/* f0f4178: 8fa50400 */ lw $a1,0x400($sp)
|
||||
/* f0f417c: 8fa40404 */ lw $a0,0x404($sp)
|
||||
/* f0f4180: 0fc0b3d7 */ jal func0f02ce8c
|
||||
/* f0f4180: 0fc0b3d7 */ jal body0f02ce8c
|
||||
/* f0f4184: afad0014 */ sw $t5,0x14($sp)
|
||||
/* f0f4188: 10000027 */ b .PB0f0f4228
|
||||
/* f0f418c: 8e0b000c */ lw $t3,0xc($s0)
|
||||
@@ -8062,7 +8061,7 @@ glabel var7f1b3c40pf
|
||||
/* f0f4a9c: 27a40390 */ addiu $a0,$sp,0x390
|
||||
.PB0f0f4aa0:
|
||||
/* f0f4aa0: 27a50398 */ addiu $a1,$sp,0x398
|
||||
/* f0f4aa4: 0fc2d413 */ jal func0f0b4c3c
|
||||
/* f0f4aa4: 0fc2d413 */ jal cam0f0b4c3c
|
||||
/* f0f4aa8: 3c063f80 */ lui $a2,0x3f80
|
||||
/* f0f4aac: 0c005900 */ jal mtx4LoadIdentity
|
||||
/* f0f4ab0: 27a40310 */ addiu $a0,$sp,0x310
|
||||
@@ -8207,7 +8206,7 @@ glabel var7f1b3c40pf
|
||||
/* f0f4cb0: 35290040 */ ori $t1,$t1,0x40
|
||||
/* f0f4cb4: afad0440 */ sw $t5,0x440($sp)
|
||||
/* f0f4cb8: ac490000 */ sw $t1,0x0($v0)
|
||||
/* f0f4cbc: 0fc2d4fe */ jal currentPlayerGetUnk1750
|
||||
/* f0f4cbc: 0fc2d4fe */ jal camGetUnk1750
|
||||
/* f0f4cc0: 00408825 */ move $s1,$v0
|
||||
/* f0f4cc4: 0c012de0 */ jal osVirtualToPhysical
|
||||
/* f0f4cc8: 00402025 */ move $a0,$v0
|
||||
@@ -8553,7 +8552,7 @@ glabel var7f1b3c40pf
|
||||
/* f0f51c4: c4700034 */ lwc1 $f16,0x34($v1)
|
||||
/* f0f51c8: e7b000d4 */ swc1 $f16,0xd4($sp)
|
||||
/* f0f51cc: c4660038 */ lwc1 $f6,0x38($v1)
|
||||
/* f0f51d0: 0fc2d445 */ jal func0f0b4d04
|
||||
/* f0f51d0: 0fc2d445 */ jal cam0f0b4d04
|
||||
/* f0f51d4: e7a600d8 */ swc1 $f6,0xd8($sp)
|
||||
/* f0f51d8: 0c002e4d */ jal viGetWidth
|
||||
/* f0f51dc: 00000000 */ nop
|
||||
@@ -8631,7 +8630,7 @@ glabel var7f1b3c40pf
|
||||
/* f0f52e4: 258b0008 */ addiu $t3,$t4,0x8
|
||||
/* f0f52e8: afab0440 */ sw $t3,0x440($sp)
|
||||
/* f0f52ec: ad8f0000 */ sw $t7,0x0($t4)
|
||||
/* f0f52f0: 0fc2d6ee */ jal currentPlayerGetUnk175c
|
||||
/* f0f52f0: 0fc2d6ee */ jal camGetUnk175c
|
||||
/* f0f52f4: afac00b8 */ sw $t4,0xb8($sp)
|
||||
/* f0f52f8: 8fa500b8 */ lw $a1,0xb8($sp)
|
||||
/* f0f52fc: 3c090382 */ lui $t1,0x382
|
||||
@@ -8641,7 +8640,7 @@ glabel var7f1b3c40pf
|
||||
/* f0f530c: 272e0008 */ addiu $t6,$t9,0x8
|
||||
/* f0f5310: afae0440 */ sw $t6,0x440($sp)
|
||||
/* f0f5314: af290000 */ sw $t1,0x0($t9)
|
||||
/* f0f5318: 0fc2d6ee */ jal currentPlayerGetUnk175c
|
||||
/* f0f5318: 0fc2d6ee */ jal camGetUnk175c
|
||||
/* f0f531c: afb900b4 */ sw $t9,0xb4($sp)
|
||||
/* f0f5320: 8fa600b4 */ lw $a2,0xb4($sp)
|
||||
/* f0f5324: 244d0010 */ addiu $t5,$v0,0x10
|
||||
@@ -8756,7 +8755,7 @@ glabel var7f1b3c40pf
|
||||
/* f0f54cc: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f0f54d0: 00002825 */ move $a1,$zero
|
||||
/* f0f54d4: 24060002 */ li $a2,0x2
|
||||
/* f0f54d8: 0fc2cf74 */ jal func0f0b39c0
|
||||
/* f0f54d8: 0fc2cf74 */ jal tex0f0b39c0
|
||||
/* f0f54dc: 00003825 */ move $a3,$zero
|
||||
/* f0f54e0: 8fb90440 */ lw $t9,0x440($sp)
|
||||
/* f0f54e4: 3c09b900 */ lui $t1,0xb900
|
||||
@@ -8775,7 +8774,7 @@ glabel var7f1b3c40pf
|
||||
/* f0f5518: 02002025 */ move $a0,$s0
|
||||
/* f0f551c: 00002825 */ move $a1,$zero
|
||||
/* f0f5520: 24060002 */ li $a2,0x2
|
||||
/* f0f5524: 0fc2cf74 */ jal func0f0b39c0
|
||||
/* f0f5524: 0fc2cf74 */ jal tex0f0b39c0
|
||||
/* f0f5528: 00003825 */ move $a3,$zero
|
||||
/* f0f552c: 8fac0440 */ lw $t4,0x440($sp)
|
||||
/* f0f5530: 3c0f0600 */ lui $t7,0x600
|
||||
@@ -8878,7 +8877,7 @@ glabel var7f1b2948
|
||||
.L0f0f398c:
|
||||
/* f0f398c: 54610004 */ bnel $v1,$at,.L0f0f39a0
|
||||
/* f0f3990: 92020000 */ lbu $v0,0x0($s0)
|
||||
/* f0f3994: 0fc6709a */ jal mpClearCurrentChallenge
|
||||
/* f0f3994: 0fc6709a */ jal challengeUnsetCurrent
|
||||
/* f0f3998: 00000000 */ nop
|
||||
/* f0f399c: 92020000 */ lbu $v0,0x0($s0)
|
||||
.L0f0f39a0:
|
||||
@@ -9048,7 +9047,7 @@ glabel var7f1b2948
|
||||
/* f0f3c08: afa00010 */ sw $zero,0x10($sp)
|
||||
/* f0f3c0c: 8fa50400 */ lw $a1,0x400($sp)
|
||||
/* f0f3c10: 8fa40404 */ lw $a0,0x404($sp)
|
||||
/* f0f3c14: 0fc0b3a3 */ jal func0f02ce8c
|
||||
/* f0f3c14: 0fc0b3a3 */ jal body0f02ce8c
|
||||
/* f0f3c18: afaa0014 */ sw $t2,0x14($sp)
|
||||
/* f0f3c1c: 10000027 */ b .L0f0f3cbc
|
||||
/* f0f3c20: 8e19000c */ lw $t9,0xc($s0)
|
||||
@@ -9675,7 +9674,7 @@ glabel var7f1b2948
|
||||
/* f0f4554: 27a40390 */ addiu $a0,$sp,0x390
|
||||
.L0f0f4558:
|
||||
/* f0f4558: 27a50398 */ addiu $a1,$sp,0x398
|
||||
/* f0f455c: 0fc2d30f */ jal func0f0b4c3c
|
||||
/* f0f455c: 0fc2d30f */ jal cam0f0b4c3c
|
||||
/* f0f4560: 3c063f80 */ lui $a2,0x3f80
|
||||
/* f0f4564: 0c00566c */ jal mtx4LoadIdentity
|
||||
/* f0f4568: 27a40310 */ addiu $a0,$sp,0x310
|
||||
@@ -9820,7 +9819,7 @@ glabel var7f1b2948
|
||||
/* f0f4768: 35ef0040 */ ori $t7,$t7,0x40
|
||||
/* f0f476c: afac0440 */ sw $t4,0x440($sp)
|
||||
/* f0f4770: ac4f0000 */ sw $t7,0x0($v0)
|
||||
/* f0f4774: 0fc2d3fa */ jal currentPlayerGetUnk1750
|
||||
/* f0f4774: 0fc2d3fa */ jal camGetUnk1750
|
||||
/* f0f4778: 00408825 */ or $s1,$v0,$zero
|
||||
/* f0f477c: 0c012d20 */ jal osVirtualToPhysical
|
||||
/* f0f4780: 00402025 */ or $a0,$v0,$zero
|
||||
@@ -10163,7 +10162,7 @@ glabel var7f1b2948
|
||||
/* f0f4c6c: c46a0034 */ lwc1 $f10,0x34($v1)
|
||||
/* f0f4c70: e7aa00d4 */ swc1 $f10,0xd4($sp)
|
||||
/* f0f4c74: c4680038 */ lwc1 $f8,0x38($v1)
|
||||
/* f0f4c78: 0fc2d341 */ jal func0f0b4d04
|
||||
/* f0f4c78: 0fc2d341 */ jal cam0f0b4d04
|
||||
/* f0f4c7c: e7a800d8 */ swc1 $f8,0xd8($sp)
|
||||
/* f0f4c80: 0c002f02 */ jal viGetWidth
|
||||
/* f0f4c84: 00000000 */ nop
|
||||
@@ -10241,7 +10240,7 @@ glabel var7f1b2948
|
||||
/* f0f4d8c: 25ae0008 */ addiu $t6,$t5,0x8
|
||||
/* f0f4d90: afae0440 */ sw $t6,0x440($sp)
|
||||
/* f0f4d94: adac0000 */ sw $t4,0x0($t5)
|
||||
/* f0f4d98: 0fc2d5ea */ jal currentPlayerGetUnk175c
|
||||
/* f0f4d98: 0fc2d5ea */ jal camGetUnk175c
|
||||
/* f0f4d9c: afad00b8 */ sw $t5,0xb8($sp)
|
||||
/* f0f4da0: 8fa500b8 */ lw $a1,0xb8($sp)
|
||||
/* f0f4da4: 3c0a0382 */ lui $t2,0x382
|
||||
@@ -10251,7 +10250,7 @@ glabel var7f1b2948
|
||||
/* f0f4db4: 25f80008 */ addiu $t8,$t7,0x8
|
||||
/* f0f4db8: afb80440 */ sw $t8,0x440($sp)
|
||||
/* f0f4dbc: adea0000 */ sw $t2,0x0($t7)
|
||||
/* f0f4dc0: 0fc2d5ea */ jal currentPlayerGetUnk175c
|
||||
/* f0f4dc0: 0fc2d5ea */ jal camGetUnk175c
|
||||
/* f0f4dc4: afaf00b4 */ sw $t7,0xb4($sp)
|
||||
/* f0f4dc8: 8fa600b4 */ lw $a2,0xb4($sp)
|
||||
/* f0f4dcc: 24590010 */ addiu $t9,$v0,0x10
|
||||
@@ -10365,7 +10364,7 @@ glabel var7f1b2948
|
||||
/* f0f4f70: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f0f4f74: 00002825 */ or $a1,$zero,$zero
|
||||
/* f0f4f78: 24060002 */ addiu $a2,$zero,0x2
|
||||
/* f0f4f7c: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f0f4f7c: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f0f4f80: 00003825 */ or $a3,$zero,$zero
|
||||
/* f0f4f84: 8fad0440 */ lw $t5,0x440($sp)
|
||||
/* f0f4f88: 3c0cb900 */ lui $t4,0xb900
|
||||
@@ -10384,7 +10383,7 @@ glabel var7f1b2948
|
||||
/* f0f4fbc: 02002025 */ or $a0,$s0,$zero
|
||||
/* f0f4fc0: 00002825 */ or $a1,$zero,$zero
|
||||
/* f0f4fc4: 24060002 */ addiu $a2,$zero,0x2
|
||||
/* f0f4fc8: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f0f4fc8: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f0f4fcc: 00003825 */ or $a3,$zero,$zero
|
||||
/* f0f4fd0: 8fb90440 */ lw $t9,0x440($sp)
|
||||
/* f0f4fd4: 3c0d0600 */ lui $t5,0x600
|
||||
@@ -10487,7 +10486,7 @@ glabel var7f1b2948
|
||||
.NB0f0f04d0:
|
||||
/* f0f04d0: 54610004 */ bnel $v1,$at,.NB0f0f04e4
|
||||
/* f0f04d4: 92220000 */ lbu $v0,0x0($s1)
|
||||
/* f0f04d8: 0fc658b5 */ jal mpClearCurrentChallenge
|
||||
/* f0f04d8: 0fc658b5 */ jal challengeUnsetCurrent
|
||||
/* f0f04dc: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f0f04e0: 92220000 */ lbu $v0,0x0($s1)
|
||||
.NB0f0f04e4:
|
||||
@@ -10657,7 +10656,7 @@ glabel var7f1b2948
|
||||
/* f0f074c: afa00010 */ sw $zero,0x10($sp)
|
||||
/* f0f0750: 8fa50428 */ lw $a1,0x428($sp)
|
||||
/* f0f0754: 8fa4042c */ lw $a0,0x42c($sp)
|
||||
/* f0f0758: 0fc0b20b */ jal func0f02ce8c
|
||||
/* f0f0758: 0fc0b20b */ jal body0f02ce8c
|
||||
/* f0f075c: afaa0014 */ sw $t2,0x14($sp)
|
||||
/* f0f0760: 10000027 */ beqz $zero,.NB0f0f0800
|
||||
/* f0f0764: 8e39000c */ lw $t9,0xc($s1)
|
||||
@@ -11284,7 +11283,7 @@ glabel var7f1b2948
|
||||
/* f0f1098: 27a403b8 */ addiu $a0,$sp,0x3b8
|
||||
.NB0f0f109c:
|
||||
/* f0f109c: 27a503c0 */ addiu $a1,$sp,0x3c0
|
||||
/* f0f10a0: 0fc2ca67 */ jal func0f0b4c3c
|
||||
/* f0f10a0: 0fc2ca67 */ jal cam0f0b4c3c
|
||||
/* f0f10a4: 3c063f80 */ lui $a2,0x3f80
|
||||
/* f0f10a8: 0c005a28 */ jal mtx4LoadIdentity
|
||||
/* f0f10ac: 27a40338 */ addiu $a0,$sp,0x338
|
||||
@@ -11454,7 +11453,7 @@ glabel var7f1b2948
|
||||
/* f0f130c: 35ad0040 */ ori $t5,$t5,0x40
|
||||
/* f0f1310: afab0468 */ sw $t3,0x468($sp)
|
||||
/* f0f1314: ac4d0000 */ sw $t5,0x0($v0)
|
||||
/* f0f1318: 0fc2cb52 */ jal currentPlayerGetUnk1750
|
||||
/* f0f1318: 0fc2cb52 */ jal camGetUnk1750
|
||||
/* f0f131c: 00408025 */ or $s0,$v0,$zero
|
||||
/* f0f1320: 0c013100 */ jal osVirtualToPhysical
|
||||
/* f0f1324: 00402025 */ or $a0,$v0,$zero
|
||||
@@ -11797,7 +11796,7 @@ glabel var7f1b2948
|
||||
/* f0f1810: c46a0034 */ lwc1 $f10,0x34($v1)
|
||||
/* f0f1814: e7aa00d8 */ swc1 $f10,0xd8($sp)
|
||||
/* f0f1818: c4680038 */ lwc1 $f8,0x38($v1)
|
||||
/* f0f181c: 0fc2ca99 */ jal func0f0b4d04
|
||||
/* f0f181c: 0fc2ca99 */ jal cam0f0b4d04
|
||||
/* f0f1820: e7a800dc */ swc1 $f8,0xdc($sp)
|
||||
/* f0f1824: 0c002f77 */ jal viGetWidth
|
||||
/* f0f1828: 00000000 */ sll $zero,$zero,0x0
|
||||
@@ -11875,7 +11874,7 @@ glabel var7f1b2948
|
||||
/* f0f1930: 25590008 */ addiu $t9,$t2,0x8
|
||||
/* f0f1934: afb90468 */ sw $t9,0x468($sp)
|
||||
/* f0f1938: ad4b0000 */ sw $t3,0x0($t2)
|
||||
/* f0f193c: 0fc2cd42 */ jal currentPlayerGetUnk175c
|
||||
/* f0f193c: 0fc2cd42 */ jal camGetUnk175c
|
||||
/* f0f1940: afaa00bc */ sw $t2,0xbc($sp)
|
||||
/* f0f1944: 8fa500bc */ lw $a1,0xbc($sp)
|
||||
/* f0f1948: 3c0f0382 */ lui $t7,0x382
|
||||
@@ -11885,7 +11884,7 @@ glabel var7f1b2948
|
||||
/* f0f1958: 25ae0008 */ addiu $t6,$t5,0x8
|
||||
/* f0f195c: afae0468 */ sw $t6,0x468($sp)
|
||||
/* f0f1960: adaf0000 */ sw $t7,0x0($t5)
|
||||
/* f0f1964: 0fc2cd42 */ jal currentPlayerGetUnk175c
|
||||
/* f0f1964: 0fc2cd42 */ jal camGetUnk175c
|
||||
/* f0f1968: afad00b8 */ sw $t5,0xb8($sp)
|
||||
/* f0f196c: 8fa600b8 */ lw $a2,0xb8($sp)
|
||||
/* f0f1970: 244c0010 */ addiu $t4,$v0,0x10
|
||||
@@ -11999,7 +11998,7 @@ glabel var7f1b2948
|
||||
/* f0f1b14: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f0f1b18: 00002825 */ or $a1,$zero,$zero
|
||||
/* f0f1b1c: 24060002 */ addiu $a2,$zero,0x2
|
||||
/* f0f1b20: 0fc2c5c8 */ jal func0f0b39c0
|
||||
/* f0f1b20: 0fc2c5c8 */ jal tex0f0b39c0
|
||||
/* f0f1b24: 00003825 */ or $a3,$zero,$zero
|
||||
/* f0f1b28: 8faa0468 */ lw $t2,0x468($sp)
|
||||
/* f0f1b2c: 3c0bb900 */ lui $t3,0xb900
|
||||
@@ -12018,7 +12017,7 @@ glabel var7f1b2948
|
||||
/* f0f1b60: 02002025 */ or $a0,$s0,$zero
|
||||
/* f0f1b64: 00002825 */ or $a1,$zero,$zero
|
||||
/* f0f1b68: 24060002 */ addiu $a2,$zero,0x2
|
||||
/* f0f1b6c: 0fc2c5c8 */ jal func0f0b39c0
|
||||
/* f0f1b6c: 0fc2c5c8 */ jal tex0f0b39c0
|
||||
/* f0f1b70: 00003825 */ or $a3,$zero,$zero
|
||||
/* f0f1b74: 8fac0468 */ lw $t4,0x468($sp)
|
||||
/* f0f1b78: 3c0a0600 */ lui $t2,0x600
|
||||
@@ -12113,7 +12112,7 @@ glabel var7f1b2948
|
||||
// thing->unk000 = 0;
|
||||
// } else {
|
||||
// if (thing->unk010 == 0x4fac5ace) {
|
||||
// mpClearCurrentChallenge();
|
||||
// challengeUnsetCurrent();
|
||||
// }
|
||||
//
|
||||
// if (thing->unk000 == 0) {
|
||||
@@ -12177,7 +12176,7 @@ glabel var7f1b2948
|
||||
// thing->bodymodel.unk02 = 256;
|
||||
// thing->bodymodel.anim = &thing->bodyanim;
|
||||
//
|
||||
// func0f02ce8c(bodynum, headnum, thing->bodymodeldef, thing->headmodeldef, false, &thing->bodymodel, false, 1);
|
||||
// body0f02ce8c(bodynum, headnum, thing->bodymodeldef, thing->headmodeldef, false, &thing->bodymodel, false, 1);
|
||||
// } else {
|
||||
// totalfilelen = ALIGN64(fileGetInflatedSize(thing->unk00c)) + 0x4000;
|
||||
//
|
||||
@@ -12391,7 +12390,7 @@ glabel var7f1b2948
|
||||
// sp390[1] = viGetViewTop() + viGetViewHeight() * 0.5f + sp42c;
|
||||
// }
|
||||
//
|
||||
// func0f0b4c3c(sp390, &sp398, 1.0f);
|
||||
// cam0f0b4c3c(sp390, &sp398, 1.0f);
|
||||
// mtx4LoadIdentity(&sp310);
|
||||
//
|
||||
// if (thing->partvisibility != NULL) {
|
||||
@@ -12474,7 +12473,7 @@ glabel var7f1b2948
|
||||
// if (arg2 < 3) {
|
||||
// if (arg2 != 0) {
|
||||
// gdl = func0f0d49c8(gdl);
|
||||
// gSPMatrix(gdl++, osVirtualToPhysical(currentPlayerGetUnk1750()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
// gSPMatrix(gdl++, osVirtualToPhysical(camGetUnk1750()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
// } else {
|
||||
// static u32 znear = 10;
|
||||
// static u32 zfar = 300;
|
||||
@@ -12577,7 +12576,7 @@ glabel var7f1b2948
|
||||
// spd0.y = mtx->m[3][1];
|
||||
// spd0.z = mtx->m[3][2];
|
||||
//
|
||||
// func0f0b4d04(&spd0, spc8);
|
||||
// cam0f0b4d04(&spd0, spc8);
|
||||
// var8009de98 = ((s32)spc8[0] - viGetWidth() / 2) / g_ScaleX;
|
||||
// var8009de9c = (s32)spc8[1] - viGetHeight() / 2;
|
||||
// }
|
||||
@@ -12587,8 +12586,8 @@ glabel var7f1b2948
|
||||
// gSPNumLights(gdl++, 1);
|
||||
// gSPLight(gdl++, &var80071470, 1);
|
||||
// gSPLight(gdl++, &var80071468, 2);
|
||||
// gSPLookAtX(gdl++, currentPlayerGetUnk175c()->m[0]);
|
||||
// gSPLookAtY(gdl++, currentPlayerGetUnk175c()->m[1]);
|
||||
// gSPLookAtX(gdl++, camGetUnk175c()->m[0]);
|
||||
// gSPLookAtY(gdl++, camGetUnk175c()->m[1]);
|
||||
//
|
||||
// renderdata.unk30 = 1;
|
||||
// renderdata.envcolour = 0xffffffff;
|
||||
@@ -12622,11 +12621,11 @@ glabel var7f1b2948
|
||||
// gSPClearGeometryMode(gdl++, G_CULL_BOTH);
|
||||
// gDPSetTextureFilter(gdl++, G_TF_BILERP);
|
||||
//
|
||||
// func0f0b39c0(&gdl, NULL, 2, 0, 2, 1, NULL);
|
||||
// tex0f0b39c0(&gdl, NULL, 2, 0, 2, 1, NULL);
|
||||
//
|
||||
// gDPSetRenderMode(gdl++, G_RM_XLU_SURF, G_RM_XLU_SURF2);
|
||||
//
|
||||
// func0f0b39c0(&gdl, NULL, 2, 0, 2, 1, NULL);
|
||||
// tex0f0b39c0(&gdl, NULL, 2, 0, 2, 1, NULL);
|
||||
//
|
||||
// gSPDisplayList(gdl++, var800613a0);
|
||||
// }
|
||||
@@ -21264,26 +21263,26 @@ void menuReset(void)
|
||||
|
||||
g_MenuData.unk5d5_01 = false;
|
||||
|
||||
func0f0b3988(&g_TexGeneralConfigs[1]);
|
||||
func0f0b3988(&g_TexGeneralConfigs[6]);
|
||||
func0f0b3988(&g_TexGeneralConfigs[51]);
|
||||
func0f0b3988(&g_TexGeneralConfigs[52]);
|
||||
func0f0b3988(&g_TexGeneralConfigs[53]);
|
||||
func0f0b3988(&g_TexGeneralConfigs[54]);
|
||||
func0f0b3988(&g_TexGeneralConfigs[55]);
|
||||
tex0f0b3988(&g_TexGeneralConfigs[1]);
|
||||
tex0f0b3988(&g_TexGeneralConfigs[6]);
|
||||
tex0f0b3988(&g_TexGeneralConfigs[51]);
|
||||
tex0f0b3988(&g_TexGeneralConfigs[52]);
|
||||
tex0f0b3988(&g_TexGeneralConfigs[53]);
|
||||
tex0f0b3988(&g_TexGeneralConfigs[54]);
|
||||
tex0f0b3988(&g_TexGeneralConfigs[55]);
|
||||
|
||||
if (g_Vars.stagenum == STAGE_CITRAINING) {
|
||||
for (i = 12; i < 34; i++) {
|
||||
func0f0b3988(&g_TexGeneralConfigs[i]);
|
||||
tex0f0b3988(&g_TexGeneralConfigs[i]);
|
||||
}
|
||||
|
||||
func0f0b3988(&g_TexGeneralConfigs[34]);
|
||||
func0f0b3988(&g_TexGeneralConfigs[36]);
|
||||
func0f0b3988(&g_TexGeneralConfigs[35]);
|
||||
tex0f0b3988(&g_TexGeneralConfigs[34]);
|
||||
tex0f0b3988(&g_TexGeneralConfigs[36]);
|
||||
tex0f0b3988(&g_TexGeneralConfigs[35]);
|
||||
}
|
||||
|
||||
if (g_Vars.mplayerisrunning) {
|
||||
func0f0b3988(&g_TexGeneralConfigs[35]);
|
||||
tex0f0b3988(&g_TexGeneralConfigs[35]);
|
||||
}
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
@@ -28269,7 +28268,7 @@ glabel var7f1b381cjf
|
||||
/* f0fce98: 356b0040 */ ori $t3,$t3,0x40
|
||||
/* f0fce9c: 02a08025 */ move $s0,$s5
|
||||
/* f0fcea0: ae0b0000 */ sw $t3,0x0($s0)
|
||||
/* f0fcea4: 0fc2d81a */ jal currentPlayerGetUnk1750
|
||||
/* f0fcea4: 0fc2d81a */ jal camGetUnk1750
|
||||
/* f0fcea8: 26b50008 */ addiu $s5,$s5,0x8
|
||||
/* f0fceac: 0c012b34 */ jal osVirtualToPhysical
|
||||
/* f0fceb0: 00402025 */ move $a0,$v0
|
||||
@@ -29005,7 +29004,7 @@ Gfx *menuRender(Gfx *gdl)
|
||||
|
||||
g_MpPlayerNum = 0;
|
||||
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(currentPlayerGetUnk1750()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(camGetUnk1750()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPDisplayList(gdl++, var800613a0);
|
||||
|
||||
func0f153b40();
|
||||
@@ -29603,10 +29602,10 @@ void func0f0fd494(struct coord *pos)
|
||||
|
||||
g_MenuData.unk5d5_04 = true;
|
||||
|
||||
matrix = currentPlayerGetMatrix1740();
|
||||
matrix = camGetMatrix1740();
|
||||
|
||||
mtx4TransformVec(matrix, pos, &coord);
|
||||
func0f0b4d04(&coord, xy);
|
||||
cam0f0b4d04(&coord, xy);
|
||||
|
||||
g_MenuData.unk670 = (s32)xy[0] - viGetWidth() / 2;
|
||||
g_MenuData.unk674 = (s32)xy[1] - viGetHeight() / 2;
|
||||
|
||||
+14
-14
@@ -2,7 +2,7 @@
|
||||
#include "constants.h"
|
||||
#include "game/game_006900.h"
|
||||
#include "game/bondgun.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/savebuffer.h"
|
||||
#include "game/menugfx.h"
|
||||
#include "game/menu.h"
|
||||
@@ -1659,7 +1659,7 @@ glabel var7f1adf18
|
||||
/* f0e10f4: 27a40118 */ addiu $a0,$sp,0x118
|
||||
/* f0e10f8: 24060002 */ addiu $a2,$zero,0x2
|
||||
/* f0e10fc: 00003825 */ or $a3,$zero,$zero
|
||||
/* f0e1100: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f0e1100: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f0e1104: 24a50048 */ addiu $a1,$a1,0x0048
|
||||
/* f0e1108: 2406000a */ addiu $a2,$zero,0xa
|
||||
/* f0e110c: 02060019 */ multu $s0,$a2
|
||||
@@ -2060,7 +2060,7 @@ glabel var7f1adf18
|
||||
// gSPClearGeometryMode(gdl++, G_CULL_BOTH);
|
||||
// gDPSetTextureFilter(gdl++, G_TF_BILERP);
|
||||
//
|
||||
// func0f0b39c0(&gdl, &g_TexGeneralConfigs[6], 2, 0, 2, 1, NULL);
|
||||
// tex0f0b39c0(&gdl, &g_TexGeneralConfigs[6], 2, 0, 2, 1, NULL);
|
||||
//
|
||||
// gDPSetRenderMode(gdl++, G_RM_XLU_SURF, G_RM_XLU_SURF2);
|
||||
//
|
||||
@@ -2219,7 +2219,7 @@ glabel menugfx0f0e1668
|
||||
/* f0e1760: 27a40078 */ addiu $a0,$sp,0x78
|
||||
/* f0e1764: 00002825 */ or $a1,$zero,$zero
|
||||
/* f0e1768: 24060002 */ addiu $a2,$zero,0x2
|
||||
/* f0e176c: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f0e176c: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f0e1770: 00003825 */ or $a3,$zero,$zero
|
||||
/* f0e1774: 8fac007c */ lw $t4,0x7c($sp)
|
||||
/* f0e1778: 2408000a */ addiu $t0,$zero,0xa
|
||||
@@ -2363,7 +2363,7 @@ Gfx *menugfxDrawListGroupHeader(Gfx *gdl, s32 x1, s32 y1, s32 x2, s32 y2, s32 x3
|
||||
gSPClearGeometryMode(gdl++, G_CULL_BOTH);
|
||||
gDPSetTextureFilter(gdl++, G_TF_BILERP);
|
||||
|
||||
func0f0b39c0(&gdl, NULL, 2, 0, 2, 1, NULL);
|
||||
tex0f0b39c0(&gdl, NULL, 2, 0, 2, 1, NULL);
|
||||
|
||||
gDPSetRenderMode(gdl++, G_RM_XLU_SURF, G_RM_XLU_SURF2);
|
||||
|
||||
@@ -2501,7 +2501,7 @@ glabel menugfxDrawListGroupHeader
|
||||
/* f0dee88: 27a40090 */ addiu $a0,$sp,0x90
|
||||
/* f0dee8c: 00002825 */ or $a1,$zero,$zero
|
||||
/* f0dee90: 24060002 */ addiu $a2,$zero,0x2
|
||||
/* f0dee94: 0fc2c5c8 */ jal func0f0b39c0
|
||||
/* f0dee94: 0fc2c5c8 */ jal tex0f0b39c0
|
||||
/* f0dee98: 00003825 */ or $a3,$zero,$zero
|
||||
/* f0dee9c: 8fab0094 */ lw $t3,0x94($sp)
|
||||
/* f0deea0: 2404000a */ addiu $a0,$zero,0xa
|
||||
@@ -2759,7 +2759,7 @@ glabel menugfxRenderGradient
|
||||
/* f0e1de0: 27a40060 */ addiu $a0,$sp,0x60
|
||||
/* f0e1de4: 00002825 */ or $a1,$zero,$zero
|
||||
/* f0e1de8: 24060002 */ addiu $a2,$zero,0x2
|
||||
/* f0e1dec: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f0e1dec: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f0e1df0: 00003825 */ or $a3,$zero,$zero
|
||||
/* f0e1df4: 8fb90060 */ lw $t9,0x60($sp)
|
||||
/* f0e1df8: 8fab0070 */ lw $t3,0x70($sp)
|
||||
@@ -2889,7 +2889,7 @@ glabel menugfxRenderGradient
|
||||
// gSPClearGeometryMode(gdl++, G_CULL_BOTH);
|
||||
// gDPSetTextureFilter(gdl++, G_TF_BILERP);
|
||||
//
|
||||
// func0f0b39c0(&gdl, NULL, 2, 0, 2, 1, NULL);
|
||||
// tex0f0b39c0(&gdl, NULL, 2, 0, 2, 1, NULL);
|
||||
//
|
||||
// gDPSetRenderMode(gdl++, G_RM_XLU_SURF, G_RM_XLU_SURF2);
|
||||
//
|
||||
@@ -2960,7 +2960,7 @@ Gfx *menugfxRenderSlider(Gfx *gdl, s32 x1, s32 y1, s32 x2, s32 y2, s32 markerx,
|
||||
gSPClearGeometryMode(gdl++, G_CULL_BOTH);
|
||||
gDPSetTextureFilter(gdl++, G_TF_BILERP);
|
||||
|
||||
func0f0b39c0(&gdl, NULL, 2, 0, 2, 1, NULL);
|
||||
tex0f0b39c0(&gdl, NULL, 2, 0, 2, 1, NULL);
|
||||
|
||||
gDPSetRenderMode(gdl++, G_RM_AA_XLU_SURF, G_RM_AA_XLU_SURF2);
|
||||
gDPSetRenderMode(gdl++, G_RM_XLU_SURF, G_RM_XLU_SURF2);
|
||||
@@ -3050,7 +3050,7 @@ Gfx *menugfx0f0e2498(Gfx *gdl)
|
||||
gDPSetCombineMode(gdl++, G_CC_MODULATEI, G_CC_MODULATEI);
|
||||
gSPClearGeometryMode(gdl++, G_CULL_BOTH)
|
||||
|
||||
func0f0b39c0(&gdl, 0, 2, 0, 2, 1, NULL);
|
||||
tex0f0b39c0(&gdl, 0, 2, 0, 2, 1, NULL);
|
||||
|
||||
gDPSetRenderMode(gdl++, G_RM_XLU_SURF, G_RM_XLU_SURF2);
|
||||
|
||||
@@ -3617,7 +3617,7 @@ Gfx *menugfxDrawCarouselChevron(Gfx *gdl, s32 x, s32 y, s32 size, s32 direction,
|
||||
gDPSetCombineMode(gdl++, G_CC_MODULATEI, G_CC_MODULATEI);
|
||||
gSPClearGeometryMode(gdl++, G_CULL_BOTH);
|
||||
|
||||
func0f0b39c0(&gdl, NULL, 2, 0, 2, 1, NULL);
|
||||
tex0f0b39c0(&gdl, NULL, 2, 0, 2, 1, NULL);
|
||||
|
||||
gDPSetRenderMode(gdl++, G_RM_XLU_SURF, G_RM_XLU_SURF2);
|
||||
|
||||
@@ -3701,7 +3701,7 @@ Gfx *menugfxDrawDialogChevron(Gfx *gdl, s32 x, s32 y, s32 size, s32 direction, u
|
||||
gDPSetCombineMode(gdl++, G_CC_MODULATEI, G_CC_MODULATEI);
|
||||
gSPClearGeometryMode(gdl++, G_CULL_BOTH);
|
||||
|
||||
func0f0b39c0(&gdl, NULL, 2, 0, 2, 1, NULL);
|
||||
tex0f0b39c0(&gdl, NULL, 2, 0, 2, 1, NULL);
|
||||
|
||||
gDPSetRenderMode(gdl++, G_RM_AA_XLU_SURF, G_RM_AA_XLU_SURF2);
|
||||
|
||||
@@ -4872,7 +4872,7 @@ glabel var7f1adf90
|
||||
/* f0e5570: 24070001 */ addiu $a3,$zero,0x1
|
||||
/* f0e5574: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f0e5578: afa20150 */ sw $v0,0x150($sp)
|
||||
/* f0e557c: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f0e557c: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f0e5580: 24a5000c */ addiu $a1,$a1,0x000c
|
||||
/* f0e5584: 8fb80150 */ lw $t8,0x150($sp)
|
||||
/* f0e5588: 3c09ba00 */ lui $t1,0xba00
|
||||
@@ -5757,7 +5757,7 @@ glabel var7f1adf90
|
||||
/* f0e5570: 24070001 */ addiu $a3,$zero,0x1
|
||||
/* f0e5574: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f0e5578: afa20150 */ sw $v0,0x150($sp)
|
||||
/* f0e557c: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f0e557c: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f0e5580: 24a5000c */ addiu $a1,$a1,0x000c
|
||||
/* f0e5584: 8fb80150 */ lw $t8,0x150($sp)
|
||||
/* f0e5588: 3c09ba00 */ lui $t1,0xba00
|
||||
|
||||
+9
-9
@@ -3,7 +3,7 @@
|
||||
#include "game/camdraw.h"
|
||||
#include "game/game_006900.h"
|
||||
#include "game/objectives.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/menugfx.h"
|
||||
#include "game/menuitem.h"
|
||||
#include "game/menu.h"
|
||||
@@ -11,7 +11,7 @@
|
||||
#include "game/objectives.h"
|
||||
#include "game/game_1531a0.h"
|
||||
#include "game/lv.h"
|
||||
#include "game/game_19aa80.h"
|
||||
#include "game/challenge.h"
|
||||
#include "game/training.h"
|
||||
#include "game/lang.h"
|
||||
#include "game/mplayer/mplayer.h"
|
||||
@@ -8472,13 +8472,13 @@ char *menuitemScrollableGetText(u32 type)
|
||||
{
|
||||
switch (type) {
|
||||
case DESCRIPTION_MPCONFIG:
|
||||
return mpconfigGetDescription(g_Menus[g_MpPlayerNum].training.mpconfig);
|
||||
return challengeGetConfigDescription(g_Menus[g_MpPlayerNum].training.mpconfig);
|
||||
case DESCRIPTION_MPCHALLENGE:
|
||||
if (!mpIsChallengeLoaded()) {
|
||||
if (!challengeIsLoaded()) {
|
||||
g_Menus[g_MpPlayerNum].unk840.unk010 = 0x4fac5ace;
|
||||
mpLoadAndStoreCurrentChallenge(g_Menus[g_MpPlayerNum].unk840.unk004, g_Menus[g_MpPlayerNum].unk840.unk008);
|
||||
challengeLoadAndStoreCurrent(g_Menus[g_MpPlayerNum].unk840.unk004, g_Menus[g_MpPlayerNum].unk840.unk008);
|
||||
}
|
||||
return mpGetCurrentChallengeDescription();
|
||||
return challengeGetCurrentDescription();
|
||||
case DESCRIPTION_CHRBIO: return ciGetChrBioDescription();
|
||||
case DESCRIPTION_MISCBIO: return ciGetMiscBioDescription();
|
||||
case DESCRIPTION_DEVICETRAINING: return dtGetDescription();
|
||||
@@ -10564,7 +10564,7 @@ Gfx *menuitemControllerRenderTexture(Gfx *gdl, s32 x, s32 y, s32 texturenum, u32
|
||||
gDPSetTextureLOD(gdl++, G_TL_TILE);
|
||||
gDPSetTextureConvert(gdl++, G_TC_FILT);
|
||||
|
||||
func0f0b39c0(&gdl, &g_TexGeneralConfigs[texturenum], 2, 0, 2, 1, NULL);
|
||||
tex0f0b39c0(&gdl, &g_TexGeneralConfigs[texturenum], 2, 0, 2, 1, NULL);
|
||||
|
||||
gDPSetCycleType(gdl++, G_CYC_1CYCLE);
|
||||
gDPSetTextureFilter(gdl++, G_TF_POINT);
|
||||
@@ -10703,7 +10703,7 @@ glabel menuitemControllerRenderLines
|
||||
/* f0f05d8: 00003825 */ move $a3,$zero
|
||||
/* f0f05dc: 24060002 */ li $a2,0x2
|
||||
/* f0f05e0: 27a40050 */ addiu $a0,$sp,0x50
|
||||
/* f0f05e4: 0fc2d290 */ jal func0f0b39c0
|
||||
/* f0f05e4: 0fc2d290 */ jal tex0f0b39c0
|
||||
/* f0f05e8: 24a50294 */ addiu $a1,$a1,0x294
|
||||
/* f0f05ec: 8fb90050 */ lw $t9,0x50($sp)
|
||||
/* f0f05f0: 3c0dba00 */ lui $t5,0xba00
|
||||
@@ -10905,7 +10905,7 @@ Gfx *menuitemControllerRenderLines(Gfx *gdl, struct menurendercontext *context,
|
||||
gDPSetTextureLOD(gdl++, G_TL_TILE);
|
||||
gDPSetTextureConvert(gdl++, G_TC_FILT);
|
||||
|
||||
func0f0b39c0(&gdl, &g_TexGeneralConfigs[55], 2, 0, 2, 1, NULL);
|
||||
tex0f0b39c0(&gdl, &g_TexGeneralConfigs[55], 2, 0, 2, 1, NULL);
|
||||
|
||||
gDPSetCycleType(gdl++, G_CYC_1CYCLE);
|
||||
gDPSetTextureFilter(gdl++, G_TF_POINT);
|
||||
|
||||
+2
-2
@@ -2,7 +2,7 @@
|
||||
#include "constants.h"
|
||||
#include "game/game_006900.h"
|
||||
#include "game/title.h"
|
||||
#include "game/game_01b0a0.h"
|
||||
#include "game/pdmode.h"
|
||||
#include "game/bondgun.h"
|
||||
#include "game/player.h"
|
||||
#include "game/menugfx.h"
|
||||
@@ -15,7 +15,7 @@
|
||||
#include "game/music.h"
|
||||
#include "game/mplayer/ingame.h"
|
||||
#include "game/mplayer/setup.h"
|
||||
#include "game/game_19aa80.h"
|
||||
#include "game/challenge.h"
|
||||
#include "game/training.h"
|
||||
#include "game/gamefile.h"
|
||||
#include "game/mplayer/mplayer.h"
|
||||
|
||||
+3
-3
@@ -2,7 +2,7 @@
|
||||
#include "constants.h"
|
||||
#include "game/game_006900.h"
|
||||
#include "game/title.h"
|
||||
#include "game/game_01b0a0.h"
|
||||
#include "game/pdmode.h"
|
||||
#include "game/bondgun.h"
|
||||
#include "game/player.h"
|
||||
#include "game/menugfx.h"
|
||||
@@ -15,7 +15,7 @@
|
||||
#include "game/music.h"
|
||||
#include "game/mplayer/ingame.h"
|
||||
#include "game/mplayer/setup.h"
|
||||
#include "game/game_19aa80.h"
|
||||
#include "game/challenge.h"
|
||||
#include "game/training.h"
|
||||
#include "game/gamefile.h"
|
||||
#include "game/mplayer/mplayer.h"
|
||||
@@ -301,7 +301,7 @@ void menuTick(void)
|
||||
}
|
||||
|
||||
mpCalculateLockIfLastWinnerOrLoser();
|
||||
mpPerformSanityChecks();
|
||||
challengePerformSanityChecks();
|
||||
}
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "game/ceil.h"
|
||||
#include "game/bondgun.h"
|
||||
#include "game/game_0b0fd0.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/menugfx.h"
|
||||
#include "game/menu.h"
|
||||
#include "game/mainmenu.h"
|
||||
@@ -12,8 +12,8 @@
|
||||
#include "game/game_1531a0.h"
|
||||
#include "game/file.h"
|
||||
#include "game/texdecompress.h"
|
||||
#include "game/game_173a00.h"
|
||||
#include "game/game_1a7560.h"
|
||||
#include "game/surface.h"
|
||||
#include "game/modeldef.h"
|
||||
#include "game/lang.h"
|
||||
#include "game/mplayer/mplayer.h"
|
||||
#include "game/options.h"
|
||||
@@ -106,7 +106,7 @@ struct skeleton *g_Skeletons[] = {
|
||||
};
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f1a7560
|
||||
glabel modeldef0f1a7560
|
||||
/* f1a7560: 27bdff70 */ addiu $sp,$sp,-144
|
||||
/* f1a7564: afb3002c */ sw $s3,0x2c($sp)
|
||||
/* f1a7568: 00809825 */ or $s3,$a0,$zero
|
||||
@@ -148,7 +148,7 @@ glabel func0f1a7560
|
||||
/* f1a75f8: 02644023 */ subu $t0,$s3,$a0
|
||||
/* f1a75fc: 00684821 */ addu $t1,$v1,$t0
|
||||
/* f1a7600: afa90084 */ sw $t1,0x84($sp)
|
||||
/* f1a7604: 0fc5d7bd */ jal func0f175ef4
|
||||
/* f1a7604: 0fc5d7bd */ jal surface0f175ef4
|
||||
/* f1a7608: 00732821 */ addu $a1,$v1,$s3
|
||||
/* f1a760c: 8fbe00a0 */ lw $s8,0xa0($sp)
|
||||
/* f1a7610: 8e640018 */ lw $a0,0x18($s3)
|
||||
@@ -199,7 +199,7 @@ glabel func0f1a7560
|
||||
/* f1a76b0: 01f82021 */ addu $a0,$t7,$t8
|
||||
/* f1a76b4: 02802825 */ or $a1,$s4,$zero
|
||||
/* f1a76b8: 03c03825 */ or $a3,$s8,$zero
|
||||
/* f1a76bc: 0fc5d5b0 */ jal func0f1756c0
|
||||
/* f1a76bc: 0fc5d5b0 */ jal surface0f1756c0
|
||||
/* f1a76c0: afa30010 */ sw $v1,0x10($sp)
|
||||
/* f1a76c4: 8fa80074 */ lw $t0,0x74($sp)
|
||||
/* f1a76c8: 02a2a821 */ addu $s5,$s5,$v0
|
||||
@@ -260,7 +260,7 @@ struct modelfiledata *modeldefLoad(u16 fileid, u8 *dst, s32 size, s32 *arg3)
|
||||
|
||||
modelPromoteTypeToPointer(filedata);
|
||||
modelPromoteOffsetsToPointers(filedata, 0x5000000, (u32) filedata);
|
||||
func0f1a7560(filedata, fileid, 0x5000000, filedata, arg3, dst == NULL);
|
||||
modeldef0f1a7560(filedata, fileid, 0x5000000, filedata, arg3, dst == NULL);
|
||||
|
||||
return filedata;
|
||||
}
|
||||
@@ -3,14 +3,14 @@
|
||||
#include "game/game_006900.h"
|
||||
#include "game/title.h"
|
||||
#include "game/game_0b0fd0.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/savebuffer.h"
|
||||
#include "game/menu.h"
|
||||
#include "game/mainmenu.h"
|
||||
#include "game/filemgr.h"
|
||||
#include "game/lv.h"
|
||||
#include "game/mplayer/ingame.h"
|
||||
#include "game/game_19aa80.h"
|
||||
#include "game/challenge.h"
|
||||
#include "game/lang.h"
|
||||
#include "game/mplayer/mplayer.h"
|
||||
#include "game/mplayer/setup.h"
|
||||
@@ -605,7 +605,7 @@ s32 mpAwardsMenuHandler(s32 operation, struct menuitem *item, union handlerdata
|
||||
gDPSetTextureConvert(gdl++, G_TC_FILT);
|
||||
gDPSetTextureFilter(gdl++, G_TF_POINT);
|
||||
|
||||
func0f0b39c0(&gdl, &g_TexGeneralConfigs[35], 2, 0, 2, 1, NULL);
|
||||
tex0f0b39c0(&gdl, &g_TexGeneralConfigs[35], 2, 0, 2, 1, NULL);
|
||||
|
||||
gDPSetCycleType(gdl++, G_CYC_1CYCLE);
|
||||
gDPSetCombineMode(gdl++, G_CC_DECALRGBA, G_CC_DECALRGBA);
|
||||
@@ -788,7 +788,7 @@ glabel mpPushEndscreenDialog
|
||||
/* f179560: 10000018 */ b .JF0f1795c4
|
||||
/* f179564: 00000000 */ nop
|
||||
.JF0f179568:
|
||||
/* f179568: 0fc673a7 */ jal mpIsChallengeCompleteForEndscreen
|
||||
/* f179568: 0fc673a7 */ jal challengeIsCompleteForEndscreen
|
||||
/* f17956c: 00000000 */ nop
|
||||
/* f179570: 10400007 */ beqz $v0,.JF0f179590
|
||||
/* f179574: 3c048008 */ lui $a0,0x8008
|
||||
@@ -863,7 +863,7 @@ void mpPushEndscreenDialog(u32 arg0, u32 playernum)
|
||||
if (g_BossFile.locktype == MPLOCKTYPE_CHALLENGE) {
|
||||
if (g_CheatsActiveBank0 || g_CheatsActiveBank1) {
|
||||
menuPushRootDialog(&g_MpEndscreenChallengeCheatedMenuDialog, MENUROOT_MPENDSCREEN);
|
||||
} else if (mpIsChallengeCompleteForEndscreen()) {
|
||||
} else if (challengeIsCompleteForEndscreen()) {
|
||||
menuPushRootDialog(&g_MpEndscreenChallengeCompletedMenuDialog, MENUROOT_MPENDSCREEN);
|
||||
} else {
|
||||
menuPushRootDialog(&g_MpEndscreenChallengeFailedMenuDialog, MENUROOT_MPENDSCREEN);
|
||||
|
||||
+40
-40
@@ -2,7 +2,7 @@
|
||||
#include "constants.h"
|
||||
#include "game/camdraw.h"
|
||||
#include "game/title.h"
|
||||
#include "game/game_01b0a0.h"
|
||||
#include "game/pdmode.h"
|
||||
#include "game/bondgun.h"
|
||||
#include "game/game_0b0fd0.h"
|
||||
#include "game/player.h"
|
||||
@@ -15,7 +15,7 @@
|
||||
#include "game/mplayer/setup.h"
|
||||
#include "game/mplayer/scenarios.h"
|
||||
#include "game/mpstats.h"
|
||||
#include "game/game_19aa80.h"
|
||||
#include "game/challenge.h"
|
||||
#include "game/lang.h"
|
||||
#include "game/mplayer/mplayer.h"
|
||||
#include "game/pak.h"
|
||||
@@ -143,11 +143,11 @@ void mpStartMatch(void)
|
||||
|
||||
mpConfigureQuickTeamSimulants();
|
||||
|
||||
if (!mpIsFeatureUnlocked(MPFEATURE_ONEHITKILLS)) {
|
||||
if (!challengeIsFeatureUnlocked(MPFEATURE_ONEHITKILLS)) {
|
||||
g_MpSetup.options &= ~MPOPTION_ONEHITKILLS;
|
||||
}
|
||||
|
||||
if (!mpIsFeatureUnlocked(MPFEATURE_SLOWMOTION)) {
|
||||
if (!challengeIsFeatureUnlocked(MPFEATURE_SLOWMOTION)) {
|
||||
g_MpSetup.options &= ~(MPOPTION_SLOWMOTION_ON | MPOPTION_SLOWMOTION_SMART);
|
||||
}
|
||||
|
||||
@@ -435,11 +435,11 @@ void mpPlayerSetDefaults(s32 playernum, bool autonames)
|
||||
if (playernum < 4) {
|
||||
for (i = 0; i < 30; i++) {
|
||||
for (j = 1; j <= 4; j++) {
|
||||
mpSetChallengeCompletedByPlayerWithNumPlayers(playernum, i, j, false);
|
||||
challengeSetCompletedByPlayerWithNumPlayers(playernum, i, j, false);
|
||||
}
|
||||
}
|
||||
|
||||
mpDetermineUnlockedFeatures();
|
||||
challengeDetermineUnlockedFeatures();
|
||||
}
|
||||
|
||||
for (i = 0; i < 6; i++) {
|
||||
@@ -510,7 +510,7 @@ void mpInit(void)
|
||||
g_MpLockInfo.unk03 = -1;
|
||||
g_MpLockInfo.unk04 = -1;
|
||||
|
||||
mpForceUnlockSimulantFeatures();
|
||||
challengeForceUnlockBotFeatures();
|
||||
|
||||
for (i = 0; i < ARRAYCOUNT(g_PlayerConfigsArray); i++) {
|
||||
for (j = 0; j < 6; j++) {
|
||||
@@ -865,7 +865,7 @@ s32 mpGetNumWeaponOptions(void)
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < ARRAYCOUNT(g_MpWeapons); i++) {
|
||||
if (mpIsFeatureUnlocked(g_MpWeapons[i].unlockfeature)) {
|
||||
if (challengeIsFeatureUnlocked(g_MpWeapons[i].unlockfeature)) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
@@ -878,7 +878,7 @@ char *mpGetWeaponLabel(s32 weaponnum)
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < ARRAYCOUNT(g_MpWeapons); i++) {
|
||||
if (mpIsFeatureUnlocked(g_MpWeapons[i].unlockfeature)) {
|
||||
if (challengeIsFeatureUnlocked(g_MpWeapons[i].unlockfeature)) {
|
||||
if (weaponnum == 0) {
|
||||
if (g_MpWeapons[i].weaponnum == WEAPON_NONE) {
|
||||
return langGet(L_MPWEAPONS_058); // "Nothing"
|
||||
@@ -913,7 +913,7 @@ void mpSetWeaponSlot(s32 slot, s32 mpweaponnum)
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i <= mpweaponnum; i++) {
|
||||
if (mpIsFeatureUnlocked(g_MpWeapons[i].unlockfeature) == 0) {
|
||||
if (challengeIsFeatureUnlocked(g_MpWeapons[i].unlockfeature) == 0) {
|
||||
mpweaponnum++;
|
||||
}
|
||||
|
||||
@@ -929,7 +929,7 @@ s32 mpGetWeaponSlot(s32 slot)
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < g_MpSetup.weapons[slot]; i++) {
|
||||
if (mpIsFeatureUnlocked(g_MpWeapons[i].unlockfeature)) {
|
||||
if (challengeIsFeatureUnlocked(g_MpWeapons[i].unlockfeature)) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
@@ -981,10 +981,10 @@ s32 mpCountWeaponSetThing(s32 weaponsetindex)
|
||||
}
|
||||
|
||||
for (i = 0; i < weaponsetindex; i++) {
|
||||
if ((mpIsFeatureUnlocked(g_MpWeaponSets[i].requirefeatures[0])
|
||||
&& mpIsFeatureUnlocked(g_MpWeaponSets[i].requirefeatures[1])
|
||||
&& mpIsFeatureUnlocked(g_MpWeaponSets[i].requirefeatures[2])
|
||||
&& mpIsFeatureUnlocked(g_MpWeaponSets[i].requirefeatures[3])) || g_MpWeaponSets[i].unk0c != WEAPON_DISABLED) {
|
||||
if ((challengeIsFeatureUnlocked(g_MpWeaponSets[i].requirefeatures[0])
|
||||
&& challengeIsFeatureUnlocked(g_MpWeaponSets[i].requirefeatures[1])
|
||||
&& challengeIsFeatureUnlocked(g_MpWeaponSets[i].requirefeatures[2])
|
||||
&& challengeIsFeatureUnlocked(g_MpWeaponSets[i].requirefeatures[3])) || g_MpWeaponSets[i].unk0c != WEAPON_DISABLED) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
@@ -998,10 +998,10 @@ s32 func0f188f9c(s32 arg0)
|
||||
|
||||
for (i = 0; i < ARRAYCOUNT(g_MpWeaponSets); i++) {
|
||||
// @bug? Shouldn't the disabled check be == WEAPON_DISABLED?
|
||||
if ((mpIsFeatureUnlocked(g_MpWeaponSets[i].requirefeatures[0])
|
||||
&& mpIsFeatureUnlocked(g_MpWeaponSets[i].requirefeatures[1])
|
||||
&& mpIsFeatureUnlocked(g_MpWeaponSets[i].requirefeatures[2])
|
||||
&& mpIsFeatureUnlocked(g_MpWeaponSets[i].requirefeatures[3]))
|
||||
if ((challengeIsFeatureUnlocked(g_MpWeaponSets[i].requirefeatures[0])
|
||||
&& challengeIsFeatureUnlocked(g_MpWeaponSets[i].requirefeatures[1])
|
||||
&& challengeIsFeatureUnlocked(g_MpWeaponSets[i].requirefeatures[2])
|
||||
&& challengeIsFeatureUnlocked(g_MpWeaponSets[i].requirefeatures[3]))
|
||||
|| g_MpWeaponSets[i].unk0c != WEAPON_DISABLED) {
|
||||
if (arg0 == 0) {
|
||||
break;
|
||||
@@ -1051,10 +1051,10 @@ void func0f18913c(void)
|
||||
s32 j;
|
||||
|
||||
for (i = 0; !done && i < 12; i++) {
|
||||
if (mpIsFeatureUnlocked(g_MpWeaponSets[i].requirefeatures[0])
|
||||
&& mpIsFeatureUnlocked(g_MpWeaponSets[i].requirefeatures[1])
|
||||
&& mpIsFeatureUnlocked(g_MpWeaponSets[i].requirefeatures[2])
|
||||
&& mpIsFeatureUnlocked(g_MpWeaponSets[i].requirefeatures[3])) {
|
||||
if (challengeIsFeatureUnlocked(g_MpWeaponSets[i].requirefeatures[0])
|
||||
&& challengeIsFeatureUnlocked(g_MpWeaponSets[i].requirefeatures[1])
|
||||
&& challengeIsFeatureUnlocked(g_MpWeaponSets[i].requirefeatures[2])
|
||||
&& challengeIsFeatureUnlocked(g_MpWeaponSets[i].requirefeatures[3])) {
|
||||
ptr = &g_MpWeaponSets[i].slots[0];
|
||||
} else if (g_MpWeaponSets[i].unk0c != WEAPON_DISABLED) {
|
||||
ptr = &g_MpWeaponSets[i].unk0c;
|
||||
@@ -1069,7 +1069,7 @@ void func0f18913c(void)
|
||||
s32 weaponnum = ptr[j];
|
||||
|
||||
if (weaponnum == WEAPON_MPSHIELD) {
|
||||
if (!mpIsFeatureUnlocked(MPFEATURE_WEAPON_SHIELD)) {
|
||||
if (!challengeIsFeatureUnlocked(MPFEATURE_WEAPON_SHIELD)) {
|
||||
weaponnum = 0;
|
||||
}
|
||||
}
|
||||
@@ -1097,10 +1097,10 @@ void mpApplyWeaponSet(void)
|
||||
u8 *ptr;
|
||||
|
||||
if (g_MpWeaponSetNum >= 0 && g_MpWeaponSetNum < 12) {
|
||||
if (mpIsFeatureUnlocked(g_MpWeaponSets[g_MpWeaponSetNum].requirefeatures[0])
|
||||
&& mpIsFeatureUnlocked(g_MpWeaponSets[g_MpWeaponSetNum].requirefeatures[1])
|
||||
&& mpIsFeatureUnlocked(g_MpWeaponSets[g_MpWeaponSetNum].requirefeatures[2])
|
||||
&& mpIsFeatureUnlocked(g_MpWeaponSets[g_MpWeaponSetNum].requirefeatures[3])) {
|
||||
if (challengeIsFeatureUnlocked(g_MpWeaponSets[g_MpWeaponSetNum].requirefeatures[0])
|
||||
&& challengeIsFeatureUnlocked(g_MpWeaponSets[g_MpWeaponSetNum].requirefeatures[1])
|
||||
&& challengeIsFeatureUnlocked(g_MpWeaponSets[g_MpWeaponSetNum].requirefeatures[2])
|
||||
&& challengeIsFeatureUnlocked(g_MpWeaponSets[g_MpWeaponSetNum].requirefeatures[3])) {
|
||||
ptr = &g_MpWeaponSets[g_MpWeaponSetNum].slots[0];
|
||||
} else if (g_MpWeaponSets[g_MpWeaponSetNum].unk0c != WEAPON_DISABLED) {
|
||||
ptr = &g_MpWeaponSets[g_MpWeaponSetNum].unk0c;
|
||||
@@ -1115,7 +1115,7 @@ void mpApplyWeaponSet(void)
|
||||
s32 mpweaponnum = MPWEAPON_NONE;
|
||||
s32 weaponnum = ptr[i];
|
||||
|
||||
if (weaponnum == WEAPON_MPSHIELD && !mpIsFeatureUnlocked(MPFEATURE_WEAPON_SHIELD)) {
|
||||
if (weaponnum == WEAPON_MPSHIELD && !challengeIsFeatureUnlocked(MPFEATURE_WEAPON_SHIELD)) {
|
||||
weaponnum = 0;
|
||||
}
|
||||
|
||||
@@ -4406,7 +4406,7 @@ void mpEndMatch(void)
|
||||
mpCalculateAwards();
|
||||
|
||||
if (g_BossFile.locktype == MPLOCKTYPE_CHALLENGE) {
|
||||
mpConsiderMarkingCurrentChallengeComplete();
|
||||
challengeConsiderMarkingComplete();
|
||||
}
|
||||
|
||||
func0f0f820c(NULL, -6);
|
||||
@@ -5723,7 +5723,7 @@ bool mpHasSimulants(void)
|
||||
|
||||
bool mpHasUnusedBotSlots(void)
|
||||
{
|
||||
s32 numvacant = mpIsFeatureUnlocked(MPFEATURE_8BOTS) ? MAX_BOTS : 4;
|
||||
s32 numvacant = challengeIsFeatureUnlocked(MPFEATURE_8BOTS) ? MAX_BOTS : 4;
|
||||
s32 i;
|
||||
|
||||
for (i = 4; i < MAX_MPCHRS; i++) {
|
||||
@@ -6003,11 +6003,11 @@ void mpplayerfileLoadWad(s32 playernum, struct savebuffer *buffer, s32 arg2)
|
||||
|
||||
for (i = 0; i < 30; i++) {
|
||||
for (j = 1; j < 5; j++) {
|
||||
mpSetChallengeCompletedByPlayerWithNumPlayers(playernum, i, j, savebufferReadBits(buffer, 1));
|
||||
challengeSetCompletedByPlayerWithNumPlayers(playernum, i, j, savebufferReadBits(buffer, 1));
|
||||
}
|
||||
}
|
||||
|
||||
mpDetermineUnlockedFeatures();
|
||||
challengeDetermineUnlockedFeatures();
|
||||
mpCalculatePlayerTitle(&g_PlayerConfigsArray[playernum]);
|
||||
mpplayerfileLoadGunFuncs(buffer, playernum);
|
||||
}
|
||||
@@ -6136,7 +6136,7 @@ void mpplayerfileSaveWad(s32 playernum, struct savebuffer *buffer)
|
||||
|
||||
for (i = 0; i < 30; i++) {
|
||||
for (j = 1; j < 5; j++) {
|
||||
savebufferOr(buffer, mpIsChallengeCompletedByPlayerWithNumPlayers(playernum, i, j), 1);
|
||||
savebufferOr(buffer, challengeIsCompletedByPlayerWithNumPlayers(playernum, i, j), 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6236,7 +6236,7 @@ bool mpIsPresetUnlocked(s32 presetnum)
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i != 16; i++) {
|
||||
if (!mpIsFeatureUnlocked(g_MpPresets[presetnum].requirefeatures[i]) &&
|
||||
if (!challengeIsFeatureUnlocked(g_MpPresets[presetnum].requirefeatures[i]) &&
|
||||
g_MpPresets[presetnum].requirefeatures[i] != MPFEATURE_WEAPON_SHIELD) {
|
||||
return false;
|
||||
}
|
||||
@@ -6346,7 +6346,7 @@ void mpApplyConfig(struct mpconfigfull *config)
|
||||
g_BotConfigsArray[i].base.team = config->config.simulants[i].team;
|
||||
}
|
||||
|
||||
if (!mpIsFeatureUnlocked(MPFEATURE_WEAPON_SHIELD)) {
|
||||
if (!challengeIsFeatureUnlocked(MPFEATURE_WEAPON_SHIELD)) {
|
||||
for (i = 0; i < 6; i++) {
|
||||
if (g_MpSetup.weapons[i] == MPWEAPON_SHIELD) {
|
||||
g_MpSetup.weapons[i] = MPWEAPON_NONE;
|
||||
@@ -6355,7 +6355,7 @@ void mpApplyConfig(struct mpconfigfull *config)
|
||||
}
|
||||
|
||||
func0f18913c();
|
||||
func0f19c190();
|
||||
challengeRemoveForceUnlocks();
|
||||
}
|
||||
|
||||
#if VERSION >= VERSION_JPN_FINAL
|
||||
@@ -6394,7 +6394,7 @@ glabel func0f18dec4
|
||||
.JF0f18e844:
|
||||
/* f18e844: 8fa4002c */ lw $a0,0x2c($sp)
|
||||
/* f18e848: 27a50030 */ addiu $a1,$sp,0x30
|
||||
/* f18e84c: 0fc6709d */ jal mpLoadConfig
|
||||
/* f18e84c: 0fc6709d */ jal challengeLoadConfig
|
||||
/* f18e850: 240601ca */ li $a2,0x1ca
|
||||
/* f18e854: 0fc6397e */ jal mpApplyConfig
|
||||
/* f18e858: 00402025 */ move $a0,$v0
|
||||
@@ -6447,7 +6447,7 @@ void func0f18dec4(s32 slot)
|
||||
|
||||
}
|
||||
|
||||
config = mpLoadConfig(confignum, buffer, sizeof(buffer));
|
||||
config = challengeLoadConfig(confignum, buffer, sizeof(buffer));
|
||||
|
||||
mpApplyConfig(config);
|
||||
}
|
||||
@@ -6504,7 +6504,7 @@ void mpsetupfileLoadWad(struct savebuffer *buffer)
|
||||
g_PlayerConfigsArray[i].base.team = savebufferReadBits(buffer, 3);
|
||||
}
|
||||
|
||||
mpForceUnlockSimulantFeatures();
|
||||
challengeForceUnlockBotFeatures();
|
||||
}
|
||||
|
||||
void mpsetupfileSaveWad(struct savebuffer *buffer)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "game/chraction.h"
|
||||
#include "game/dlights.h"
|
||||
#include "game/game_006900.h"
|
||||
#include "game/game_00c490.h"
|
||||
#include "game/setup.h"
|
||||
#include "game/prop.h"
|
||||
#include "game/propsnd.h"
|
||||
#include "game/atan2f.h"
|
||||
@@ -19,7 +19,7 @@
|
||||
#include "game/mplayer/scenarios.h"
|
||||
#include "game/radar.h"
|
||||
#include "game/botcmd.h"
|
||||
#include "game/game_19aa80.h"
|
||||
#include "game/challenge.h"
|
||||
#include "game/lang.h"
|
||||
#include "game/mplayer/mplayer.h"
|
||||
#include "game/pad.h"
|
||||
@@ -110,7 +110,7 @@ s32 menuhandlerMpDisplayTeam(s32 operation, struct menuitem *item, union handler
|
||||
s32 menuhandlerMpOneHitKills(s32 operation, struct menuitem *item, union handlerdata *data)
|
||||
{
|
||||
if (operation == MENUOP_CHECKDISABLED || operation == MENUOP_CHECKHIDDEN) {
|
||||
if (mpIsFeatureUnlocked(MPFEATURE_ONEHITKILLS)) {
|
||||
if (challengeIsFeatureUnlocked(MPFEATURE_ONEHITKILLS)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -131,7 +131,7 @@ s32 menuhandlerMpSlowMotion(s32 operation, struct menuitem *item, union handlerd
|
||||
switch (operation) {
|
||||
case MENUOP_CHECKDISABLED:
|
||||
case MENUOP_CHECKHIDDEN:
|
||||
if (mpIsFeatureUnlocked(MPFEATURE_SLOWMOTION)) {
|
||||
if (challengeIsFeatureUnlocked(MPFEATURE_SLOWMOTION)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@@ -323,7 +323,7 @@ s32 scenarioScenarioMenuHandler(s32 operation, struct menuitem *item, union hand
|
||||
switch (operation) {
|
||||
case MENUOP_GETOPTIONCOUNT:
|
||||
for (i = 0; i < ARRAYCOUNT(g_MpScenarioOverviews); i++) {
|
||||
if (mpIsFeatureUnlocked(g_MpScenarioOverviews[i].requirefeature)
|
||||
if (challengeIsFeatureUnlocked(g_MpScenarioOverviews[i].requirefeature)
|
||||
&& (teamgame || g_MpScenarioOverviews[i].teamonly == false)) {
|
||||
count++;
|
||||
}
|
||||
@@ -333,7 +333,7 @@ s32 scenarioScenarioMenuHandler(s32 operation, struct menuitem *item, union hand
|
||||
break;
|
||||
case MENUOP_GETOPTIONTEXT:
|
||||
for (i = 0; i < ARRAYCOUNT(g_MpScenarioOverviews); i++) {
|
||||
if (mpIsFeatureUnlocked(g_MpScenarioOverviews[i].requirefeature)
|
||||
if (challengeIsFeatureUnlocked(g_MpScenarioOverviews[i].requirefeature)
|
||||
&& (teamgame || g_MpScenarioOverviews[i].teamonly == false)) {
|
||||
if (count == data->list.value) {
|
||||
return (s32)langGet(g_MpScenarioOverviews[i].name);
|
||||
@@ -346,7 +346,7 @@ s32 scenarioScenarioMenuHandler(s32 operation, struct menuitem *item, union hand
|
||||
break;
|
||||
case MENUOP_SET:
|
||||
for (i = 0; i < ARRAYCOUNT(g_MpScenarioOverviews); i++) {
|
||||
if (mpIsFeatureUnlocked(g_MpScenarioOverviews[i].requirefeature)
|
||||
if (challengeIsFeatureUnlocked(g_MpScenarioOverviews[i].requirefeature)
|
||||
&& (teamgame || g_MpScenarioOverviews[i].teamonly == false)) {
|
||||
if (count == data->list.value) {
|
||||
g_MpSetup.scenario = i;
|
||||
@@ -361,7 +361,7 @@ s32 scenarioScenarioMenuHandler(s32 operation, struct menuitem *item, union hand
|
||||
break;
|
||||
case MENUOP_GETOPTIONVALUE:
|
||||
for (i = 0; i < ARRAYCOUNT(g_MpScenarioOverviews); i++) {
|
||||
if (mpIsFeatureUnlocked(g_MpScenarioOverviews[i].requirefeature)
|
||||
if (challengeIsFeatureUnlocked(g_MpScenarioOverviews[i].requirefeature)
|
||||
&& (teamgame || g_MpScenarioOverviews[i].teamonly == false)) {
|
||||
if (i == g_MpSetup.scenario) {
|
||||
data->list.value = count;
|
||||
@@ -376,7 +376,7 @@ s32 scenarioScenarioMenuHandler(s32 operation, struct menuitem *item, union hand
|
||||
case MENUOP_GETOPTGROUPCOUNT:
|
||||
data->list.value = 2;
|
||||
|
||||
if (!teamgame || (!mpIsFeatureUnlocked(MPFEATURE_SCENARIO_KOH) && !mpIsFeatureUnlocked(MPFEATURE_SCENARIO_CTC))) {
|
||||
if (!teamgame || (!challengeIsFeatureUnlocked(MPFEATURE_SCENARIO_KOH) && !challengeIsFeatureUnlocked(MPFEATURE_SCENARIO_CTC))) {
|
||||
data->list.value--;
|
||||
}
|
||||
break;
|
||||
@@ -384,7 +384,7 @@ s32 scenarioScenarioMenuHandler(s32 operation, struct menuitem *item, union hand
|
||||
return (s32)langGet(groups[data->list.value].textid);
|
||||
case MENUOP_GETGROUPSTARTINDEX:
|
||||
for (i = 0; i < groups[data->list.value].startindex; i++) {
|
||||
if (mpIsFeatureUnlocked(g_MpScenarioOverviews[i].requirefeature)
|
||||
if (challengeIsFeatureUnlocked(g_MpScenarioOverviews[i].requirefeature)
|
||||
&& (teamgame || g_MpScenarioOverviews[i].teamonly == false)) {
|
||||
count++;
|
||||
}
|
||||
@@ -490,9 +490,9 @@ void scenarioCreateMatchStartHudmsgs(void)
|
||||
|
||||
if (g_BossFile.locktype == MPLOCKTYPE_CHALLENGE) {
|
||||
#if VERSION >= VERSION_JPN_FINAL
|
||||
sprintf(challengename, "%s\n", mpGetChallengeNameBySlot(mpGetCurrentChallengeIndex()));
|
||||
sprintf(challengename, "%s\n", challengeGetNameBySlot(challengeGetCurrent()));
|
||||
#else
|
||||
sprintf(challengename, "%s:\n", mpGetChallengeNameBySlot(mpGetCurrentChallengeIndex()));
|
||||
sprintf(challengename, "%s:\n", challengeGetNameBySlot(challengeGetCurrent()));
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1008,7 +1008,7 @@ struct prop *scenarioCreateObj(s32 modelnum, s16 padnum, f32 arg2, u32 flags, u3
|
||||
obj->extrascale = arg2 * 256;
|
||||
obj->hidden2 &= ~OBJHFLAG_REAPABLE;
|
||||
|
||||
setupGenericObject(obj, 123);
|
||||
setupCreateObject(obj, 123);
|
||||
propActivate(obj->prop);
|
||||
propEnable(obj->prop);
|
||||
|
||||
|
||||
@@ -204,7 +204,7 @@ void ctcInitProps(void)
|
||||
tmp = &g_CtcTokenObj0;
|
||||
tmp->base.pad = g_ScenarioData.ctc.spawnpadsperteam[g_ScenarioData.ctc.teamindexes[0]].homepad;
|
||||
|
||||
weaponAssignToHome(tmp, 1000);
|
||||
setupPlaceWeapon(tmp, 1000);
|
||||
|
||||
g_ScenarioData.ctc.tokens[0] = tmp->base.prop;
|
||||
|
||||
@@ -219,7 +219,7 @@ void ctcInitProps(void)
|
||||
tmp = &g_CtcTokenObj1;
|
||||
tmp->base.pad = g_ScenarioData.ctc.spawnpadsperteam[g_ScenarioData.ctc.teamindexes[1]].homepad;
|
||||
|
||||
weaponAssignToHome(tmp, 1001);
|
||||
setupPlaceWeapon(tmp, 1001);
|
||||
|
||||
g_ScenarioData.ctc.tokens[1] = tmp->base.prop;
|
||||
|
||||
@@ -234,7 +234,7 @@ void ctcInitProps(void)
|
||||
tmp = &g_CtcTokenObj2;
|
||||
tmp->base.pad = g_ScenarioData.ctc.spawnpadsperteam[g_ScenarioData.ctc.teamindexes[2]].homepad;
|
||||
|
||||
weaponAssignToHome(tmp, 1002);
|
||||
setupPlaceWeapon(tmp, 1002);
|
||||
|
||||
g_ScenarioData.ctc.tokens[2] = tmp->base.prop;
|
||||
|
||||
@@ -249,7 +249,7 @@ void ctcInitProps(void)
|
||||
tmp = &g_CtcTokenObj3;
|
||||
tmp->base.pad = g_ScenarioData.ctc.spawnpadsperteam[g_ScenarioData.ctc.teamindexes[3]].homepad;
|
||||
|
||||
weaponAssignToHome(tmp, 1003);
|
||||
setupPlaceWeapon(tmp, 1003);
|
||||
|
||||
g_ScenarioData.ctc.tokens[3] = tmp->base.prop;
|
||||
|
||||
|
||||
@@ -168,7 +168,7 @@ void htbCreateUplink(void)
|
||||
g_HtmUplinkObj = template;
|
||||
g_HtmUplinkObj.base.pad = padnum;
|
||||
|
||||
weaponAssignToHome(&g_HtmUplinkObj, 999);
|
||||
setupPlaceWeapon(&g_HtmUplinkObj, 999);
|
||||
|
||||
g_HtmUplinkObj.base.hidden2 &= ~OBJH2FLAG_CANREGEN;
|
||||
|
||||
|
||||
@@ -171,7 +171,7 @@ void htbCreateToken(void)
|
||||
g_HtbTokenObj = template;
|
||||
g_HtbTokenObj.base.pad = g_ScenarioData.htb.tokenpad;
|
||||
|
||||
weaponAssignToHome(&g_HtbTokenObj, 999);
|
||||
setupPlaceWeapon(&g_HtbTokenObj, 999);
|
||||
|
||||
g_HtbTokenObj.base.hidden2 &= ~OBJH2FLAG_CANREGEN;
|
||||
|
||||
|
||||
+55
-55
@@ -1,7 +1,7 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/camdraw.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/savebuffer.h"
|
||||
#include "game/menu.h"
|
||||
#include "game/mainmenu.h"
|
||||
@@ -11,7 +11,7 @@
|
||||
#include "game/mplayer/ingame.h"
|
||||
#include "game/mplayer/setup.h"
|
||||
#include "game/mplayer/scenarios.h"
|
||||
#include "game/game_19aa80.h"
|
||||
#include "game/challenge.h"
|
||||
#include "game/lang.h"
|
||||
#include "game/mplayer/mplayer.h"
|
||||
#include "game/options.h"
|
||||
@@ -104,7 +104,7 @@ s16 mpChooseRandomStage(void)
|
||||
s32 index;
|
||||
|
||||
for (i = 0; i < 16; i++) {
|
||||
if (mpIsFeatureUnlocked(g_MpArenas[i].requirefeature)) {
|
||||
if (challengeIsFeatureUnlocked(g_MpArenas[i].requirefeature)) {
|
||||
numchallengescomplete++;
|
||||
}
|
||||
}
|
||||
@@ -112,7 +112,7 @@ s16 mpChooseRandomStage(void)
|
||||
index = random() % numchallengescomplete;
|
||||
|
||||
for (i = 0; i < 16; i++) {
|
||||
if (mpIsFeatureUnlocked(g_MpArenas[i].requirefeature)) {
|
||||
if (challengeIsFeatureUnlocked(g_MpArenas[i].requirefeature)) {
|
||||
if (index == 0) {
|
||||
return g_MpArenas[i].stagenum;
|
||||
}
|
||||
@@ -139,7 +139,7 @@ s32 mpArenaMenuHandler(s32 operation, struct menuitem *item, union handlerdata *
|
||||
switch (operation) {
|
||||
case MENUOP_GETOPTIONCOUNT:
|
||||
for (i = 0; i < ARRAYCOUNT(g_MpArenas); i++) {
|
||||
if (mpIsFeatureUnlocked(g_MpArenas[i].requirefeature)) {
|
||||
if (challengeIsFeatureUnlocked(g_MpArenas[i].requirefeature)) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
@@ -148,7 +148,7 @@ s32 mpArenaMenuHandler(s32 operation, struct menuitem *item, union handlerdata *
|
||||
break;
|
||||
case MENUOP_GETOPTIONTEXT:
|
||||
for (i = 0; i < ARRAYCOUNT(g_MpArenas); i++) {
|
||||
if (mpIsFeatureUnlocked(g_MpArenas[i].requirefeature)) {
|
||||
if (challengeIsFeatureUnlocked(g_MpArenas[i].requirefeature)) {
|
||||
if (count == data->list.value) {
|
||||
return (s32)langGet(g_MpArenas[i].name);
|
||||
}
|
||||
@@ -159,7 +159,7 @@ s32 mpArenaMenuHandler(s32 operation, struct menuitem *item, union handlerdata *
|
||||
break;
|
||||
case MENUOP_SET:
|
||||
for (i = 0; i < ARRAYCOUNT(g_MpArenas); i++) {
|
||||
if (mpIsFeatureUnlocked(g_MpArenas[i].requirefeature)) {
|
||||
if (challengeIsFeatureUnlocked(g_MpArenas[i].requirefeature)) {
|
||||
if (count == data->list.value) {
|
||||
break;
|
||||
}
|
||||
@@ -176,7 +176,7 @@ s32 mpArenaMenuHandler(s32 operation, struct menuitem *item, union handlerdata *
|
||||
data->list.value = count;
|
||||
}
|
||||
|
||||
if (mpIsFeatureUnlocked(g_MpArenas[i].requirefeature)) {
|
||||
if (challengeIsFeatureUnlocked(g_MpArenas[i].requirefeature)) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
@@ -184,18 +184,18 @@ s32 mpArenaMenuHandler(s32 operation, struct menuitem *item, union handlerdata *
|
||||
case MENUOP_GETOPTGROUPCOUNT:
|
||||
data->list.value = 3;
|
||||
|
||||
if (!mpIsFeatureUnlocked(MPFEATURE_STAGE_COMPLEX)
|
||||
&& !mpIsFeatureUnlocked(MPFEATURE_STAGE_TEMPLE)
|
||||
&& !mpIsFeatureUnlocked(MPFEATURE_STAGE_FELICITY)) {
|
||||
if (!challengeIsFeatureUnlocked(MPFEATURE_STAGE_COMPLEX)
|
||||
&& !challengeIsFeatureUnlocked(MPFEATURE_STAGE_TEMPLE)
|
||||
&& !challengeIsFeatureUnlocked(MPFEATURE_STAGE_FELICITY)) {
|
||||
data->list.value--;
|
||||
}
|
||||
break;
|
||||
case MENUOP_GETOPTGROUPTEXT:
|
||||
count = data->list.value;
|
||||
|
||||
if (!mpIsFeatureUnlocked(MPFEATURE_STAGE_COMPLEX)
|
||||
&& !mpIsFeatureUnlocked(MPFEATURE_STAGE_TEMPLE)
|
||||
&& !mpIsFeatureUnlocked(MPFEATURE_STAGE_FELICITY)
|
||||
if (!challengeIsFeatureUnlocked(MPFEATURE_STAGE_COMPLEX)
|
||||
&& !challengeIsFeatureUnlocked(MPFEATURE_STAGE_TEMPLE)
|
||||
&& !challengeIsFeatureUnlocked(MPFEATURE_STAGE_FELICITY)
|
||||
&& count > 0) {
|
||||
count++;
|
||||
}
|
||||
@@ -203,15 +203,15 @@ s32 mpArenaMenuHandler(s32 operation, struct menuitem *item, union handlerdata *
|
||||
case MENUOP_GETGROUPSTARTINDEX:
|
||||
groupindex = data->list.value;
|
||||
|
||||
if (!mpIsFeatureUnlocked(MPFEATURE_STAGE_COMPLEX)
|
||||
&& !mpIsFeatureUnlocked(MPFEATURE_STAGE_TEMPLE)
|
||||
&& !mpIsFeatureUnlocked(MPFEATURE_STAGE_FELICITY)
|
||||
if (!challengeIsFeatureUnlocked(MPFEATURE_STAGE_COMPLEX)
|
||||
&& !challengeIsFeatureUnlocked(MPFEATURE_STAGE_TEMPLE)
|
||||
&& !challengeIsFeatureUnlocked(MPFEATURE_STAGE_FELICITY)
|
||||
&& groupindex == 1) {
|
||||
groupindex++;
|
||||
}
|
||||
|
||||
for (i = 0; i < groups[groupindex].offset; i++) {
|
||||
if (mpIsFeatureUnlocked(g_MpArenas[i].requirefeature)) {
|
||||
if (challengeIsFeatureUnlocked(g_MpArenas[i].requirefeature)) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
@@ -558,7 +558,7 @@ s32 mpCharacterBodyMenuHandler(s32 operation, struct menuitem *item, union handl
|
||||
g_Menus[g_MpPlayerNum].unk840.unk554 = 30;
|
||||
break;
|
||||
case MENUOP_21:
|
||||
if (!mpIsFeatureUnlocked(mpGetBodyRequiredFeature(data->carousel.value))) {
|
||||
if (!challengeIsFeatureUnlocked(mpGetBodyRequiredFeature(data->carousel.value))) {
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
@@ -664,7 +664,7 @@ s32 mpChallengesListHandler(s32 operation, struct menuitem *item, union handlerd
|
||||
|
||||
switch (operation) {
|
||||
case MENUOP_GETOPTIONCOUNT:
|
||||
data->list.value = mpGetAutoFocusedChallengeIndex(g_MpPlayerNum);
|
||||
data->list.value = challengeGetAutoFocusedIndex(g_MpPlayerNum);
|
||||
break;
|
||||
case MENUOP_RENDER:
|
||||
maxplayers = 4;
|
||||
@@ -681,7 +681,7 @@ s32 mpChallengesListHandler(s32 operation, struct menuitem *item, union handlerd
|
||||
|
||||
gdl = func0f153628(gdl);
|
||||
|
||||
name = mpChallengeGetNameWithArg(g_MpPlayerNum, challengeindex);
|
||||
name = xhallengeGetName(g_MpPlayerNum, challengeindex);
|
||||
|
||||
gdl = textRenderProjected(gdl, &x, &y, name,
|
||||
g_CharsHandelGothicSm, g_FontHandelGothicSm, renderdata->colour,
|
||||
@@ -695,20 +695,20 @@ s32 mpChallengesListHandler(s32 operation, struct menuitem *item, union handlerd
|
||||
gDPSetTextureLOD(gdl++, G_TL_TILE);
|
||||
gDPSetTextureConvert(gdl++, G_TC_FILT);
|
||||
|
||||
func0f0b39c0(&gdl, &g_TexGeneralConfigs[35], 2, 0, 2, 1, NULL);
|
||||
tex0f0b39c0(&gdl, &g_TexGeneralConfigs[35], 2, 0, 2, 1, NULL);
|
||||
|
||||
gDPSetCycleType(gdl++, G_CYC_1CYCLE);
|
||||
gDPSetTextureFilter(gdl++, G_TF_POINT);
|
||||
|
||||
for (i = 0, loopx = 10; i < maxplayers; i++) {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
if (mpIsChallengeCompletedByPlayerWithNumPlayers2(g_MpPlayerNum, challengeindex, i + 1)) {
|
||||
if (challengeIsCompletedByPlayerWithNumPlayers2(g_MpPlayerNum, challengeindex, i + 1)) {
|
||||
gDPSetEnvColorViaWord(gdl++, 0xb2efff00 | (renderdata->colour & 0xff) * 255 / 256);
|
||||
} else {
|
||||
gDPSetEnvColorViaWord(gdl++, 0x30407000 | (renderdata->colour & 0xff) * 255 / 256);
|
||||
}
|
||||
#else
|
||||
if (mpIsChallengeCompletedByPlayerWithNumPlayers2(g_MpPlayerNum, challengeindex, i + 1)) {
|
||||
if (challengeIsCompletedByPlayerWithNumPlayers2(g_MpPlayerNum, challengeindex, i + 1)) {
|
||||
gDPSetEnvColorViaWord(gdl++, 0xb2efffff);
|
||||
} else {
|
||||
gDPSetEnvColorViaWord(gdl++, 0x304070ff);
|
||||
@@ -928,7 +928,7 @@ s32 mpMedalMenuHandler(s32 operation, struct menuitem *item, union handlerdata *
|
||||
gDPSetTextureConvert(gdl++, G_TC_FILT);
|
||||
gDPSetTextureFilter(gdl++, G_TF_POINT);
|
||||
|
||||
func0f0b39c0(&gdl, &g_TexGeneralConfigs[35], 2, 0, 2, 1, NULL);
|
||||
tex0f0b39c0(&gdl, &g_TexGeneralConfigs[35], 2, 0, 2, 1, NULL);
|
||||
|
||||
gDPSetCycleType(gdl++, G_CYC_1CYCLE);
|
||||
gDPSetCombineMode(gdl++, G_CC_DECALRGBA, G_CC_DECALRGBA);
|
||||
@@ -1300,7 +1300,7 @@ s32 mpCharacterHeadMenuHandler(s32 operation, struct menuitem *item, union handl
|
||||
g_Menus[g_MpPlayerNum].unk840.unk554 = 30;
|
||||
break;
|
||||
case MENUOP_21:
|
||||
if (!mpIsFeatureUnlocked(mpGetHeadRequiredFeature(data->carousel.value))) {
|
||||
if (!challengeIsFeatureUnlocked(mpGetHeadRequiredFeature(data->carousel.value))) {
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
@@ -1879,7 +1879,7 @@ s32 mpAddChangeSimulantMenuHandler(s32 operation, struct menuitem *item, union h
|
||||
switch (operation) {
|
||||
case MENUOP_GETOPTIONCOUNT:
|
||||
for (i = 0; i < ARRAYCOUNT(g_BotProfiles); i++) {
|
||||
if (mpIsFeatureUnlocked(g_BotProfiles[i].requirefeature)) {
|
||||
if (challengeIsFeatureUnlocked(g_BotProfiles[i].requirefeature)) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
@@ -1888,7 +1888,7 @@ s32 mpAddChangeSimulantMenuHandler(s32 operation, struct menuitem *item, union h
|
||||
break;
|
||||
case MENUOP_GETOPTIONTEXT:
|
||||
for (i = 0; i < ARRAYCOUNT(g_BotProfiles); i++) {
|
||||
if (mpIsFeatureUnlocked(g_BotProfiles[i].requirefeature)) {
|
||||
if (challengeIsFeatureUnlocked(g_BotProfiles[i].requirefeature)) {
|
||||
if (count == data->list.value) {
|
||||
return (s32)langGet(g_BotProfiles[i].name);
|
||||
}
|
||||
@@ -1909,7 +1909,7 @@ s32 mpAddChangeSimulantMenuHandler(s32 operation, struct menuitem *item, union h
|
||||
}
|
||||
|
||||
for (i = 0; i < ARRAYCOUNT(g_BotProfiles); i++) {
|
||||
if (mpIsFeatureUnlocked(g_BotProfiles[i].requirefeature)) {
|
||||
if (challengeIsFeatureUnlocked(g_BotProfiles[i].requirefeature)) {
|
||||
if (count == data->list.value) {
|
||||
break;
|
||||
}
|
||||
@@ -1933,7 +1933,7 @@ s32 mpAddChangeSimulantMenuHandler(s32 operation, struct menuitem *item, union h
|
||||
break;
|
||||
case MENUOP_LISTITEMFOCUS:
|
||||
for (i = 0; i < ARRAYCOUNT(g_BotProfiles); i++) {
|
||||
if (mpIsFeatureUnlocked(g_BotProfiles[i].requirefeature)) {
|
||||
if (challengeIsFeatureUnlocked(g_BotProfiles[i].requirefeature)) {
|
||||
if (count == data->list.value) {
|
||||
break;
|
||||
}
|
||||
@@ -1954,7 +1954,7 @@ s32 mpAddChangeSimulantMenuHandler(s32 operation, struct menuitem *item, union h
|
||||
return (s32)langGet(groups[data->list.value].name);
|
||||
case MENUOP_GETGROUPSTARTINDEX:
|
||||
for (i = 0; i < groups[data->list.value].offset; i++) {
|
||||
if (mpIsFeatureUnlocked(g_BotProfiles[i].requirefeature)) {
|
||||
if (challengeIsFeatureUnlocked(g_BotProfiles[i].requirefeature)) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
@@ -2046,7 +2046,7 @@ s32 mpBotDifficultyMenuHandler(s32 operation, struct menuitem *item, union handl
|
||||
break;
|
||||
case MENUOP_GETOPTIONCOUNT:
|
||||
for (i = 0; i < BOTDIFF_DISABLED; i++) {
|
||||
if (mpIsFeatureUnlocked(g_BotProfiles[i].requirefeature)) {
|
||||
if (challengeIsFeatureUnlocked(g_BotProfiles[i].requirefeature)) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
@@ -2055,7 +2055,7 @@ s32 mpBotDifficultyMenuHandler(s32 operation, struct menuitem *item, union handl
|
||||
break;
|
||||
case MENUOP_GETOPTIONTEXT:
|
||||
for (i = 0; i < BOTDIFF_DISABLED; i++) {
|
||||
if (mpIsFeatureUnlocked(g_BotProfiles[i].requirefeature)) {
|
||||
if (challengeIsFeatureUnlocked(g_BotProfiles[i].requirefeature)) {
|
||||
if (count == data->dropdown.value) {
|
||||
// "Meat", "Easy", "Normal" etc
|
||||
return (s32) langGet(L_MISC_082 + i);
|
||||
@@ -2097,7 +2097,7 @@ s32 menuhandlerMpChangeSimulantType(s32 operation, struct menuitem *item, union
|
||||
g_BotConfigsArray[g_Menus[g_MpPlayerNum].mpsetup.slotindex].difficulty);
|
||||
|
||||
for (i = 0; i < profilenum; i++) {
|
||||
if (mpIsFeatureUnlocked(g_BotProfiles[i].requirefeature)) {
|
||||
if (challengeIsFeatureUnlocked(g_BotProfiles[i].requirefeature)) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
@@ -2153,7 +2153,7 @@ s32 menuhandlerMpSimulantSlot(s32 operation, struct menuitem *item, union handle
|
||||
}
|
||||
break;
|
||||
case MENUOP_CHECKHIDDEN:
|
||||
if (item->param >= 4 && !mpIsFeatureUnlocked(MPFEATURE_8BOTS)) {
|
||||
if (item->param >= 4 && !challengeIsFeatureUnlocked(MPFEATURE_8BOTS)) {
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
@@ -2805,7 +2805,7 @@ s32 menuhandlerMpTeamNameSlot(s32 operation, struct menuitem *item, union handle
|
||||
|
||||
char *func0f17e318(struct menudialogdef *dialogdef)
|
||||
{
|
||||
sprintf(g_StringPointer, langGet(L_MPMENU_056), mpGetChallengeNameBySlot(g_Menus[g_MpPlayerNum].mpsetup.slotindex));
|
||||
sprintf(g_StringPointer, langGet(L_MPMENU_056), challengeGetNameBySlot(g_Menus[g_MpPlayerNum].mpsetup.slotindex));
|
||||
return g_StringPointer;
|
||||
}
|
||||
|
||||
@@ -2816,11 +2816,11 @@ s32 menuhandler0017e38c(s32 operation, struct menuitem *item, union handlerdata
|
||||
{
|
||||
if (operation == MENUOP_SET) {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
mpClearCurrentChallenge();
|
||||
challengeUnsetCurrent();
|
||||
#endif
|
||||
|
||||
menuPopDialog();
|
||||
mpSetCurrentChallenge(g_Menus[g_MpPlayerNum].mpsetup.slotindex);
|
||||
challengeSetCurrentBySlot(g_Menus[g_MpPlayerNum].mpsetup.slotindex);
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -2832,7 +2832,7 @@ s32 menudialog0017e3fc(s32 operation, struct menudialogdef *dialogdef, union han
|
||||
case MENUOP_OPEN:
|
||||
g_Menus[g_MpPlayerNum].unk840.unk010 = 0;
|
||||
|
||||
g_Menus[g_MpPlayerNum].training.mpconfig = mpGetNthAvailableChallengeSomething(
|
||||
g_Menus[g_MpPlayerNum].training.mpconfig = challengeLoadBySlot(
|
||||
g_Menus[g_MpPlayerNum].training.unke1c,
|
||||
g_Menus[g_MpPlayerNum].unk840.unk004,
|
||||
g_Menus[g_MpPlayerNum].unk840.unk008);
|
||||
@@ -3020,7 +3020,7 @@ s32 mpChallengesListMenuHandler(s32 operation, struct menuitem *item, union hand
|
||||
}
|
||||
break;
|
||||
case MENUOP_GETOPTIONCOUNT:
|
||||
data->list.value = mpGetNumAvailableChallenges();
|
||||
data->list.value = challengeGetNumAvailable();
|
||||
break;
|
||||
case MENUOP_SET:
|
||||
if (data->list.unk04 != 0) {
|
||||
@@ -3062,7 +3062,7 @@ s32 mpChallengesListMenuHandler(s32 operation, struct menuitem *item, union hand
|
||||
y = renderdata->y + 1;
|
||||
|
||||
gdl = func0f153628(gdl);
|
||||
gdl = textRenderProjected(gdl, &x, &y, mpGetChallengeNameBySlot(data->type19.unk04), g_CharsHandelGothicSm, g_FontHandelGothicSm, renderdata->colour, viGetWidth(), viGetHeight(), 0, 0);
|
||||
gdl = textRenderProjected(gdl, &x, &y, challengeGetNameBySlot(data->type19.unk04), g_CharsHandelGothicSm, g_FontHandelGothicSm, renderdata->colour, viGetWidth(), viGetHeight(), 0, 0);
|
||||
gdl = func0f153780(gdl);
|
||||
|
||||
gDPPipeSync(gdl++);
|
||||
@@ -3071,20 +3071,20 @@ s32 mpChallengesListMenuHandler(s32 operation, struct menuitem *item, union hand
|
||||
gDPSetTextureLOD(gdl++, G_TL_TILE);
|
||||
gDPSetTextureConvert(gdl++, G_TC_FILT);
|
||||
|
||||
func0f0b39c0(&gdl, &g_TexGeneralConfigs[35], 2, 0, 2, 1, NULL);
|
||||
tex0f0b39c0(&gdl, &g_TexGeneralConfigs[35], 2, 0, 2, 1, NULL);
|
||||
|
||||
gDPSetCycleType(gdl++, G_CYC_1CYCLE);
|
||||
gDPSetTextureFilter(gdl++, G_TF_POINT);
|
||||
|
||||
for (i = 0; i < maxchrs; i++) {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
if (mpIsChallengeCompletedByAnyChrWithNumPlayersBySlot(data->type19.unk04, i + 1)) {
|
||||
if (challengeIsCompletedByAnyChrWithNumPlayersBySlot(data->type19.unk04, i + 1)) {
|
||||
gDPSetEnvColorViaWord(gdl++, (renderdata->colour & 0xff) * 0xff >> 8 | 0xffe56500);
|
||||
} else {
|
||||
gDPSetEnvColorViaWord(gdl++, (renderdata->colour & 0xff) * 0xff >> 8 | 0x43430000);
|
||||
}
|
||||
#else
|
||||
if (mpIsChallengeCompletedByAnyChrWithNumPlayersBySlot(data->type19.unk04, i + 1)) {
|
||||
if (challengeIsCompletedByAnyChrWithNumPlayersBySlot(data->type19.unk04, i + 1)) {
|
||||
gDPSetEnvColorViaWord(gdl++, 0xffe565ff);
|
||||
} else {
|
||||
gDPSetEnvColorViaWord(gdl++, 0x434300ff);
|
||||
@@ -3137,7 +3137,7 @@ s32 menuhandlerMpAbortChallenge(s32 operation, struct menuitem *item, union hand
|
||||
}
|
||||
|
||||
if (operation == MENUOP_SET) {
|
||||
mpRemoveLock();
|
||||
challengeRemovePlayerLock();
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -3165,7 +3165,7 @@ char *mpMenuTextChallengeName(struct menuitem *item)
|
||||
}
|
||||
#endif
|
||||
|
||||
sprintf(g_StringPointer, "%s:\n", mpChallengeGetName(mpGetCurrentChallengeIndex()));
|
||||
sprintf(g_StringPointer, "%s:\n", challengeGetName(challengeGetCurrent()));
|
||||
return g_StringPointer;
|
||||
}
|
||||
|
||||
@@ -3175,10 +3175,10 @@ s32 mpCombatChallengesMenuDialog(s32 operation, struct menudialogdef *dialogdef,
|
||||
if (g_BossFile.locktype == MPLOCKTYPE_CHALLENGE
|
||||
&& g_Menus[g_MpPlayerNum].curdialog
|
||||
&& g_Menus[g_MpPlayerNum].curdialog->definition == dialogdef
|
||||
&& !mpIsChallengeLoaded()) {
|
||||
&& !challengeIsLoaded()) {
|
||||
g_Menus[g_MpPlayerNum].unk840.unk010 = 0x4fac5ace;
|
||||
|
||||
mpLoadAndStoreCurrentChallenge(
|
||||
challengeLoadAndStoreCurrent(
|
||||
g_Menus[g_MpPlayerNum].unk840.unk004,
|
||||
g_Menus[g_MpPlayerNum].unk840.unk008);
|
||||
}
|
||||
@@ -3186,7 +3186,7 @@ s32 mpCombatChallengesMenuDialog(s32 operation, struct menudialogdef *dialogdef,
|
||||
|
||||
if (operation == MENUOP_CLOSE) {
|
||||
if (g_Menus[g_MpPlayerNum].unk840.unk010 == 0x4fac5ace) {
|
||||
mpClearCurrentChallenge();
|
||||
challengeUnsetCurrent();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3196,7 +3196,7 @@ s32 mpCombatChallengesMenuDialog(s32 operation, struct menudialogdef *dialogdef,
|
||||
s32 menuhandler0017ec64(s32 operation, struct menuitem *item, union handlerdata *data)
|
||||
{
|
||||
if (operation == MENUOP_SET) {
|
||||
mpSetCurrentChallenge(g_Menus[g_MpPlayerNum].mpsetup.slotindex);
|
||||
challengeSetCurrentBySlot(g_Menus[g_MpPlayerNum].mpsetup.slotindex);
|
||||
func0f0f820c(&g_MpQuickGoMenuDialog, 3);
|
||||
}
|
||||
|
||||
@@ -3526,7 +3526,7 @@ s32 menuhandlerMpNumberOfSimulants(s32 operation, struct menuitem *item, union h
|
||||
{
|
||||
switch (operation) {
|
||||
case MENUOP_GETOPTIONCOUNT:
|
||||
data->dropdown.value = !mpIsFeatureUnlocked(MPFEATURE_8BOTS) ? 4 : MAX_BOTS;
|
||||
data->dropdown.value = !challengeIsFeatureUnlocked(MPFEATURE_8BOTS) ? 4 : MAX_BOTS;
|
||||
break;
|
||||
case MENUOP_GETOPTIONTEXT:
|
||||
sprintf(g_StringPointer, "%d\n", data->dropdown.value + 1);
|
||||
@@ -3581,7 +3581,7 @@ s32 mpQuickTeamSimulantDifficultyHandler(s32 operation, struct menuitem *item, u
|
||||
switch (operation) {
|
||||
case MENUOP_GETOPTIONCOUNT:
|
||||
for (i = 0; i < 6; i++) {
|
||||
if (mpIsFeatureUnlocked(g_BotProfiles[i].requirefeature)) {
|
||||
if (challengeIsFeatureUnlocked(g_BotProfiles[i].requirefeature)) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
@@ -3590,7 +3590,7 @@ s32 mpQuickTeamSimulantDifficultyHandler(s32 operation, struct menuitem *item, u
|
||||
break;
|
||||
case MENUOP_GETOPTIONTEXT:
|
||||
for (i = 0; i < 6; i++) {
|
||||
if (mpIsFeatureUnlocked(g_BotProfiles[i].requirefeature)) {
|
||||
if (challengeIsFeatureUnlocked(g_BotProfiles[i].requirefeature)) {
|
||||
if (count == data->dropdown.value) {
|
||||
return (s32) langGet(i + L_MISC_082);
|
||||
}
|
||||
@@ -3652,8 +3652,8 @@ s32 menudialogCombatSimulator(s32 operation, struct menudialogdef *dialogdef, un
|
||||
g_Vars.mpsetupmenu = MPSETUPMENU_GENERAL;
|
||||
g_Vars.mpquickteam = MPQUICKTEAM_NONE;
|
||||
g_Vars.usingadvsetup = false;
|
||||
mpClearCurrentChallenge();
|
||||
mpRemoveLock();
|
||||
challengeUnsetCurrent();
|
||||
challengeRemovePlayerLock();
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
+11
-11
@@ -9,8 +9,8 @@
|
||||
#include "game/prop.h"
|
||||
#include "game/objectives.h"
|
||||
#include "game/atan2f.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/game_0b4950.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/camera.h"
|
||||
#include "game/savebuffer.h"
|
||||
#include "game/bg.h"
|
||||
#include "game/file.h"
|
||||
@@ -611,7 +611,7 @@ glabel var7f1a7ee8
|
||||
/* f007440: 8fa40154 */ lw $a0,0x154($sp)
|
||||
/* f007444: 0c0059b7 */ jal mtx4LoadTranslation
|
||||
/* f007448: 02002825 */ or $a1,$s0,$zero
|
||||
/* f00744c: 0fc2d5be */ jal currentPlayerGetMatrix1740
|
||||
/* f00744c: 0fc2d5be */ jal camGetMatrix1740
|
||||
/* f007450: 00000000 */ nop
|
||||
/* f007454: 00402025 */ or $a0,$v0,$zero
|
||||
/* f007458: 0c0056f8 */ jal mtx00015be0
|
||||
@@ -638,7 +638,7 @@ glabel var7f1a7ee8
|
||||
/* f0074ac: 27a40150 */ addiu $a0,$sp,0x150
|
||||
/* f0074b0: 24060002 */ addiu $a2,$zero,0x2
|
||||
/* f0074b4: 24070001 */ addiu $a3,$zero,0x1
|
||||
/* f0074b8: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f0074b8: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f0074bc: 24a50078 */ addiu $a1,$a1,0x0078
|
||||
/* f0074c0: 8fb90150 */ lw $t9,0x150($sp)
|
||||
/* f0074c4: 3c07e700 */ lui $a3,0xe700
|
||||
@@ -769,7 +769,7 @@ glabel var7f1a7ee8
|
||||
/* f0076b8: 24180001 */ addiu $t8,$zero,0x1
|
||||
/* f0076bc: afb80014 */ sw $t8,0x14($sp)
|
||||
/* f0076c0: afae0010 */ sw $t6,0x10($sp)
|
||||
/* f0076c4: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f0076c4: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f0076c8: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f0076cc: 8fb90150 */ lw $t9,0x150($sp)
|
||||
/* f0076d0: 3c014500 */ lui $at,0x4500
|
||||
@@ -2806,7 +2806,7 @@ Gfx *nbombCreateGdl(void)
|
||||
|
||||
gdl = gdlstart = gfxAllocate(gdlsizes[index]);
|
||||
|
||||
func0f0b39c0(&gdl, &g_TexGeneralConfigs[0x0a], 2, 1, 2, 1, NULL);
|
||||
tex0f0b39c0(&gdl, &g_TexGeneralConfigs[0x0a], 2, 1, 2, 1, NULL);
|
||||
|
||||
gDPPipeSync(gdl++);
|
||||
gDPSetCycleType(gdl++, G_CYC_1CYCLE);
|
||||
@@ -2879,7 +2879,7 @@ Gfx *nbombRender(Gfx *gdl, struct nbomb *nbomb, Gfx *subgdl)
|
||||
mtx00015f04(nbomb->radius / 2000.0f, &sp88);
|
||||
mtx4MultMtx4(&sp48, &sp88, &spc8);
|
||||
|
||||
mtx00015be0(currentPlayerGetMatrix1740(), &spc8);
|
||||
mtx00015be0(camGetMatrix1740(), &spc8);
|
||||
mtx00016054(&spc8, mtx);
|
||||
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(mtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
@@ -4095,7 +4095,7 @@ glabel func0f00a490
|
||||
/* f00a6f4: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f00a6f8: a7a8005e */ sh $t0,0x5e($sp)
|
||||
/* f00a6fc: a7a9003c */ sh $t1,0x3c($sp)
|
||||
/* f00a700: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f00a700: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f00a704: 24a50078 */ addiu $a1,$a1,0x0078
|
||||
/* f00a708: 8fae0080 */ lw $t6,0x80($sp)
|
||||
/* f00a70c: 87a8005e */ lh $t0,0x5e($sp)
|
||||
@@ -4406,7 +4406,7 @@ glabel func0f00a490
|
||||
/* f00a6f4: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f00a6f8: a7a8005e */ sh $t0,0x5e($sp)
|
||||
/* f00a6fc: a7a9003c */ sh $t1,0x3c($sp)
|
||||
/* f00a700: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f00a700: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f00a704: 24a50078 */ addiu $a1,$a1,0x0078
|
||||
/* f00a708: 8fae0080 */ lw $t6,0x80($sp)
|
||||
/* f00a70c: 87a8005e */ lh $t0,0x5e($sp)
|
||||
@@ -4899,7 +4899,7 @@ glabel var7f1a7f5c
|
||||
/* f00ae1c: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f00ae20: a7a80072 */ sh $t0,0x72($sp)
|
||||
/* f00ae24: a7a900fa */ sh $t1,0xfa($sp)
|
||||
/* f00ae28: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f00ae28: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f00ae2c: 24a50048 */ addiu $a1,$a1,0x0048
|
||||
/* f00ae30: 8fb80110 */ lw $t8,0x110($sp)
|
||||
/* f00ae34: 87a80072 */ lh $t0,0x72($sp)
|
||||
@@ -5259,7 +5259,7 @@ const u32 var7f1a7eac[] = {0x00000090};
|
||||
//
|
||||
// gdl = func0f0d479c(gdl);
|
||||
//
|
||||
// func0f0b39c0(&gdl, &g_TexGeneralConfigs[6], 4, 1, 2, 1, NULL);
|
||||
// tex0f0b39c0(&gdl, &g_TexGeneralConfigs[6], 4, 1, 2, 1, NULL);
|
||||
//
|
||||
// gDPPipeSync(gdl++);
|
||||
// gDPSetCycleType(gdl++, G_CYC_1CYCLE);
|
||||
|
||||
+16
-16
@@ -3,10 +3,10 @@
|
||||
#include "game/chraction.h"
|
||||
#include "game/debug.h"
|
||||
#include "game/prop.h"
|
||||
#include "game/game_091e10.h"
|
||||
#include "game/setuputils.h"
|
||||
#include "game/objectives.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/game_0b4950.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/camera.h"
|
||||
#include "game/hudmsg.h"
|
||||
#include "game/inv.h"
|
||||
#include "game/playermgr.h"
|
||||
@@ -326,7 +326,7 @@ s32 objectiveCheck(s32 index)
|
||||
}
|
||||
}
|
||||
|
||||
cmd = cmd + setupGetCommandLength(cmd);
|
||||
cmd = cmd + setupGetCmdLength(cmd);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -508,14 +508,14 @@ void objectiveCheckHolograph(f32 maxdist)
|
||||
f32 sp70[2];
|
||||
func0f06803c(&sp9c, sp94, sp8c, sp78, sp70);
|
||||
|
||||
if (sp78[0] > currentPlayerGetScreenLeft()
|
||||
&& sp78[0] < currentPlayerGetScreenLeft() + currentPlayerGetScreenWidth()
|
||||
&& sp70[0] > currentPlayerGetScreenLeft()
|
||||
&& sp70[0] < currentPlayerGetScreenLeft() + currentPlayerGetScreenWidth()
|
||||
&& sp78[1] > currentPlayerGetScreenTop()
|
||||
&& sp78[1] < currentPlayerGetScreenTop() + currentPlayerGetScreenHeight()
|
||||
&& sp70[1] > currentPlayerGetScreenTop()
|
||||
&& sp70[1] < currentPlayerGetScreenTop() + currentPlayerGetScreenHeight()) {
|
||||
if (sp78[0] > camGetScreenLeft()
|
||||
&& sp78[0] < camGetScreenLeft() + camGetScreenWidth()
|
||||
&& sp70[0] > camGetScreenLeft()
|
||||
&& sp70[0] < camGetScreenLeft() + camGetScreenWidth()
|
||||
&& sp78[1] > camGetScreenTop()
|
||||
&& sp78[1] < camGetScreenTop() + camGetScreenHeight()
|
||||
&& sp70[1] > camGetScreenTop()
|
||||
&& sp70[1] < camGetScreenTop() + camGetScreenHeight()) {
|
||||
criteria->status = OBJECTIVE_COMPLETE;
|
||||
|
||||
if (g_Vars.stagenum == STAGE_CITRAINING) {
|
||||
@@ -562,10 +562,10 @@ void objectiveCheckHolograph(f32 maxdist)
|
||||
// if (pass && func0f0899dc(obj->prop, a, b, c)) {
|
||||
// func0f06803c(a, b, c, &fStack56);
|
||||
//
|
||||
// if (currentPlayerGetScreenLeft() < fStack56 && fStack56 < currentPlayerGetScreenWidth() + currentPlayerGetScreenLeft() &&
|
||||
// currentPlayerGetScreenLeft() < fStack64 && fStack64 < currentPlayerGetScreenWidth() + currentPlayerGetScreenLeft() &&
|
||||
// currentPlayerGetScreenTop() < fStack52 && fStack52 < currentPlayerGetScreenHeight() + currentPlayerGetScreenTop() &&
|
||||
// currentPlayerGetScreenTop() < fStack60 && fStack60 < currentPlayerGetScreenHeight() + currentPlayerGetScreenTop()) {
|
||||
// if (camGetScreenLeft() < fStack56 && fStack56 < camGetScreenWidth() + camGetScreenLeft() &&
|
||||
// camGetScreenLeft() < fStack64 && fStack64 < camGetScreenWidth() + camGetScreenLeft() &&
|
||||
// camGetScreenTop() < fStack52 && fStack52 < camGetScreenHeight() + camGetScreenTop() &&
|
||||
// camGetScreenTop() < fStack60 && fStack60 < camGetScreenHeight() + camGetScreenTop()) {
|
||||
// criteria->status = OBJECTIVE_COMPLETE;
|
||||
//
|
||||
// if (g_Vars.stagenum == STAGE_CITRAINING) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/game_01b0a0.h"
|
||||
#include "game/pdmode.h"
|
||||
#include "game/bondgun.h"
|
||||
#include "game/game_0b0fd0.h"
|
||||
#include "game/inv.h"
|
||||
+42
-43
@@ -9,20 +9,20 @@
|
||||
#include "game/nbomb.h"
|
||||
#include "game/title.h"
|
||||
#include "game/chr.h"
|
||||
#include "game/game_02cde0.h"
|
||||
#include "game/body.h"
|
||||
#include "game/prop.h"
|
||||
#include "game/propsnd.h"
|
||||
#include "game/objectives.h"
|
||||
#include "game/atan2f.h"
|
||||
#include "game/game_096ca0.h"
|
||||
#include "game/quaternion.h"
|
||||
#include "game/bondgun.h"
|
||||
#include "game/game_0abe70.h"
|
||||
#include "game/gunfx.h"
|
||||
#include "game/game_0b0fd0.h"
|
||||
#include "game/game_0b2150.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/game_0b4950.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/camera.h"
|
||||
#include "game/player.h"
|
||||
#include "game/game_1a7560.h"
|
||||
#include "game/modeldef.h"
|
||||
#include "game/healthbar.h"
|
||||
#include "game/hudmsg.h"
|
||||
#include "game/menu.h"
|
||||
@@ -35,8 +35,7 @@
|
||||
#include "game/game_1531a0.h"
|
||||
#include "game/bg.h"
|
||||
#include "game/stagetable.h"
|
||||
#include "game/game_165670.h"
|
||||
#include "game/game_1668e0.h"
|
||||
#include "game/room.h"
|
||||
#include "game/gfxmemory.h"
|
||||
#include "game/lv.h"
|
||||
#include "game/music.h"
|
||||
@@ -976,8 +975,8 @@ void playerSpawn(void)
|
||||
s32 prevplayernum = g_Vars.currentplayernum;
|
||||
setCurrentPlayerNum(g_Vars.bondplayernum);
|
||||
bgun0f0a0c08(&sp84, &sp9c);
|
||||
mtx4RotateVec(currentPlayerGetUnk174c(), &sp9c, &sp90);
|
||||
mtx4TransformVec(currentPlayerGetUnk174c(), &sp84, &sp78);
|
||||
mtx4RotateVec(camGetUnk174c(), &sp9c, &sp90);
|
||||
mtx4TransformVec(camGetUnk174c(), &sp84, &sp78);
|
||||
setCurrentPlayerNum(prevplayernum);
|
||||
}
|
||||
|
||||
@@ -1453,7 +1452,7 @@ void playerTickChrBody(void)
|
||||
}
|
||||
}
|
||||
|
||||
g_Vars.currentplayer->model00d4 = func0f02ce8c(bodynum, headnum, bodyfiledata, headfiledata, false, model, true, true);
|
||||
g_Vars.currentplayer->model00d4 = body0f02ce8c(bodynum, headnum, bodyfiledata, headfiledata, false, model, true, true);
|
||||
|
||||
chr0f020b14(g_Vars.currentplayer->prop, g_Vars.currentplayer->model00d4, &g_Vars.currentplayer->prop->pos,
|
||||
g_Vars.currentplayer->prop->rooms, turnangle, 0);
|
||||
@@ -2920,7 +2919,7 @@ Gfx *playerRenderHealthBar(Gfx *gdl)
|
||||
|
||||
gdl = healthbarRender(gdl, 0, 0, 0);
|
||||
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(currentPlayerGetUnk1750()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(camGetUnk1750()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
|
||||
return gdl;
|
||||
}
|
||||
@@ -4759,13 +4758,13 @@ struct var80070ba4 var80070ba4[4][7] = { // [wieldmode][turnmode]
|
||||
|
||||
void playerSetGlobalDrawWorldOffset(s32 room)
|
||||
{
|
||||
func0f166df0(room, &g_Vars.currentplayer->globaldrawworldoffset);
|
||||
room0f166df0(room, &g_Vars.currentplayer->globaldrawworldoffset);
|
||||
|
||||
g_Vars.currentplayer->globaldrawworldbgoffset.x = g_Vars.currentplayer->globaldrawworldoffset.x;
|
||||
g_Vars.currentplayer->globaldrawworldbgoffset.y = g_Vars.currentplayer->globaldrawworldoffset.y;
|
||||
g_Vars.currentplayer->globaldrawworldbgoffset.z = g_Vars.currentplayer->globaldrawworldoffset.z;
|
||||
|
||||
currentPlayerSetLastRoomForOffset(room);
|
||||
roomSetLastForOffset(room);
|
||||
}
|
||||
|
||||
void playerSetGlobalDrawCameraOffset(void)
|
||||
@@ -4774,7 +4773,7 @@ void playerSetGlobalDrawCameraOffset(void)
|
||||
g_Vars.currentplayer->globaldrawcameraoffset.y = g_Vars.currentplayer->globaldrawworldoffset.y;
|
||||
g_Vars.currentplayer->globaldrawcameraoffset.z = g_Vars.currentplayer->globaldrawworldoffset.z;
|
||||
|
||||
mtx4RotateVecInPlace(currentPlayerGetMatrix1740(), &g_Vars.currentplayer->globaldrawcameraoffset);
|
||||
mtx4RotateVecInPlace(camGetMatrix1740(), &g_Vars.currentplayer->globaldrawcameraoffset);
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
@@ -4915,7 +4914,7 @@ glabel player0f0bfc7c
|
||||
/* f0bfe90: 00000000 */ nop
|
||||
/* f0bfe94: 0fc59e66 */ jal gfxAllocateMatrix
|
||||
/* f0bfe98: 00408825 */ or $s1,$v0,$zero
|
||||
/* f0bfe9c: 0fc2d5c6 */ jal currentPlayerGetUnk1754
|
||||
/* f0bfe9c: 0fc2d5c6 */ jal camGetUnk1754
|
||||
/* f0bfea0: 00408025 */ or $s0,$v0,$zero
|
||||
/* f0bfea4: 00402025 */ or $a0,$v0,$zero
|
||||
/* f0bfea8: 27a5008c */ addiu $a1,$sp,0x8c
|
||||
@@ -4953,12 +4952,12 @@ glabel player0f0bfc7c
|
||||
/* f0bff18: 24a50001 */ addiu $a1,$a1,0x1
|
||||
/* f0bff1c: 14a8ffed */ bne $a1,$t0,.L0f0bfed4
|
||||
/* f0bff20: 24c60010 */ addiu $a2,$a2,0x10
|
||||
/* f0bff24: 0fc2d3ee */ jal currentPlayerSetUnk006c
|
||||
/* f0bff24: 0fc2d3ee */ jal camSetUnk006c
|
||||
/* f0bff28: 02002025 */ or $a0,$s0,$zero
|
||||
/* f0bff2c: 02002025 */ or $a0,$s0,$zero
|
||||
/* f0bff30: 0c0128d8 */ jal guMtxF2L
|
||||
/* f0bff34: 02202825 */ or $a1,$s1,$zero
|
||||
/* f0bff38: 0fc2d3fe */ jal currentPlayerSetUnk1758
|
||||
/* f0bff38: 0fc2d3fe */ jal camSetUnk1758
|
||||
/* f0bff3c: 02202025 */ or $a0,$s1,$zero
|
||||
/* f0bff40: c7ac0070 */ lwc1 $f12,0x70($sp)
|
||||
/* f0bff44: 0c0057c1 */ jal mtx00015f04
|
||||
@@ -4972,20 +4971,20 @@ glabel player0f0bfc7c
|
||||
/* f0bff64: 0c005a08 */ jal mtx00016820
|
||||
/* f0bff68: 8c650060 */ lw $a1,0x60($v1)
|
||||
/* f0bff6c: 8e4e0284 */ lw $t6,0x284($s2)
|
||||
/* f0bff70: 0fc2d3e6 */ jal currentPlayerSetUnk173c
|
||||
/* f0bff70: 0fc2d3e6 */ jal camSetUnk173c
|
||||
/* f0bff74: 8dc4005c */ lw $a0,0x5c($t6)
|
||||
/* f0bff78: 8e4f0284 */ lw $t7,0x284($s2)
|
||||
/* f0bff7c: 0fc2d3de */ jal currentPlayerSetUnk1738
|
||||
/* f0bff7c: 0fc2d3de */ jal camSetUnk1738
|
||||
/* f0bff80: 8de40060 */ lw $a0,0x60($t7)
|
||||
/* f0bff84: 8e580284 */ lw $t8,0x284($s2)
|
||||
/* f0bff88: 0fc2d406 */ jal currentPlayerSetMatrix1740
|
||||
/* f0bff88: 0fc2d406 */ jal camSetMatrix1740
|
||||
/* f0bff8c: 8f040064 */ lw $a0,0x64($t8)
|
||||
/* f0bff90: 8e590284 */ lw $t9,0x284($s2)
|
||||
/* f0bff94: 0fc2d5d6 */ jal currentPlayerSetUnk174c
|
||||
/* f0bff94: 0fc2d5d6 */ jal camSetUnk174c
|
||||
/* f0bff98: 8f240068 */ lw $a0,0x68($t9)
|
||||
/* f0bff9c: 0fc2d5e6 */ jal currentPlayerSetUnk175c
|
||||
/* f0bff9c: 0fc2d5e6 */ jal camSetUnk175c
|
||||
/* f0bffa0: 8fa400cc */ lw $a0,0xcc($sp)
|
||||
/* f0bffa4: 0fc2d60e */ jal func0f0b5838
|
||||
/* f0bffa4: 0fc2d60e */ jal cam0f0b5838
|
||||
/* f0bffa8: 00000000 */ nop
|
||||
/* f0bffac: 0fc2ff07 */ jal playerSetGlobalDrawCameraOffset
|
||||
/* f0bffb0: 00000000 */ nop
|
||||
@@ -5054,7 +5053,7 @@ glabel player0f0bfc7c
|
||||
//
|
||||
// s1 = gfxAllocateMatrix();
|
||||
// s0 = gfxAllocateMatrix();
|
||||
// mtx4MultMtx4(currentPlayerGetUnk1754(), &sp8c, s0);
|
||||
// mtx4MultMtx4(camGetUnk1754(), &sp8c, s0);
|
||||
//
|
||||
// for (i = 0; i < 4; i++) {
|
||||
// for (j = 0; j < 4; j++) {
|
||||
@@ -5066,18 +5065,18 @@ glabel player0f0bfc7c
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// currentPlayerSetUnk006c(s0);
|
||||
// camSetUnk006c(s0);
|
||||
// guMtxF2L(s0, s1);
|
||||
// currentPlayerSetUnk1758(s1);
|
||||
// camSetUnk1758(s1);
|
||||
// mtx00015f04(scale, &sp8c);
|
||||
// guMtxF2L(&sp8c, g_Vars.currentplayer->matrix5c);
|
||||
// mtx00016820(g_Vars.currentplayer->matrix5c, g_Vars.currentplayer->matrix60);
|
||||
// currentPlayerSetUnk173c(g_Vars.currentplayer->matrix5c);
|
||||
// currentPlayerSetUnk1738(g_Vars.currentplayer->matrix60);
|
||||
// currentPlayerSetMatrix1740(g_Vars.currentplayer->matrix64);
|
||||
// currentPlayerSetUnk174c(g_Vars.currentplayer->matrix68);
|
||||
// currentPlayerSetUnk175c(spcc);
|
||||
// func0f0b5838();
|
||||
// camSetUnk173c(g_Vars.currentplayer->matrix5c);
|
||||
// camSetUnk1738(g_Vars.currentplayer->matrix60);
|
||||
// camSetMatrix1740(g_Vars.currentplayer->matrix64);
|
||||
// camSetUnk174c(g_Vars.currentplayer->matrix68);
|
||||
// camSetUnk175c(spcc);
|
||||
// cam0f0b5838();
|
||||
// playerSetGlobalDrawCameraOffset();
|
||||
//}
|
||||
|
||||
@@ -5165,13 +5164,13 @@ Gfx *playerRenderShield(Gfx *gdl)
|
||||
}
|
||||
|
||||
f20 = (sinf(g_Vars.currentplayer->shieldshowrot * (M_BADTAU / maxrotf)) + 1) * 0.5f;
|
||||
sp90[0] = currentPlayerGetScreenLeft() + currentPlayerGetScreenWidth() * f20;
|
||||
sp90[0] = camGetScreenLeft() + camGetScreenWidth() * f20;
|
||||
|
||||
f20 = (cosf(g_Vars.currentplayer->shieldshowrot * (M_BADTAU / maxrotf)) + 1) * 0.5f;
|
||||
sp90[1] = currentPlayerGetScreenTop() + currentPlayerGetScreenHeight() * f20;
|
||||
sp90[1] = camGetScreenTop() + camGetScreenHeight() * f20;
|
||||
|
||||
sp88[0] = currentPlayerGetScreenWidth() * (1.0f + 0.002f * ((g_Vars.currentplayer->shieldshowrnd >> 20) % 100) + (g_Vars.currentplayer->shieldshowtime * (0.2f + 0.002f * (g_Vars.currentplayer->shieldshowrnd % 100)) * (1.0f / 60.0f)));
|
||||
sp88[1] = currentPlayerGetScreenHeight() * (1.0f + 0.002f * ((g_Vars.currentplayer->shieldshowrnd >> 24) % 100) + (g_Vars.currentplayer->shieldshowtime * (0.2f + 0.002f * ((g_Vars.currentplayer->shieldshowrnd >> 8) % 100)) * (1.0f / 60.0f)));
|
||||
sp88[0] = camGetScreenWidth() * (1.0f + 0.002f * ((g_Vars.currentplayer->shieldshowrnd >> 20) % 100) + (g_Vars.currentplayer->shieldshowtime * (0.2f + 0.002f * (g_Vars.currentplayer->shieldshowrnd % 100)) * (1.0f / 60.0f)));
|
||||
sp88[1] = camGetScreenHeight() * (1.0f + 0.002f * ((g_Vars.currentplayer->shieldshowrnd >> 24) % 100) + (g_Vars.currentplayer->shieldshowtime * (0.2f + 0.002f * ((g_Vars.currentplayer->shieldshowrnd >> 8) % 100)) * (1.0f / 60.0f)));
|
||||
|
||||
chr0f0295f8(shield, &red, &green, &blue);
|
||||
|
||||
@@ -5210,7 +5209,7 @@ Gfx *playerRenderShield(Gfx *gdl)
|
||||
}
|
||||
|
||||
f20 = 1 - g_Vars.currentplayer->shieldshowtime * (1.0f / 60.0f);
|
||||
func0f0b39c0(&gdl, &g_TexShieldConfigs[0], 4, 1, 2, 1, NULL);
|
||||
tex0f0b39c0(&gdl, &g_TexShieldConfigs[0], 4, 1, 2, 1, NULL);
|
||||
|
||||
gDPSetCycleType(gdl++, G_CYC_2CYCLE);
|
||||
gDPSetRenderMode(gdl++, G_RM_PASS, G_RM_CLD_SURF2);
|
||||
@@ -5237,7 +5236,7 @@ Gfx *playerRenderShield(Gfx *gdl)
|
||||
Gfx *playerRenderHud(Gfx *gdl)
|
||||
{
|
||||
if (g_Vars.currentplayer->cameramode == CAMERAMODE_THIRDPERSON) {
|
||||
gdl = func0f0aeed8(gdl);
|
||||
gdl = boltbeamsRender(gdl);
|
||||
gdl = func0f15b114(gdl);
|
||||
gdl = hudmsgsRender(gdl);
|
||||
|
||||
@@ -5254,7 +5253,7 @@ Gfx *playerRenderHud(Gfx *gdl)
|
||||
|
||||
if (g_Vars.currentplayer->cameramode != CAMERAMODE_EYESPY) {
|
||||
bgun0f0a6c30();
|
||||
gdl = func0f0aeed8(gdl);
|
||||
gdl = boltbeamsRender(gdl);
|
||||
bgun0f0a7138(&gdl);
|
||||
gdl = lasersightRenderDot(gdl);
|
||||
|
||||
@@ -6098,7 +6097,7 @@ s32 playerTickThirdPerson(struct prop *prop)
|
||||
spe8 = player->model00d4->matrices;
|
||||
}
|
||||
|
||||
mtx00015be4(currentPlayerGetUnk174c(), spe8, &spa8);
|
||||
mtx00015be4(camGetUnk174c(), spe8, &spa8);
|
||||
|
||||
sp9c.x = spa8.m[3][0] + spa8.m[1][0] * 7;
|
||||
sp9c.y = spa8.m[3][1] + spa8.m[1][1] * 7;
|
||||
@@ -6518,7 +6517,7 @@ glabel player0f0c3320
|
||||
/* f0c3358: 00808025 */ or $s0,$a0,$zero
|
||||
/* f0c335c: 27b20040 */ addiu $s2,$sp,0x40
|
||||
.L0f0c3360:
|
||||
/* f0c3360: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f0c3360: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f0c3364: 00000000 */ nop
|
||||
/* f0c3368: 00402025 */ or $a0,$v0,$zero
|
||||
/* f0c336c: 02002825 */ or $a1,$s0,$zero
|
||||
@@ -6566,7 +6565,7 @@ glabel player0f0c3320
|
||||
// s32 i;
|
||||
//
|
||||
// for (i = 0; i < count; i++) {
|
||||
// mtx00015be4(currentPlayerGetUnk174c(), &matrices[i], &sp40);
|
||||
// mtx00015be4(camGetUnk174c(), &matrices[i], &sp40);
|
||||
//
|
||||
// sp40.m[3][0] -= g_Vars.currentplayer->globaldrawworldoffset.x;
|
||||
// sp40.m[3][1] -= g_Vars.currentplayer->globaldrawworldoffset.y;
|
||||
|
||||
@@ -6,9 +6,9 @@
|
||||
#include "game/inv.h"
|
||||
#include "game/playerreset.h"
|
||||
#include "game/chr.h"
|
||||
#include "game/game_02cde0.h"
|
||||
#include "game/body.h"
|
||||
#include "game/prop.h"
|
||||
#include "game/game_091e10.h"
|
||||
#include "game/setuputils.h"
|
||||
#include "game/bondgun.h"
|
||||
#include "game/player.h"
|
||||
#include "game/inv.h"
|
||||
@@ -366,13 +366,13 @@ bool weaponLoadProjectileModels(s32 weaponnum)
|
||||
struct weaponfunc_shootprojectile *func = (struct weaponfunc_shootprojectile *)genericfunc;
|
||||
|
||||
if (func->projectilemodelnum >= 0) {
|
||||
result |= modelLoad(func->projectilemodelnum);
|
||||
result |= setupLoadModeldef(func->projectilemodelnum);
|
||||
}
|
||||
} else if (genericfunc->type == INVENTORYFUNCTYPE_THROW) {
|
||||
struct weaponfunc_throw *func = (struct weaponfunc_throw *)genericfunc;
|
||||
|
||||
if (func->projectilemodelnum >= 0) {
|
||||
result |= modelLoad(func->projectilemodelnum);
|
||||
result |= setupLoadModeldef(func->projectilemodelnum);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -391,7 +391,7 @@ void playerInitEyespy(void)
|
||||
|
||||
if (g_Vars.currentplayer->eyespy == NULL) {
|
||||
/**
|
||||
* To create the eyespy's prop, a pad must be passed to propAllocateEyespy.
|
||||
* To create the eyespy's prop, a pad must be passed to bodyAllocateEyespy.
|
||||
* However the eyespy doesn't have a pad because it's held by the
|
||||
* player, so it needs to choose one from the stage. The method used
|
||||
* will increment the chosen pad number each time the stage is loaded
|
||||
@@ -402,7 +402,7 @@ void playerInitEyespy(void)
|
||||
* causing the mid cutscene to play instead of the intro.
|
||||
*/
|
||||
padUnpack(nextpad++, PADFIELD_ROOM | PADFIELD_POS, &pad);
|
||||
prop = propAllocateEyespy(&pad, pad.room);
|
||||
prop = bodyAllocateEyespy(&pad, pad.room);
|
||||
|
||||
if (prop) {
|
||||
g_Vars.currentplayer->eyespy = mempAlloc(sizeof(struct eyespy), MEMPOOL_STAGE);
|
||||
|
||||
@@ -8,18 +8,18 @@
|
||||
#include "game/nbomb.h"
|
||||
#include "game/title.h"
|
||||
#include "game/chr.h"
|
||||
#include "game/game_02cde0.h"
|
||||
#include "game/body.h"
|
||||
#include "game/prop.h"
|
||||
#include "game/propsnd.h"
|
||||
#include "game/objectives.h"
|
||||
#include "game/atan2f.h"
|
||||
#include "game/game_096ca0.h"
|
||||
#include "game/quaternion.h"
|
||||
#include "game/bondgun.h"
|
||||
#include "game/game_0abe70.h"
|
||||
#include "game/gunfx.h"
|
||||
#include "game/game_0b0fd0.h"
|
||||
#include "game/game_0b2150.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/game_0b63b0.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/portal.h"
|
||||
#include "game/healthbar.h"
|
||||
#include "game/hudmsg.h"
|
||||
#include "game/menu.h"
|
||||
@@ -32,8 +32,7 @@
|
||||
#include "game/game_1531a0.h"
|
||||
#include "game/bg.h"
|
||||
#include "game/stagetable.h"
|
||||
#include "game/game_165670.h"
|
||||
#include "game/game_1668e0.h"
|
||||
#include "game/room.h"
|
||||
#include "game/gfxmemory.h"
|
||||
#include "game/lv.h"
|
||||
#include "game/music.h"
|
||||
@@ -80,7 +79,7 @@ struct var8009dd78 var8009dd78[10];
|
||||
u16 *var8009ddc8;
|
||||
s32 var8009ddcc;
|
||||
|
||||
void func0f0b63b0(s32 portalnum, f32 frac)
|
||||
void portal0f0b63b0(s32 portalnum, f32 frac)
|
||||
{
|
||||
if (portalnum >= 0) {
|
||||
u8 value = (u32)(255 * frac);
|
||||
@@ -89,7 +88,7 @@ void func0f0b63b0(s32 portalnum, f32 frac)
|
||||
}
|
||||
}
|
||||
|
||||
void func0f0b6470(s32 portalnum, f32 frac)
|
||||
void portal0f0b6470(s32 portalnum, f32 frac)
|
||||
{
|
||||
if (portalnum >= 0) {
|
||||
u8 value = (u32)(15 * frac) & 0xf;
|
||||
@@ -97,21 +96,21 @@ void func0f0b6470(s32 portalnum, f32 frac)
|
||||
}
|
||||
}
|
||||
|
||||
f32 func0f0b6534(s32 arg0)
|
||||
f32 portal0f0b6534(s32 arg0)
|
||||
{
|
||||
f32 value = (var8009ddc8[arg0] & 0xff) * 0.0039215688593686f;
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
f32 func0f0b656c(s32 arg0)
|
||||
f32 portal0f0b656c(s32 arg0)
|
||||
{
|
||||
f32 value = ((var8009ddc8[arg0] & 0xf00) >> 8) * 0.06666667f;
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
void func0f0b65a8(s32 arg0)
|
||||
void portal0f0b65a8(s32 arg0)
|
||||
{
|
||||
if (arg0 > 0) {
|
||||
var8009ddcc = arg0;
|
||||
@@ -121,15 +120,15 @@ void func0f0b65a8(s32 arg0)
|
||||
}
|
||||
}
|
||||
|
||||
void func0f0b65f8(void)
|
||||
void portalsReset(void)
|
||||
{
|
||||
if (var8009ddc8) {
|
||||
struct prop *prop;
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < var8009ddcc; i++) {
|
||||
func0f0b6470(i, 1);
|
||||
func0f0b63b0(i, 1);
|
||||
portal0f0b6470(i, 1);
|
||||
portal0f0b63b0(i, 1);
|
||||
}
|
||||
|
||||
prop = g_Vars.activeprops;
|
||||
@@ -143,13 +142,13 @@ void func0f0b65f8(void)
|
||||
struct tintedglassobj *glass = (struct tintedglassobj *)obj;
|
||||
|
||||
if (glass->portalnum >= 0) {
|
||||
func0f0b6470(glass->portalnum, 0);
|
||||
portal0f0b6470(glass->portalnum, 0);
|
||||
}
|
||||
} else if (obj->type == OBJTYPE_GLASS) {
|
||||
struct glassobj *glass = (struct glassobj *)obj;
|
||||
|
||||
if (glass->portalnum >= 0) {
|
||||
func0f0b6470(glass->portalnum, 0);
|
||||
portal0f0b6470(glass->portalnum, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -159,8 +158,8 @@ void func0f0b65f8(void)
|
||||
}
|
||||
|
||||
for (i = 0; i < var8009ddcc; i++) {
|
||||
func0f0b656c(i);
|
||||
func0f0b6534(i);
|
||||
portal0f0b656c(i);
|
||||
portal0f0b6534(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
+39
-39
@@ -12,8 +12,8 @@
|
||||
#include "game/ceil.h"
|
||||
#include "game/bondgun.h"
|
||||
#include "game/game_0b0fd0.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/game_0b4950.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/camera.h"
|
||||
#include "game/player.h"
|
||||
#include "game/playermgr.h"
|
||||
#include "game/explosions.h"
|
||||
@@ -716,7 +716,7 @@ struct prop *shotCalculateHits(s32 handnum, bool arg1, struct coord *arg2, struc
|
||||
}
|
||||
|
||||
if (hitbg && shotdata.gset.weaponnum != WEAPON_FARSIGHT) {
|
||||
mtx4TransformVec(currentPlayerGetMatrix1740(), &sp694.unk00, &sp658);
|
||||
mtx4TransformVec(camGetMatrix1740(), &sp694.unk00, &sp658);
|
||||
|
||||
if (shotdata.unk34 > -sp658.z) {
|
||||
shotdata.unk34 = -sp658.z;
|
||||
@@ -986,8 +986,8 @@ struct prop *func0f061d54(s32 handnum, u32 arg1, u32 arg2)
|
||||
sp58.y -= 15 * (random() * (1.0f / U32_MAX));
|
||||
}
|
||||
|
||||
mtx4TransformVec(currentPlayerGetUnk174c(), &sp58, &sp40);
|
||||
mtx4RotateVec(currentPlayerGetUnk174c(), &sp64, &sp4c);
|
||||
mtx4TransformVec(camGetUnk174c(), &sp58, &sp40);
|
||||
mtx4RotateVec(camGetUnk174c(), &sp64, &sp4c);
|
||||
|
||||
shotCalculateHits(handnum, arg1, &sp58, &sp64, &sp40, &sp4c, 0, 4294836224, PLAYERCOUNT() >= 2);
|
||||
}
|
||||
@@ -1002,8 +1002,8 @@ void handCreateBulletRaycast(s32 handnum, bool arg1, bool dorandom, s32 arg3, bo
|
||||
bgunCalculateShotSpread(&sp38, &sp44, handnum, dorandom);
|
||||
|
||||
if (arg3 > 0) {
|
||||
mtx4TransformVec(currentPlayerGetUnk174c(), &sp38, &shootpos);
|
||||
mtx4RotateVec(currentPlayerGetUnk174c(), &sp44, &shootdir);
|
||||
mtx4TransformVec(camGetUnk174c(), &sp38, &shootpos);
|
||||
mtx4RotateVec(camGetUnk174c(), &sp44, &shootdir);
|
||||
|
||||
shotCalculateHits(handnum, arg1, &sp38, &sp44, &shootpos, &shootdir, 0, 4294836224, arg4);
|
||||
|
||||
@@ -1175,10 +1175,10 @@ void handInflictCloseRangeDamage(s32 handnum, struct gset *gset, bool arg2)
|
||||
|
||||
bgunGetCrossPos(&x, &y);
|
||||
|
||||
spfc[0] = (x - currentPlayerGetScreenLeft()) / (currentPlayerGetScreenWidth() * 0.5f) - 1.0f;
|
||||
spfc[1] = (y - currentPlayerGetScreenTop()) / (currentPlayerGetScreenHeight() * 0.5f) - 1.0f;
|
||||
spf4[0] = currentPlayerGetScreenHeight() * 0.16666667163372f;
|
||||
spf4[1] = currentPlayerGetScreenHeight() * 0.125f;
|
||||
spfc[0] = (x - camGetScreenLeft()) / (camGetScreenWidth() * 0.5f) - 1.0f;
|
||||
spfc[1] = (y - camGetScreenTop()) / (camGetScreenHeight() * 0.5f) - 1.0f;
|
||||
spf4[0] = camGetScreenHeight() * 0.16666667163372f;
|
||||
spf4[1] = camGetScreenHeight() * 0.125f;
|
||||
|
||||
if (isbreakableobj) {
|
||||
model = obj->model;
|
||||
@@ -1224,7 +1224,7 @@ void handInflictCloseRangeDamage(s32 handnum, struct gset *gset, bool arg2)
|
||||
if (!chrIsAvoiding(chr)) {
|
||||
bgunCalculateShotSpread(&spb8, &vector, handnum, true);
|
||||
skipthething = true;
|
||||
mtx4RotateVecInPlace(currentPlayerGetUnk174c(), &vector);
|
||||
mtx4RotateVecInPlace(camGetUnk174c(), &vector);
|
||||
bgunPlayPropHitSound(gset, prop, -1);
|
||||
|
||||
if (chr->model && chrGetShield(chr) > 0) {
|
||||
@@ -6307,38 +6307,38 @@ f32 func0f06438c(struct prop *prop, struct coord *arg1, f32 *arg2, f32 *arg3, f3
|
||||
}
|
||||
|
||||
if (sp50) {
|
||||
top = currentPlayerGetScreenTop();
|
||||
bottom = currentPlayerGetScreenTop() + currentPlayerGetScreenHeight();
|
||||
left = currentPlayerGetScreenLeft();
|
||||
right = currentPlayerGetScreenLeft() + currentPlayerGetScreenWidth();
|
||||
top = camGetScreenTop();
|
||||
bottom = camGetScreenTop() + camGetScreenHeight();
|
||||
left = camGetScreenLeft();
|
||||
right = camGetScreenLeft() + camGetScreenWidth();
|
||||
} else {
|
||||
top = currentPlayerGetScreenTop() + currentPlayerGetScreenHeight() * 0.175f;
|
||||
bottom = currentPlayerGetScreenTop() + currentPlayerGetScreenHeight() * 0.825f;
|
||||
left = currentPlayerGetScreenLeft() + currentPlayerGetScreenWidth() * 0.25f;
|
||||
right = currentPlayerGetScreenLeft() + currentPlayerGetScreenWidth() * 0.75f;
|
||||
top = camGetScreenTop() + camGetScreenHeight() * 0.175f;
|
||||
bottom = camGetScreenTop() + camGetScreenHeight() * 0.825f;
|
||||
left = camGetScreenLeft() + camGetScreenWidth() * 0.25f;
|
||||
right = camGetScreenLeft() + camGetScreenWidth() * 0.75f;
|
||||
}
|
||||
|
||||
if (arg1->z > -2.5f) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
func0f0b4d04(arg1, spa0);
|
||||
cam0f0b4d04(arg1, spa0);
|
||||
sp94.x = arg2[0];
|
||||
sp94.y = arg1->y;
|
||||
sp94.z = arg1->z;
|
||||
func0f0b4d04(&sp94, sp8c);
|
||||
cam0f0b4d04(&sp94, sp8c);
|
||||
sp94.x = arg2[1];
|
||||
sp94.y = arg1->y;
|
||||
sp94.z = arg1->z;
|
||||
func0f0b4d04(&sp94, sp84);
|
||||
cam0f0b4d04(&sp94, sp84);
|
||||
sp94.x = arg1->x;
|
||||
sp94.y = arg3[1];
|
||||
sp94.z = arg1->z;
|
||||
func0f0b4d04(&sp94, sp7c);
|
||||
cam0f0b4d04(&sp94, sp7c);
|
||||
sp94.x = arg1->x;
|
||||
sp94.y = arg3[0];
|
||||
sp94.z = arg1->z;
|
||||
func0f0b4d04(&sp94, sp74);
|
||||
cam0f0b4d04(&sp94, sp74);
|
||||
|
||||
if (sp74[1] >= top && bottom >= sp7c[1]) {
|
||||
sp4c = false;
|
||||
@@ -6354,8 +6354,8 @@ f32 func0f06438c(struct prop *prop, struct coord *arg1, f32 *arg2, f32 *arg3, f3
|
||||
sp48 = sp48 * g_AutoAimScale;
|
||||
}
|
||||
|
||||
sp4c = currentPlayerGetScreenLeft() + 0.5f * currentPlayerGetScreenWidth() >= (sp8c[0] + sp84[0]) * 0.5f - sp48
|
||||
&& currentPlayerGetScreenLeft() + 0.5f * currentPlayerGetScreenWidth() <= (sp8c[0] + sp84[0]) * 0.5f + sp48
|
||||
sp4c = camGetScreenLeft() + 0.5f * camGetScreenWidth() >= (sp8c[0] + sp84[0]) * 0.5f - sp48
|
||||
&& camGetScreenLeft() + 0.5f * camGetScreenWidth() <= (sp8c[0] + sp84[0]) * 0.5f + sp48
|
||||
&& left <= spa0[0]
|
||||
&& right >= spa0[0];
|
||||
}
|
||||
@@ -6397,13 +6397,13 @@ f32 func0f06438c(struct prop *prop, struct coord *arg1, f32 *arg2, f32 *arg3, f3
|
||||
arg4[0] = value;
|
||||
}
|
||||
|
||||
if (currentPlayerGetScreenLeft() + 0.5f * currentPlayerGetScreenWidth() >= sp8c[0]
|
||||
&& currentPlayerGetScreenLeft() + 0.5f * currentPlayerGetScreenWidth() <= sp84[0]) {
|
||||
if (camGetScreenLeft() + 0.5f * camGetScreenWidth() >= sp8c[0]
|
||||
&& camGetScreenLeft() + 0.5f * camGetScreenWidth() <= sp84[0]) {
|
||||
result = 1;
|
||||
} else if (currentPlayerGetScreenLeft() + 0.5f * currentPlayerGetScreenWidth() >= sp8c[0]) {
|
||||
result = 1 - ((currentPlayerGetScreenLeft() + 0.5f * currentPlayerGetScreenWidth()) - sp84[0]) / sp48;
|
||||
} else if (camGetScreenLeft() + 0.5f * camGetScreenWidth() >= sp8c[0]) {
|
||||
result = 1 - ((camGetScreenLeft() + 0.5f * camGetScreenWidth()) - sp84[0]) / sp48;
|
||||
} else {
|
||||
result = 1 - (sp8c[0] - (currentPlayerGetScreenLeft() + 0.5f * currentPlayerGetScreenWidth())) / sp48;
|
||||
result = 1 - (sp8c[0] - (camGetScreenLeft() + 0.5f * camGetScreenWidth())) / sp48;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6504,10 +6504,10 @@ void autoaimTick(void)
|
||||
&& (threat->x1 >= 0 || threat->x2 >= 0)
|
||||
&& (threat->y1 >= 0 || threat->y2 >= 0)) {
|
||||
// Define the aim limits
|
||||
f32 top = currentPlayerGetScreenTop() + currentPlayerGetScreenHeight() * 0.125f;
|
||||
f32 bottom = currentPlayerGetScreenTop() + currentPlayerGetScreenHeight() * 0.875f;
|
||||
f32 left = currentPlayerGetScreenLeft() + currentPlayerGetScreenWidth() * 0.125f;
|
||||
f32 right = currentPlayerGetScreenLeft() + currentPlayerGetScreenWidth() * 0.875f;
|
||||
f32 top = camGetScreenTop() + camGetScreenHeight() * 0.125f;
|
||||
f32 bottom = camGetScreenTop() + camGetScreenHeight() * 0.875f;
|
||||
f32 left = camGetScreenLeft() + camGetScreenWidth() * 0.125f;
|
||||
f32 right = camGetScreenLeft() + camGetScreenWidth() * 0.875f;
|
||||
struct chrdata *chr = NULL;
|
||||
|
||||
bestprop = threat->prop;
|
||||
@@ -6528,7 +6528,7 @@ void autoaimTick(void)
|
||||
if (spac.z < 0) {
|
||||
spac.x = mtx->m[3][0];
|
||||
spac.y = mtx->m[3][1];
|
||||
func0f0b4d04(&spac, aimpos);
|
||||
cam0f0b4d04(&spac, aimpos);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -6633,11 +6633,11 @@ void autoaimTick(void)
|
||||
|
||||
if (bestprop) {
|
||||
if (bmoveIsAutoAimYEnabledForCurrentWeapon() || iscmpsec) {
|
||||
bmoveUpdateAutoAimYProp(bestprop, (aimpos[1] - currentPlayerGetScreenTop()) / (currentPlayerGetScreenHeight() * 0.5f) - 1);
|
||||
bmoveUpdateAutoAimYProp(bestprop, (aimpos[1] - camGetScreenTop()) / (camGetScreenHeight() * 0.5f) - 1);
|
||||
}
|
||||
|
||||
if (bmoveIsAutoAimXEnabledForCurrentWeapon() || iscmpsec) {
|
||||
bmoveUpdateAutoAimXProp(bestprop, (aimpos[0] - currentPlayerGetScreenLeft()) / (currentPlayerGetScreenWidth() * 0.5f) - 1);
|
||||
bmoveUpdateAutoAimXProp(bestprop, (aimpos[0] - camGetScreenLeft()) / (camGetScreenWidth() * 0.5f) - 1);
|
||||
}
|
||||
|
||||
if (cangangsta) {
|
||||
|
||||
+99
-100
@@ -11,22 +11,22 @@
|
||||
#include "game/playerreset.h"
|
||||
#include "game/chr.h"
|
||||
#include "game/prop.h"
|
||||
#include "game/game_091e10.h"
|
||||
#include "game/setuputils.h"
|
||||
#include "game/propsnd.h"
|
||||
#include "game/objectives.h"
|
||||
#include "game/game_096360.h"
|
||||
#include "game/atan2f.h"
|
||||
#include "game/acosfasinf.h"
|
||||
#include "game/game_096ca0.h"
|
||||
#include "game/quaternion.h"
|
||||
#include "game/floor.h"
|
||||
#include "game/ceil.h"
|
||||
#include "game/bondgun.h"
|
||||
#include "game/game_0abe70.h"
|
||||
#include "game/gunfx.h"
|
||||
#include "game/game_0b0fd0.h"
|
||||
#include "game/game_0b28d0.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/game_0b4950.h"
|
||||
#include "game/game_0b63b0.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/camera.h"
|
||||
#include "game/portal.h"
|
||||
#include "game/player.h"
|
||||
#include "game/game_0c33f0.h"
|
||||
#include "game/hudmsg.h"
|
||||
@@ -41,7 +41,6 @@
|
||||
#include "game/game_1531a0.h"
|
||||
#include "game/bg.h"
|
||||
#include "game/stagetable.h"
|
||||
#include "game/game_165670.h"
|
||||
#include "game/env.h"
|
||||
#include "game/gfxmemory.h"
|
||||
#include "game/lv.h"
|
||||
@@ -2154,7 +2153,7 @@ glabel func0f06803c
|
||||
/* f0680d4: 27a50044 */ addiu $a1,$sp,0x44
|
||||
/* f0680d8: e7a60050 */ swc1 $f6,0x50($sp)
|
||||
/* f0680dc: c6080008 */ lwc1 $f8,0x8($s0)
|
||||
/* f0680e0: 0fc2d3ae */ jal func0f0b4eb8
|
||||
/* f0680e0: 0fc2d3ae */ jal cam0f0b4eb8
|
||||
/* f0680e4: e7a80054 */ swc1 $f8,0x54($sp)
|
||||
/* f0680e8: c7aa0044 */ lwc1 $f10,0x44($sp)
|
||||
/* f0680ec: 8fab0064 */ lw $t3,0x64($sp)
|
||||
@@ -2169,7 +2168,7 @@ glabel func0f06803c
|
||||
/* f068110: c6120004 */ lwc1 $f18,0x4($s0)
|
||||
/* f068114: e7b20050 */ swc1 $f18,0x50($sp)
|
||||
/* f068118: c6040008 */ lwc1 $f4,0x8($s0)
|
||||
/* f06811c: 0fc2d3ae */ jal func0f0b4eb8
|
||||
/* f06811c: 0fc2d3ae */ jal cam0f0b4eb8
|
||||
/* f068120: e7a40054 */ swc1 $f4,0x54($sp)
|
||||
/* f068124: c7a60044 */ lwc1 $f6,0x44($sp)
|
||||
/* f068128: 8fad0068 */ lw $t5,0x68($sp)
|
||||
@@ -2184,7 +2183,7 @@ glabel func0f06803c
|
||||
/* f06814c: 27a50044 */ addiu $a1,$sp,0x44
|
||||
/* f068150: e7aa0050 */ swc1 $f10,0x50($sp)
|
||||
/* f068154: c6100008 */ lwc1 $f16,0x8($s0)
|
||||
/* f068158: 0fc2d3ae */ jal func0f0b4eb8
|
||||
/* f068158: 0fc2d3ae */ jal cam0f0b4eb8
|
||||
/* f06815c: e7b00054 */ swc1 $f16,0x54($sp)
|
||||
/* f068160: c7b20048 */ lwc1 $f18,0x48($sp)
|
||||
/* f068164: 8fae0064 */ lw $t6,0x64($sp)
|
||||
@@ -2199,7 +2198,7 @@ glabel func0f06803c
|
||||
/* f068188: 27a50044 */ addiu $a1,$sp,0x44
|
||||
/* f06818c: e7a60050 */ swc1 $f6,0x50($sp)
|
||||
/* f068190: c6080008 */ lwc1 $f8,0x8($s0)
|
||||
/* f068194: 0fc2d3ae */ jal func0f0b4eb8
|
||||
/* f068194: 0fc2d3ae */ jal cam0f0b4eb8
|
||||
/* f068198: e7a80054 */ swc1 $f8,0x54($sp)
|
||||
/* f06819c: c7aa0048 */ lwc1 $f10,0x48($sp)
|
||||
/* f0681a0: 8fb90068 */ lw $t9,0x68($sp)
|
||||
@@ -4823,7 +4822,7 @@ void func0f069c70(struct defaultobj *obj, bool arg1, bool arg2)
|
||||
}
|
||||
|
||||
if (arg2) {
|
||||
func0f0923d4(obj);
|
||||
setup0f0923d4(obj);
|
||||
}
|
||||
|
||||
prop = obj->prop;
|
||||
@@ -6658,7 +6657,7 @@ void objFree(struct defaultobj *obj, bool freeprop, bool canregen)
|
||||
}
|
||||
|
||||
if (weapon->weaponnum == WEAPON_BOLT) {
|
||||
s32 value = func0f0aec54(obj->prop);
|
||||
s32 value = boltbeamFindByProp(obj->prop);
|
||||
|
||||
if (value != -1) {
|
||||
func0f0aeea8(value, 1400);
|
||||
@@ -6681,7 +6680,7 @@ void objFree(struct defaultobj *obj, bool freeprop, bool canregen)
|
||||
struct tintedglassobj *glass = (struct tintedglassobj *) obj;
|
||||
|
||||
if (glass->portalnum >= 0) {
|
||||
func0f0b6470(glass->portalnum, 1);
|
||||
portal0f0b6470(glass->portalnum, 1);
|
||||
portalSetEnabled(glass->portalnum, true);
|
||||
g_BgPortals[glass->portalnum].flags |= PORTALFLAG_04;
|
||||
}
|
||||
@@ -6689,7 +6688,7 @@ void objFree(struct defaultobj *obj, bool freeprop, bool canregen)
|
||||
struct glassobj *glass = (struct glassobj *) obj;
|
||||
|
||||
if (glass->portalnum >= 0) {
|
||||
func0f0b6470(glass->portalnum, 1);
|
||||
portal0f0b6470(glass->portalnum, 1);
|
||||
}
|
||||
} else if (obj->type == OBJTYPE_DOOR) {
|
||||
struct doorobj *door = (struct doorobj *) obj;
|
||||
@@ -7398,13 +7397,13 @@ glabel func0f06b610
|
||||
/* f06b818: 0c0056c5 */ jal mtx4RotateVec
|
||||
/* f06b81c: 01d82021 */ addu $a0,$t6,$t8
|
||||
/* f06b820: c7a00108 */ lwc1 $f0,0x108($sp)
|
||||
/* f06b824: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f06b824: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f06b828: e6e00000 */ swc1 $f0,0x0($s7)
|
||||
/* f06b82c: 00402025 */ or $a0,$v0,$zero
|
||||
/* f06b830: 27a500fc */ addiu $a1,$sp,0xfc
|
||||
/* f06b834: 0c0056da */ jal mtx4TransformVec
|
||||
/* f06b838: 8fa6014c */ lw $a2,0x14c($sp)
|
||||
/* f06b83c: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f06b83c: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f06b840: 00000000 */ nop
|
||||
/* f06b844: 00402025 */ or $a0,$v0,$zero
|
||||
/* f06b848: 27a500f0 */ addiu $a1,$sp,0xf0
|
||||
@@ -7628,7 +7627,7 @@ glabel func0f06b610
|
||||
/* f06bb78: 0c0056c5 */ jal mtx4RotateVec
|
||||
/* f06bb7c: 03292021 */ addu $a0,$t9,$t1
|
||||
/* f06bb80: c7b20118 */ lwc1 $f18,0x118($sp)
|
||||
/* f06bb84: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f06bb84: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f06bb88: e6f20000 */ swc1 $f18,0x0($s7)
|
||||
/* f06bb8c: 00402025 */ or $a0,$v0,$zero
|
||||
/* f06bb90: 27a500fc */ addiu $a1,$sp,0xfc
|
||||
@@ -7657,7 +7656,7 @@ glabel func0f06b610
|
||||
/* f06bbec: e7aa00f4 */ swc1 $f10,0xf4($sp)
|
||||
/* f06bbf0: e7a800f8 */ swc1 $f8,0xf8($sp)
|
||||
.L0f06bbf4:
|
||||
/* f06bbf4: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f06bbf4: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f06bbf8: 00000000 */ nop
|
||||
/* f06bbfc: 8fb00150 */ lw $s0,0x150($sp)
|
||||
/* f06bc00: 00402025 */ or $a0,$v0,$zero
|
||||
@@ -8333,13 +8332,13 @@ glabel func0f06c28c
|
||||
/* f06c508: 0c0056c5 */ jal mtx4RotateVec
|
||||
/* f06c50c: 01af2021 */ addu $a0,$t5,$t7
|
||||
/* f06c510: c7a800ec */ lwc1 $f8,0xec($sp)
|
||||
/* f06c514: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f06c514: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f06c518: e7c80000 */ swc1 $f8,0x0($s8)
|
||||
/* f06c51c: 00402025 */ or $a0,$v0,$zero
|
||||
/* f06c520: 02a02825 */ or $a1,$s5,$zero
|
||||
/* f06c524: 0c0056da */ jal mtx4TransformVec
|
||||
/* f06c528: 8fa6010c */ lw $a2,0x10c($sp)
|
||||
/* f06c52c: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f06c52c: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f06c530: 00000000 */ nop
|
||||
/* f06c534: 00402025 */ or $a0,$v0,$zero
|
||||
/* f06c538: 02c02825 */ or $a1,$s6,$zero
|
||||
@@ -8448,13 +8447,13 @@ glabel func0f06c28c
|
||||
/* f06c6b4: 00000000 */ nop
|
||||
/* f06c6b8: 45000034 */ bc1f .L0f06c78c
|
||||
/* f06c6bc: 00000000 */ nop
|
||||
/* f06c6c0: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f06c6c0: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f06c6c4: e7c40000 */ swc1 $f4,0x0($s8)
|
||||
/* f06c6c8: 00402025 */ or $a0,$v0,$zero
|
||||
/* f06c6cc: 02e02825 */ or $a1,$s7,$zero
|
||||
/* f06c6d0: 0c0056da */ jal mtx4TransformVec
|
||||
/* f06c6d4: 8fa6010c */ lw $a2,0x10c($sp)
|
||||
/* f06c6d8: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f06c6d8: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f06c6dc: 00000000 */ nop
|
||||
/* f06c6e0: 8fb10110 */ lw $s1,0x110($sp)
|
||||
/* f06c6e4: 00402025 */ or $a0,$v0,$zero
|
||||
@@ -8653,7 +8652,7 @@ glabel func0f06c8ac
|
||||
/* f06c9a8: c6880004 */ lwc1 $f8,0x4($s4)
|
||||
/* f06c9ac: e7a8008c */ swc1 $f8,0x8c($sp)
|
||||
/* f06c9b0: c68a0008 */ lwc1 $f10,0x8($s4)
|
||||
/* f06c9b4: 0fc2d5be */ jal currentPlayerGetMatrix1740
|
||||
/* f06c9b4: 0fc2d5be */ jal camGetMatrix1740
|
||||
/* f06c9b8: e7aa0090 */ swc1 $f10,0x90($sp)
|
||||
/* f06c9bc: 00402025 */ or $a0,$v0,$zero
|
||||
/* f06c9c0: 0c0056d9 */ jal mtx4TransformVecInPlace
|
||||
@@ -8663,7 +8662,7 @@ glabel func0f06c8ac
|
||||
/* f06c9d0: c7b000a0 */ lwc1 $f16,0xa0($sp)
|
||||
/* f06c9d4: e7a6007c */ swc1 $f6,0x7c($sp)
|
||||
/* f06c9d8: e7b20080 */ swc1 $f18,0x80($sp)
|
||||
/* f06c9dc: 0fc2d5be */ jal currentPlayerGetMatrix1740
|
||||
/* f06c9dc: 0fc2d5be */ jal camGetMatrix1740
|
||||
/* f06c9e0: e7b00084 */ swc1 $f16,0x84($sp)
|
||||
/* f06c9e4: 00402025 */ or $a0,$v0,$zero
|
||||
/* f06c9e8: 0c0056c4 */ jal mtx4RotateVecInPlace
|
||||
@@ -10744,7 +10743,7 @@ glabel var7f1aa26c
|
||||
/* f06d478: 8fa400a8 */ lw $a0,0xa8($sp)
|
||||
/* f06d47c: 27a50080 */ addiu $a1,$sp,0x80
|
||||
/* f06d480: 2486001c */ addiu $a2,$a0,0x1c
|
||||
/* f06d484: 0fc248cf */ jal func0f09233c
|
||||
/* f06d484: 0fc248cf */ jal setup0f09233c
|
||||
/* f06d488: 27a70070 */ addiu $a3,$sp,0x70
|
||||
/* f06d48c: 44800000 */ mtc1 $zero,$f0
|
||||
/* f06d490: 2409003f */ addiu $t1,$zero,0x3f
|
||||
@@ -10996,7 +10995,7 @@ glabel var7f1aa26c
|
||||
/* f06d810: 8fa400a8 */ lw $a0,0xa8($sp)
|
||||
/* f06d814: 02202825 */ or $a1,$s1,$zero
|
||||
/* f06d818: 2486001c */ addiu $a2,$a0,0x1c
|
||||
/* f06d81c: 0fc248cf */ jal func0f09233c
|
||||
/* f06d81c: 0fc248cf */ jal setup0f09233c
|
||||
/* f06d820: 27a70070 */ addiu $a3,$sp,0x70
|
||||
/* f06d824: 44808000 */ mtc1 $zero,$f16
|
||||
/* f06d828: 44809000 */ mtc1 $zero,$f18
|
||||
@@ -11135,7 +11134,7 @@ glabel var7f1aa26c
|
||||
/* f06d650: 8fa400a8 */ lw $a0,0xa8($sp)
|
||||
/* f06d654: 27a50080 */ addiu $a1,$sp,0x80
|
||||
/* f06d658: 2486001c */ addiu $a2,$a0,0x1c
|
||||
/* f06d65c: 0fc24863 */ jal func0f09233c
|
||||
/* f06d65c: 0fc24863 */ jal setup0f09233c
|
||||
/* f06d660: 27a70070 */ addiu $a3,$sp,0x70
|
||||
/* f06d664: 44800000 */ mtc1 $zero,$f0
|
||||
/* f06d668: 2409003f */ li $t1,0x3f
|
||||
@@ -11387,7 +11386,7 @@ glabel var7f1aa26c
|
||||
/* f06d9e8: 8fa400a8 */ lw $a0,0xa8($sp)
|
||||
/* f06d9ec: 02202825 */ move $a1,$s1
|
||||
/* f06d9f0: 2486001c */ addiu $a2,$a0,0x1c
|
||||
/* f06d9f4: 0fc24863 */ jal func0f09233c
|
||||
/* f06d9f4: 0fc24863 */ jal setup0f09233c
|
||||
/* f06d9f8: 27a70070 */ addiu $a3,$sp,0x70
|
||||
/* f06d9fc: 44808000 */ mtc1 $zero,$f16
|
||||
/* f06da00: 44809000 */ mtc1 $zero,$f18
|
||||
@@ -11526,7 +11525,7 @@ glabel var7f1aa26c
|
||||
/* f06d478: 8fa400a8 */ lw $a0,0xa8($sp)
|
||||
/* f06d47c: 27a50080 */ addiu $a1,$sp,0x80
|
||||
/* f06d480: 2486001c */ addiu $a2,$a0,0x1c
|
||||
/* f06d484: 0fc248cf */ jal func0f09233c
|
||||
/* f06d484: 0fc248cf */ jal setup0f09233c
|
||||
/* f06d488: 27a70070 */ addiu $a3,$sp,0x70
|
||||
/* f06d48c: 44800000 */ mtc1 $zero,$f0
|
||||
/* f06d490: 2409003f */ addiu $t1,$zero,0x3f
|
||||
@@ -11778,7 +11777,7 @@ glabel var7f1aa26c
|
||||
/* f06d810: 8fa400a8 */ lw $a0,0xa8($sp)
|
||||
/* f06d814: 02202825 */ or $a1,$s1,$zero
|
||||
/* f06d818: 2486001c */ addiu $a2,$a0,0x1c
|
||||
/* f06d81c: 0fc248cf */ jal func0f09233c
|
||||
/* f06d81c: 0fc248cf */ jal setup0f09233c
|
||||
/* f06d820: 27a70070 */ addiu $a3,$sp,0x70
|
||||
/* f06d824: 44808000 */ mtc1 $zero,$f16
|
||||
/* f06d828: 44809000 */ mtc1 $zero,$f18
|
||||
@@ -11917,7 +11916,7 @@ glabel var7f1aa26c
|
||||
/* f06d478: 8fa400a8 */ lw $a0,0xa8($sp)
|
||||
/* f06d47c: 27a50080 */ addiu $a1,$sp,0x80
|
||||
/* f06d480: 2486001c */ addiu $a2,$a0,0x1c
|
||||
/* f06d484: 0fc248cf */ jal func0f09233c
|
||||
/* f06d484: 0fc248cf */ jal setup0f09233c
|
||||
/* f06d488: 27a70070 */ addiu $a3,$sp,0x70
|
||||
/* f06d48c: 44800000 */ mtc1 $zero,$f0
|
||||
/* f06d490: 2409003f */ addiu $t1,$zero,0x3f
|
||||
@@ -12169,7 +12168,7 @@ glabel var7f1aa26c
|
||||
/* f06d810: 8fa400a8 */ lw $a0,0xa8($sp)
|
||||
/* f06d814: 02202825 */ or $a1,$s1,$zero
|
||||
/* f06d818: 2486001c */ addiu $a2,$a0,0x1c
|
||||
/* f06d81c: 0fc248cf */ jal func0f09233c
|
||||
/* f06d81c: 0fc248cf */ jal setup0f09233c
|
||||
/* f06d820: 27a70070 */ addiu $a3,$sp,0x70
|
||||
/* f06d824: 44808000 */ mtc1 $zero,$f16
|
||||
/* f06d828: 44809000 */ mtc1 $zero,$f18
|
||||
@@ -13735,7 +13734,7 @@ glabel func0f06ec20
|
||||
/* f06ed14: 27a60058 */ addiu $a2,$sp,0x58
|
||||
/* f06ed18: 0fc1a960 */ jal func0f06a580
|
||||
/* f06ed1c: 27a7002c */ addiu $a3,$sp,0x2c
|
||||
/* f06ed20: 0fc2bb15 */ jal func0f0aec54
|
||||
/* f06ed20: 0fc2bb15 */ jal boltbeamFindByProp
|
||||
/* f06ed24: 8fa4003c */ lw $a0,0x3c($sp)
|
||||
/* f06ed28: 2401ffff */ addiu $at,$zero,-1
|
||||
/* f06ed2c: 10410008 */ beq $v0,$at,.L0f06ed50
|
||||
@@ -13965,7 +13964,7 @@ glabel func0f06ef44
|
||||
/* f06f03c: 27a40034 */ addiu $a0,$sp,0x34
|
||||
/* f06f040: 0c0056f9 */ jal mtx00015be4
|
||||
/* f06f044: 27a50074 */ addiu $a1,$sp,0x74
|
||||
/* f06f048: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f06f048: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f06f04c: 00000000 */ nop
|
||||
/* f06f050: 00402025 */ or $a0,$v0,$zero
|
||||
/* f06f054: 8fa50024 */ lw $a1,0x24($sp)
|
||||
@@ -14363,7 +14362,7 @@ bool propExplode(struct prop *prop, s32 exptype)
|
||||
pos.y = mtx->m[3][1];
|
||||
pos.z = mtx->m[3][2];
|
||||
|
||||
mtx4TransformVecInPlace(currentPlayerGetUnk174c(), &pos);
|
||||
mtx4TransformVecInPlace(camGetUnk174c(), &pos);
|
||||
} else {
|
||||
pos.x = parent->pos.x;
|
||||
pos.y = parent->pos.y;
|
||||
@@ -15452,7 +15451,7 @@ glabel var7f1aa2c4
|
||||
/* f0703f0: 3c0d800a */ lui $t5,%hi(g_Vars)
|
||||
/* f0703f4: 8e030048 */ lw $v1,0x48($s0)
|
||||
/* f0703f8: 8fa401b0 */ lw $a0,0x1b0($sp)
|
||||
/* f0703fc: 0fc2bb15 */ jal func0f0aec54
|
||||
/* f0703fc: 0fc2bb15 */ jal boltbeamFindByProp
|
||||
/* f070400: afa3005c */ sw $v1,0x5c($sp)
|
||||
/* f070404: 2401ffff */ addiu $at,$zero,-1
|
||||
/* f070408: 8fa3005c */ lw $v1,0x5c($sp)
|
||||
@@ -16661,7 +16660,7 @@ glabel var7f1aa2c4
|
||||
/* f0703f0: 3c0d800a */ lui $t5,%hi(g_Vars)
|
||||
/* f0703f4: 8e030048 */ lw $v1,0x48($s0)
|
||||
/* f0703f8: 8fa401b0 */ lw $a0,0x1b0($sp)
|
||||
/* f0703fc: 0fc2bb15 */ jal func0f0aec54
|
||||
/* f0703fc: 0fc2bb15 */ jal boltbeamFindByProp
|
||||
/* f070400: afa3005c */ sw $v1,0x5c($sp)
|
||||
/* f070404: 2401ffff */ addiu $at,$zero,-1
|
||||
/* f070408: 8fa3005c */ lw $v1,0x5c($sp)
|
||||
@@ -17596,7 +17595,7 @@ glabel var7f1aa2c4
|
||||
/* f06f2c0: 8f230048 */ lw $v1,0x48($t9)
|
||||
/* f06f2c4: afa70170 */ sw $a3,0x170($sp)
|
||||
/* f06f2c8: 8fa40178 */ lw $a0,0x178($sp)
|
||||
/* f06f2cc: 0fc2b26d */ jal func0f0aec54
|
||||
/* f06f2cc: 0fc2b26d */ jal boltbeamFindByProp
|
||||
/* f06f2d0: afa30034 */ sw $v1,0x34($sp)
|
||||
/* f06f2d4: 2401ffff */ addiu $at,$zero,-1
|
||||
/* f06f2d8: 8fa30034 */ lw $v1,0x34($sp)
|
||||
@@ -18058,7 +18057,7 @@ glabel var7f1aa2c4
|
||||
//
|
||||
// if (weapon->timer240 < 0) {
|
||||
// struct projectile *projectile = obj->projectile;
|
||||
// s32 value = func0f0aec54(prop);
|
||||
// s32 value = boltbeamFindByProp(prop);
|
||||
//
|
||||
// if (value != -1) {
|
||||
// func0f0aed70(value, &prop->pos);
|
||||
@@ -18921,7 +18920,7 @@ void hovUpdateGround(struct defaultobj *obj, struct hov *hov, struct coord *pos,
|
||||
testpos.z = pos->z;
|
||||
|
||||
roomsCopy(rooms, testrooms);
|
||||
func0f09233c(obj, &testpos, matrix, testrooms);
|
||||
setup0f09233c(obj, &testpos, matrix, testrooms);
|
||||
|
||||
ground = cdFindGroundYSimple(pos, 5, testrooms, &obj->floorcol, NULL);
|
||||
|
||||
@@ -19117,7 +19116,7 @@ glabel var7f1ab5c0pf
|
||||
/* f071944: 02202025 */ move $a0,$s1
|
||||
/* f071948: 27a50090 */ addiu $a1,$sp,0x90
|
||||
/* f07194c: 8fa6005c */ lw $a2,0x5c($sp)
|
||||
/* f071950: 0fc2488f */ jal func0f09233c
|
||||
/* f071950: 0fc2488f */ jal setup0f09233c
|
||||
/* f071954: 27a7009c */ addiu $a3,$sp,0x9c
|
||||
/* f071958: 8fa40064 */ lw $a0,0x64($sp)
|
||||
/* f07195c: 8fa50060 */ lw $a1,0x60($sp)
|
||||
@@ -19982,7 +19981,7 @@ glabel var7f1ab5c0pf
|
||||
/* f071894: 02202025 */ move $a0,$s1
|
||||
/* f071898: 27a50090 */ addiu $a1,$sp,0x90
|
||||
/* f07189c: 8fa6005c */ lw $a2,0x5c($sp)
|
||||
/* f0718a0: 0fc24863 */ jal func0f09233c
|
||||
/* f0718a0: 0fc24863 */ jal setup0f09233c
|
||||
/* f0718a4: 27a7009c */ addiu $a3,$sp,0x9c
|
||||
/* f0718a8: 8fa40064 */ lw $a0,0x64($sp)
|
||||
/* f0718ac: 8fa50060 */ lw $a1,0x60($sp)
|
||||
@@ -20843,7 +20842,7 @@ glabel var7f1aa314
|
||||
/* f0716bc: 02202025 */ or $a0,$s1,$zero
|
||||
/* f0716c0: 27a50090 */ addiu $a1,$sp,0x90
|
||||
/* f0716c4: 8fa6005c */ lw $a2,0x5c($sp)
|
||||
/* f0716c8: 0fc248cf */ jal func0f09233c
|
||||
/* f0716c8: 0fc248cf */ jal setup0f09233c
|
||||
/* f0716cc: 27a7009c */ addiu $a3,$sp,0x9c
|
||||
/* f0716d0: 8fa40064 */ lw $a0,0x64($sp)
|
||||
/* f0716d4: 8fa50060 */ lw $a1,0x60($sp)
|
||||
@@ -21712,7 +21711,7 @@ glabel var7f1aa31c
|
||||
/* f072354: 02002025 */ or $a0,$s0,$zero
|
||||
/* f072358: 27a50450 */ addiu $a1,$sp,0x450
|
||||
/* f07235c: 27a60460 */ addiu $a2,$sp,0x460
|
||||
/* f072360: 0fc248cf */ jal func0f09233c
|
||||
/* f072360: 0fc248cf */ jal setup0f09233c
|
||||
/* f072364: 27a70440 */ addiu $a3,$sp,0x440
|
||||
/* f072368: 92020003 */ lbu $v0,0x3($s0)
|
||||
/* f07236c: 24010033 */ addiu $at,$zero,0x33
|
||||
@@ -21784,7 +21783,7 @@ glabel var7f1aa31c
|
||||
/* f072460: 02002025 */ or $a0,$s0,$zero
|
||||
/* f072464: 27a50450 */ addiu $a1,$sp,0x450
|
||||
/* f072468: 27a60460 */ addiu $a2,$sp,0x460
|
||||
/* f07246c: 0fc248cf */ jal func0f09233c
|
||||
/* f07246c: 0fc248cf */ jal setup0f09233c
|
||||
/* f072470: 27a70440 */ addiu $a3,$sp,0x440
|
||||
.L0f072474:
|
||||
/* f072474: 8fb90484 */ lw $t9,0x484($sp)
|
||||
@@ -28513,7 +28512,7 @@ glabel var7f1ab110jf
|
||||
/* f076a04: 8ca5d534 */ lw $a1,-0x2acc($a1)
|
||||
/* f076a08: 0c00695b */ jal model0001a5cc
|
||||
/* f076a0c: 00003025 */ move $a2,$zero
|
||||
/* f076a10: 0fc2d9de */ jal currentPlayerGetMatrix1740
|
||||
/* f076a10: 0fc2d9de */ jal camGetMatrix1740
|
||||
/* f076a14: afa20184 */ sw $v0,0x184($sp)
|
||||
/* f076a18: 00402025 */ move $a0,$v0
|
||||
/* f076a1c: 27a505e8 */ addiu $a1,$sp,0x5e8
|
||||
@@ -32052,7 +32051,7 @@ glabel var7f1ab6dcpf
|
||||
/* f075b64: 8ca5d3d4 */ lw $a1,-0x2c2c($a1)
|
||||
/* f075b68: 0c0068d7 */ jal model0001a5cc
|
||||
/* f075b6c: 00003025 */ move $a2,$zero
|
||||
/* f075b70: 0fc2d706 */ jal currentPlayerGetMatrix1740
|
||||
/* f075b70: 0fc2d706 */ jal camGetMatrix1740
|
||||
/* f075b74: afa20184 */ sw $v0,0x184($sp)
|
||||
/* f075b78: 00402025 */ move $a0,$v0
|
||||
/* f075b7c: 27a505e8 */ addiu $a1,$sp,0x5e8
|
||||
@@ -35597,7 +35596,7 @@ glabel var7f1ab6dcpf
|
||||
/* f075ab4: 8ca51394 */ lw $a1,0x1394($a1)
|
||||
/* f075ab8: 0c006c07 */ jal model0001a5cc
|
||||
/* f075abc: 00003025 */ move $a2,$zero
|
||||
/* f075ac0: 0fc2d6c2 */ jal currentPlayerGetMatrix1740
|
||||
/* f075ac0: 0fc2d6c2 */ jal camGetMatrix1740
|
||||
/* f075ac4: afa20184 */ sw $v0,0x184($sp)
|
||||
/* f075ac8: 00402025 */ move $a0,$v0
|
||||
/* f075acc: 27a505e8 */ addiu $a1,$sp,0x5e8
|
||||
@@ -39135,7 +39134,7 @@ glabel var7f1aa438
|
||||
/* f0758e0: 8ca5ce74 */ lw $a1,%lo(var8009ce74)($a1)
|
||||
/* f0758e4: 0c006973 */ jal model0001a5cc
|
||||
/* f0758e8: 00003025 */ or $a2,$zero,$zero
|
||||
/* f0758ec: 0fc2d5be */ jal currentPlayerGetMatrix1740
|
||||
/* f0758ec: 0fc2d5be */ jal camGetMatrix1740
|
||||
/* f0758f0: afa20184 */ sw $v0,0x184($sp)
|
||||
/* f0758f4: 00402025 */ or $a0,$v0,$zero
|
||||
/* f0758f8: 27a505e8 */ addiu $a1,$sp,0x5e8
|
||||
@@ -42637,7 +42636,7 @@ glabel var7f1aa438
|
||||
/* f07460c: 8ca515a4 */ lw $a1,0x15a4($a1)
|
||||
/* f074610: 0c006dcf */ jal model0001a5cc
|
||||
/* f074614: 00003025 */ or $a2,$zero,$zero
|
||||
/* f074618: 0fc2cd16 */ jal currentPlayerGetMatrix1740
|
||||
/* f074618: 0fc2cd16 */ jal camGetMatrix1740
|
||||
/* f07461c: afa20188 */ sw $v0,0x188($sp)
|
||||
/* f074620: 00402025 */ or $a0,$v0,$zero
|
||||
/* f074624: 27a505e8 */ addiu $a1,$sp,0x5e8
|
||||
@@ -44325,7 +44324,7 @@ glabel var7f1aa44c
|
||||
/* f077484: 8ed5000c */ lw $s5,0xc($s6)
|
||||
/* f077488: 0fc23109 */ jal func0f08c424
|
||||
/* f07748c: 02a02825 */ or $a1,$s5,$zero
|
||||
/* f077490: 0fc2d5be */ jal currentPlayerGetMatrix1740
|
||||
/* f077490: 0fc2d5be */ jal camGetMatrix1740
|
||||
/* f077494: 00000000 */ nop
|
||||
/* f077498: 00402025 */ or $a0,$v0,$zero
|
||||
/* f07749c: 0c0056f8 */ jal mtx00015be0
|
||||
@@ -44460,7 +44459,7 @@ glabel var7f1aa44c
|
||||
// union modelrodata *rodata;
|
||||
//
|
||||
// func0f08c424(door, matrices);
|
||||
// mtx00015be0(currentPlayerGetMatrix1740(), matrices);
|
||||
// mtx00015be0(camGetMatrix1740(), matrices);
|
||||
//
|
||||
// if (model->filedata->type == &g_Skel11) {
|
||||
// f32 xrot = M_BADTAU - door->frac * 0.017450513318181f;
|
||||
@@ -46007,7 +46006,7 @@ void cctvInitMatrices(struct prop *prop, Mtxf *mtx)
|
||||
|
||||
mtx4TransformVecInPlace(mtx, &sp64);
|
||||
mtx4SetTranslation(&sp64, &matrices[1]);
|
||||
mtx00015be0(currentPlayerGetMatrix1740(), &matrices[1]);
|
||||
mtx00015be0(camGetMatrix1740(), &matrices[1]);
|
||||
}
|
||||
|
||||
void fanTick(struct prop *prop)
|
||||
@@ -48552,7 +48551,7 @@ void autogunInitMatrices(struct prop *prop, Mtxf *mtx)
|
||||
mtx4LoadYRotation(yrot, &matrices[1]);
|
||||
mtx4SetTranslation(&sp4c, &matrices[1]);
|
||||
mtx00015f04(autogun->base.model->scale, &matrices[1]);
|
||||
mtx00015be0(currentPlayerGetMatrix1740(), &matrices[1]);
|
||||
mtx00015be0(camGetMatrix1740(), &matrices[1]);
|
||||
|
||||
node2 = modelGetPart(model->filedata, MODELPART_AUTOGUN_0002);
|
||||
rodata = node2->rodata;
|
||||
@@ -48771,7 +48770,7 @@ glabel var7f1aa5a8
|
||||
/* f07a14c: e7b0016c */ swc1 $f16,0x16c($sp)
|
||||
/* f07a150: e7b20170 */ swc1 $f18,0x170($sp)
|
||||
.L0f07a154:
|
||||
/* f07a154: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f07a154: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f07a158: afa50108 */ sw $a1,0x108($sp)
|
||||
/* f07a15c: 8fa50108 */ lw $a1,0x108($sp)
|
||||
/* f07a160: 00402025 */ or $a0,$v0,$zero
|
||||
@@ -49733,7 +49732,7 @@ glabel var7f1aa5a8
|
||||
/* f07a2ec: e7b0016c */ swc1 $f16,0x16c($sp)
|
||||
/* f07a2f0: e7b20170 */ swc1 $f18,0x170($sp)
|
||||
.PB0f07a2f4:
|
||||
/* f07a2f4: 0fc2d6e2 */ jal currentPlayerGetUnk174c
|
||||
/* f07a2f4: 0fc2d6e2 */ jal camGetUnk174c
|
||||
/* f07a2f8: afa50108 */ sw $a1,0x108($sp)
|
||||
/* f07a2fc: 8fa50108 */ lw $a1,0x108($sp)
|
||||
/* f07a300: 00402025 */ move $a0,$v0
|
||||
@@ -50695,7 +50694,7 @@ glabel var7f1aa5a8
|
||||
/* f07a14c: e7b0016c */ swc1 $f16,0x16c($sp)
|
||||
/* f07a150: e7b20170 */ swc1 $f18,0x170($sp)
|
||||
.L0f07a154:
|
||||
/* f07a154: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f07a154: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f07a158: afa50108 */ sw $a1,0x108($sp)
|
||||
/* f07a15c: 8fa50108 */ lw $a1,0x108($sp)
|
||||
/* f07a160: 00402025 */ or $a0,$v0,$zero
|
||||
@@ -51657,7 +51656,7 @@ glabel var7f1aa5a8
|
||||
/* f07a14c: e7b0016c */ swc1 $f16,0x16c($sp)
|
||||
/* f07a150: e7b20170 */ swc1 $f18,0x170($sp)
|
||||
.L0f07a154:
|
||||
/* f07a154: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f07a154: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f07a158: afa50108 */ sw $a1,0x108($sp)
|
||||
/* f07a15c: 8fa50108 */ lw $a1,0x108($sp)
|
||||
/* f07a160: 00402025 */ or $a0,$v0,$zero
|
||||
@@ -63156,7 +63155,7 @@ void objInitMatrices(struct prop *prop)
|
||||
} else {
|
||||
mtx3ToMtx4(obj->realrot, &mtx);
|
||||
mtx4SetTranslation(&prop->pos, &mtx);
|
||||
mtx00015be4(currentPlayerGetMatrix1740(), &mtx, obj->model->matrices);
|
||||
mtx00015be4(camGetMatrix1740(), &mtx, obj->model->matrices);
|
||||
|
||||
if (obj->type == OBJTYPE_CCTV) {
|
||||
cctvInitMatrices(prop, &mtx);
|
||||
@@ -63232,11 +63231,11 @@ u32 objTick(struct prop *prop)
|
||||
propDeregisterRooms(prop);
|
||||
propDelist(prop);
|
||||
obj->hidden &= ~OBJHFLAG_00000800;
|
||||
cmdindex = setupGetCommandIndexByProp(prop);
|
||||
cmdindex = setupGetCmdIndexByProp(prop);
|
||||
|
||||
// Find the parent obj (pad is repurposed here)
|
||||
padnum = obj->pad;
|
||||
newparent = setupCommandGetObject(cmdindex + padnum);
|
||||
newparent = setupGetObjByCmdIndex(cmdindex + padnum);
|
||||
|
||||
if (newparent && newparent->prop) {
|
||||
modelSetScale(obj->model, obj->model->scale);
|
||||
@@ -63245,7 +63244,7 @@ u32 objTick(struct prop *prop)
|
||||
}
|
||||
} else {
|
||||
propEnable(prop);
|
||||
func0f0923d4(obj);
|
||||
setup0f0923d4(obj);
|
||||
obj->hidden &= ~OBJHFLAG_00000800;
|
||||
}
|
||||
} else {
|
||||
@@ -63400,11 +63399,11 @@ s32 objTickPlayer(struct prop *prop)
|
||||
|
||||
sp556 = true;
|
||||
sp476.unk10 = gfxAllocate(model->filedata->nummatrices * sizeof(Mtxf));
|
||||
sp476.unk00 = currentPlayerGetMatrix1740();
|
||||
sp476.unk00 = camGetMatrix1740();
|
||||
model0001cebc(&sp476, model);
|
||||
|
||||
if (fulltick) {
|
||||
mtx00015be4(currentPlayerGetUnk174c(), model->matrices, &sp412);
|
||||
mtx00015be4(camGetUnk174c(), model->matrices, &sp412);
|
||||
mtx4ToMtx3(&sp412, obj->realrot);
|
||||
|
||||
sp400.x = sp412.m[3][0];
|
||||
@@ -63494,7 +63493,7 @@ s32 objTickPlayer(struct prop *prop)
|
||||
|
||||
mtx3ToMtx4(obj->realrot, &sp248);
|
||||
mtx4SetTranslation(&prop->pos, &sp248);
|
||||
mtx4MultMtx4(currentPlayerGetMatrix1740(), &sp248, &sp152);
|
||||
mtx4MultMtx4(camGetMatrix1740(), &sp248, &sp152);
|
||||
|
||||
sp556 = true;
|
||||
sp312.unk10 = gfxAllocate(model->filedata->nummatrices * sizeof(Mtxf));
|
||||
@@ -63515,7 +63514,7 @@ s32 objTickPlayer(struct prop *prop)
|
||||
if (modelGetCurAnimFrame(model) >= modelGetNumAnimFrames(model) - 1) {
|
||||
animTurnOff(model->anim);
|
||||
model->anim = NULL;
|
||||
mtx00015be4(currentPlayerGetUnk174c(), model->matrices, &sp248);
|
||||
mtx00015be4(camGetUnk174c(), model->matrices, &sp248);
|
||||
mtx4ToMtx3(&sp248, obj->realrot);
|
||||
tagnum = objGetTagNum(obj);
|
||||
|
||||
@@ -65287,7 +65286,7 @@ glabel var7f1aa824
|
||||
/* f0808ac: afae0014 */ sw $t6,0x14($sp)
|
||||
/* f0808b0: afaf0010 */ sw $t7,0x10($sp)
|
||||
/* f0808b4: 8fa700c8 */ lw $a3,0xc8($sp)
|
||||
/* f0808b8: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f0808b8: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f0808bc: 8fa600cc */ lw $a2,0xcc($sp)
|
||||
/* f0808c0: 8fb000c4 */ lw $s0,0xc4($sp)
|
||||
/* f0808c4: 3c190102 */ lui $t9,0x102
|
||||
@@ -65637,7 +65636,7 @@ glabel var7f1aa824
|
||||
// // Render the image
|
||||
// gSPSetGeometryMode(gdl++, G_CULL_BACK);
|
||||
//
|
||||
// func0f0b39c0(&gdl, tconfig, arg5, arg4, 2, 1, NULL);
|
||||
// tex0f0b39c0(&gdl, tconfig, arg5, arg4, 2, 1, NULL);
|
||||
//
|
||||
// gSPMatrix(gdl++, osVirtualToPhysical(model->matrices), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
//
|
||||
@@ -65665,7 +65664,7 @@ void objRenderProp(struct prop *prop, struct modelrenderdata *renderdata, bool w
|
||||
s32 sp60;
|
||||
|
||||
sp6c = 0;
|
||||
sp6c += (obj->flags & OBJFLAG_00000200) && currentPlayerGetUnk1758();
|
||||
sp6c += (obj->flags & OBJFLAG_00000200) && camGetUnk1758();
|
||||
|
||||
gdl = renderdata->gdl;
|
||||
|
||||
@@ -65751,7 +65750,7 @@ void objRenderProp(struct prop *prop, struct modelrenderdata *renderdata, bool w
|
||||
}
|
||||
|
||||
if (sp6c) {
|
||||
gSPMatrix(gdl++, currentPlayerGetUnk1758(), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gdl++, camGetUnk1758(), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
}
|
||||
|
||||
renderdata->gdl = gdl;
|
||||
@@ -65767,7 +65766,7 @@ void objRenderProp(struct prop *prop, struct modelrenderdata *renderdata, bool w
|
||||
}
|
||||
|
||||
if (sp6c) {
|
||||
gSPMatrix(gdl++, currentPlayerGetUnk1750(), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gdl++, camGetUnk1750(), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
}
|
||||
|
||||
renderdata->gdl = gdl;
|
||||
@@ -65830,7 +65829,7 @@ glabel gfxRenderRadialShadow
|
||||
/* f081004: 8fa50110 */ lw $a1,0x110($sp)
|
||||
/* f081008: 0c005892 */ jal mtx4LoadYRotationWithTranslation
|
||||
/* f08100c: 27a600c0 */ addiu $a2,$sp,0xc0
|
||||
/* f081010: 0fc2d5be */ jal currentPlayerGetMatrix1740
|
||||
/* f081010: 0fc2d5be */ jal camGetMatrix1740
|
||||
/* f081014: 00000000 */ nop
|
||||
/* f081018: 00402025 */ or $a0,$v0,$zero
|
||||
/* f08101c: 27a500c0 */ addiu $a1,$sp,0xc0
|
||||
@@ -65905,14 +65904,14 @@ glabel gfxRenderRadialShadow
|
||||
/* f08112c: a60a002e */ sh $t2,0x2e($s0)
|
||||
/* f081130: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f081134: afac0014 */ sw $t4,0x14($sp)
|
||||
/* f081138: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f081138: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f08113c: afab0010 */ sw $t3,0x10($sp)
|
||||
/* f081140: 10000006 */ b .L0f08115c
|
||||
/* f081144: 8faf0100 */ lw $t7,0x100($sp)
|
||||
.L0f081148:
|
||||
/* f081148: afad0010 */ sw $t5,0x10($sp)
|
||||
/* f08114c: afae0014 */ sw $t6,0x14($sp)
|
||||
/* f081150: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f081150: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f081154: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f081158: 8faf0100 */ lw $t7,0x100($sp)
|
||||
.L0f08115c:
|
||||
@@ -67861,7 +67860,7 @@ glabel var7f1aa85c
|
||||
/* f0828ec: c4500004 */ lwc1 $f16,0x4($v0)
|
||||
/* f0828f0: e7b00050 */ swc1 $f16,0x50($sp)
|
||||
/* f0828f4: c44a0008 */ lwc1 $f10,0x8($v0)
|
||||
/* f0828f8: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f0828f8: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f0828fc: e7aa0054 */ swc1 $f10,0x54($sp)
|
||||
/* f082900: 00402025 */ or $a0,$v0,$zero
|
||||
/* f082904: 0c0056c4 */ jal mtx4RotateVecInPlace
|
||||
@@ -68060,7 +68059,7 @@ glabel var7f1aa85c
|
||||
/* f0828ec: c4500004 */ lwc1 $f16,0x4($v0)
|
||||
/* f0828f0: e7b00050 */ swc1 $f16,0x50($sp)
|
||||
/* f0828f4: c44a0008 */ lwc1 $f10,0x8($v0)
|
||||
/* f0828f8: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f0828f8: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f0828fc: e7aa0054 */ swc1 $f10,0x54($sp)
|
||||
/* f082900: 00402025 */ or $a0,$v0,$zero
|
||||
/* f082904: 0c0056c4 */ jal mtx4RotateVecInPlace
|
||||
@@ -69124,7 +69123,7 @@ bool objDrop(struct prop *prop, bool lazy)
|
||||
if (!lazy && (prop->flags & PROPFLAG_ONTHISSCREENTHISTICK)) {
|
||||
// Do collision checks
|
||||
Mtxf *sp48 = model0001a60c(model);
|
||||
mtx00015be4(currentPlayerGetUnk174c(), sp48, &spf0);
|
||||
mtx00015be4(camGetUnk174c(), sp48, &spf0);
|
||||
propSetPerimEnabled(root, false);
|
||||
|
||||
spe4.x = spf0.m[3][0];
|
||||
@@ -71224,7 +71223,7 @@ void func0f084f64(struct defaultobj *obj)
|
||||
if (prop->flags & PROPFLAG_ONTHISSCREENTHISTICK) {
|
||||
rodata = modelGetPartRodata(model->filedata, 2);
|
||||
sp7c = model0001a5cc(model, modelGetPart(model->filedata, 1), 0);
|
||||
mtx00015be4(currentPlayerGetUnk174c(), sp7c, &matrix);
|
||||
mtx00015be4(camGetUnk174c(), sp7c, &matrix);
|
||||
|
||||
shardsCreate((struct coord *) matrix.m[3], matrix.m[0], matrix.m[1], matrix.m[2],
|
||||
rodata->bbox.xmin, rodata->bbox.xmax, rodata->bbox.ymin, rodata->bbox.ymax,
|
||||
@@ -71667,9 +71666,9 @@ void func0f0859a0(struct prop *prop, struct shotdata *shotdata)
|
||||
}
|
||||
}
|
||||
|
||||
mtx4TransformVec(currentPlayerGetUnk174c(), &spd8, &sp7c);
|
||||
mtx4TransformVec(camGetUnk174c(), &spd8, &sp7c);
|
||||
mtx4RotateVec(&model->matrices[spe4], &hitthing1.unk0c, &sp70);
|
||||
mtx4RotateVecInPlace(currentPlayerGetUnk174c(), &sp70);
|
||||
mtx4RotateVecInPlace(camGetUnk174c(), &sp70);
|
||||
|
||||
func0f061fa8(shotdata, prop, spd4, lVar3,
|
||||
node1, &hitthing1, spe4, node2,
|
||||
@@ -71764,7 +71763,7 @@ glabel objHit
|
||||
/* f085f84: c48a0000 */ lwc1 $f10,0x0($a0)
|
||||
/* f085f88: c4480008 */ lwc1 $f8,0x8($v0)
|
||||
/* f085f8c: 460a4481 */ sub.s $f18,$f8,$f10
|
||||
/* f085f90: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f085f90: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f085f94: e7b20118 */ swc1 $f18,0x118($sp)
|
||||
/* f085f98: 00402025 */ or $a0,$v0,$zero
|
||||
/* f085f9c: 0c0056d9 */ jal mtx4TransformVecInPlace
|
||||
@@ -72345,7 +72344,7 @@ glabel objHit
|
||||
/* f0867dc: c4440030 */ lwc1 $f4,0x30($v0)
|
||||
/* f0867e0: afb80048 */ sw $t8,0x48($sp)
|
||||
/* f0867e4: 46002402 */ mul.s $f16,$f4,$f0
|
||||
/* f0867e8: 0fc2d5de */ jal currentPlayerGetUnk174c
|
||||
/* f0867e8: 0fc2d5de */ jal camGetUnk174c
|
||||
/* f0867ec: e7b000b8 */ swc1 $f16,0xb8($sp)
|
||||
/* f0867f0: 8fb9011c */ lw $t9,0x11c($sp)
|
||||
/* f0867f4: 8fac0124 */ lw $t4,0x124($sp)
|
||||
@@ -72495,7 +72494,7 @@ glabel objHit
|
||||
/* f0847e8: c48a0000 */ lwc1 $f10,0x0($a0)
|
||||
/* f0847ec: c4480008 */ lwc1 $f8,0x8($v0)
|
||||
/* f0847f0: 460a4481 */ sub.s $f18,$f8,$f10
|
||||
/* f0847f4: 0fc2cd36 */ jal currentPlayerGetUnk174c
|
||||
/* f0847f4: 0fc2cd36 */ jal camGetUnk174c
|
||||
/* f0847f8: e7b20118 */ swc1 $f18,0x118($sp)
|
||||
/* f0847fc: 00402025 */ or $a0,$v0,$zero
|
||||
/* f084800: 0c005a95 */ jal mtx4TransformVecInPlace
|
||||
@@ -73074,7 +73073,7 @@ glabel objHit
|
||||
/* f085038: c4440030 */ lwc1 $f4,0x30($v0)
|
||||
/* f08503c: afb90048 */ sw $t9,0x48($sp)
|
||||
/* f085040: 46002402 */ mul.s $f16,$f4,$f0
|
||||
/* f085044: 0fc2cd36 */ jal currentPlayerGetUnk174c
|
||||
/* f085044: 0fc2cd36 */ jal camGetUnk174c
|
||||
/* f085048: e7b000b8 */ swc1 $f16,0xb8($sp)
|
||||
/* f08504c: 8faf011c */ lw $t7,0x11c($sp)
|
||||
/* f085050: 8fae0124 */ lw $t6,0x124($sp)
|
||||
@@ -78162,7 +78161,7 @@ void hatLoadAndApplyToChr(struct hatobj *hat, struct chrdata *chr)
|
||||
u32 stack;
|
||||
s32 modelnum = hat->base.modelnum;
|
||||
|
||||
modelLoad(modelnum);
|
||||
setupLoadModeldef(modelnum);
|
||||
|
||||
hatApplyToChr(hat, chr, g_ModelStates[modelnum].filedata, NULL, NULL);
|
||||
}
|
||||
@@ -78179,7 +78178,7 @@ struct prop *hatCreateForChr(struct chrdata *chr, s32 modelnum, u32 flags)
|
||||
struct model *model;
|
||||
struct hatobj *obj;
|
||||
|
||||
modelLoad(modelnum);
|
||||
setupLoadModeldef(modelnum);
|
||||
filedata = g_ModelStates[modelnum].filedata;
|
||||
prop = propAllocate();
|
||||
model = modelInstantiate(filedata);
|
||||
@@ -78852,7 +78851,7 @@ void func0f08b208(struct weaponobj *weapon, struct chrdata *chr)
|
||||
u32 stack;
|
||||
s32 modelnum = weapon->base.modelnum;
|
||||
|
||||
modelLoad(modelnum);
|
||||
setupLoadModeldef(modelnum);
|
||||
func0f08b108(weapon, chr, g_ModelStates[modelnum].filedata, 0, 0);
|
||||
}
|
||||
|
||||
@@ -78876,7 +78875,7 @@ struct autogunobj *laptopDeploy(s32 modelnum, struct gset *gset, struct chrdata
|
||||
}
|
||||
|
||||
if (index >= 0 && index < g_MaxThrownLaptops) {
|
||||
modelLoad(modelnum);
|
||||
setupLoadModeldef(modelnum);
|
||||
filedata = g_ModelStates[modelnum].filedata;
|
||||
laptop = &g_ThrownLaptops[index];
|
||||
|
||||
@@ -79086,7 +79085,7 @@ glabel var7f1aaf24
|
||||
/* f08b664: afb00014 */ sw $s0,0x14($sp)
|
||||
/* f08b668: afa400a0 */ sw $a0,0xa0($sp)
|
||||
/* f08b66c: afa500a4 */ sw $a1,0xa4($sp)
|
||||
/* f08b670: 0fc2486d */ jal modelLoad
|
||||
/* f08b670: 0fc2486d */ jal setupLoadModeldef
|
||||
/* f08b674: afa600a8 */ sw $a2,0xa8($sp)
|
||||
/* f08b678: 8fae00a0 */ lw $t6,0xa0($sp)
|
||||
/* f08b67c: 3c188008 */ lui $t8,%hi(g_ModelStates)
|
||||
@@ -79311,7 +79310,7 @@ glabel var7f1aaf24
|
||||
/* f089e9c: afb00014 */ sw $s0,0x14($sp)
|
||||
/* f089ea0: afa400a0 */ sw $a0,0xa0($sp)
|
||||
/* f089ea4: afa500a4 */ sw $a1,0xa4($sp)
|
||||
/* f089ea8: 0fc241fe */ jal modelLoad
|
||||
/* f089ea8: 0fc241fe */ jal setupLoadModeldef
|
||||
/* f089eac: afa600a8 */ sw $a2,0xa8($sp)
|
||||
/* f089eb0: 8fae00a0 */ lw $t6,0xa0($sp)
|
||||
/* f089eb4: 3c188008 */ lui $t8,0x8008
|
||||
@@ -79501,7 +79500,7 @@ struct prop *weaponCreateForChr(struct chrdata *chr, s32 modelnum, s32 weaponnum
|
||||
struct model *model;
|
||||
|
||||
if (filedata == NULL) {
|
||||
modelLoad(modelnum);
|
||||
setupLoadModeldef(modelnum);
|
||||
filedata = g_ModelStates[modelnum].filedata;
|
||||
}
|
||||
|
||||
@@ -81417,7 +81416,7 @@ f32 func0f08e6bc(struct prop *prop, f32 arg1)
|
||||
struct coord *coord = env0f1667e8();
|
||||
|
||||
if (coord != NULL && coord->z < prop->z) {
|
||||
f32 scalez = currentPlayerGetLodScaleZ();
|
||||
f32 scalez = camGetLodScaleZ();
|
||||
f32 value = ((prop->z - coord->z) * 100.0f / arg1 + coord->z) * scalez;
|
||||
|
||||
if (value >= coord->y) {
|
||||
@@ -81439,7 +81438,7 @@ bool func0f08e794(struct coord *coord, f32 arg1)
|
||||
|
||||
if (ptr != NULL) {
|
||||
struct coord *campos = &g_Vars.currentplayer->cam_pos;
|
||||
Mtxf *mtx = currentPlayerGetMatrix1740();
|
||||
Mtxf *mtx = camGetMatrix1740();
|
||||
|
||||
tmp.x = coord->x - campos->x;
|
||||
tmp.y = coord->y - campos->y;
|
||||
@@ -81448,7 +81447,7 @@ bool func0f08e794(struct coord *coord, f32 arg1)
|
||||
sp20 = tmp.f[0] * mtx->m[0][0] + tmp.f[1] * mtx->m[0][1] + tmp.f[2] * mtx->m[0][2];
|
||||
|
||||
if (sp20 > ptr->z) {
|
||||
f32 scalez = currentPlayerGetLodScaleZ();
|
||||
f32 scalez = camGetLodScaleZ();
|
||||
sp20 = ((sp20 - ptr->z) * 100 / arg1 + ptr->z) * scalez;
|
||||
|
||||
if (sp20 >= ptr->y) {
|
||||
@@ -81473,7 +81472,7 @@ u32 func0f08e8ac(struct prop *prop, struct coord *coord, f32 arg2, bool arg3)
|
||||
while (roomnum != -1) {
|
||||
if (g_Rooms[roomnum].flags & ROOMFLAG_VISIBLEBYPLAYER) {
|
||||
if (env0f1666f8(coord, arg2) && (!arg3 || func0f08e794(coord, arg2))) {
|
||||
result = func0f0b6260(prop->rooms, coord, arg2);
|
||||
result = cam0f0b6260(prop->rooms, coord, arg2);
|
||||
|
||||
if (result) {
|
||||
struct coord *campos = &g_Vars.currentplayer->cam_pos;
|
||||
@@ -81695,7 +81694,7 @@ void doorsCalcFrac(struct doorobj *door)
|
||||
struct prop *loopprop;
|
||||
|
||||
doorUpdateTiles(loopdoor);
|
||||
func0f0923d4(&loopdoor->base);
|
||||
setup0f0923d4(&loopdoor->base);
|
||||
|
||||
loopprop = loopdoor->base.prop;
|
||||
|
||||
@@ -81803,7 +81802,7 @@ void doorsCalcFrac(struct doorobj *door)
|
||||
loopdoor->frac = *(f32 *)&loopdoor->lastcalc60;
|
||||
|
||||
doorUpdateTiles(loopdoor);
|
||||
func0f0923d4(&loopdoor->base);
|
||||
setup0f0923d4(&loopdoor->base);
|
||||
func0f08d460(loopdoor);
|
||||
}
|
||||
} else {
|
||||
@@ -81843,8 +81842,8 @@ void doorsCalcFrac(struct doorobj *door)
|
||||
}
|
||||
}
|
||||
|
||||
func0f0b6470(door->portalnum, frac / numsameportal);
|
||||
func0f0b63b0(door->portalnum, frac / numsameportal);
|
||||
portal0f0b6470(door->portalnum, frac / numsameportal);
|
||||
portal0f0b63b0(door->portalnum, frac / numsameportal);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/game_015010.h"
|
||||
#include "game/game_091e10.h"
|
||||
#include "game/setuputils.h"
|
||||
#include "game/propobj.h"
|
||||
#include "bss.h"
|
||||
#include "data.h"
|
||||
@@ -78,7 +77,7 @@ void objsStop(void)
|
||||
break;
|
||||
}
|
||||
|
||||
ptr = ptr + setupGetCommandLength(ptr);
|
||||
ptr = ptr + setupGetCmdLength(ptr);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/acosfasinf.h"
|
||||
#include "game/game_096ca0.h"
|
||||
#include "game/quaternion.h"
|
||||
#include "bss.h"
|
||||
#include "lib/mtx.h"
|
||||
#include "data.h"
|
||||
+129
@@ -0,0 +1,129 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/race.h"
|
||||
#include "game/floor.h"
|
||||
#include "bss.h"
|
||||
#include "lib/anim.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
u16 raceInitAnim(s16 animnum, s32 frame, s32 endframe)
|
||||
{
|
||||
s16 sp48[4];
|
||||
u16 count = 0;
|
||||
|
||||
while (frame < endframe) {
|
||||
count += anim0002485c(0, 0, &g_SkelChr, animnum, frame, sp48, 0);
|
||||
frame++;
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
s32 race0f000358(s16 animnum, s32 frame, s32 endframe)
|
||||
{
|
||||
s32 count = 0;
|
||||
s16 sp44[4];
|
||||
|
||||
while (frame < endframe) {
|
||||
anim0002485c(0, 0, &g_SkelChr, animnum, frame, sp44, 0);
|
||||
count += sp44[2];
|
||||
frame++;
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
s32 raceInitAnimGroup(struct attackanimconfig *configs)
|
||||
{
|
||||
s32 count = 0;
|
||||
struct attackanimconfig *config = configs;
|
||||
|
||||
while (config->animnum != 0) {
|
||||
u16 value = raceInitAnim(config->animnum, 0, floor(config->unk04));
|
||||
|
||||
if (config->unk04 > 0) {
|
||||
if (value < 0x8000) {
|
||||
config->unk08 = value * 0.00009585853695171f / config->unk04;
|
||||
} else {
|
||||
config->unk08 = (value * 0.00009585853695171f - M_BADTAU) / config->unk04;
|
||||
}
|
||||
} else {
|
||||
config->unk08 = 0;
|
||||
}
|
||||
|
||||
config++;
|
||||
count++;
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
void raceInitAnimGroups(struct attackanimgroup **groups)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 32; i++) {
|
||||
if (groups[i]->len < 0) {
|
||||
groups[i]->len = raceInitAnimGroup(groups[i]->animcfg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s32 raceCountAnims(struct animtablerow *rows)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; rows[i].animnum > 0; i++);
|
||||
|
||||
return i;
|
||||
}
|
||||
|
||||
f32 race0f0005c0(s16 animnum)
|
||||
{
|
||||
f32 tmp = race0f000358(animnum, 0, animGetNumFrames(animnum) - 1) / (f32) animGetNumFrames(animnum);
|
||||
|
||||
var8005f014[animnum] = tmp;
|
||||
|
||||
return tmp * 0.1000000089407f;
|
||||
}
|
||||
|
||||
void raceInitAnims(void)
|
||||
{
|
||||
s32 race;
|
||||
s32 i;
|
||||
|
||||
for (race = 0; race < 5; race++) {
|
||||
for (i = 0; g_AnimTablesByRace[race][i].hitpart != -1; i++) {
|
||||
if (g_AnimTablesByRace[race][i].deathanims) {
|
||||
g_AnimTablesByRace[race][i].deathanimcount = raceCountAnims(g_AnimTablesByRace[race][i].deathanims);
|
||||
} else {
|
||||
g_AnimTablesByRace[race][i].deathanimcount = 0;
|
||||
}
|
||||
|
||||
if (g_AnimTablesByRace[race][i].injuryanims) {
|
||||
g_AnimTablesByRace[race][i].injuryanimcount = raceCountAnims(g_AnimTablesByRace[race][i].injuryanims);
|
||||
} else {
|
||||
g_AnimTablesByRace[race][i].injuryanimcount = 0;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; var80067fdc[race][i].animnum >= 0; i++) {
|
||||
var80067fdc[race][i].value = race0f0005c0(var80067fdc[race][i].animnum);
|
||||
}
|
||||
}
|
||||
|
||||
raceCountAnims(g_AnimTableHumanSlumped);
|
||||
|
||||
for (race = 0; race < 2; race++) {
|
||||
raceInitAnimGroups(g_StandHeavyAttackAnims[race]);
|
||||
raceInitAnimGroups(g_StandLightAttackAnims[race]);
|
||||
raceInitAnimGroups(g_StandDualAttackAnims[race]);
|
||||
raceInitAnimGroups(g_KneelHeavyAttackAnims[race]);
|
||||
raceInitAnimGroups(g_KneelLightAttackAnims[race]);
|
||||
raceInitAnimGroups(g_KneelDualAttackAnims[race]);
|
||||
}
|
||||
|
||||
raceInitAnimGroup(g_RollAttackAnims);
|
||||
raceInitAnimGroup(&g_AttackAnimHeavyWalk);
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/game_000130.h"
|
||||
#include "game/race.h"
|
||||
#include "game/chr.h"
|
||||
#include "bss.h"
|
||||
#include "data.h"
|
||||
@@ -9,5 +9,5 @@
|
||||
void racesInit(void)
|
||||
{
|
||||
modelSetVtxAllocatorFunc(&chrAllocateVertices);
|
||||
func0f000648();
|
||||
raceInitAnims();
|
||||
}
|
||||
+2
-2
@@ -4,7 +4,7 @@
|
||||
#include "game/chraction.h"
|
||||
#include "game/atan2f.h"
|
||||
#include "game/game_0b2150.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/game_152fa0.h"
|
||||
#include "game/game_1531a0.h"
|
||||
#include "game/mplayer/scenarios.h"
|
||||
@@ -77,7 +77,7 @@ Gfx *radarRenderBackground(Gfx *gdl, struct textureconfig *tconfig, s32 arg2, s3
|
||||
spa8[0] = arg4 * g_ScaleX;
|
||||
spa8[1] = arg4;
|
||||
|
||||
func0f0b39c0(&gdl, tconfig, 2, 0, 0, 1, NULL);
|
||||
tex0f0b39c0(&gdl, tconfig, 2, 0, 0, 1, NULL);
|
||||
func0f0b278c(&gdl, spb0, spa8, tconfig->width, tconfig->height,
|
||||
0, 0, 1, 0, 0xff, 0, 40, tconfig->level > 0, 0);
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/game_1668e0.h"
|
||||
#include "game/room.h"
|
||||
#include "bss.h"
|
||||
#include "lib/mtx.h"
|
||||
#include "data.h"
|
||||
@@ -14,27 +14,27 @@ Mtxf *var800a6670;
|
||||
|
||||
s32 var80082050 = 0;
|
||||
|
||||
void currentPlayerSetLastRoomForOffset(s32 room)
|
||||
void roomSetLastForOffset(s32 room)
|
||||
{
|
||||
g_Vars.currentplayer->lastroomforoffset = room;
|
||||
}
|
||||
|
||||
void func0f1668f0(s32 index, s32 roomnum)
|
||||
void room0f1668f0(s32 index, s32 roomnum)
|
||||
{
|
||||
g_Rooms[roomnum].unk10 = index;
|
||||
var800a6664[index] = roomnum;
|
||||
}
|
||||
|
||||
void func0f16692c(s32 index, s32 roomnum)
|
||||
void room0f16692c(s32 index, s32 roomnum)
|
||||
{
|
||||
g_Rooms[roomnum].unk10 = -1;
|
||||
var800a6664[index] = -1;
|
||||
}
|
||||
|
||||
void func0f16696c(s32 index)
|
||||
void room0f16696c(s32 index)
|
||||
{
|
||||
if (var800a6664[index] != -1) {
|
||||
func0f16692c(index, var800a6664[index]);
|
||||
room0f16692c(index, var800a6664[index]);
|
||||
}
|
||||
|
||||
var800a6660[index] = 2;
|
||||
@@ -42,7 +42,7 @@ void func0f16696c(s32 index)
|
||||
var800a666c[index] = 1;
|
||||
}
|
||||
|
||||
s32 func0f1669fc(void)
|
||||
s32 room0f1669fc(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
@@ -55,7 +55,7 @@ s32 func0f1669fc(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void func0f166a6c(Mtxf *mtx, s32 roomnum)
|
||||
void room0f166a6c(Mtxf *mtx, s32 roomnum)
|
||||
{
|
||||
s32 stagenum = g_Vars.stagenum;
|
||||
|
||||
@@ -88,7 +88,7 @@ void func0f166a6c(Mtxf *mtx, s32 roomnum)
|
||||
}
|
||||
}
|
||||
|
||||
s32 func0f166c20(s32 roomnum)
|
||||
s32 room0f166c20(s32 roomnum)
|
||||
{
|
||||
s32 index = g_Rooms[roomnum].unk10;
|
||||
Mtxf mtx;
|
||||
@@ -97,12 +97,12 @@ s32 func0f166c20(s32 roomnum)
|
||||
|| g_Vars.currentplayer->lastroomforoffset != var800a6668[index]
|
||||
|| var800a666c[index] != var8005ef10[0]) {
|
||||
if (index != -1) {
|
||||
func0f16692c(index, roomnum);
|
||||
room0f16692c(index, roomnum);
|
||||
}
|
||||
|
||||
index = func0f1669fc();
|
||||
index = room0f1669fc();
|
||||
|
||||
func0f1668f0(index, roomnum);
|
||||
room0f1668f0(index, roomnum);
|
||||
var800a6660[index] = 0;
|
||||
} else {
|
||||
var800a6660[index] = 0;
|
||||
@@ -112,27 +112,27 @@ s32 func0f166c20(s32 roomnum)
|
||||
var800a6668[index] = g_Vars.currentplayer->lastroomforoffset;
|
||||
var800a666c[index] = var8005ef10[0];
|
||||
|
||||
func0f166a6c(&mtx, roomnum);
|
||||
room0f166a6c(&mtx, roomnum);
|
||||
mtx00016054(&mtx, &var800a6670[index]);
|
||||
|
||||
return index;
|
||||
}
|
||||
|
||||
Gfx *func0f166d7c(Gfx *gdl, s32 roomnum)
|
||||
Gfx *room0f166d7c(Gfx *gdl, s32 roomnum)
|
||||
{
|
||||
s32 index = func0f166c20(roomnum);
|
||||
s32 index = room0f166c20(roomnum);
|
||||
|
||||
gSPMatrix(gdl++, &var800a6670[index], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
|
||||
return gdl;
|
||||
}
|
||||
|
||||
struct coord *func0f166dd0(s32 room)
|
||||
struct coord *room0f166dd0(s32 room)
|
||||
{
|
||||
return &g_BgRooms[room].pos;
|
||||
}
|
||||
|
||||
void func0f166df0(s32 room, struct coord *globaldrawworldoffset)
|
||||
void room0f166df0(s32 room, struct coord *globaldrawworldoffset)
|
||||
{
|
||||
globaldrawworldoffset->x = g_BgRooms[room].pos.x;
|
||||
globaldrawworldoffset->y = g_BgRooms[room].pos.y;
|
||||
@@ -0,0 +1,37 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/bg.h"
|
||||
#include "game/pad.h"
|
||||
#include "bss.h"
|
||||
#include "lib/memp.h"
|
||||
#include "lib/anim.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
void roomsReset(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
var80082050 = PLAYERCOUNT() >= 2 ? 200 : 120;
|
||||
|
||||
var800a6660 = mempAlloc(ALIGN16(var80082050), MEMPOOL_STAGE);
|
||||
var800a6664 = mempAlloc(ALIGN16(var80082050 * sizeof(s16)), MEMPOOL_STAGE);
|
||||
var800a6668 = mempAlloc(ALIGN16(var80082050 * sizeof(s16)), MEMPOOL_STAGE);
|
||||
var800a666c = mempAlloc(ALIGN16(var80082050 * sizeof(f32)), MEMPOOL_STAGE);
|
||||
var800a6670 = mempAlloc(ALIGN16(var80082050 * sizeof(Mtxf)), MEMPOOL_STAGE);
|
||||
|
||||
for (i = 0; i < PLAYERCOUNT(); i++) {
|
||||
g_Vars.players[i]->lastroomforoffset = -1;
|
||||
}
|
||||
|
||||
for (i = 0; i < var80082050; i++) {
|
||||
var800a6664[i] = -1;
|
||||
var800a6660[i] = 2;
|
||||
var800a6668[i] = -1;
|
||||
var800a666c[i] = 1;
|
||||
}
|
||||
|
||||
for (i = 0; i < g_Vars.roomcount; i++) {
|
||||
g_Rooms[i].unk10 = -1;
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,11 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/game_1668e0.h"
|
||||
#include "game/room.h"
|
||||
#include "bss.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
void func0f01d8c0(void)
|
||||
void roomsTick(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
@@ -14,7 +14,7 @@ void func0f01d8c0(void)
|
||||
var800a6660[i]++;
|
||||
|
||||
if (var800a6660[i] > 1) {
|
||||
func0f16696c(i);
|
||||
room0f16696c(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/game_0b4950.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/camera.h"
|
||||
#include "game/savebuffer.h"
|
||||
#include "game/gfxmemory.h"
|
||||
#include "game/file.h"
|
||||
@@ -133,7 +133,7 @@ Gfx *func0f0d479c(Gfx *gdl)
|
||||
Gfx *func0f0d49c8(Gfx *gdl)
|
||||
{
|
||||
gSPViewport(gdl++, OS_K0_TO_PHYSICAL(viGetCurrentPlayerViewport()));
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(currentPlayerGetUnk1750()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(camGetUnk1750()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
|
||||
return gdl;
|
||||
}
|
||||
@@ -146,9 +146,9 @@ Gfx *func0f0d4a3c(Gfx *gdl, s32 arg1)
|
||||
gDPPipeSync(gdl++);
|
||||
|
||||
if (arg1 == 0) {
|
||||
func0f0b39c0(&gdl, &g_TexGeneralConfigs[6], 2, 0, 2, 1, NULL);
|
||||
tex0f0b39c0(&gdl, &g_TexGeneralConfigs[6], 2, 0, 2, 1, NULL);
|
||||
} else if (arg1 == 1) {
|
||||
func0f0b39c0(&gdl, &g_TexGeneralConfigs[11], 2, 0, 2, 1, NULL);
|
||||
tex0f0b39c0(&gdl, &g_TexGeneralConfigs[11], 2, 0, 2, 1, NULL);
|
||||
}
|
||||
|
||||
gDPPipeSync(gdl++);
|
||||
|
||||
@@ -2,15 +2,14 @@
|
||||
#include "constants.h"
|
||||
#include "game/cheats.h"
|
||||
#include "game/game_00b820.h"
|
||||
#include "game/game_00c490.h"
|
||||
#include "game/setup.h"
|
||||
#include "game/objectives.h"
|
||||
#include "game/playerreset.h"
|
||||
#include "game/game_012d50.h"
|
||||
#include "game/botmgr.h"
|
||||
#include "game/chr.h"
|
||||
#include "game/game_02cde0.h"
|
||||
#include "game/body.h"
|
||||
#include "game/prop.h"
|
||||
#include "game/game_091e10.h"
|
||||
#include "game/setuputils.h"
|
||||
#include "game/atan2f.h"
|
||||
#include "game/inv.h"
|
||||
#include "game/playermgr.h"
|
||||
@@ -19,7 +18,7 @@
|
||||
#include "game/file.h"
|
||||
#include "game/lv.h"
|
||||
#include "game/mplayer/scenarios.h"
|
||||
#include "game/game_19aa80.h"
|
||||
#include "game/challenge.h"
|
||||
#include "game/lang.h"
|
||||
#include "game/mplayer/mplayer.h"
|
||||
#include "game/pad.h"
|
||||
@@ -196,8 +195,8 @@ void propsReset(void)
|
||||
g_MaxMonitorThings = 0;
|
||||
}
|
||||
|
||||
func0f00cc8c();
|
||||
setupClearProxyMines();
|
||||
setupReset0f00cc8c();
|
||||
setupResetProxyMines();
|
||||
|
||||
g_AlarmTimer = 0;
|
||||
g_AlarmAudioHandle = NULL;
|
||||
@@ -308,37 +307,37 @@ void propsReset(void)
|
||||
}
|
||||
}
|
||||
|
||||
void addLiftDoor(struct linkliftdoorobj *link)
|
||||
void setupCreateLiftDoor(struct linkliftdoorobj *link)
|
||||
{
|
||||
link->next = g_LiftDoors;
|
||||
g_LiftDoors = link;
|
||||
}
|
||||
|
||||
void addPadlockedDoor(struct padlockeddoorobj *link)
|
||||
void setupCreatePadlockedDoor(struct padlockeddoorobj *link)
|
||||
{
|
||||
link->next = g_PadlockedDoors;
|
||||
g_PadlockedDoors = link;
|
||||
}
|
||||
|
||||
void addSafeItem(struct safeitemobj *link)
|
||||
void setupCreateSafeItem(struct safeitemobj *link)
|
||||
{
|
||||
link->next = g_SafeItems;
|
||||
g_SafeItems = link;
|
||||
}
|
||||
|
||||
void addConditionalScenery(struct linksceneryobj *link)
|
||||
void setupCreateConditionalScenery(struct linksceneryobj *link)
|
||||
{
|
||||
link->next = g_LinkedScenery;
|
||||
g_LinkedScenery = link;
|
||||
}
|
||||
|
||||
void addBlockedPath(struct blockedpathobj *blockedpath)
|
||||
void setupCreateBlockedPath(struct blockedpathobj *blockedpath)
|
||||
{
|
||||
blockedpath->next = g_BlockedPaths;
|
||||
g_BlockedPaths = blockedpath;
|
||||
}
|
||||
|
||||
void func0f00cc8c(void)
|
||||
void setupReset0f00cc8c(void)
|
||||
{
|
||||
struct tvscreen tmp1;
|
||||
struct tvscreen tmp2;
|
||||
@@ -354,7 +353,7 @@ void func0f00cc8c(void)
|
||||
var8009cf88 = tmp3;
|
||||
}
|
||||
|
||||
void setupClearProxyMines(void)
|
||||
void setupResetProxyMines(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
@@ -374,7 +373,7 @@ s32 setupCountCommandType(u32 type)
|
||||
count++;
|
||||
}
|
||||
|
||||
obj = (struct defaultobj *)((u32 *)obj + setupGetCommandLength((u32 *)obj));
|
||||
obj = (struct defaultobj *)((u32 *)obj + setupGetCmdLength((u32 *)obj));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -382,7 +381,7 @@ s32 setupCountCommandType(u32 type)
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel setupGenericObject
|
||||
glabel setupCreateObject
|
||||
.late_rodata
|
||||
glabel var7f1a7f80
|
||||
.word 0x358637bd
|
||||
@@ -393,7 +392,7 @@ glabel var7f1a7f80
|
||||
/* f00cef0: afbf0034 */ sw $ra,0x34($sp)
|
||||
/* f00cef4: afa5014c */ sw $a1,0x14c($sp)
|
||||
/* f00cef8: 84840004 */ lh $a0,0x4($a0)
|
||||
/* f00cefc: 0fc2486d */ jal modelLoad
|
||||
/* f00cefc: 0fc2486d */ jal setupLoadModeldef
|
||||
/* f00cf00: afa40140 */ sw $a0,0x140($sp)
|
||||
/* f00cf04: 960e0000 */ lhu $t6,0x0($s0)
|
||||
/* f00cf08: 3c03800a */ lui $v1,%hi(g_Vars)
|
||||
@@ -917,7 +916,7 @@ glabel var7f1a7f80
|
||||
/* f00d66c: 00000000 */ nop
|
||||
);
|
||||
|
||||
//void setupGenericObject(struct defaultobj *obj, s32 cmdindex)
|
||||
//void setupCreateObject(struct defaultobj *obj, s32 cmdindex)
|
||||
//{
|
||||
// f32 f0;
|
||||
// s32 modelnum; // 140
|
||||
@@ -933,7 +932,7 @@ glabel var7f1a7f80
|
||||
// struct prop *prop; // 6c
|
||||
//
|
||||
// modelnum = obj->modelnum;
|
||||
// modelLoad(modelnum);
|
||||
// setupLoadModeldef(modelnum);
|
||||
// scale = obj->extrascale * (1.0f / 256.0f);
|
||||
//
|
||||
// if (g_Vars.normmplayerisrunning || g_Vars.lvmpbotlevel) {
|
||||
@@ -1162,7 +1161,7 @@ glabel var7f1a7f80
|
||||
* The Marquis of Queensbury Rules (everyone unarmed) and Enemy Rockets cheats
|
||||
* are implemented here.
|
||||
*/
|
||||
void weaponAssignToHome(struct weaponobj *weapon, s32 cmdindex)
|
||||
void setupPlaceWeapon(struct weaponobj *weapon, s32 cmdindex)
|
||||
{
|
||||
if (weapon->base.flags & OBJFLAG_ASSIGNEDTOCHR) {
|
||||
u32 stack[2];
|
||||
@@ -1289,7 +1288,7 @@ void weaponAssignToHome(struct weaponobj *weapon, s32 cmdindex)
|
||||
shield->base.flags2 |= OBJFLAG2_00200000 | OBJFLAG2_IMMUNETOGUNFIRE;
|
||||
shield->initialamount = 1;
|
||||
shield->amount = 1;
|
||||
setupGenericObject(&shield->base, cmdindex);
|
||||
setupCreateObject(&shield->base, cmdindex);
|
||||
giveweapon = false;
|
||||
}
|
||||
break;
|
||||
@@ -1298,12 +1297,12 @@ void weaponAssignToHome(struct weaponobj *weapon, s32 cmdindex)
|
||||
|
||||
if (weapon->weaponnum != WEAPON_NONE && giveweapon) {
|
||||
weaponLoadProjectileModels(weapon->weaponnum);
|
||||
setupGenericObject(&weapon->base, cmdindex);
|
||||
setupCreateObject(&weapon->base, cmdindex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void setupHat(struct hatobj *hat, s32 cmdindex)
|
||||
void setupCreateHat(struct hatobj *hat, s32 cmdindex)
|
||||
{
|
||||
if (hat->base.flags & OBJFLAG_ASSIGNEDTOCHR) {
|
||||
struct chrdata *chr = chrFindByLiteralId(hat->base.pad);
|
||||
@@ -1312,20 +1311,20 @@ void setupHat(struct hatobj *hat, s32 cmdindex)
|
||||
hatAssignToChr(hat, chr);
|
||||
}
|
||||
} else {
|
||||
setupGenericObject(&hat->base, cmdindex);
|
||||
setupCreateObject(&hat->base, cmdindex);
|
||||
}
|
||||
}
|
||||
|
||||
void setupKey(struct keyobj *key, s32 cmdindex)
|
||||
void setupCreateKey(struct keyobj *key, s32 cmdindex)
|
||||
{
|
||||
setupGenericObject(&key->base, cmdindex);
|
||||
setupCreateObject(&key->base, cmdindex);
|
||||
}
|
||||
|
||||
void setupMine(struct mineobj *mine, s32 cmdindex)
|
||||
void setupCreateMine(struct mineobj *mine, s32 cmdindex)
|
||||
{
|
||||
mine->base.type = OBJTYPE_WEAPON;
|
||||
|
||||
setupGenericObject(&mine->base, cmdindex);
|
||||
setupCreateObject(&mine->base, cmdindex);
|
||||
|
||||
if (g_Vars.coopplayernum >= 0 || g_Vars.antiplayernum >= 0) {
|
||||
mine->base.hidden = mine->base.hidden & 0x0fffffff | OBJHFLAG_20000000;
|
||||
@@ -1334,11 +1333,11 @@ void setupMine(struct mineobj *mine, s32 cmdindex)
|
||||
mine->base.prop->forcetick = true;
|
||||
}
|
||||
|
||||
void setupCctv(struct cctvobj *cctv, s32 cmdindex)
|
||||
void setupCreateCctv(struct cctvobj *cctv, s32 cmdindex)
|
||||
{
|
||||
struct defaultobj *obj = &cctv->base;
|
||||
|
||||
setupGenericObject(obj, cmdindex);
|
||||
setupCreateObject(obj, cmdindex);
|
||||
|
||||
if (cctv->lookatpadnum >= 0) {
|
||||
struct coord lenspos;
|
||||
@@ -1392,7 +1391,7 @@ void setupCctv(struct cctvobj *cctv, s32 cmdindex)
|
||||
|
||||
#if VERSION == VERSION_PAL_FINAL
|
||||
GLOBAL_ASM(
|
||||
glabel setupAutogun
|
||||
glabel setupCreateAutogun
|
||||
.late_rodata
|
||||
glabel var7f1a9250pf
|
||||
.word 0x40c907a9
|
||||
@@ -1404,7 +1403,7 @@ glabel var7f1a9258pf
|
||||
/* f00dbe0: 27bdff70 */ addiu $sp,$sp,-144
|
||||
/* f00dbe4: afbf001c */ sw $ra,0x1c($sp)
|
||||
/* f00dbe8: afb00018 */ sw $s0,0x18($sp)
|
||||
/* f00dbec: 0fc033b1 */ jal setupGenericObject
|
||||
/* f00dbec: 0fc033b1 */ jal setupCreateObject
|
||||
/* f00dbf0: 00808025 */ move $s0,$a0
|
||||
/* f00dbf4: 8e0e0080 */ lw $t6,0x80($s0)
|
||||
/* f00dbf8: 3c014780 */ lui $at,0x4780
|
||||
@@ -1511,7 +1510,7 @@ glabel var7f1a9258pf
|
||||
);
|
||||
#elif VERSION == VERSION_PAL_BETA
|
||||
GLOBAL_ASM(
|
||||
glabel setupAutogun
|
||||
glabel setupCreateAutogun
|
||||
.late_rodata
|
||||
glabel var7f1a9250pf
|
||||
.word 0x40c907a9
|
||||
@@ -1523,7 +1522,7 @@ glabel var7f1a9258pf
|
||||
/* f00dbe0: 27bdff70 */ addiu $sp,$sp,-144
|
||||
/* f00dbe4: afbf001c */ sw $ra,0x1c($sp)
|
||||
/* f00dbe8: afb00018 */ sw $s0,0x18($sp)
|
||||
/* f00dbec: 0fc033b1 */ jal setupGenericObject
|
||||
/* f00dbec: 0fc033b1 */ jal setupCreateObject
|
||||
/* f00dbf0: 00808025 */ move $s0,$a0
|
||||
/* f00dbf4: 8e0e0080 */ lw $t6,0x80($s0)
|
||||
/* f00dbf8: 3c014780 */ lui $at,0x4780
|
||||
@@ -1629,9 +1628,9 @@ glabel var7f1a9258pf
|
||||
/* f00dd80: 00000000 */ nop
|
||||
);
|
||||
#else
|
||||
void setupAutogun(struct autogunobj *autogun, s32 cmdindex)
|
||||
void setupCreateAutogun(struct autogunobj *autogun, s32 cmdindex)
|
||||
{
|
||||
setupGenericObject(&autogun->base, cmdindex);
|
||||
setupCreateObject(&autogun->base, cmdindex);
|
||||
|
||||
autogun->firecount = 0;
|
||||
autogun->lastseebond60 = -1;
|
||||
@@ -1678,12 +1677,12 @@ void setupAutogun(struct autogunobj *autogun, s32 cmdindex)
|
||||
}
|
||||
#endif
|
||||
|
||||
void setupHangingMonitors(struct hangingmonitorsobj *monitors, s32 cmdindex)
|
||||
void setupCreateHangingMonitors(struct hangingmonitorsobj *monitors, s32 cmdindex)
|
||||
{
|
||||
setupGenericObject(&monitors->base, cmdindex);
|
||||
setupCreateObject(&monitors->base, cmdindex);
|
||||
}
|
||||
|
||||
void setupSingleMonitor(struct singlemonitorobj *monitor, s32 cmdindex)
|
||||
void setupCreateSingleMonitor(struct singlemonitorobj *monitor, s32 cmdindex)
|
||||
{
|
||||
u32 stack[2];
|
||||
|
||||
@@ -1694,14 +1693,14 @@ void setupSingleMonitor(struct singlemonitorobj *monitor, s32 cmdindex)
|
||||
// unreachable. It appears to allow attaching monitors to other objects.
|
||||
if (monitor->base.pad < 0 && (monitor->base.flags & OBJFLAG_INSIDEANOTHEROBJ) == 0) {
|
||||
s32 modelnum = monitor->base.modelnum;
|
||||
struct defaultobj *owner = (struct defaultobj *)setupGetPtrToCommandByIndex(cmdindex + monitor->owneroffset);
|
||||
struct defaultobj *owner = (struct defaultobj *)setupGetCmdByIndex(cmdindex + monitor->owneroffset);
|
||||
struct prop *prop;
|
||||
f32 scale;
|
||||
struct coord spa4;
|
||||
Mtxf sp64;
|
||||
Mtxf sp24;
|
||||
|
||||
modelLoad(modelnum);
|
||||
setupLoadModeldef(modelnum);
|
||||
|
||||
scale = monitor->base.extrascale * (1.0f / 256.0f);
|
||||
|
||||
@@ -1740,7 +1739,7 @@ void setupSingleMonitor(struct singlemonitorobj *monitor, s32 cmdindex)
|
||||
mtx00015be4(&sp64, &sp24, &monitor->base.monitorthing->matrix);
|
||||
}
|
||||
} else {
|
||||
setupGenericObject(&monitor->base, cmdindex);
|
||||
setupCreateObject(&monitor->base, cmdindex);
|
||||
}
|
||||
|
||||
if (monitor->base.prop && (monitor->base.flags & OBJFLAG_MONITOR_RENDERPOSTBG)) {
|
||||
@@ -1748,7 +1747,7 @@ void setupSingleMonitor(struct singlemonitorobj *monitor, s32 cmdindex)
|
||||
}
|
||||
}
|
||||
|
||||
void setupMultiMonitor(struct multimonitorobj *monitor, s32 cmdindex)
|
||||
void setupCreateMultiMonitor(struct multimonitorobj *monitor, s32 cmdindex)
|
||||
{
|
||||
monitor->screens[0] = var8009ce98;
|
||||
tvscreenSetImageByNum(&monitor->screens[0], monitor->imagenums[0]);
|
||||
@@ -1762,10 +1761,10 @@ void setupMultiMonitor(struct multimonitorobj *monitor, s32 cmdindex)
|
||||
monitor->screens[3] = var8009ce98;
|
||||
tvscreenSetImageByNum(&monitor->screens[3], monitor->imagenums[3]);
|
||||
|
||||
setupGenericObject(&monitor->base, cmdindex);
|
||||
setupCreateObject(&monitor->base, cmdindex);
|
||||
}
|
||||
|
||||
s32 func0f00e1f8(s32 padnum)
|
||||
s32 setupGetPortalByPad(s32 padnum)
|
||||
{
|
||||
f32 mult;
|
||||
struct coord centre;
|
||||
@@ -1789,7 +1788,7 @@ s32 func0f00e1f8(s32 padnum)
|
||||
return func0f164e8c(¢re, &coord);
|
||||
}
|
||||
|
||||
s32 func0f00e2b0(s32 padnum)
|
||||
s32 setupGetPortalByDoorPad(s32 padnum)
|
||||
{
|
||||
f32 mult;
|
||||
struct coord centre;
|
||||
@@ -1815,7 +1814,7 @@ s32 func0f00e2b0(s32 padnum)
|
||||
|
||||
#if VERSION == VERSION_PAL_FINAL
|
||||
GLOBAL_ASM(
|
||||
glabel setupDoor
|
||||
glabel setupCreateDoor
|
||||
.late_rodata
|
||||
glabel var7f1a9260pf
|
||||
.word 0x3fc907a9
|
||||
@@ -1834,7 +1833,7 @@ glabel var7f1a926cpf
|
||||
/* f00e364: 84840004 */ lh $a0,0x4($a0)
|
||||
/* f00e368: 240effff */ li $t6,-1
|
||||
/* f00e36c: afae01bc */ sw $t6,0x1bc($sp)
|
||||
/* f00e370: 0fc2482d */ jal modelLoad
|
||||
/* f00e370: 0fc2482d */ jal setupLoadModeldef
|
||||
/* f00e374: afa401c0 */ sw $a0,0x1c0($sp)
|
||||
/* f00e378: 960f0070 */ lhu $t7,0x70($s0)
|
||||
/* f00e37c: 31f80040 */ andi $t8,$t7,0x40
|
||||
@@ -1847,7 +1846,7 @@ glabel var7f1a926cpf
|
||||
/* f00e394: 001940c0 */ sll $t0,$t9,0x3
|
||||
/* f00e398: 05030005 */ bgezl $t0,.PF0f00e3b0
|
||||
/* f00e39c: 86040006 */ lh $a0,0x6($s0)
|
||||
/* f00e3a0: 0fc038a6 */ jal func0f00e2b0
|
||||
/* f00e3a0: 0fc038a6 */ jal setupGetPortalByDoorPad
|
||||
/* f00e3a4: 86040006 */ lh $a0,0x6($s0)
|
||||
/* f00e3a8: afa201bc */ sw $v0,0x1bc($sp)
|
||||
/* f00e3ac: 86040006 */ lh $a0,0x6($s0)
|
||||
@@ -2140,7 +2139,7 @@ glabel var7f1a926cpf
|
||||
/* f00e804: e608006c */ swc1 $f8,0x6c($s0)
|
||||
/* f00e808: 8e0c00bc */ lw $t4,0xbc($s0)
|
||||
/* f00e80c: 8fad01cc */ lw $t5,0x1cc($sp)
|
||||
/* f00e810: 0fc247c1 */ jal setupGetPtrToCommandByIndex
|
||||
/* f00e810: 0fc247c1 */ jal setupGetCmdByIndex
|
||||
/* f00e814: 018d2021 */ addu $a0,$t4,$t5
|
||||
/* f00e818: ae0200bc */ sw $v0,0xbc($s0)
|
||||
.PF0f00e81c:
|
||||
@@ -2212,7 +2211,7 @@ glabel var7f1a926cpf
|
||||
);
|
||||
#elif VERSION == VERSION_PAL_BETA
|
||||
GLOBAL_ASM(
|
||||
glabel setupDoor
|
||||
glabel setupCreateDoor
|
||||
.late_rodata
|
||||
glabel var7f1a9260pf
|
||||
.word 0x3fc907a9
|
||||
@@ -2231,7 +2230,7 @@ glabel var7f1a926cpf
|
||||
/* f00e364: 84840004 */ lh $a0,0x4($a0)
|
||||
/* f00e368: 240effff */ li $t6,-1
|
||||
/* f00e36c: afae01bc */ sw $t6,0x1bc($sp)
|
||||
/* f00e370: 0fc24801 */ jal modelLoad
|
||||
/* f00e370: 0fc24801 */ jal setupLoadModeldef
|
||||
/* f00e374: afa401c0 */ sw $a0,0x1c0($sp)
|
||||
/* f00e378: 960f0070 */ lhu $t7,0x70($s0)
|
||||
/* f00e37c: 31f80040 */ andi $t8,$t7,0x40
|
||||
@@ -2244,7 +2243,7 @@ glabel var7f1a926cpf
|
||||
/* f00e394: 001940c0 */ sll $t0,$t9,0x3
|
||||
/* f00e398: 05030005 */ bgezl $t0,.PB0f00e3b0
|
||||
/* f00e39c: 86040006 */ lh $a0,0x6($s0)
|
||||
/* f00e3a0: 0fc038a6 */ jal func0f00e2b0
|
||||
/* f00e3a0: 0fc038a6 */ jal setupGetPortalByDoorPad
|
||||
/* f00e3a4: 86040006 */ lh $a0,0x6($s0)
|
||||
/* f00e3a8: afa201bc */ sw $v0,0x1bc($sp)
|
||||
/* f00e3ac: 86040006 */ lh $a0,0x6($s0)
|
||||
@@ -2537,7 +2536,7 @@ glabel var7f1a926cpf
|
||||
/* f00e804: e608006c */ swc1 $f8,0x6c($s0)
|
||||
/* f00e808: 8e0c00bc */ lw $t4,0xbc($s0)
|
||||
/* f00e80c: 8fad01cc */ lw $t5,0x1cc($sp)
|
||||
/* f00e810: 0fc24795 */ jal setupGetPtrToCommandByIndex
|
||||
/* f00e810: 0fc24795 */ jal setupGetCmdByIndex
|
||||
/* f00e814: 018d2021 */ addu $a0,$t4,$t5
|
||||
/* f00e818: ae0200bc */ sw $v0,0xbc($s0)
|
||||
.PB0f00e81c:
|
||||
@@ -2609,7 +2608,7 @@ glabel var7f1a926cpf
|
||||
);
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
glabel setupDoor
|
||||
glabel setupCreateDoor
|
||||
.late_rodata
|
||||
glabel var7f1a805c
|
||||
.word 0x3fc907a9
|
||||
@@ -2626,7 +2625,7 @@ glabel var7f1a8064
|
||||
/* f00e37c: 84840004 */ lh $a0,0x4($a0)
|
||||
/* f00e380: 240effff */ addiu $t6,$zero,-1
|
||||
/* f00e384: afae01bc */ sw $t6,0x1bc($sp)
|
||||
/* f00e388: 0fc2486d */ jal modelLoad
|
||||
/* f00e388: 0fc2486d */ jal setupLoadModeldef
|
||||
/* f00e38c: afa401c0 */ sw $a0,0x1c0($sp)
|
||||
/* f00e390: 960f0070 */ lhu $t7,0x70($s0)
|
||||
/* f00e394: 31f80040 */ andi $t8,$t7,0x40
|
||||
@@ -2639,7 +2638,7 @@ glabel var7f1a8064
|
||||
/* f00e3ac: 001940c0 */ sll $t0,$t9,0x3
|
||||
/* f00e3b0: 05030005 */ bgezl $t0,.L0f00e3c8
|
||||
/* f00e3b4: 86040006 */ lh $a0,0x6($s0)
|
||||
/* f00e3b8: 0fc038ac */ jal func0f00e2b0
|
||||
/* f00e3b8: 0fc038ac */ jal setupGetPortalByDoorPad
|
||||
/* f00e3bc: 86040006 */ lh $a0,0x6($s0)
|
||||
/* f00e3c0: afa201bc */ sw $v0,0x1bc($sp)
|
||||
/* f00e3c4: 86040006 */ lh $a0,0x6($s0)
|
||||
@@ -2927,7 +2926,7 @@ glabel var7f1a8064
|
||||
/* f00e808: e612006c */ swc1 $f18,0x6c($s0)
|
||||
/* f00e80c: 8e0c00bc */ lw $t4,0xbc($s0)
|
||||
/* f00e810: 8fad01cc */ lw $t5,0x1cc($sp)
|
||||
/* f00e814: 0fc24801 */ jal setupGetPtrToCommandByIndex
|
||||
/* f00e814: 0fc24801 */ jal setupGetCmdByIndex
|
||||
/* f00e818: 018d2021 */ addu $a0,$t4,$t5
|
||||
/* f00e81c: ae0200bc */ sw $v0,0xbc($s0)
|
||||
.L0f00e820:
|
||||
@@ -3005,21 +3004,21 @@ glabel var7f1a8064
|
||||
// 3. Goal seems to have rooms array as rooms[8] instead of rooms[2] but this
|
||||
// causes too much stack usage, because of 4
|
||||
// 4. Mine allocates too many unused stack slots at the bottom
|
||||
//void setupDoor(struct doorobj *door, s32 cmdindex)
|
||||
//void setupCreateDoor(struct doorobj *door, s32 cmdindex)
|
||||
//{
|
||||
// f32 mult;
|
||||
// s32 modelnum = door->base.modelnum; // 1c0
|
||||
// s32 portalnum = -1; // 1bc
|
||||
// struct pad pad; // 168
|
||||
//
|
||||
// modelLoad(modelnum);
|
||||
// setupLoadModeldef(modelnum);
|
||||
//
|
||||
// if (door->doorflags & DOORFLAG_ROTATEDPAD) {
|
||||
// padRotateForDoor(door->base.pad);
|
||||
// }
|
||||
//
|
||||
// if (door->base.flags & OBJFLAG_DOOR_HASPORTAL) {
|
||||
// portalnum = func0f00e2b0(door->base.pad);
|
||||
// portalnum = setupGetPortalByDoorPad(door->base.pad);
|
||||
// }
|
||||
//
|
||||
// padUnpack(door->base.pad, PADFIELD_POS | PADFIELD_LOOK | PADFIELD_UP | PADFIELD_NORMAL | PADFIELD_BBOX | PADFIELD_ROOM, &pad);
|
||||
@@ -3121,7 +3120,7 @@ glabel var7f1a8064
|
||||
// door->maxspeed = *(s32 *)&door->maxspeed / 65536.0f;
|
||||
//
|
||||
// if (door->sibling) {
|
||||
// door->sibling = (struct doorobj *)setupGetPtrToCommandByIndex((s32)door->sibling + cmdindex);
|
||||
// door->sibling = (struct doorobj *)setupGetCmdByIndex((s32)door->sibling + cmdindex);
|
||||
// }
|
||||
//
|
||||
// prop = doorInit(door, &pos, spac, rooms, &sp54, &spa0);
|
||||
@@ -3156,7 +3155,7 @@ glabel var7f1a8064
|
||||
// }
|
||||
//}
|
||||
|
||||
void setupHov(struct defaultobj *obj, struct hov *hov)
|
||||
void setupCreateHov(struct defaultobj *obj, struct hov *hov)
|
||||
{
|
||||
hov->unk04 = 0;
|
||||
hov->unk08 = 0;
|
||||
@@ -3290,7 +3289,7 @@ glabel setupLoadBriefing
|
||||
/* f00eb18: 0238c821 */ addu $t9,$s1,$t8
|
||||
/* f00eb1c: a72e000e */ sh $t6,0xe($t9)
|
||||
.L0f00eb20:
|
||||
/* f00eb20: 0fc24784 */ jal setupGetCommandLength
|
||||
/* f00eb20: 0fc24784 */ jal setupGetCmdLength
|
||||
/* f00eb24: 02002025 */ or $a0,$s0,$zero
|
||||
/* f00eb28: 00024080 */ sll $t0,$v0,0x2
|
||||
/* f00eb2c: 01108021 */ addu $s0,$t0,$s0
|
||||
@@ -3425,7 +3424,7 @@ glabel setupLoadBriefing
|
||||
/* f00eb18: 0238c821 */ addu $t9,$s1,$t8
|
||||
/* f00eb1c: a72e000e */ sh $t6,0xe($t9)
|
||||
.L0f00eb20:
|
||||
/* f00eb20: 0fc24784 */ jal setupGetCommandLength
|
||||
/* f00eb20: 0fc24784 */ jal setupGetCmdLength
|
||||
/* f00eb24: 02002025 */ or $a0,$s0,$zero
|
||||
/* f00eb28: 00024080 */ sll $t0,$v0,0x2
|
||||
/* f00eb2c: 01108021 */ addu $s0,$t0,$s0
|
||||
@@ -3524,13 +3523,13 @@ glabel setupLoadBriefing
|
||||
// break;
|
||||
// }
|
||||
//
|
||||
// obj = (struct defaultobj *)((u32 *)obj + setupGetCommandLength((u32 *)obj));
|
||||
// obj = (struct defaultobj *)((u32 *)obj + setupGetCmdLength((u32 *)obj));
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
void setupReset(s32 stagenum)
|
||||
void setupLoadFiles(s32 stagenum)
|
||||
{
|
||||
s32 i;
|
||||
s32 j;
|
||||
@@ -3699,7 +3698,7 @@ void setupReset(s32 stagenum)
|
||||
g_Vars.maxprops = total + numchrs + extra + 40;
|
||||
}
|
||||
|
||||
void propsCreate(s32 stagenum)
|
||||
void setupCreateProps(s32 stagenum)
|
||||
{
|
||||
s32 withchrs = !argFindByPrefix(1, "-nochr") && !argFindByPrefix(1, "-noprop");
|
||||
s32 withobjs = !argFindByPrefix(1, "-noobj") && !argFindByPrefix(1, "-noprop");
|
||||
@@ -3726,10 +3725,10 @@ void propsCreate(s32 stagenum)
|
||||
|
||||
if (stagenum < STAGE_TITLE) {
|
||||
if (g_StageSetup.padfiledata) {
|
||||
padsPrepare();
|
||||
setupPreparePads();
|
||||
}
|
||||
|
||||
waypointsLoad();
|
||||
setupLoadWaypoints();
|
||||
|
||||
if (withchrs) {
|
||||
s32 numchrs = 0;
|
||||
@@ -3788,12 +3787,12 @@ void propsCreate(s32 stagenum)
|
||||
break;
|
||||
case OBJTYPE_CHR:
|
||||
if (withchrs) {
|
||||
chrUnpack(stagenum, (struct packedchr *) obj, index);
|
||||
bodyAllocateChr(stagenum, (struct packedchr *) obj, index);
|
||||
}
|
||||
break;
|
||||
case OBJTYPE_DOOR:
|
||||
if (withobjs && (obj->flags2 & diffflag) == 0) {
|
||||
setupDoor((struct doorobj *)obj, index);
|
||||
setupCreateDoor((struct doorobj *)obj, index);
|
||||
}
|
||||
break;
|
||||
case OBJTYPE_DOORSCALE:
|
||||
@@ -3804,42 +3803,42 @@ void propsCreate(s32 stagenum)
|
||||
break;
|
||||
case OBJTYPE_WEAPON:
|
||||
if (withchrs && (obj->flags2 & diffflag) == 0) {
|
||||
weaponAssignToHome((struct weaponobj *)obj, index);
|
||||
setupPlaceWeapon((struct weaponobj *)obj, index);
|
||||
}
|
||||
break;
|
||||
case OBJTYPE_KEY:
|
||||
if (withchrs && (obj->flags2 & diffflag) == 0) {
|
||||
setupKey((struct keyobj *)obj, index);
|
||||
setupCreateKey((struct keyobj *)obj, index);
|
||||
}
|
||||
break;
|
||||
case OBJTYPE_HAT:
|
||||
if (withchrs && (obj->flags2 & diffflag) == 0) {
|
||||
setupHat((struct hatobj *)obj, index);
|
||||
setupCreateHat((struct hatobj *)obj, index);
|
||||
}
|
||||
break;
|
||||
case OBJTYPE_CCTV:
|
||||
if (withobjs && (obj->flags2 & diffflag) == 0) {
|
||||
setupCctv((struct cctvobj *)obj, index);
|
||||
setupCreateCctv((struct cctvobj *)obj, index);
|
||||
}
|
||||
break;
|
||||
case OBJTYPE_AUTOGUN:
|
||||
if (withobjs && (obj->flags2 & diffflag) == 0) {
|
||||
setupAutogun((struct autogunobj *)obj, index);
|
||||
setupCreateAutogun((struct autogunobj *)obj, index);
|
||||
}
|
||||
break;
|
||||
case OBJTYPE_HANGINGMONITORS:
|
||||
if (withobjs && (obj->flags2 & diffflag) == 0) {
|
||||
setupHangingMonitors((struct hangingmonitorsobj *)obj, index);
|
||||
setupCreateHangingMonitors((struct hangingmonitorsobj *)obj, index);
|
||||
}
|
||||
break;
|
||||
case OBJTYPE_SINGLEMONITOR:
|
||||
if (withobjs && (obj->flags2 & diffflag) == 0) {
|
||||
setupSingleMonitor((struct singlemonitorobj *)obj, index);
|
||||
setupCreateSingleMonitor((struct singlemonitorobj *)obj, index);
|
||||
}
|
||||
break;
|
||||
case OBJTYPE_MULTIMONITOR:
|
||||
if (withobjs && (obj->flags2 & diffflag) == 0) {
|
||||
setupMultiMonitor((struct multimonitorobj *)obj, index);
|
||||
setupCreateMultiMonitor((struct multimonitorobj *)obj, index);
|
||||
}
|
||||
break;
|
||||
case OBJTYPE_SHIELD:
|
||||
@@ -3853,7 +3852,7 @@ void propsCreate(s32 stagenum)
|
||||
struct shieldobj *shield = (struct shieldobj *)obj;
|
||||
shield->initialamount = *(s32 *)&shield->initialamount / 65536.0f;
|
||||
shield->amount = shield->initialamount;
|
||||
setupGenericObject(obj, index);
|
||||
setupCreateObject(obj, index);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -3861,11 +3860,11 @@ void propsCreate(s32 stagenum)
|
||||
if (withobjs && (obj->flags2 & diffflag) == 0) {
|
||||
if (obj->flags & OBJFLAG_GLASS_HASPORTAL) {
|
||||
struct tintedglassobj *glass = (struct tintedglassobj *)obj;
|
||||
glass->portalnum = func0f00e1f8(obj->pad);
|
||||
glass->portalnum = setupGetPortalByPad(obj->pad);
|
||||
glass->unk64 = *(s32 *)&glass->unk64 / 65536.0f;
|
||||
}
|
||||
|
||||
setupGenericObject(obj, index);
|
||||
setupCreateObject(obj, index);
|
||||
}
|
||||
break;
|
||||
case OBJTYPE_LIFT:
|
||||
@@ -3885,12 +3884,12 @@ void propsCreate(s32 stagenum)
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
if (lift->doors[i]) {
|
||||
lift->doors[i] = (struct doorobj *)setupGetPtrToCommandByIndex(index + *(s32*)&lift->doors[i]);
|
||||
lift->doors[i] = (struct doorobj *)setupGetCmdByIndex(index + *(s32*)&lift->doors[i]);
|
||||
}
|
||||
}
|
||||
|
||||
obj->numtiles = 1;
|
||||
modelLoad(modelnum);
|
||||
setupLoadModeldef(modelnum);
|
||||
modelstate = &g_ModelStates[modelnum];
|
||||
|
||||
if (modelstate->filedata) {
|
||||
@@ -3913,7 +3912,7 @@ void propsCreate(s32 stagenum)
|
||||
|
||||
obj->flags &= ~OBJFLAG_00000100;
|
||||
|
||||
setupGenericObject(obj, index);
|
||||
setupCreateObject(obj, index);
|
||||
|
||||
prop = obj->prop;
|
||||
|
||||
@@ -3930,16 +3929,16 @@ void propsCreate(s32 stagenum)
|
||||
if (withobjs && (obj->flags2 & diffflag) == 0) {
|
||||
struct hoverpropobj *hoverprop = (struct hoverpropobj *)obj;
|
||||
|
||||
setupGenericObject(obj, index);
|
||||
setupHov(obj, &hoverprop->hov);
|
||||
setupCreateObject(obj, index);
|
||||
setupCreateHov(obj, &hoverprop->hov);
|
||||
}
|
||||
break;
|
||||
case OBJTYPE_HOVERBIKE:
|
||||
if (withobjs && (obj->flags2 & diffflag) == 0) {
|
||||
struct hoverbikeobj *bike = (struct hoverbikeobj *)obj;
|
||||
|
||||
setupGenericObject(obj, index);
|
||||
setupHov(obj, &bike->hov);
|
||||
setupCreateObject(obj, index);
|
||||
setupCreateHov(obj, &bike->hov);
|
||||
|
||||
bike->speed[0] = 0;
|
||||
bike->speed[1] = 0;
|
||||
@@ -3966,17 +3965,17 @@ void propsCreate(s32 stagenum)
|
||||
fan->ymaxspeed = PALUPF(*(s32 *)&fan->ymaxspeed) / 65536.0f;
|
||||
fan->yaccel = PALUPF(*(s32 *)&fan->yaccel) / 65536.0f;
|
||||
|
||||
setupGenericObject(obj, index);
|
||||
setupCreateObject(obj, index);
|
||||
}
|
||||
break;
|
||||
case OBJTYPE_GLASS:
|
||||
if (withobjs && (obj->flags2 & diffflag) == 0) {
|
||||
if (obj->flags & OBJFLAG_GLASS_HASPORTAL) {
|
||||
struct glassobj *glass = (struct glassobj *)obj;
|
||||
glass->portalnum = func0f00e1f8(obj->pad);
|
||||
glass->portalnum = setupGetPortalByPad(obj->pad);
|
||||
}
|
||||
|
||||
setupGenericObject(obj, index);
|
||||
setupCreateObject(obj, index);
|
||||
}
|
||||
break;
|
||||
case OBJTYPE_ESCASTEP:
|
||||
@@ -3990,7 +3989,7 @@ void propsCreate(s32 stagenum)
|
||||
f32 sp1a8[12];
|
||||
f32 sp184[3][3];
|
||||
|
||||
setupGenericObject(obj, index);
|
||||
setupCreateObject(obj, index);
|
||||
|
||||
prop = obj->prop;
|
||||
|
||||
@@ -4023,7 +4022,7 @@ void propsCreate(s32 stagenum)
|
||||
case OBJTYPE_29:
|
||||
case OBJTYPE_SAFE:
|
||||
if (withobjs && (obj->flags2 & diffflag) == 0) {
|
||||
setupGenericObject(obj, index);
|
||||
setupCreateObject(obj, index);
|
||||
}
|
||||
break;
|
||||
case OBJTYPE_MULTIAMMOCRATE:
|
||||
@@ -4048,11 +4047,11 @@ void propsCreate(s32 stagenum)
|
||||
if (ammoqty > 0 && withobjs && (obj->flags2 & diffflag) == 0) {
|
||||
for (i = 0; i < 19; i++) {
|
||||
if (crate->slots[i].quantity > 0 && crate->slots[i].modelnum != 0xffff) {
|
||||
modelLoad(crate->slots[i].modelnum);
|
||||
setupLoadModeldef(crate->slots[i].modelnum);
|
||||
}
|
||||
}
|
||||
|
||||
setupGenericObject(obj, index);
|
||||
setupCreateObject(obj, index);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -4060,7 +4059,7 @@ void propsCreate(s32 stagenum)
|
||||
if (withobjs && (obj->flags2 & diffflag) == 0) {
|
||||
struct truckobj *truck = (struct truckobj *)obj;
|
||||
|
||||
setupGenericObject(obj, index);
|
||||
setupCreateObject(obj, index);
|
||||
|
||||
if (obj->model) {
|
||||
struct modelnode *node = modelGetPart(obj->model->filedata, 5);
|
||||
@@ -4090,7 +4089,7 @@ void propsCreate(s32 stagenum)
|
||||
struct hovercarobj *car = (struct hovercarobj *)obj;
|
||||
struct prop *prop;
|
||||
|
||||
setupGenericObject(obj, index);
|
||||
setupCreateObject(obj, index);
|
||||
|
||||
prop = obj->prop;
|
||||
|
||||
@@ -4117,7 +4116,7 @@ void propsCreate(s32 stagenum)
|
||||
if (withobjs && (obj->flags2 & diffflag) == 0) {
|
||||
struct chopperobj *chopper = (struct chopperobj *)obj;
|
||||
|
||||
setupGenericObject(obj, index);
|
||||
setupCreateObject(obj, index);
|
||||
|
||||
obj->flags |= OBJFLAG_20000000;
|
||||
obj->prop->forcetick = true;
|
||||
@@ -4166,7 +4165,7 @@ void propsCreate(s32 stagenum)
|
||||
if (withobjs && (obj->flags2 & diffflag) == 0) {
|
||||
struct heliobj *heli = (struct heliobj *)obj;
|
||||
|
||||
setupGenericObject(obj, index);
|
||||
setupCreateObject(obj, index);
|
||||
|
||||
heli->speed = 0;
|
||||
heli->speedaim = 0;
|
||||
@@ -4186,7 +4185,7 @@ void propsCreate(s32 stagenum)
|
||||
case OBJTYPE_TAG:
|
||||
{
|
||||
struct tag *tag = (struct tag *)obj;
|
||||
struct defaultobj *taggedobj = setupCommandGetObject(index + tag->cmdoffset);
|
||||
struct defaultobj *taggedobj = setupGetObjByCmdIndex(index + tag->cmdoffset);
|
||||
tag->obj = taggedobj;
|
||||
|
||||
if (taggedobj) {
|
||||
@@ -4199,7 +4198,7 @@ void propsCreate(s32 stagenum)
|
||||
case OBJTYPE_RENAMEOBJ:
|
||||
{
|
||||
struct textoverride *override = (struct textoverride *)obj;
|
||||
struct defaultobj *targetobj = setupCommandGetObject(override->objoffset + index);
|
||||
struct defaultobj *targetobj = setupGetObjByCmdIndex(override->objoffset + index);
|
||||
override->obj = targetobj;
|
||||
|
||||
if (targetobj) {
|
||||
@@ -4271,12 +4270,12 @@ void propsCreate(s32 stagenum)
|
||||
break;
|
||||
case OBJTYPE_MINE:
|
||||
if (withobjs && (obj->flags2 & diffflag) == 0) {
|
||||
setupMine((struct mineobj *)obj, index);
|
||||
setupCreateMine((struct mineobj *)obj, index);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
obj = (struct defaultobj *)((u32 *)obj + setupGetCommandLength((u32 *)obj));
|
||||
obj = (struct defaultobj *)((u32 *)obj + setupGetCmdLength((u32 *)obj));
|
||||
index++;
|
||||
}
|
||||
|
||||
@@ -4290,7 +4289,7 @@ void propsCreate(s32 stagenum)
|
||||
s32 maxsimulants;
|
||||
s32 slotnum;
|
||||
|
||||
if (mpIsFeatureUnlocked(MPFEATURE_8BOTS)) {
|
||||
if (challengeIsFeatureUnlocked(MPFEATURE_8BOTS)) {
|
||||
maxsimulants = MAX_BOTS;
|
||||
} else {
|
||||
maxsimulants = 4;
|
||||
@@ -4340,7 +4339,7 @@ void propsCreate(s32 stagenum)
|
||||
case OBJTYPE_TINTEDGLASS:
|
||||
if (obj->prop && (obj->flags & OBJFLAG_INSIDEANOTHEROBJ)) {
|
||||
s32 offset = obj->pad;
|
||||
struct defaultobj *owner = setupCommandGetObject(index + offset);
|
||||
struct defaultobj *owner = setupGetObjByCmdIndex(index + offset);
|
||||
|
||||
if (owner && owner->prop) {
|
||||
obj->hidden |= OBJHFLAG_HASOWNER;
|
||||
@@ -4352,8 +4351,8 @@ void propsCreate(s32 stagenum)
|
||||
case OBJTYPE_LINKGUNS:
|
||||
{
|
||||
struct linkgunsobj *link = (struct linkgunsobj *)obj;
|
||||
struct weaponobj *gun1 = (struct weaponobj *)setupGetPtrToCommandByIndex(link->offset1 + index);
|
||||
struct weaponobj *gun2 = (struct weaponobj *)setupGetPtrToCommandByIndex(link->offset2 + index);
|
||||
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
|
||||
@@ -4367,14 +4366,14 @@ void propsCreate(s32 stagenum)
|
||||
struct linkliftdoorobj *link = (struct linkliftdoorobj *)obj;
|
||||
s32 dooroffset = (s32)link->door;
|
||||
s32 liftoffset = (s32)link->lift;
|
||||
struct defaultobj *door = setupCommandGetObject(index + dooroffset);
|
||||
struct defaultobj *lift = setupCommandGetObject(index + liftoffset);
|
||||
struct defaultobj *door = setupGetObjByCmdIndex(index + dooroffset);
|
||||
struct defaultobj *lift = setupGetObjByCmdIndex(index + liftoffset);
|
||||
|
||||
if (door && door->prop && lift && lift->prop) {
|
||||
link->door = door->prop;
|
||||
link->lift = lift->prop;
|
||||
|
||||
addLiftDoor(link);
|
||||
setupCreateLiftDoor(link);
|
||||
|
||||
door->hidden |= OBJHFLAG_LIFTDOOR;
|
||||
}
|
||||
@@ -4386,9 +4385,9 @@ void propsCreate(s32 stagenum)
|
||||
s32 itemoffset = (s32)link->item;
|
||||
s32 safeoffset = (s32)link->safe;
|
||||
s32 dooroffset = (s32)link->door;
|
||||
struct defaultobj *item = setupCommandGetObject(index + itemoffset);
|
||||
struct defaultobj *safe = setupCommandGetObject(index + safeoffset);
|
||||
struct defaultobj *door = setupCommandGetObject(index + dooroffset);
|
||||
struct defaultobj *item = setupGetObjByCmdIndex(index + itemoffset);
|
||||
struct defaultobj *safe = setupGetObjByCmdIndex(index + safeoffset);
|
||||
struct defaultobj *door = setupGetObjByCmdIndex(index + dooroffset);
|
||||
|
||||
if (item && item->prop
|
||||
&& safe && safe->prop && safe->type == OBJTYPE_SAFE
|
||||
@@ -4397,7 +4396,7 @@ void propsCreate(s32 stagenum)
|
||||
link->safe = (struct safeobj *)safe;
|
||||
link->door = (struct doorobj *)door;
|
||||
|
||||
addSafeItem(link);
|
||||
setupCreateSafeItem(link);
|
||||
|
||||
item->flags2 |= OBJFLAG2_LINKEDTOSAFE;
|
||||
door->flags2 |= OBJFLAG2_LINKEDTOSAFE;
|
||||
@@ -4409,15 +4408,15 @@ void propsCreate(s32 stagenum)
|
||||
struct padlockeddoorobj *link = (struct padlockeddoorobj *)obj;
|
||||
s32 dooroffset = (s32)link->door;
|
||||
s32 lockoffset = (s32)link->lock;
|
||||
struct defaultobj *door = setupCommandGetObject(index + dooroffset);
|
||||
struct defaultobj *lock = setupCommandGetObject(index + lockoffset);
|
||||
struct defaultobj *door = setupGetObjByCmdIndex(index + dooroffset);
|
||||
struct defaultobj *lock = setupGetObjByCmdIndex(index + lockoffset);
|
||||
|
||||
if (door && door->prop && lock && lock->prop
|
||||
&& door->type == OBJTYPE_DOOR) {
|
||||
link->door = (struct doorobj *)door;
|
||||
link->lock = lock;
|
||||
|
||||
addPadlockedDoor(link);
|
||||
setupCreatePadlockedDoor(link);
|
||||
|
||||
door->hidden |= OBJHFLAG_PADLOCKEDDOOR;
|
||||
}
|
||||
@@ -4429,17 +4428,17 @@ void propsCreate(s32 stagenum)
|
||||
s32 triggeroffset = (s32)link->trigger;
|
||||
s32 unexpoffset = (s32)link->unexp;
|
||||
s32 expoffset = (s32)link->exp;
|
||||
struct defaultobj *trigger = setupCommandGetObject(index + triggeroffset);
|
||||
struct defaultobj *trigger = setupGetObjByCmdIndex(index + triggeroffset);
|
||||
struct defaultobj *unexp = NULL;
|
||||
struct defaultobj *exp = NULL;
|
||||
s32 alwayszero = 0;
|
||||
|
||||
if (unexpoffset) {
|
||||
unexp = setupCommandGetObject(index + unexpoffset);
|
||||
unexp = setupGetObjByCmdIndex(index + unexpoffset);
|
||||
}
|
||||
|
||||
if (expoffset) {
|
||||
exp = setupCommandGetObject(index + expoffset);
|
||||
exp = setupGetObjByCmdIndex(index + expoffset);
|
||||
}
|
||||
|
||||
if (trigger && trigger->prop
|
||||
@@ -4449,7 +4448,7 @@ void propsCreate(s32 stagenum)
|
||||
link->unexp = unexp;
|
||||
link->exp = exp;
|
||||
|
||||
addConditionalScenery(link);
|
||||
setupCreateConditionalScenery(link);
|
||||
|
||||
trigger->hidden |= OBJHFLAG_CONDITIONALSCENERY;
|
||||
|
||||
@@ -4462,7 +4461,7 @@ void propsCreate(s32 stagenum)
|
||||
// for a match. Any function call would work; I just
|
||||
// copied the one above.
|
||||
if (alwayszero) {
|
||||
addConditionalScenery(link);
|
||||
setupCreateConditionalScenery(link);
|
||||
}
|
||||
|
||||
if (expoffset) {
|
||||
@@ -4480,12 +4479,12 @@ void propsCreate(s32 stagenum)
|
||||
{
|
||||
struct blockedpathobj *blockedpath = (struct blockedpathobj *)obj;
|
||||
s32 objoffset = (s32)blockedpath->blocker;
|
||||
struct defaultobj *blocker = setupCommandGetObject(index + objoffset);
|
||||
struct defaultobj *blocker = setupGetObjByCmdIndex(index + objoffset);
|
||||
|
||||
if (blocker && blocker->prop) {
|
||||
blockedpath->blocker = blocker;
|
||||
|
||||
addBlockedPath(blockedpath);
|
||||
setupCreateBlockedPath(blockedpath);
|
||||
|
||||
blocker->hidden |= OBJHFLAG_02000000;
|
||||
|
||||
@@ -4497,7 +4496,7 @@ void propsCreate(s32 stagenum)
|
||||
break;
|
||||
}
|
||||
|
||||
obj = (struct defaultobj *)((u32 *)obj + setupGetCommandLength((u32 *)obj));
|
||||
obj = (struct defaultobj *)((u32 *)obj + setupGetCmdLength((u32 *)obj));
|
||||
index++;
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/game_013ee0.h"
|
||||
#include "game/bg.h"
|
||||
#include "game/pad.h"
|
||||
#include "bss.h"
|
||||
@@ -9,34 +8,6 @@
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
void func0f013ee0(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
var80082050 = PLAYERCOUNT() >= 2 ? 200 : 120;
|
||||
|
||||
var800a6660 = mempAlloc(ALIGN16(var80082050), MEMPOOL_STAGE);
|
||||
var800a6664 = mempAlloc(ALIGN16(var80082050 * sizeof(s16)), MEMPOOL_STAGE);
|
||||
var800a6668 = mempAlloc(ALIGN16(var80082050 * sizeof(s16)), MEMPOOL_STAGE);
|
||||
var800a666c = mempAlloc(ALIGN16(var80082050 * sizeof(f32)), MEMPOOL_STAGE);
|
||||
var800a6670 = mempAlloc(ALIGN16(var80082050 * sizeof(Mtxf)), MEMPOOL_STAGE);
|
||||
|
||||
for (i = 0; i < PLAYERCOUNT(); i++) {
|
||||
g_Vars.players[i]->lastroomforoffset = -1;
|
||||
}
|
||||
|
||||
for (i = 0; i < var80082050; i++) {
|
||||
var800a6664[i] = -1;
|
||||
var800a6660[i] = 2;
|
||||
var800a6668[i] = -1;
|
||||
var800a666c[i] = 1;
|
||||
}
|
||||
|
||||
for (i = 0; i < g_Vars.roomcount; i++) {
|
||||
g_Rooms[i].unk10 = -1;
|
||||
}
|
||||
}
|
||||
|
||||
void coverAllocateSpecial(u16 *specialcovernums)
|
||||
{
|
||||
s32 i;
|
||||
@@ -50,7 +21,7 @@ void coverAllocateSpecial(u16 *specialcovernums)
|
||||
}
|
||||
}
|
||||
|
||||
void coverPrepare(void)
|
||||
void setupPrepareCover(void)
|
||||
{
|
||||
s32 i;
|
||||
s32 numcovers = g_PadsFile->numcovers;
|
||||
@@ -1,6 +1,5 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/game_013ee0.h"
|
||||
#include "game/bondhead.h"
|
||||
#include "game/bg.h"
|
||||
#include "game/pad.h"
|
||||
@@ -17,14 +16,14 @@
|
||||
* format. During gameplay, the game uses padUnpack as needed to temporarily
|
||||
* populate pad structs from this data.
|
||||
*
|
||||
* padsPrepare prepares the packed data by doing the following:
|
||||
* setupPreparePads prepares the packed data by doing the following:
|
||||
* - populates the room field (if -1)
|
||||
* - multiplies each pad's bounding box by 1 (this is effectively a no op)
|
||||
* - sets the g_StageSetup pad/waygroup/waypoint/cover pointers
|
||||
* - promotes file offsets to RAM pointers
|
||||
* - does similar things for cover by calling coverPrepare()
|
||||
* - does similar things for cover by calling setupPrepareCover()
|
||||
*/
|
||||
void padsPrepare(void)
|
||||
void setupPreparePads(void)
|
||||
{
|
||||
struct packedpad *packedpad;
|
||||
s16 *roomsptr;
|
||||
@@ -91,7 +90,7 @@ void padsPrepare(void)
|
||||
g_StageSetup.cover = (void *) ((s32)g_StageSetup.padfiledata + g_PadsFile->coversoffset);
|
||||
|
||||
if (g_StageSetup.cover != NULL) {
|
||||
coverPrepare();
|
||||
setupPrepareCover();
|
||||
}
|
||||
|
||||
// Promote offsets to pointers in waypoints
|
||||
@@ -1,10 +1,10 @@
|
||||
#include <ultra64.h>
|
||||
#include "constants.h"
|
||||
#include "game/prop.h"
|
||||
#include "game/game_091e10.h"
|
||||
#include "game/setuputils.h"
|
||||
#include "game/game_0b28d0.h"
|
||||
#include "game/bg.h"
|
||||
#include "game/game_1a7560.h"
|
||||
#include "game/modeldef.h"
|
||||
#include "game/propobj.h"
|
||||
#include "bss.h"
|
||||
#include "data.h"
|
||||
@@ -13,7 +13,7 @@
|
||||
struct stagesetup g_StageSetup;
|
||||
u8 *g_GeCreditsData;
|
||||
|
||||
u32 setupGetCommandLength(u32 *cmd)
|
||||
u32 setupGetCmdLength(u32 *cmd)
|
||||
{
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
static u32 crash1 = 0;
|
||||
@@ -89,7 +89,7 @@ u32 setupGetCommandLength(u32 *cmd)
|
||||
return 1;
|
||||
}
|
||||
|
||||
u32 *setupGetPtrToCommandByIndex(s32 wantindex)
|
||||
u32 *setupGetCmdByIndex(s32 wantindex)
|
||||
{
|
||||
u32 *cmd = g_StageSetup.props;
|
||||
|
||||
@@ -101,7 +101,7 @@ u32 *setupGetPtrToCommandByIndex(s32 wantindex)
|
||||
return cmd;
|
||||
}
|
||||
|
||||
cmd = cmd + setupGetCommandLength(cmd);
|
||||
cmd = cmd + setupGetCmdLength(cmd);
|
||||
cmdindex++;
|
||||
}
|
||||
}
|
||||
@@ -109,7 +109,7 @@ u32 *setupGetPtrToCommandByIndex(s32 wantindex)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
s32 tagGetCommandIndex(struct tag *tag)
|
||||
s32 setupGetCmdIndexByTag(struct tag *tag)
|
||||
{
|
||||
u32 *cmd = g_StageSetup.props;
|
||||
|
||||
@@ -121,7 +121,7 @@ s32 tagGetCommandIndex(struct tag *tag)
|
||||
return cmdindex;
|
||||
}
|
||||
|
||||
cmd = cmd + setupGetCommandLength(cmd);
|
||||
cmd = cmd + setupGetCmdLength(cmd);
|
||||
cmdindex++;
|
||||
}
|
||||
}
|
||||
@@ -129,7 +129,7 @@ s32 tagGetCommandIndex(struct tag *tag)
|
||||
return -1;
|
||||
}
|
||||
|
||||
u32 setupGetCommandIndexByProp(struct prop *prop)
|
||||
u32 setupGetCmdIndexByProp(struct prop *prop)
|
||||
{
|
||||
u32 *cmd = g_StageSetup.props;
|
||||
|
||||
@@ -141,7 +141,7 @@ u32 setupGetCommandIndexByProp(struct prop *prop)
|
||||
return cmdindex;
|
||||
}
|
||||
|
||||
cmd = cmd + setupGetCommandLength(cmd);
|
||||
cmd = cmd + setupGetCmdLength(cmd);
|
||||
cmdindex++;
|
||||
}
|
||||
}
|
||||
@@ -149,7 +149,7 @@ u32 setupGetCommandIndexByProp(struct prop *prop)
|
||||
return -1;
|
||||
}
|
||||
|
||||
bool modelLoad(s32 propnum)
|
||||
bool setupLoadModeldef(s32 propnum)
|
||||
{
|
||||
if (g_ModelStates[propnum].filedata == NULL) {
|
||||
g_ModelStates[propnum].filedata = modeldefLoadToNew(g_ModelStates[propnum].fileid);
|
||||
@@ -160,7 +160,7 @@ bool modelLoad(s32 propnum)
|
||||
return false;
|
||||
}
|
||||
|
||||
bool func0f09220c(struct defaultobj *obj, struct coord *pos, f32 realrot[3][3], struct coord *arg3, struct coord *arg4)
|
||||
bool setupGetObjBbox(struct defaultobj *obj, struct coord *pos, f32 realrot[3][3], struct coord *arg3, struct coord *arg4)
|
||||
{
|
||||
struct modelrodata_bbox *bbox = objFindBboxRodata(obj);
|
||||
|
||||
@@ -179,18 +179,18 @@ bool func0f09220c(struct defaultobj *obj, struct coord *pos, f32 realrot[3][3],
|
||||
return false;
|
||||
}
|
||||
|
||||
bool func0f092304(struct defaultobj *obj, struct coord *arg1, struct coord *arg2)
|
||||
bool setup0f092304(struct defaultobj *obj, struct coord *arg1, struct coord *arg2)
|
||||
{
|
||||
return func0f09220c(obj, &obj->prop->pos, obj->realrot, arg1, arg2);
|
||||
return setupGetObjBbox(obj, &obj->prop->pos, obj->realrot, arg1, arg2);
|
||||
}
|
||||
|
||||
void func0f09233c(struct defaultobj *obj, struct coord *pos, f32 realrot[3][3], s16 *rooms)
|
||||
void setup0f09233c(struct defaultobj *obj, struct coord *pos, f32 realrot[3][3], s16 *rooms)
|
||||
{
|
||||
struct coord a;
|
||||
struct coord b;
|
||||
u32 stack;
|
||||
|
||||
if (func0f09220c(obj, pos, realrot, &a, &b)) {
|
||||
if (setupGetObjBbox(obj, pos, realrot, &a, &b)) {
|
||||
a.x -= 1;
|
||||
a.y -= 1;
|
||||
a.z -= 1;
|
||||
@@ -202,16 +202,16 @@ void func0f09233c(struct defaultobj *obj, struct coord *pos, f32 realrot[3][3],
|
||||
}
|
||||
}
|
||||
|
||||
void func0f0923d4(struct defaultobj *obj)
|
||||
void setup0f0923d4(struct defaultobj *obj)
|
||||
{
|
||||
propDeregisterRooms(obj->prop);
|
||||
func0f09233c(obj, &obj->prop->pos, obj->realrot, obj->prop->rooms);
|
||||
setup0f09233c(obj, &obj->prop->pos, obj->realrot, obj->prop->rooms);
|
||||
propRegisterRooms(obj->prop);
|
||||
}
|
||||
|
||||
struct defaultobj *setupCommandGetObject(u32 cmdindex)
|
||||
struct defaultobj *setupGetObjByCmdIndex(u32 cmdindex)
|
||||
{
|
||||
u32 *cmd = setupGetPtrToCommandByIndex(cmdindex);
|
||||
u32 *cmd = setupGetCmdByIndex(cmdindex);
|
||||
|
||||
if (cmd) {
|
||||
switch ((u8)cmd[0]) {
|
||||
@@ -333,7 +333,7 @@ struct defaultobj *setupFindObjForReuse(s32 wanttype, struct defaultobj **offscr
|
||||
}
|
||||
}
|
||||
|
||||
cmd = cmd + setupGetCommandLength(cmd);
|
||||
cmd = cmd + setupGetCmdLength(cmd);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
void waypointsLoad(void)
|
||||
void setupLoadWaypoints(void)
|
||||
{
|
||||
struct waypoint *waypoints;
|
||||
s32 numwaypoints;
|
||||
+18
-18
@@ -5,8 +5,8 @@
|
||||
#include "game/dlights.h"
|
||||
#include "game/file.h"
|
||||
#include "game/propsnd.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/game_0b4950.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/camera.h"
|
||||
#include "game/gfxmemory.h"
|
||||
#include "bss.h"
|
||||
#include "lib/mtx.h"
|
||||
@@ -226,7 +226,7 @@ Gfx *shardsRenderWood(Gfx *gdl)
|
||||
gDPSetTextureFilter(gdl++, G_TF_BILERP);
|
||||
gDPSetCycleType(gdl++, G_CYC_2CYCLE);
|
||||
gDPSetTextureLOD(gdl++, G_TL_LOD);
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(currentPlayerGetUnk1758()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(camGetUnk1758()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
|
||||
for (i = 0; i < g_MaxShards; i++) {
|
||||
if (g_Shards[i].age60 > 0 && g_Shards[i].type == SHARDTYPE_WOOD) {
|
||||
@@ -324,8 +324,8 @@ Gfx *shardsRenderWood(Gfx *gdl)
|
||||
}
|
||||
|
||||
gSPClearGeometryMode(gdl++, G_LIGHTING | G_TEXTURE_GEN);
|
||||
gSPMatrix(gdl++, currentPlayerGetUnk1750(), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gdl++, currentPlayerGetUnk173c(), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPMatrix(gdl++, camGetUnk1750(), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gdl++, camGetUnk173c(), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
}
|
||||
|
||||
return gdl;
|
||||
@@ -402,7 +402,7 @@ glabel shardsRenderWood
|
||||
/* f14c050: 02608025 */ or $s0,$s3,$zero
|
||||
/* f14c054: 26f7e6c0 */ addiu $s7,$s7,-6464
|
||||
/* f14c058: ae190000 */ sw $t9,0x0($s0)
|
||||
/* f14c05c: 0fc2cb5a */ jal currentPlayerGetUnk1758
|
||||
/* f14c05c: 0fc2cb5a */ jal camGetUnk1758
|
||||
/* f14c060: 26730008 */ addiu $s3,$s3,0x8
|
||||
/* f14c064: 0c013100 */ jal osVirtualToPhysical
|
||||
/* f14c068: 00402025 */ or $a0,$v0,$zero
|
||||
@@ -769,14 +769,14 @@ glabel shardsRenderWood
|
||||
/* f14c5b0: 35080040 */ ori $t0,$t0,0x40
|
||||
/* f14c5b4: 02608025 */ or $s0,$s3,$zero
|
||||
/* f14c5b8: ae080000 */ sw $t0,0x0($s0)
|
||||
/* f14c5bc: 0fc2cb52 */ jal currentPlayerGetUnk1750
|
||||
/* f14c5bc: 0fc2cb52 */ jal camGetUnk1750
|
||||
/* f14c5c0: 26730008 */ addiu $s3,$s3,0x8
|
||||
/* f14c5c4: 3c090102 */ lui $t1,0x102
|
||||
/* f14c5c8: ae020004 */ sw $v0,0x4($s0)
|
||||
/* f14c5cc: 35290040 */ ori $t1,$t1,0x40
|
||||
/* f14c5d0: 02608825 */ or $s1,$s3,$zero
|
||||
/* f14c5d4: ae290000 */ sw $t1,0x0($s1)
|
||||
/* f14c5d8: 0fc2cb42 */ jal currentPlayerGetUnk173c
|
||||
/* f14c5d8: 0fc2cb42 */ jal camGetUnk173c
|
||||
/* f14c5dc: 26730008 */ addiu $s3,$s3,0x8
|
||||
/* f14c5e0: ae220004 */ sw $v0,0x4($s1)
|
||||
.NB0f14c5e4:
|
||||
@@ -811,9 +811,9 @@ Gfx *shardsRenderGlass(Gfx *gdl)
|
||||
s32 j;
|
||||
|
||||
if (g_Vars.currentplayer->visionmode == VISIONMODE_XRAY) {
|
||||
func0f0b39c0(&gdl, NULL, 2, 1, 2, 1, NULL);
|
||||
tex0f0b39c0(&gdl, NULL, 2, 1, 2, 1, NULL);
|
||||
} else {
|
||||
func0f0b39c0(&gdl, &g_TexShardConfigs[1], 2, 1, 2, 1, NULL);
|
||||
tex0f0b39c0(&gdl, &g_TexShardConfigs[1], 2, 1, 2, 1, NULL);
|
||||
}
|
||||
|
||||
gSPTexture(gdl++, 0x0d80, 0x0d80, 2, G_TX_RENDERTILE, G_ON);
|
||||
@@ -826,7 +826,7 @@ Gfx *shardsRenderGlass(Gfx *gdl)
|
||||
gSPSetGeometryMode(gdl++, G_LIGHTING | G_TEXTURE_GEN);
|
||||
}
|
||||
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(currentPlayerGetUnk1758()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(camGetUnk1758()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
|
||||
for (i = 0; i < g_MaxShards; i++) {
|
||||
if (g_Shards[i].age60 > 0 && g_Shards[i].type != SHARDTYPE_WOOD) {
|
||||
@@ -918,8 +918,8 @@ Gfx *shardsRenderGlass(Gfx *gdl)
|
||||
}
|
||||
|
||||
gSPClearGeometryMode(gdl++, G_LIGHTING | G_TEXTURE_GEN);
|
||||
gSPMatrix(gdl++, currentPlayerGetUnk1750(), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gdl++, currentPlayerGetUnk173c(), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPMatrix(gdl++, camGetUnk1750(), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gdl++, camGetUnk173c(), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
}
|
||||
|
||||
return gdl;
|
||||
@@ -967,7 +967,7 @@ glabel shardsRenderGlass
|
||||
/* f14c6b8: 00002825 */ or $a1,$zero,$zero
|
||||
/* f14c6bc: 24060002 */ addiu $a2,$zero,0x2
|
||||
/* f14c6c0: 24070001 */ addiu $a3,$zero,0x1
|
||||
/* f14c6c4: 0fc2c5c8 */ jal func0f0b39c0
|
||||
/* f14c6c4: 0fc2c5c8 */ jal tex0f0b39c0
|
||||
/* f14c6c8: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f14c6cc: 1000000b */ beqz $zero,.NB0f14c6fc
|
||||
/* f14c6d0: 8fab0138 */ lw $t3,0x138($sp)
|
||||
@@ -979,7 +979,7 @@ glabel shardsRenderGlass
|
||||
/* f14c6e4: afa90010 */ sw $t1,0x10($sp)
|
||||
/* f14c6e8: 24070001 */ addiu $a3,$zero,0x1
|
||||
/* f14c6ec: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f14c6f0: 0fc2c5c8 */ jal func0f0b39c0
|
||||
/* f14c6f0: 0fc2c5c8 */ jal tex0f0b39c0
|
||||
/* f14c6f4: 24a5000c */ addiu $a1,$a1,0xc
|
||||
/* f14c6f8: 8fab0138 */ lw $t3,0x138($sp)
|
||||
.NB0f14c6fc:
|
||||
@@ -1039,7 +1039,7 @@ glabel shardsRenderGlass
|
||||
/* f14c7cc: 35290040 */ ori $t1,$t1,0x40
|
||||
/* f14c7d0: 26080008 */ addiu $t0,$s0,0x8
|
||||
/* f14c7d4: afa80138 */ sw $t0,0x138($sp)
|
||||
/* f14c7d8: 0fc2cb5a */ jal currentPlayerGetUnk1758
|
||||
/* f14c7d8: 0fc2cb5a */ jal camGetUnk1758
|
||||
/* f14c7dc: ae090000 */ sw $t1,0x0($s0)
|
||||
/* f14c7e0: 0c013100 */ jal osVirtualToPhysical
|
||||
/* f14c7e4: 00402025 */ or $a0,$v0,$zero
|
||||
@@ -1414,7 +1414,7 @@ glabel shardsRenderGlass
|
||||
/* f14cd4c: 35ce0040 */ ori $t6,$t6,0x40
|
||||
/* f14cd50: 260d0008 */ addiu $t5,$s0,0x8
|
||||
/* f14cd54: afad0138 */ sw $t5,0x138($sp)
|
||||
/* f14cd58: 0fc2cb52 */ jal currentPlayerGetUnk1750
|
||||
/* f14cd58: 0fc2cb52 */ jal camGetUnk1750
|
||||
/* f14cd5c: ae0e0000 */ sw $t6,0x0($s0)
|
||||
/* f14cd60: ae020004 */ sw $v0,0x4($s0)
|
||||
/* f14cd64: 8fb10138 */ lw $s1,0x138($sp)
|
||||
@@ -1422,7 +1422,7 @@ glabel shardsRenderGlass
|
||||
/* f14cd6c: 35080040 */ ori $t0,$t0,0x40
|
||||
/* f14cd70: 26380008 */ addiu $t8,$s1,0x8
|
||||
/* f14cd74: afb80138 */ sw $t8,0x138($sp)
|
||||
/* f14cd78: 0fc2cb42 */ jal currentPlayerGetUnk173c
|
||||
/* f14cd78: 0fc2cb42 */ jal camGetUnk173c
|
||||
/* f14cd7c: ae280000 */ sw $t0,0x0($s1)
|
||||
/* f14cd80: ae220004 */ sw $v0,0x4($s1)
|
||||
.NB0f14cd84:
|
||||
|
||||
+3
-3
@@ -4,7 +4,7 @@
|
||||
#include "game/bondgun.h"
|
||||
#include "game/game_0b0fd0.h"
|
||||
#include "game/game_0b2150.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/tex.h"
|
||||
#include "game/savebuffer.h"
|
||||
#include "game/sight.h"
|
||||
#include "game/game_1531a0.h"
|
||||
@@ -5579,7 +5579,7 @@ glabel sightRenderClassic
|
||||
/* f0d97b0: 448f3000 */ mtc1 $t7,$f6
|
||||
/* f0d97b4: afa00010 */ sw $zero,0x10($sp)
|
||||
/* f0d97b8: 46803220 */ cvt.s.w $f8,$f6
|
||||
/* f0d97bc: 0fc2ce70 */ jal func0f0b39c0
|
||||
/* f0d97bc: 0fc2ce70 */ jal tex0f0b39c0
|
||||
/* f0d97c0: e7a800c0 */ swc1 $f8,0xc0($sp)
|
||||
/* f0d97c4: 92190005 */ lbu $t9,0x5($s0)
|
||||
/* f0d97c8: 92070004 */ lbu $a3,0x4($s0)
|
||||
@@ -5715,7 +5715,7 @@ glabel sightRenderClassic
|
||||
// spbc[0] = (tconfig->width >> 1) * (f32)g_ScaleX;
|
||||
// spbc[1] = tconfig->height >> 1;
|
||||
//
|
||||
// func0f0b39c0(&gdl, tconfig, 2, 0, 0, 1, NULL);
|
||||
// tex0f0b39c0(&gdl, tconfig, 2, 0, 0, 1, NULL);
|
||||
//
|
||||
// func0f0b278c(&gdl, spc4, spbc, tconfig->width, tconfig->height,
|
||||
// 0, 0, 1, 0xff, 0xff, 0xff, 0x7f, tconfig->level > 0, 0);
|
||||
|
||||
+11204
-1351
File diff suppressed because it is too large.
Load diff
Loaded 100 of 185 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user