mirror of
https://github.com/n64decomp/perfect_dark.git
synced 2024-11-30 09:30:38 +00:00
pal-beta: Get lib segment matching excluding pointers
This commit is contained in:
parent
910e3fe671
commit
fa7698724c
1
Makefile
1
Makefile
@ -44,7 +44,6 @@ endif
|
||||
ifeq ($(ROMID),pal-beta)
|
||||
PAL=1
|
||||
VERSION=3
|
||||
PIRACYCHECKS=0
|
||||
ZIPMAGIC=0x0c00
|
||||
endif
|
||||
ifeq ($(ROMID),pal-final)
|
||||
|
217
ld/gamefiles.pal-beta.inc
Normal file
217
ld/gamefiles.pal-beta.inc
Normal file
@ -0,0 +1,217 @@
|
||||
#define GAMEFILES(section) \
|
||||
build/ROMID/game/game_000000.o (section); \
|
||||
build/ROMID/game/game_000090.o (section); \
|
||||
build/ROMID/game/game_000130.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/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/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/stubs/game_00b200.o (section); \
|
||||
build/ROMID/game/game_00b210.o (section); \
|
||||
build/ROMID/game/game_00b320.o (section); \
|
||||
build/ROMID/game/game_00b420.o (section); \
|
||||
build/ROMID/game/game_00b480.o (section); \
|
||||
build/ROMID/game/game_00b820.o (section); \
|
||||
build/ROMID/game/game_00c240.o (section); \
|
||||
build/ROMID/game/game_00c490.o (section); \
|
||||
build/ROMID/game/game_0108d0.o (section); \
|
||||
build/ROMID/game/objectives/setup.o (section); \
|
||||
build/ROMID/game/casing/reset.o (section); \
|
||||
build/ROMID/game/bondguninit.o (section); \
|
||||
build/ROMID/game/playerinit.o (section); \
|
||||
build/ROMID/game/inventory/init.o (section); \
|
||||
build/ROMID/game/game_0125a0.o (section); \
|
||||
build/ROMID/game/game_012aa0.o (section); \
|
||||
build/ROMID/game/game_012d50.o (section); \
|
||||
build/ROMID/game/explosions/init.o (section); \
|
||||
build/ROMID/game/smoke/init.o (section); \
|
||||
build/ROMID/game/sparks/init.o (section); \
|
||||
build/ROMID/game/weather/init.o (section); \
|
||||
build/ROMID/game/stubs/game_013540.o (section); \
|
||||
build/ROMID/game/game_013550.o (section); \
|
||||
build/ROMID/game/shards/init.o (section); \
|
||||
build/ROMID/game/game_013b80.o (section); \
|
||||
build/ROMID/game/game_013cf0.o (section); \
|
||||
build/ROMID/game/game_013ee0.o (section); \
|
||||
build/ROMID/game/game_0147a0.o (section); \
|
||||
build/ROMID/game/game_0147d0.o (section); \
|
||||
build/ROMID/game/botmgr.o (section); \
|
||||
build/ROMID/game/botinvinit.o (section); \
|
||||
build/ROMID/game/game_014f10.o (section); \
|
||||
build/ROMID/game/game_015010.o (section); \
|
||||
build/ROMID/game/game_0150a0.o (section); \
|
||||
build/ROMID/game/objectives/autocomplete.o (section); \
|
||||
build/ROMID/game/stubs/game_015260.o (section); \
|
||||
build/ROMID/game/stubs/game_015270.o (section); \
|
||||
build/ROMID/game/explosions/reset.o (section); \
|
||||
build/ROMID/game/smoke/reset.o (section); \
|
||||
build/ROMID/game/stubs/game_0153f0.o (section); \
|
||||
build/ROMID/game/stubs/game_015400.o (section); \
|
||||
build/ROMID/game/stubs/game_015410.o (section); \
|
||||
build/ROMID/game/shards/reset.o (section); \
|
||||
build/ROMID/game/game_015470.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/activemenu/tick.o (section); \
|
||||
build/ROMID/game/game_01bea0.o (section); \
|
||||
build/ROMID/game/weather/tick.o (section); \
|
||||
build/ROMID/game/game_01d860.o (section); \
|
||||
build/ROMID/game/game_01d8c0.o (section); \
|
||||
build/ROMID/game/game_01d990.o (section); \
|
||||
build/ROMID/game/casing/tick.o (section); \
|
||||
build/ROMID/game/shards/tick.o (section); \
|
||||
build/ROMID/game/sparks/tick.o (section); \
|
||||
build/ROMID/game/chr/chr.o (section); \
|
||||
build/ROMID/game/game_02cde0.o (section); \
|
||||
build/ROMID/game/chr/chraction.o (section); \
|
||||
build/ROMID/game/chr/chrai.o (section); \
|
||||
build/ROMID/game/chr/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/game_092610.o (section); \
|
||||
build/ROMID/game/objectives/objectives.o (section); \
|
||||
build/ROMID/game/game_096360.o (section); \
|
||||
build/ROMID/game/game_096700.o (section); \
|
||||
build/ROMID/game/atan2f.o (section); \
|
||||
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/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/inventory/items.o (section); \
|
||||
build/ROMID/game/bondgun.o (section); \
|
||||
build/ROMID/game/game_0abe70.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/player.o (section); \
|
||||
build/ROMID/game/game_0c33f0.o (section); \
|
||||
build/ROMID/game/bondcutscene.o (section); \
|
||||
build/ROMID/game/bondwalk.o (section); \
|
||||
build/ROMID/game/bondmove.o (section); \
|
||||
build/ROMID/game/bondgrab.o (section); \
|
||||
build/ROMID/game/bondeyespy.o (section); \
|
||||
build/ROMID/game/bondbike.o (section); \
|
||||
build/ROMID/game/savebuffer.o (section); \
|
||||
build/ROMID/game/healthbar.o (section); \
|
||||
build/ROMID/game/sight.o (section); \
|
||||
build/ROMID/game/hudmsg.o (section); \
|
||||
build/ROMID/game/menugfx.o (section); \
|
||||
build/ROMID/game/menuitem.o (section); \
|
||||
build/ROMID/game/menu.o (section); \
|
||||
build/ROMID/game/activemenu/activemenu.o (section); \
|
||||
build/ROMID/game/stubs/game_102230.o (section); \
|
||||
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/endscreen.o (section); \
|
||||
build/ROMID/game/gamefile.o (section); \
|
||||
build/ROMID/game/bossfile.o (section); \
|
||||
build/ROMID/game/filelist.o (section); \
|
||||
build/ROMID/game/inventory/inventory.o (section); \
|
||||
build/ROMID/game/bondhead.o (section); \
|
||||
build/ROMID/game/padhalllv.o (section); \
|
||||
build/ROMID/game/pad.o (section); \
|
||||
build/ROMID/game/pak/pak.o (section); \
|
||||
build/ROMID/game/debug1.o (section); \
|
||||
build/ROMID/game/debug2.o (section); \
|
||||
build/ROMID/game/debug3.o (section); \
|
||||
build/ROMID/game/stubs/game_11eff0.o (section); \
|
||||
build/ROMID/game/gailists.o (section); \
|
||||
build/ROMID/game/modeldata/general.o (section); \
|
||||
build/ROMID/game/modeldata/basic.o (section); \
|
||||
build/ROMID/game/modeldata/chrgun.o (section); \
|
||||
build/ROMID/game/modeldata/skel0b.o (section); \
|
||||
build/ROMID/game/modeldata/player.o (section); \
|
||||
build/ROMID/game/modeldata/skel0a.o (section); \
|
||||
build/ROMID/game/modeldata/skel20.o (section); \
|
||||
build/ROMID/game/modeldata/classicgun.o (section); \
|
||||
build/ROMID/game/modeldata/casing.o (section); \
|
||||
build/ROMID/game/modeldata/skel06.o (section); \
|
||||
build/ROMID/game/modeldata/uzi.o (section); \
|
||||
build/ROMID/game/modeldata/weapon.o (section); \
|
||||
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/playermgr.o (section); \
|
||||
build/ROMID/game/crc.o (section); \
|
||||
build/ROMID/game/rng2.o (section); \
|
||||
build/ROMID/game/game_129210.o (section); \
|
||||
build/ROMID/game/explosions/explosions.o (section); \
|
||||
build/ROMID/game/smoke/smoke.o (section); \
|
||||
build/ROMID/game/sparks/sparks.o (section); \
|
||||
build/ROMID/game/weather/weather.o (section); \
|
||||
build/ROMID/game/sky.o (section); \
|
||||
build/ROMID/game/credits.o (section); \
|
||||
build/ROMID/game/game_13b670.o (section); \
|
||||
build/ROMID/game/game_13c510.o (section); \
|
||||
build/ROMID/game/wallhit.o (section); \
|
||||
build/ROMID/game/bondview.o (section); \
|
||||
build/ROMID/game/splat.o (section); \
|
||||
build/ROMID/game/camdraw.o (section); \
|
||||
build/ROMID/game/shards/shards.o (section); \
|
||||
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/bg.o (section); \
|
||||
build/ROMID/game/bgbss.o (section); \
|
||||
build/ROMID/game/game_165360.o (section); \
|
||||
build/ROMID/game/game_1655c0.o (section); \
|
||||
build/ROMID/game/game_165670.o (section); \
|
||||
build/ROMID/game/game_1657c0.o (section); \
|
||||
build/ROMID/game/game_1668e0.o (section); \
|
||||
build/ROMID/game/file.o (section); \
|
||||
build/ROMID/game/gfxmemory.o (section); \
|
||||
build/ROMID/game/lv.o (section); \
|
||||
build/ROMID/game/timing.o (section); \
|
||||
build/ROMID/game/music.o (section); \
|
||||
build/ROMID/game/lang.o (section); \
|
||||
build/ROMID/game/texdecompress.o (section); \
|
||||
build/ROMID/game/game_173520.o (section); \
|
||||
build/ROMID/game/game_173a00.o (section); \
|
||||
build/ROMID/game/stubs/game_175f50.o (section); \
|
||||
build/ROMID/game/game_175f90.o (section); \
|
||||
build/ROMID/game/stubs/game_176000.o (section); \
|
||||
build/ROMID/game/game_176080.o (section); \
|
||||
build/ROMID/game/utils.o (section); \
|
||||
build/ROMID/game/mplayer/ingame.o (section); \
|
||||
build/ROMID/game/mplayer/setup.o (section); \
|
||||
build/ROMID/game/mplayer/scenarios.o (section); \
|
||||
build/ROMID/game/mplayer/mplayer.o (section); \
|
||||
build/ROMID/game/radar.o (section); \
|
||||
build/ROMID/game/bot.o (section); \
|
||||
build/ROMID/game/botcmd.o (section); \
|
||||
build/ROMID/game/botinv.o (section); \
|
||||
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/training/training.o (section); \
|
||||
build/ROMID/game/training/menus.o (section); \
|
||||
build/ROMID/game/game_1a7560.o (section); \
|
||||
build/ROMID/game/game_1a78b0.o (section);
|
249
ld/libfiles.pal-beta.inc
Normal file
249
ld/libfiles.pal-beta.inc
Normal file
@ -0,0 +1,249 @@
|
||||
#define LIBFILES(section) \
|
||||
build/ROMID/lib/tlb.o (section); \
|
||||
build/ROMID/lib/segments.o (section); \
|
||||
build/ROMID/lib/boot.o (section); \
|
||||
build/ROMID/lib/sched.o (section); \
|
||||
build/ROMID/lib/reset.o (section); \
|
||||
build/ROMID/lib/ultra/os/maptlbrdb.o (section); \
|
||||
build/ROMID/lib/ultra/io/vimgr.o (section); \
|
||||
build/ROMID/lib/ultra/io/pimgr.o (section); \
|
||||
build/ROMID/lib/lib_034d0.o (section); \
|
||||
build/ROMID/lib/ultra/os/exceptvars.o (section); \
|
||||
build/ROMID/lib/ultra/os/exceptasm.o (section); \
|
||||
build/ROMID/lib/ultra/os/createthread.o (section); \
|
||||
build/ROMID/lib/ultra/gu/lookat.o (section); \
|
||||
build/ROMID/lib/ultra/gu/lookatref.o (section); \
|
||||
build/ROMID/lib/ultra/gu/normalize.o (section); \
|
||||
build/ROMID/lib/ultra/gu/perspective.o (section); \
|
||||
build/ROMID/lib/ultra/gu/rotate.o (section); \
|
||||
build/ROMID/lib/ultra/libc/xldtob.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsisplug.o (section); \
|
||||
build/ROMID/lib/ultra/libc/llcvt.o (section); \
|
||||
build/ROMID/lib/ultra/os/initialize.o (section); \
|
||||
build/ROMID/lib/ultra/io/sptask.o (section); \
|
||||
build/ROMID/lib/ultra/io/gbpakinit.o (section); \
|
||||
build/ROMID/lib/ultra/io/gbpakpower.o (section); \
|
||||
build/ROMID/lib/ultra/io/conteeplongwrite.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsresizefile.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsinitpak.o (section); \
|
||||
build/ROMID/lib/vm.o (section); \
|
||||
build/ROMID/lib/rzip.o (section); \
|
||||
build/ROMID/lib/audiomgr.o (section); \
|
||||
build/ROMID/lib/audiodma.o (section); \
|
||||
build/ROMID/lib/profile.o (section); \
|
||||
build/ROMID/lib/vi.o (section); \
|
||||
build/ROMID/lib/fault.o (section); \
|
||||
build/ROMID/lib/crash.o (section); \
|
||||
build/ROMID/lib/dma.o (section); \
|
||||
build/ROMID/lib/main.o (section); \
|
||||
build/ROMID/lib/snd.o (section); \
|
||||
build/ROMID/lib/music.o (section); \
|
||||
build/ROMID/lib/memp.o (section); \
|
||||
build/ROMID/lib/mema.o (section); \
|
||||
build/ROMID/lib/rng.o (section); \
|
||||
build/ROMID/lib/args.o (section); \
|
||||
build/ROMID/lib/str.o (section); \
|
||||
build/ROMID/lib/ultra/libc/sprintf.o (section); \
|
||||
build/ROMID/lib/pimgr.o (section); \
|
||||
build/ROMID/lib/videbug.o (section); \
|
||||
build/ROMID/lib/debughud.o (section); \
|
||||
build/ROMID/lib/base.o (section); \
|
||||
build/ROMID/lib/joy.o (section); \
|
||||
build/ROMID/lib/lib_15850.o (section); \
|
||||
build/ROMID/lib/gvars.o (section); \
|
||||
build/ROMID/lib/mtxasm.o (section); \
|
||||
build/ROMID/lib/mtx.o (section); \
|
||||
build/ROMID/lib/lib_17ce0.o (section); \
|
||||
build/ROMID/lib/ailist.o (section); \
|
||||
build/ROMID/lib/path.o (section); \
|
||||
build/ROMID/lib/modelasm.o (section); \
|
||||
build/ROMID/lib/model.o (section); \
|
||||
build/ROMID/lib/anim.o (section); \
|
||||
build/ROMID/lib/collision.o (section); \
|
||||
build/ROMID/lib/lib_2f490.o (section); \
|
||||
build/ROMID/lib/rdp.o (section); \
|
||||
build/ROMID/lib/rmon.o (section); \
|
||||
build/ROMID/lib/ultra/audio/heap.o (section); \
|
||||
build/ROMID/lib/naudio/n_sl.o (section); \
|
||||
build/ROMID/lib/lib_2fc60.o (section); \
|
||||
build/ROMID/lib/naudio/n_synthesizer.o (section); \
|
||||
build/ROMID/lib/ultra/audio/sl.o (section); \
|
||||
build/ROMID/lib/naudio/n_sndplayer.o (section); \
|
||||
build/ROMID/lib/speaker.o (section); \
|
||||
build/ROMID/lib/naudio/n_csplayer.o (section); \
|
||||
build/ROMID/lib/naudio/n_cspsetbank.o (section); \
|
||||
build/ROMID/lib/ultra/audio/bnkf.o (section); \
|
||||
build/ROMID/lib/mp3.o (section); \
|
||||
build/ROMID/lib/naudio/n_cspgetstate.o (section); \
|
||||
build/ROMID/lib/naudio/n_csq.o (section); \
|
||||
build/ROMID/lib/naudio/n_cspsetseq.o (section); \
|
||||
build/ROMID/lib/naudio/n_cspplay.o (section); \
|
||||
build/ROMID/lib/naudio/n_cspsetvol.o (section); \
|
||||
build/ROMID/lib/lib_39c80.o (section); \
|
||||
build/ROMID/lib/naudio/n_seqpstop.o (section); \
|
||||
build/ROMID/lib/naudio/n_syndelete.o (section); \
|
||||
build/ROMID/lib/ultra/audio/cents2ratio.o (section); \
|
||||
build/ROMID/lib/naudio/n_synallocfx.o (section); \
|
||||
build/ROMID/lib/naudio/n_reverb.o (section); \
|
||||
build/ROMID/lib/naudio/n_drvrNew.o (section); \
|
||||
build/ROMID/lib/naudio/n_save.o (section); \
|
||||
build/ROMID/lib/naudio/n_event.o (section); \
|
||||
build/ROMID/lib/naudio/n_synaddplayer.o (section); \
|
||||
build/ROMID/lib/naudio/n_synallocvoice.o (section); \
|
||||
build/ROMID/lib/naudio/n_synsetvol.o (section); \
|
||||
build/ROMID/lib/naudio/n_synstartvoiceparam.o (section); \
|
||||
build/ROMID/lib/naudio/n_synsetpan.o (section); \
|
||||
build/ROMID/lib/naudio/n_synsetpitch.o (section); \
|
||||
build/ROMID/lib/naudio/n_synsetfxmix.o (section); \
|
||||
build/ROMID/lib/naudio/n_synstopvoice.o (section); \
|
||||
build/ROMID/lib/naudio/n_synfreevoice.o (section); \
|
||||
build/ROMID/lib/naudio/n_seqplayer.o (section); \
|
||||
build/ROMID/lib/naudio/n_synfilter13.o (section); \
|
||||
build/ROMID/lib/naudio/n_synfilter12.o (section); \
|
||||
build/ROMID/lib/lib_3e3e0.o (section); \
|
||||
build/ROMID/lib/naudio/n_synsetfxparam.o (section); \
|
||||
build/ROMID/lib/naudio/n_synfilter11.o (section); \
|
||||
build/ROMID/lib/ultra/audio/cseq.o (section); \
|
||||
build/ROMID/lib/naudio/n_env.o (section); \
|
||||
build/ROMID/lib/mp3/decoder.o (section); \
|
||||
build/ROMID/lib/mp3/main.o (section); \
|
||||
build/ROMID/lib/naudio/n_cspsendmidi.o (section); \
|
||||
build/ROMID/lib/naudio/n_auxbus.o (section); \
|
||||
build/ROMID/lib/naudio/n_mainbus.o (section); \
|
||||
build/ROMID/lib/naudio/n_synsetpriority.o (section); \
|
||||
build/ROMID/lib/naudio/n_load.o (section); \
|
||||
build/ROMID/lib/naudio/n_resample2.o (section); \
|
||||
build/ROMID/lib/mp3/lib_45ed0.o (section); \
|
||||
build/ROMID/lib/mp3/util.o (section); \
|
||||
build/ROMID/lib/mp3/lib_46650.o (section); \
|
||||
build/ROMID/lib/mp3/lib_47550.o (section); \
|
||||
build/ROMID/lib/naudio/n_resample.o (section); \
|
||||
build/ROMID/lib/mp3/lib_47d20.o (section); \
|
||||
build/ROMID/lib/mp3/lib_47ef0.o (section); \
|
||||
build/ROMID/lib/ultra/io/vitbl.o (section); \
|
||||
build/ROMID/lib/ultra/os/writebackdcacheall.o (section); \
|
||||
build/ROMID/lib/ultra/os/invalicache.o (section); \
|
||||
build/ROMID/lib/ultra/os/getfpccsr.o (section); \
|
||||
build/ROMID/lib/ultra/os/setfpccsr.o (section); \
|
||||
build/ROMID/lib/ultra/os/startthread.o (section); \
|
||||
build/ROMID/lib/ultra/os/createmesgqueue.o (section); \
|
||||
build/ROMID/lib/ultra/os/stopthread.o (section); \
|
||||
build/ROMID/lib/ultra/os/setthreadpri.o (section); \
|
||||
build/ROMID/lib/ultra/os/getcount.o (section); \
|
||||
build/ROMID/lib/ultra/os/seteventmesg.o (section); \
|
||||
build/ROMID/lib/ultra/io/visetevent.o (section); \
|
||||
build/ROMID/lib/ultra/os/setintmask.o (section); \
|
||||
build/ROMID/lib/ultra/os/recvmesg.o (section); \
|
||||
build/ROMID/lib/ultra/io/vigetcurrframebuf.o (section); \
|
||||
build/ROMID/lib/ultra/io/vigetnextframebuf.o (section); \
|
||||
build/ROMID/lib/ultra/io/dpsetstat.o (section); \
|
||||
build/ROMID/lib/ultra/os/getthreadpri.o (section); \
|
||||
build/ROMID/lib/ultra/os/sendmesg.o (section); \
|
||||
build/ROMID/lib/ultra/os/stoptimer.o (section); \
|
||||
build/ROMID/lib/ultra/os/settimer.o (section); \
|
||||
build/ROMID/lib/ultra/io/sptaskyielded.o (section); \
|
||||
build/ROMID/lib/ultra/io/dpctr.o (section); \
|
||||
build/ROMID/lib/ultra/io/dpgetstat.o (section); \
|
||||
build/ROMID/lib/ultra/io/viblack.o (section); \
|
||||
build/ROMID/lib/ultra/io/visetmode.o (section); \
|
||||
build/ROMID/lib/ultra/io/visetxscale.o (section); \
|
||||
build/ROMID/lib/ultra/io/visetyscale.o (section); \
|
||||
build/ROMID/lib/ultra/io/visetspecial.o (section); \
|
||||
build/ROMID/lib/ultra/io/viswapbuf.o (section); \
|
||||
build/ROMID/lib/ultra/io/sptaskyield.o (section); \
|
||||
build/ROMID/lib/ultra/os/gettime.o (section); \
|
||||
build/ROMID/lib/ultra/os/timerintr.o (section); \
|
||||
build/ROMID/lib/ultra/os/interrupt.o (section); \
|
||||
build/ROMID/lib/ultra/io/vi.o (section); \
|
||||
build/ROMID/lib/ultra/io/vigetcurrcontext.o (section); \
|
||||
build/ROMID/lib/ultra/io/viswapcontext.o (section); \
|
||||
build/ROMID/lib/ultra/io/piacs.o (section); \
|
||||
build/ROMID/lib/ultra/io/pirawdma.o (section); \
|
||||
build/ROMID/lib/ultra/io/epirawdma.o (section); \
|
||||
build/ROMID/lib/ultra/io/devmgr.o (section); \
|
||||
build/ROMID/lib/ultra/os/thread.o (section); \
|
||||
build/ROMID/lib/ultra/os/destroythread.o (section); \
|
||||
build/ROMID/lib/ultra/gu/mtxutil.o (section); \
|
||||
build/ROMID/lib/ultra/gu/sqrtf.o (section); \
|
||||
build/ROMID/lib/ultra/libc/string.o (section); \
|
||||
build/ROMID/lib/ultra/libc/ldiv.o (section); \
|
||||
build/ROMID/lib/ultra/io/siacs.o (section); \
|
||||
build/ROMID/lib/ultra/io/sirawdma.o (section); \
|
||||
build/ROMID/lib/ultra/io/controller.o (section); \
|
||||
build/ROMID/lib/ultra/os/setsr.o (section); \
|
||||
build/ROMID/lib/ultra/os/getsr.o (section); \
|
||||
build/ROMID/lib/ultra/io/sirawread.o (section); \
|
||||
build/ROMID/lib/ultra/io/sirawwrite.o (section); \
|
||||
build/ROMID/lib/ultra/os/writebackdcache.o (section); \
|
||||
build/ROMID/lib/ultra/libc/bzero.o (section); \
|
||||
build/ROMID/lib/ultra/os/getcause.o (section); \
|
||||
build/ROMID/lib/ultra/libc/bcopy.o (section); \
|
||||
build/ROMID/lib/ultra/os/virtualtophysical.o (section); \
|
||||
build/ROMID/lib/ultra/io/spsetstat.o (section); \
|
||||
build/ROMID/lib/ultra/io/spsetpc.o (section); \
|
||||
build/ROMID/lib/ultra/io/sprawdma.o (section); \
|
||||
build/ROMID/lib/ultra/io/sp.o (section); \
|
||||
build/ROMID/lib/ultra/io/contramwrite.o (section); \
|
||||
build/ROMID/lib/ultra/io/contramread.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsgetstatus.o (section); \
|
||||
build/ROMID/lib/ultra/io/conteepwrite.o (section); \
|
||||
build/ROMID/lib/ultra/io/contpfs.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsfindfile.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsselectbank.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsfreeblocks.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsallocatefile.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsdeletefile.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfschecker.o (section); \
|
||||
build/ROMID/lib/ultra/libc/bcmp.o (section); \
|
||||
build/ROMID/lib/ultra/os/maptlb.o (section); \
|
||||
build/ROMID/lib/ultra/io/aisetfreq.o (section); \
|
||||
build/ROMID/lib/ultra/libc/ll.o (section); \
|
||||
build/ROMID/lib/ultra/io/aisetnextbuf.o (section); \
|
||||
build/ROMID/lib/ultra/io/aigetlen.o (section); \
|
||||
build/ROMID/lib/ultra/os/invaldcache.o (section); \
|
||||
build/ROMID/lib/ultra/io/pidma.o (section); \
|
||||
build/ROMID/lib/ultra/os/getcurrfaultthread.o (section); \
|
||||
build/ROMID/lib/ultra/io/piread.o (section); \
|
||||
build/ROMID/lib/ultra/libc/xprintf.o (section); \
|
||||
build/ROMID/lib/ultra/io/contquery.o (section); \
|
||||
build/ROMID/lib/ultra/io/contreaddata.o (section); \
|
||||
build/ROMID/lib/ultra/io/motor.o (section); \
|
||||
build/ROMID/lib/ultra/gu/align.o (section); \
|
||||
build/ROMID/lib/ultra/gu/coss.o (section); \
|
||||
build/ROMID/lib/ultra/gu/sins.o (section); \
|
||||
build/ROMID/lib/ultra/gu/ortho.o (section); \
|
||||
build/ROMID/lib/ultra/gu/frustum.o (section); \
|
||||
build/ROMID/lib/ultra/gu/translate.o (section); \
|
||||
build/ROMID/lib/ultra/gu/scale.o (section); \
|
||||
build/ROMID/lib/ultra/io/conteepprobe.o (section); \
|
||||
build/ROMID/lib/ultra/io/conteepread.o (section); \
|
||||
build/ROMID/lib/ultra/io/conteeplongread.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsreadwritefile.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsnumfiles.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsfilestate.o (section); \
|
||||
build/ROMID/lib/ultra/io/gbpakgetstatus.o (section); \
|
||||
build/ROMID/lib/ultra/io/gbpakreadid.o (section); \
|
||||
build/ROMID/lib/ultra/io/gbpakcheckconnector.o (section); \
|
||||
build/ROMID/lib/ultra/io/gbpakreadwrite.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsinitpak2.o (section); \
|
||||
build/ROMID/lib/ultra/io/vimodepallan1.o (section); \
|
||||
build/ROMID/lib/ultra/io/vimodempallan1.o (section); \
|
||||
build/ROMID/lib/ultra/io/vimodentsclan1.o (section); \
|
||||
build/ROMID/lib/ultra/os/setcompare.o (section); \
|
||||
build/ROMID/lib/ultra/io/spgetstat.o (section); \
|
||||
build/ROMID/lib/ultra/os/resetglobalintmask.o (section); \
|
||||
build/ROMID/lib/ultra/io/epirawwrite.o (section); \
|
||||
build/ROMID/lib/ultra/io/epirawread.o (section); \
|
||||
build/ROMID/lib/ultra/os/setglobalintmask.o (section); \
|
||||
build/ROMID/lib/ultra/os/yieldthread.o (section); \
|
||||
build/ROMID/lib/ultra/io/si.o (section); \
|
||||
build/ROMID/lib/ultra/os/probetlb.o (section); \
|
||||
build/ROMID/lib/ultra/io/crc.o (section); \
|
||||
build/ROMID/lib/ultra/os/initialize2.o (section); \
|
||||
build/ROMID/lib/ultra/io/ai.o (section); \
|
||||
build/ROMID/lib/ultra/os/jammesg.o (section); \
|
||||
build/ROMID/lib/ultra/io/pigetcmdq.o (section); \
|
||||
build/ROMID/lib/ultra/io/pirawread.o (section); \
|
||||
build/ROMID/lib/ultra/libc/xlitob.o (section); \
|
||||
build/ROMID/lib/ultra/io/gbpakselectbank.o (section); \
|
||||
build/ROMID/lib/ultra/os/unmaptlball.o (section);
|
5
ld/pd.ld
5
ld/pd.ld
@ -5,9 +5,12 @@
|
||||
#define VERSION_PAL_FINAL 4
|
||||
#define VERSION_JPN_FINAL 5
|
||||
|
||||
#if VERSION >= VERSION_PAL_BETA
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
#include "gamefiles.pal-final.inc"
|
||||
#include "libfiles.pal-final.inc"
|
||||
#elif VERSION >= VERSION_PAL_BETA
|
||||
#include "gamefiles.pal-beta.inc"
|
||||
#include "libfiles.pal-beta.inc"
|
||||
#elif VERSION >= VERSION_NTSC_1_0
|
||||
#include "gamefiles.ntsc-final.inc"
|
||||
#include "libfiles.ntsc-final.inc"
|
||||
|
@ -557,7 +557,7 @@ f32 bgun0f09815c(struct hand *hand)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
#if VERSION >= VERSION_PAL_BETA
|
||||
GLOBAL_ASM(
|
||||
glabel bgun0f0981e8
|
||||
.late_rodata
|
||||
|
@ -657,7 +657,7 @@ bool debug0f11edb0(void)
|
||||
return var80078718nb;
|
||||
}
|
||||
|
||||
bool debug0f119954nb(void)
|
||||
bool debug0f11edb8(void)
|
||||
{
|
||||
return var8007871cnb;
|
||||
}
|
||||
|
@ -53170,13 +53170,13 @@ glabel var7f1aa838
|
||||
/* f08079c: 3406ffff */ dli $a2,0xffff
|
||||
/* f0807a0: 0fc2433d */ jal func0f0926bc
|
||||
/* f0807a4: afa200a0 */ sw $v0,0xa0($sp)
|
||||
/* f0807a8: 0fc46655 */ jal debug0f119954nb
|
||||
/* f0807a8: 0fc46655 */ jal debug0f11edb8
|
||||
/* f0807ac: afa00098 */ sw $zero,0x98($sp)
|
||||
/* f0807b0: 0fc46655 */ jal debug0f119954nb
|
||||
/* f0807b0: 0fc46655 */ jal debug0f11edb8
|
||||
/* f0807b4: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f0807b8: 0c004d84 */ jal random
|
||||
/* f0807bc: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f0807c0: 0fc46655 */ jal debug0f119954nb
|
||||
/* f0807c0: 0fc46655 */ jal debug0f11edb8
|
||||
/* f0807c4: afa20098 */ sw $v0,0x98($sp)
|
||||
/* f0807c8: 50400005 */ beqzl $v0,.NB0f0807e0
|
||||
/* f0807cc: 8fa800d8 */ lw $t0,0xd8($sp)
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
void amgrAllocateStack(void);
|
||||
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
#if VERSION >= VERSION_PAL_BETA
|
||||
void amgrCreate(ALSynConfig *config, u32 *settings);
|
||||
#else
|
||||
void amgrCreate(ALSynConfig *config);
|
||||
|
@ -129,7 +129,7 @@ s32 admaExec(s32 offset, s32 len, void *state)
|
||||
*/
|
||||
void *admaNew(struct admastate **state)
|
||||
{
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
#if VERSION >= VERSION_PAL_BETA
|
||||
s32 max = ADMA_MAX_ITEMS;
|
||||
#else
|
||||
s32 max = IS4MB() ? ADMA_MAX_ITEMS - 20 : ADMA_MAX_ITEMS;
|
||||
|
@ -50,7 +50,7 @@ void amgrAllocateStack(void)
|
||||
g_AudioSp = bootAllocateStack(THREAD_AUDIO, STACKSIZE_AUDIO);
|
||||
}
|
||||
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
#if VERSION >= VERSION_PAL_BETA
|
||||
void amgrCreate(ALSynConfig *config, u32 *settings)
|
||||
#else
|
||||
void amgrCreate(ALSynConfig *config)
|
||||
@ -62,7 +62,7 @@ void amgrCreate(ALSynConfig *config)
|
||||
config->outputRate = osAiSetFrequency(22020);
|
||||
config->dmaproc = admaNew;
|
||||
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
#if VERSION >= VERSION_PAL_BETA
|
||||
freqpertick = settings[1] * (f32)config->outputRate / 25.0f;
|
||||
#else
|
||||
freqpertick = config->outputRate / 30.0f;
|
||||
@ -90,7 +90,7 @@ void amgrCreate(ALSynConfig *config)
|
||||
|
||||
var800918ec = 2000;
|
||||
|
||||
#if VERSION < VERSION_PAL_FINAL
|
||||
#if VERSION < VERSION_PAL_BETA
|
||||
if (IS4MB()) {
|
||||
var800918ec >>= 1;
|
||||
}
|
||||
@ -174,7 +174,7 @@ void amgrMain(void *arg)
|
||||
|
||||
static u32 var8005d514 = 1;
|
||||
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
#if VERSION >= VERSION_PAL_BETA
|
||||
osScAddClient(&g_Sched, &var800918d0, &g_AudioManager.audioFrameMsgQ, true);
|
||||
#else
|
||||
osScAddClient(&g_Sched, &var800918d0, &g_AudioManager.audioFrameMsgQ, !IS4MB());
|
||||
|
427
src/lib/crash.c
427
src/lib/crash.c
@ -183,35 +183,75 @@ void crashCreateThread(void)
|
||||
osStartThread(&g_FaultThread);
|
||||
}
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
void faultproc(void *arg0)
|
||||
{
|
||||
OSMesg msg = 0;
|
||||
OSIntMask mask;
|
||||
u32 callstack[10];
|
||||
s32 tracelen;
|
||||
static OSThread *curr;
|
||||
static OSThread *last;
|
||||
|
||||
osSetEventMesg(OS_EVENT_FAULT, &g_FaultMesgQueue, (OSMesg) MSG_FAULT);
|
||||
last = NULL;
|
||||
|
||||
while (true) {
|
||||
do {
|
||||
osRecvMesg(&g_FaultMesgQueue, &msg, OS_MESG_BLOCK);
|
||||
mask = osSetIntMask(1);
|
||||
curr = __osGetCurrFaultedThread();
|
||||
} while (!curr);
|
||||
|
||||
osSetIntMask(mask);
|
||||
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
crashGenerate(curr, callstack, &tracelen);
|
||||
schedSetCrashedUnexpectedly(true);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
#else
|
||||
#if VERSION == VERSION_PAL_BETA
|
||||
GLOBAL_ASM(
|
||||
glabel faultproc
|
||||
/* bd9c: 27bdff98 */ addiu $sp,$sp,-104
|
||||
/* bda0: afb10018 */ sw $s1,0x18($sp)
|
||||
/* bda4: 3c118009 */ lui $s1,0x8009
|
||||
/* bda8: 26316f90 */ addiu $s1,$s1,0x6f90
|
||||
/* bdac: afbf002c */ sw $ra,0x2c($sp)
|
||||
/* bdb0: afa40068 */ sw $a0,0x68($sp)
|
||||
/* bdb4: afb50028 */ sw $s5,0x28($sp)
|
||||
/* bdb8: afb40024 */ sw $s4,0x24($sp)
|
||||
/* bdbc: afb30020 */ sw $s3,0x20($sp)
|
||||
/* bdc0: afb2001c */ sw $s2,0x1c($sp)
|
||||
/* bdc4: afb00014 */ sw $s0,0x14($sp)
|
||||
/* bdc8: afa00064 */ sw $zero,0x64($sp)
|
||||
/* bdcc: 2404000c */ li $a0,0xc
|
||||
/* bdd0: 02202825 */ move $a1,$s1
|
||||
/* bdd4: 0c0122b8 */ jal 0x48ae0
|
||||
/* bdd8: 24060010 */ li $a2,0x10
|
||||
/* bddc: 3c018009 */ lui $at,0x8009
|
||||
/* bde0: 3c138006 */ lui $s3,0x8006
|
||||
/* bde4: ac206fb0 */ sw $zero,0x6fb0($at)
|
||||
/* bde8: 2673df40 */ addiu $s3,$s3,-8384
|
||||
/* bdec: 27b50034 */ addiu $s5,$sp,0x34
|
||||
/* bdf0: 27b40038 */ addiu $s4,$sp,0x38
|
||||
/* bdf4: 27b20064 */ addiu $s2,$sp,0x64
|
||||
.PB0000bdf8:
|
||||
/* bdf8: 02202025 */ move $a0,$s1
|
||||
.PB0000bdfc:
|
||||
/* bdfc: 02402825 */ move $a1,$s2
|
||||
/* be00: 0c01232c */ jal 0x48cb0
|
||||
/* be04: 24060001 */ li $a2,0x1
|
||||
/* be08: 0c012304 */ jal 0x48c10
|
||||
/* be0c: 24040001 */ li $a0,0x1
|
||||
/* be10: 0c013b00 */ jal 0x4ec00
|
||||
/* be14: 00408025 */ move $s0,$v0
|
||||
/* be18: 3c018009 */ lui $at,0x8009
|
||||
/* be1c: 1040fff6 */ beqz $v0,.PB0000bdf8
|
||||
/* be20: ac226fac */ sw $v0,0x6fac($at)
|
||||
/* be24: 0c012304 */ jal 0x48c10
|
||||
/* be28: 02002025 */ move $a0,$s0
|
||||
/* be2c: 8e6e0000 */ lw $t6,0x0($s3)
|
||||
/* be30: 51c0fff2 */ beqzl $t6,.PB0000bdfc
|
||||
/* be34: 02202025 */ move $a0,$s1
|
||||
/* be38: 3c048009 */ lui $a0,0x8009
|
||||
/* be3c: 8c846fac */ lw $a0,0x6fac($a0)
|
||||
/* be40: 02802825 */ move $a1,$s4
|
||||
/* be44: 0c0030b1 */ jal 0xc2c4
|
||||
/* be48: 02a03025 */ move $a2,$s5
|
||||
/* be4c: 0c0006c7 */ jal 0x1b1c
|
||||
/* be50: 24040001 */ li $a0,0x1
|
||||
/* be54: 1000ffe9 */ b .PB0000bdfc
|
||||
/* be58: 02202025 */ move $a0,$s1
|
||||
/* be5c: 00000000 */ nop
|
||||
/* be60: 00000000 */ nop
|
||||
/* be64: 00000000 */ nop
|
||||
/* be68: 00000000 */ nop
|
||||
/* be6c: 00000000 */ nop
|
||||
/* be70: 8fbf002c */ lw $ra,0x2c($sp)
|
||||
/* be74: 8fb00014 */ lw $s0,0x14($sp)
|
||||
/* be78: 8fb10018 */ lw $s1,0x18($sp)
|
||||
/* be7c: 8fb2001c */ lw $s2,0x1c($sp)
|
||||
/* be80: 8fb30020 */ lw $s3,0x20($sp)
|
||||
/* be84: 8fb40024 */ lw $s4,0x24($sp)
|
||||
/* be88: 8fb50028 */ lw $s5,0x28($sp)
|
||||
/* be8c: 03e00008 */ jr $ra
|
||||
/* be90: 27bd0068 */ addiu $sp,$sp,0x68
|
||||
);
|
||||
#elif VERSION == VERSION_NTSC_BETA
|
||||
GLOBAL_ASM(
|
||||
glabel faultproc
|
||||
/* c270: 27bdff98 */ addiu $sp,$sp,-104
|
||||
@ -273,6 +313,34 @@ glabel faultproc
|
||||
/* c348: 03e00008 */ jr $ra
|
||||
/* c34c: 27bd0068 */ addiu $sp,$sp,0x68
|
||||
);
|
||||
#else
|
||||
void faultproc(void *arg0)
|
||||
{
|
||||
OSMesg msg = 0;
|
||||
OSIntMask mask;
|
||||
u32 callstack[10];
|
||||
s32 tracelen;
|
||||
static OSThread *curr;
|
||||
static OSThread *last;
|
||||
|
||||
osSetEventMesg(OS_EVENT_FAULT, &g_FaultMesgQueue, (OSMesg) MSG_FAULT);
|
||||
last = NULL;
|
||||
|
||||
while (true) {
|
||||
do {
|
||||
osRecvMesg(&g_FaultMesgQueue, &msg, OS_MESG_BLOCK);
|
||||
mask = osSetIntMask(1);
|
||||
curr = __osGetCurrFaultedThread();
|
||||
} while (!curr);
|
||||
|
||||
osSetIntMask(mask);
|
||||
|
||||
#if VERSION == VERSION_NTSC_BETA
|
||||
crashGenerate(curr, callstack, &tracelen);
|
||||
schedSetCrashedUnexpectedly(true);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
@ -1409,81 +1477,101 @@ void crashScroll(s32 numlines)
|
||||
}
|
||||
}
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
/**
|
||||
* Render a character to the crash buffer.
|
||||
*
|
||||
* It looks like the character rendering code has been removed however,
|
||||
* so it's just borders that remain.
|
||||
*/
|
||||
void crashRenderChar(s32 x, s32 y, char c)
|
||||
{
|
||||
s32 i;
|
||||
s32 j;
|
||||
s32 width;
|
||||
u16 *fbpos;
|
||||
bool hires;
|
||||
s32 tmp;
|
||||
u32 a2;
|
||||
|
||||
width = viGetWidth();
|
||||
|
||||
if (c == '\0') {
|
||||
c = ' ';
|
||||
}
|
||||
|
||||
if (c < ' ' || c > '~') {
|
||||
return;
|
||||
}
|
||||
|
||||
hires = (width == 640);
|
||||
|
||||
if (hires) {
|
||||
fbpos = g_CrashFrameBuffer + x * 2 + y * width;
|
||||
} else {
|
||||
fbpos = g_CrashFrameBuffer + x + y * width;
|
||||
}
|
||||
|
||||
a2 = 0;
|
||||
|
||||
for (i = 0; i < 7; i++) {
|
||||
for (j = 0; j < 4; j++) {
|
||||
// gray occurs every 32nd pixel
|
||||
u32 gray = a2 & 0x80000000;
|
||||
|
||||
if (gray) {
|
||||
fbpos[0] = GPACK_RGBA5551(120, 120, 120, 1);
|
||||
} else {
|
||||
fbpos[0] = GPACK_RGBA5551(0, 0, 0, 1);
|
||||
}
|
||||
|
||||
if (hires) {
|
||||
if (gray) {
|
||||
fbpos[1] = GPACK_RGBA5551(120, 120, 120, 1);
|
||||
} else {
|
||||
fbpos[1] = GPACK_RGBA5551(0, 0, 0, 1);
|
||||
}
|
||||
}
|
||||
|
||||
fbpos++;
|
||||
|
||||
if (hires) {
|
||||
fbpos++;
|
||||
}
|
||||
|
||||
a2 *= 2;
|
||||
}
|
||||
|
||||
if (hires) {
|
||||
fbpos += width;
|
||||
fbpos -= 8;
|
||||
} else {
|
||||
fbpos += width;
|
||||
fbpos -= 4;
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#if VERSION == VERSION_PAL_BETA
|
||||
GLOBAL_ASM(
|
||||
glabel crashRenderChar
|
||||
/* cb44: 27bdffe8 */ addiu $sp,$sp,-24
|
||||
/* cb48: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* cb4c: afa40018 */ sw $a0,0x18($sp)
|
||||
/* cb50: afa5001c */ sw $a1,0x1c($sp)
|
||||
/* cb54: 0c002e4d */ jal 0xb934
|
||||
/* cb58: afa60020 */ sw $a2,0x20($sp)
|
||||
/* cb5c: 93a30023 */ lbu $v1,0x23($sp)
|
||||
/* cb60: 8fa50018 */ lw $a1,0x18($sp)
|
||||
/* cb64: 8fa6001c */ lw $a2,0x1c($sp)
|
||||
/* cb68: 54600003 */ bnezl $v1,.PB0000cb78
|
||||
/* cb6c: 28610020 */ slti $at,$v1,0x20
|
||||
/* cb70: 24030020 */ li $v1,0x20
|
||||
/* cb74: 28610020 */ slti $at,$v1,0x20
|
||||
.PB0000cb78:
|
||||
/* cb78: 1420003d */ bnez $at,.PB0000cc70
|
||||
/* cb7c: 2861007f */ slti $at,$v1,0x7f
|
||||
/* cb80: 1020003b */ beqz $at,.PB0000cc70
|
||||
/* cb84: 38490280 */ xori $t1,$v0,0x280
|
||||
/* cb88: 2d290001 */ sltiu $t1,$t1,0x1
|
||||
/* cb8c: 1120000a */ beqz $t1,.PB0000cbb8
|
||||
/* cb90: 00006025 */ move $t4,$zero
|
||||
/* cb94: 00c20019 */ multu $a2,$v0
|
||||
/* cb98: 3c188006 */ lui $t8,0x8006
|
||||
/* cb9c: 8f18e4a4 */ lw $t8,-0x1b5c($t8)
|
||||
/* cba0: 00057880 */ sll $t7,$a1,0x2
|
||||
/* cba4: 01f8c821 */ addu $t9,$t7,$t8
|
||||
/* cba8: 00007012 */ mflo $t6
|
||||
/* cbac: 000e7840 */ sll $t7,$t6,0x1
|
||||
/* cbb0: 10000009 */ b .PB0000cbd8
|
||||
/* cbb4: 032f2021 */ addu $a0,$t9,$t7
|
||||
.PB0000cbb8:
|
||||
/* cbb8: 00c20019 */ multu $a2,$v0
|
||||
/* cbbc: 3c0e8006 */ lui $t6,0x8006
|
||||
/* cbc0: 8dcee4a4 */ lw $t6,-0x1b5c($t6)
|
||||
/* cbc4: 0005c040 */ sll $t8,$a1,0x1
|
||||
/* cbc8: 030ec821 */ addu $t9,$t8,$t6
|
||||
/* cbcc: 00007812 */ mflo $t7
|
||||
/* cbd0: 000fc040 */ sll $t8,$t7,0x1
|
||||
/* cbd4: 03382021 */ addu $a0,$t9,$t8
|
||||
.PB0000cbd8:
|
||||
/* cbd8: 00037080 */ sll $t6,$v1,0x2
|
||||
/* cbdc: 3c068006 */ lui $a2,0x8006
|
||||
/* cbe0: 00ce3021 */ addu $a2,$a2,$t6
|
||||
/* cbe4: 8cc6e2a8 */ lw $a2,-0x1d58($a2)
|
||||
/* cbe8: 00026840 */ sll $t5,$v0,0x1
|
||||
/* cbec: 241f0007 */ li $ra,0x7
|
||||
/* cbf0: 240b0004 */ li $t3,0x4
|
||||
/* cbf4: 3c0a8000 */ lui $t2,0x8000
|
||||
/* cbf8: 24080001 */ li $t0,0x1
|
||||
/* cbfc: 24077bdf */ li $a3,0x7bdf
|
||||
/* cc00: 00002825 */ move $a1,$zero
|
||||
.PB0000cc04:
|
||||
/* cc04: 00ca1824 */ and $v1,$a2,$t2
|
||||
/* cc08: 10600003 */ beqz $v1,.PB0000cc18
|
||||
/* cc0c: 00067840 */ sll $t7,$a2,0x1
|
||||
/* cc10: 10000002 */ b .PB0000cc1c
|
||||
/* cc14: a4870000 */ sh $a3,0x0($a0)
|
||||
.PB0000cc18:
|
||||
/* cc18: a4880000 */ sh $t0,0x0($a0)
|
||||
.PB0000cc1c:
|
||||
/* cc1c: 11200006 */ beqz $t1,.PB0000cc38
|
||||
/* cc20: 24a50001 */ addiu $a1,$a1,0x1
|
||||
/* cc24: 50600004 */ beqzl $v1,.PB0000cc38
|
||||
/* cc28: a4880002 */ sh $t0,0x2($a0)
|
||||
/* cc2c: 10000002 */ b .PB0000cc38
|
||||
/* cc30: a4870002 */ sh $a3,0x2($a0)
|
||||
/* cc34: a4880002 */ sh $t0,0x2($a0)
|
||||
.PB0000cc38:
|
||||
/* cc38: 11200002 */ beqz $t1,.PB0000cc44
|
||||
/* cc3c: 24840002 */ addiu $a0,$a0,0x2
|
||||
/* cc40: 24840002 */ addiu $a0,$a0,0x2
|
||||
.PB0000cc44:
|
||||
/* cc44: 14abffef */ bne $a1,$t3,.PB0000cc04
|
||||
/* cc48: 01e03025 */ move $a2,$t7
|
||||
/* cc4c: 11200004 */ beqz $t1,.PB0000cc60
|
||||
/* cc50: 258c0001 */ addiu $t4,$t4,0x1
|
||||
/* cc54: 008d2021 */ addu $a0,$a0,$t5
|
||||
/* cc58: 10000003 */ b .PB0000cc68
|
||||
/* cc5c: 2484fff0 */ addiu $a0,$a0,-16
|
||||
.PB0000cc60:
|
||||
/* cc60: 008d2021 */ addu $a0,$a0,$t5
|
||||
/* cc64: 2484fff8 */ addiu $a0,$a0,-8
|
||||
.PB0000cc68:
|
||||
/* cc68: 559fffe6 */ bnel $t4,$ra,.PB0000cc04
|
||||
/* cc6c: 00002825 */ move $a1,$zero
|
||||
.PB0000cc70:
|
||||
/* cc70: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
/* cc74: 27bd0018 */ addiu $sp,$sp,0x18
|
||||
/* cc78: 03e00008 */ jr $ra
|
||||
/* cc7c: 00000000 */ nop
|
||||
);
|
||||
#elif VERSION == VERSION_NTSC_BETA
|
||||
GLOBAL_ASM(
|
||||
glabel crashRenderChar
|
||||
/* d398: 27bdffe8 */ addiu $sp,$sp,-24
|
||||
@ -1577,26 +1665,114 @@ glabel crashRenderChar
|
||||
/* d4cc: 03e00008 */ jr $ra
|
||||
/* d4d0: 00000000 */ sll $zero,$zero,0x0
|
||||
);
|
||||
#endif
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
void crashReset(void)
|
||||
#else
|
||||
/**
|
||||
* Render a character to the crash buffer.
|
||||
*
|
||||
* It looks like the character rendering code has been removed however,
|
||||
* so it's just borders that remain.
|
||||
*/
|
||||
void crashRenderChar(s32 x, s32 y, char c)
|
||||
{
|
||||
g_CrashCharBuffer = NULL;
|
||||
s32 i;
|
||||
s32 j;
|
||||
s32 width;
|
||||
u16 *fbpos;
|
||||
bool hires;
|
||||
s32 tmp;
|
||||
u32 a2;
|
||||
|
||||
if (g_CrashCharBuffer) {
|
||||
// Unreachable
|
||||
s32 x;
|
||||
s32 y;
|
||||
width = viGetWidth();
|
||||
|
||||
for (y = 0; y < 30; y++) {
|
||||
for (x = 0; x < 71; x++) {
|
||||
g_CrashCharBuffer[y][x] = '\0';
|
||||
if (c == '\0') {
|
||||
c = ' ';
|
||||
}
|
||||
|
||||
if (c < ' ' || c > '~') {
|
||||
return;
|
||||
}
|
||||
|
||||
hires = (width == 640);
|
||||
|
||||
if (hires) {
|
||||
fbpos = g_CrashFrameBuffer + x * 2 + y * width;
|
||||
} else {
|
||||
fbpos = g_CrashFrameBuffer + x + y * width;
|
||||
}
|
||||
|
||||
a2 = 0;
|
||||
|
||||
for (i = 0; i < 7; i++) {
|
||||
for (j = 0; j < 4; j++) {
|
||||
// gray occurs every 32nd pixel
|
||||
u32 gray = a2 & 0x80000000;
|
||||
|
||||
if (gray) {
|
||||
fbpos[0] = GPACK_RGBA5551(120, 120, 120, 1);
|
||||
} else {
|
||||
fbpos[0] = GPACK_RGBA5551(0, 0, 0, 1);
|
||||
}
|
||||
|
||||
if (hires) {
|
||||
if (gray) {
|
||||
fbpos[1] = GPACK_RGBA5551(120, 120, 120, 1);
|
||||
} else {
|
||||
fbpos[1] = GPACK_RGBA5551(0, 0, 0, 1);
|
||||
}
|
||||
}
|
||||
|
||||
fbpos++;
|
||||
|
||||
if (hires) {
|
||||
fbpos++;
|
||||
}
|
||||
|
||||
a2 *= 2;
|
||||
}
|
||||
|
||||
if (hires) {
|
||||
fbpos += width;
|
||||
fbpos -= 8;
|
||||
} else {
|
||||
fbpos += width;
|
||||
fbpos -= 4;
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#endif
|
||||
|
||||
#if VERSION == VERSION_PAL_BETA
|
||||
GLOBAL_ASM(
|
||||
glabel crashReset
|
||||
/* cc80: 3c048006 */ lui $a0,0x8006
|
||||
/* cc84: 3c0e8009 */ lui $t6,0x8009
|
||||
/* cc88: 2484e324 */ addiu $a0,$a0,-7388
|
||||
/* cc8c: 25ce6fb8 */ addiu $t6,$t6,0x6fb8
|
||||
/* cc90: 11c00012 */ beqz $t6,.PB0000ccdc
|
||||
/* cc94: ac8e0000 */ sw $t6,0x0($a0)
|
||||
/* cc98: 00001025 */ move $v0,$zero
|
||||
/* cc9c: 2406001e */ li $a2,0x1e
|
||||
/* cca0: 24050047 */ li $a1,0x47
|
||||
/* cca4: 00001825 */ move $v1,$zero
|
||||
.PB0000cca8:
|
||||
/* cca8: 0002c8c0 */ sll $t9,$v0,0x3
|
||||
/* ccac: 8c980000 */ lw $t8,0x0($a0)
|
||||
/* ccb0: 0322c821 */ addu $t9,$t9,$v0
|
||||
/* ccb4: 0019c8c0 */ sll $t9,$t9,0x3
|
||||
/* ccb8: 0322c823 */ subu $t9,$t9,$v0
|
||||
/* ccbc: 03194021 */ addu $t0,$t8,$t9
|
||||
/* ccc0: 01034821 */ addu $t1,$t0,$v1
|
||||
/* ccc4: 24630001 */ addiu $v1,$v1,0x1
|
||||
/* ccc8: 1465fff7 */ bne $v1,$a1,.PB0000cca8
|
||||
/* cccc: a1200000 */ sb $zero,0x0($t1)
|
||||
/* ccd0: 24420001 */ addiu $v0,$v0,0x1
|
||||
/* ccd4: 5446fff4 */ bnel $v0,$a2,.PB0000cca8
|
||||
/* ccd8: 00001825 */ move $v1,$zero
|
||||
.PB0000ccdc:
|
||||
/* ccdc: 03e00008 */ jr $ra
|
||||
/* cce0: 00000000 */ nop
|
||||
);
|
||||
#elif VERSION == VERSION_NTSC_BETA
|
||||
GLOBAL_ASM(
|
||||
glabel crashReset
|
||||
/* d4d4: 3c048006 */ lui $a0,0x8006
|
||||
@ -1627,6 +1803,23 @@ glabel crashReset
|
||||
/* d530: 03e00008 */ jr $ra
|
||||
/* d534: 00000000 */ sll $zero,$zero,0x0
|
||||
);
|
||||
#else
|
||||
void crashReset(void)
|
||||
{
|
||||
g_CrashCharBuffer = NULL;
|
||||
|
||||
if (g_CrashCharBuffer) {
|
||||
// Unreachable
|
||||
s32 x;
|
||||
s32 y;
|
||||
|
||||
for (y = 0; y < 30; y++) {
|
||||
for (x = 0; x < 71; x++) {
|
||||
g_CrashCharBuffer[y][x] = '\0';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void crashRenderFrame(u8 *fb)
|
||||
|
@ -22,7 +22,7 @@ struct dhudchar {
|
||||
u8 paletteindex;
|
||||
};
|
||||
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
#if VERSION == VERSION_NTSC_BETA || VERSION == VERSION_PAL_BETA
|
||||
struct dhudchar g_DHudCharBuffer[NUM_COLS][NUM_ROWS];
|
||||
Gfx g_DHudFgGbi[MAX_COLOURS];
|
||||
Gfx g_DHudBgGbi[MAX_COLOURS];
|
||||
@ -90,21 +90,21 @@ Gfx g_DHudFgColour = gsDPSetPrimColor(0, 0, 0xff, 0xff, 0xff, 0);
|
||||
Gfx g_DHudBgColour = gsDPSetEnvColor(0, 0, 0, 0);
|
||||
#endif
|
||||
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
#if VERSION == VERSION_NTSC_BETA || VERSION == VERSION_PAL_BETA
|
||||
s32 dhud00013fe0nb(s32 arg0, s32 arg1)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
#if VERSION == VERSION_NTSC_BETA || VERSION == VERSION_PAL_BETA
|
||||
s32 dhud00013ff0nb(s32 arg0, s32 arg1)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
#if VERSION == VERSION_NTSC_BETA || VERSION == VERSION_PAL_BETA
|
||||
void dhud00014000nb(void)
|
||||
{
|
||||
// empty
|
||||
@ -113,7 +113,7 @@ void dhud00014000nb(void)
|
||||
|
||||
void dhudInit(void)
|
||||
{
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
#if VERSION == VERSION_NTSC_BETA || VERSION == VERSION_PAL_BETA
|
||||
s32 i;
|
||||
s32 x;
|
||||
s32 y;
|
||||
@ -143,14 +143,14 @@ void dhudInit(void)
|
||||
|
||||
void dhudTryReset(void)
|
||||
{
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
#if VERSION == VERSION_NTSC_BETA || VERSION == VERSION_PAL_BETA
|
||||
if (g_DHudInitialised) {
|
||||
dhudReset();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
#if VERSION == VERSION_NTSC_BETA || VERSION == VERSION_PAL_BETA
|
||||
void dhudPutCharAt(s32 x, s32 y, char c)
|
||||
{
|
||||
s32 i;
|
||||
@ -181,7 +181,7 @@ havepalette:
|
||||
|
||||
void dhudResetPos(void)
|
||||
{
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
#if VERSION == VERSION_NTSC_BETA || VERSION == VERSION_PAL_BETA
|
||||
if (g_DHudInitialised) {
|
||||
g_DHudPosX = g_DHudBaseX;
|
||||
g_DHudPosY = g_DHudBaseY;
|
||||
@ -191,7 +191,7 @@ void dhudResetPos(void)
|
||||
|
||||
void dhudReset(void)
|
||||
{
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
#if VERSION == VERSION_NTSC_BETA || VERSION == VERSION_PAL_BETA
|
||||
s32 x;
|
||||
s32 y;
|
||||
|
||||
@ -214,7 +214,7 @@ void dhudReset(void)
|
||||
|
||||
void dhudSetPos(s32 x, s32 y)
|
||||
{
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
#if VERSION == VERSION_NTSC_BETA || VERSION == VERSION_PAL_BETA
|
||||
if (g_DHudInitialised) {
|
||||
x += g_DHudBaseX;
|
||||
y += g_DHudBaseY;
|
||||
@ -231,7 +231,7 @@ void dhudSetPos(s32 x, s32 y)
|
||||
|
||||
void dhudSetFgColour(s32 r, s32 g, s32 b, s32 a)
|
||||
{
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
#if VERSION == VERSION_NTSC_BETA || VERSION == VERSION_PAL_BETA
|
||||
if (g_DHudInitialised) {
|
||||
g_DHudFgColour.words.w1 = r << 24 | g << 16 | b << 8 | (255 - a);
|
||||
}
|
||||
@ -240,7 +240,7 @@ void dhudSetFgColour(s32 r, s32 g, s32 b, s32 a)
|
||||
|
||||
void dhudSetBgColour(s32 r, s32 g, s32 b, s32 a)
|
||||
{
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
#if VERSION == VERSION_NTSC_BETA || VERSION == VERSION_PAL_BETA
|
||||
if (g_DHudInitialised) {
|
||||
g_DHudBgColour.words.w1 = r << 24 | g << 16 | b << 8 | (255 - a);
|
||||
}
|
||||
@ -249,7 +249,7 @@ void dhudSetBgColour(s32 r, s32 g, s32 b, s32 a)
|
||||
|
||||
void dhudPrintChar(u8 c)
|
||||
{
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
#if VERSION == VERSION_NTSC_BETA || VERSION == VERSION_PAL_BETA
|
||||
s32 maxwidth = (viGetWidth() - 13) / CHAR_W;
|
||||
s32 maxheight = (viGetHeight() - 10) / CHAR_H;
|
||||
|
||||
@ -272,19 +272,21 @@ void dhudPrintChar(u8 c)
|
||||
#endif
|
||||
}
|
||||
|
||||
#if VERSION != VERSION_PAL_BETA
|
||||
void dhudPrintCharAt(s32 x, s32 y, char c)
|
||||
{
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
#if VERSION == VERSION_NTSC_BETA
|
||||
if (g_DHudInitialised) {
|
||||
dhudSetPos(x, y);
|
||||
dhudPrintChar(c);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
void dhudPrintString(char *str)
|
||||
{
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
#if VERSION == VERSION_NTSC_BETA || VERSION == VERSION_PAL_BETA
|
||||
if (g_DHudInitialised) {
|
||||
while (*str != '\0') {
|
||||
dhudPrintChar(*str++);
|
||||
@ -293,9 +295,10 @@ void dhudPrintString(char *str)
|
||||
#endif
|
||||
}
|
||||
|
||||
#if VERSION != VERSION_PAL_BETA
|
||||
void dhudPrintStringAt(s32 x, s32 y, char *str)
|
||||
{
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
#if VERSION == VERSION_NTSC_BETA || VERSION == VERSION_PAL_BETA
|
||||
if (g_DHudInitialised) {
|
||||
dhudSetPos(x, y);
|
||||
|
||||
@ -305,10 +308,11 @@ void dhudPrintStringAt(s32 x, s32 y, char *str)
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
Gfx *dhudRender(Gfx *gdl)
|
||||
{
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
#if VERSION == VERSION_NTSC_BETA || VERSION == VERSION_PAL_BETA
|
||||
if (!g_DHudInitialised) {
|
||||
return gdl;
|
||||
}
|
||||
|
942
src/lib/main.c
942
src/lib/main.c
@ -695,6 +695,431 @@ glabel mainInit
|
||||
/* d838: 03e00008 */ jr $ra
|
||||
/* d83c: 00000000 */ nop
|
||||
);
|
||||
#elif VERSION >= VERSION_PAL_BETA
|
||||
GLOBAL_ASM(
|
||||
glabel mainInit
|
||||
/* d2b0: 27bdeb20 */ addiu $sp,$sp,-5344
|
||||
/* d2b4: afbf002c */ sw $ra,0x2c($sp)
|
||||
/* d2b8: 0c002f38 */ jal 0xbce0
|
||||
/* d2bc: afb00028 */ sw $s0,0x28($sp)
|
||||
/* d2c0: 0c00338c */ jal 0xce30
|
||||
/* d2c4: 00000000 */ nop
|
||||
/* d2c8: 0c002258 */ jal 0x8960
|
||||
/* d2cc: 00000000 */ nop
|
||||
/* d2d0: 0c0058ac */ jal 0x162b0
|
||||
/* d2d4: 00000000 */ nop
|
||||
/* d2d8: 0c004890 */ jal 0x12240
|
||||
/* d2dc: 00000000 */ nop
|
||||
/* d2e0: 0c004aaf */ jal 0x12abc
|
||||
/* d2e4: 00000000 */ nop
|
||||
/* d2e8: 0c004e46 */ jal 0x13918
|
||||
/* d2ec: 00000000 */ nop
|
||||
/* d2f0: 0c002668 */ jal 0x99a0
|
||||
/* d2f4: 00000000 */ nop
|
||||
/* d2f8: 0c00bff2 */ jal 0x2ffc8
|
||||
/* d2fc: 00000000 */ nop
|
||||
/* d300: 3c018006 */ lui $at,0x8006
|
||||
/* d304: 0c0051b7 */ jal 0x146dc
|
||||
/* d308: ac22e4c0 */ sw $v0,-0x1b40($at)
|
||||
/* d30c: 27a41498 */ addiu $a0,$sp,0x1498
|
||||
/* d310: 27a514d4 */ addiu $a1,$sp,0x14d4
|
||||
/* d314: 0c012240 */ jal 0x48900
|
||||
/* d318: 24060001 */ li $a2,0x1
|
||||
/* d31c: 00008025 */ move $s0,$zero
|
||||
/* d320: 3c070047 */ lui $a3,0x47
|
||||
.PB0000d324:
|
||||
/* d324: 240e0000 */ li $t6,0x0
|
||||
/* d328: 240f0000 */ li $t7,0x0
|
||||
/* d32c: 27b81498 */ addiu $t8,$sp,0x1498
|
||||
/* d330: 27b914d4 */ addiu $t9,$sp,0x14d4
|
||||
/* d334: afb9001c */ sw $t9,0x1c($sp)
|
||||
/* d338: afb80018 */ sw $t8,0x18($sp)
|
||||
/* d33c: afaf0014 */ sw $t7,0x14($sp)
|
||||
/* d340: afae0010 */ sw $t6,0x10($sp)
|
||||
/* d344: 34e7868c */ ori $a3,$a3,0x868c
|
||||
/* d348: 27a414b0 */ addiu $a0,$sp,0x14b0
|
||||
/* d34c: 0c012438 */ jal 0x490e0
|
||||
/* d350: 24060000 */ li $a2,0x0
|
||||
/* d354: 27a41498 */ addiu $a0,$sp,0x1498
|
||||
/* d358: 27a514d4 */ addiu $a1,$sp,0x14d4
|
||||
/* d35c: 0c01232c */ jal 0x48cb0
|
||||
/* d360: 24060001 */ li $a2,0x1
|
||||
/* d364: 24010001 */ li $at,0x1
|
||||
/* d368: 56010006 */ bnel $s0,$at,.PB0000d384
|
||||
/* d36c: 2a010002 */ slti $at,$s0,0x2
|
||||
/* d370: 0c005211 */ jal 0x14844
|
||||
/* d374: 00000000 */ nop
|
||||
/* d378: 10000007 */ b .PB0000d398
|
||||
/* d37c: 26100001 */ addiu $s0,$s0,0x1
|
||||
/* d380: 2a010002 */ slti $at,$s0,0x2
|
||||
.PB0000d384:
|
||||
/* d384: 54200004 */ bnezl $at,.PB0000d398
|
||||
/* d388: 26100001 */ addiu $s0,$s0,0x1
|
||||
/* d38c: 0c00534e */ jal 0x14d38
|
||||
/* d390: 00000000 */ nop
|
||||
/* d394: 26100001 */ addiu $s0,$s0,0x1
|
||||
.PB0000d398:
|
||||
/* d398: 24010004 */ li $at,0x4
|
||||
/* d39c: 5601ffe1 */ bnel $s0,$at,.PB0000d324
|
||||
/* d3a0: 3c070047 */ lui $a3,0x47
|
||||
/* d3a4: 3c057005 */ lui $a1,0x7005
|
||||
/* d3a8: 24a543f8 */ addiu $a1,$a1,0x43f8
|
||||
/* d3ac: 0c004c74 */ jal 0x131d0
|
||||
/* d3b0: 24040001 */ li $a0,0x1
|
||||
/* d3b4: 14400004 */ bnez $v0,.PB0000d3c8
|
||||
/* d3b8: 00002025 */ move $a0,$zero
|
||||
/* d3bc: 240b0001 */ li $t3,0x1
|
||||
/* d3c0: 3c018006 */ lui $at,0x8006
|
||||
/* d3c4: ac2be4c0 */ sw $t3,-0x1b40($at)
|
||||
.PB0000d3c8:
|
||||
/* d3c8: 0c00566a */ jal 0x159a8
|
||||
/* d3cc: 24051000 */ li $a1,0x1000
|
||||
/* d3d0: 1440000f */ bnez $v0,.PB0000d410
|
||||
/* d3d4: 24040001 */ li $a0,0x1
|
||||
/* d3d8: 0c00566a */ jal 0x159a8
|
||||
/* d3dc: 24051000 */ li $a1,0x1000
|
||||
/* d3e0: 1440000b */ bnez $v0,.PB0000d410
|
||||
/* d3e4: 24040002 */ li $a0,0x2
|
||||
/* d3e8: 0c00566a */ jal 0x159a8
|
||||
/* d3ec: 24051000 */ li $a1,0x1000
|
||||
/* d3f0: 14400007 */ bnez $v0,.PB0000d410
|
||||
/* d3f4: 24040003 */ li $a0,0x3
|
||||
/* d3f8: 0c00566a */ jal 0x159a8
|
||||
/* d3fc: 24051000 */ li $a1,0x1000
|
||||
/* d400: 14400003 */ bnez $v0,.PB0000d410
|
||||
/* d404: 3c018006 */ lui $at,0x8006
|
||||
/* d408: 10000004 */ b .PB0000d41c
|
||||
/* d40c: ac20e4e4 */ sw $zero,-0x1b1c($at)
|
||||
.PB0000d410:
|
||||
/* d410: 240c0001 */ li $t4,0x1
|
||||
/* d414: 3c018006 */ lui $at,0x8006
|
||||
/* d418: ac2ce4e4 */ sw $t4,-0x1b1c($at)
|
||||
.PB0000d41c:
|
||||
/* d41c: 00002025 */ move $a0,$zero
|
||||
/* d420: 0c00566a */ jal 0x159a8
|
||||
/* d424: 2405000f */ li $a1,0xf
|
||||
/* d428: 2410000f */ li $s0,0xf
|
||||
/* d42c: 1202000c */ beq $s0,$v0,.PB0000d460
|
||||
/* d430: 24040001 */ li $a0,0x1
|
||||
/* d434: 0c00566a */ jal 0x159a8
|
||||
/* d438: 2405000f */ li $a1,0xf
|
||||
/* d43c: 12020008 */ beq $s0,$v0,.PB0000d460
|
||||
/* d440: 24040002 */ li $a0,0x2
|
||||
/* d444: 0c00566a */ jal 0x159a8
|
||||
/* d448: 2405000f */ li $a1,0xf
|
||||
/* d44c: 12020004 */ beq $s0,$v0,.PB0000d460
|
||||
/* d450: 24040003 */ li $a0,0x3
|
||||
/* d454: 0c00566a */ jal 0x159a8
|
||||
/* d458: 2405000f */ li $a1,0xf
|
||||
/* d45c: 16020003 */ bne $s0,$v0,.PB0000d46c
|
||||
.PB0000d460:
|
||||
/* d460: 240d0001 */ li $t5,0x1
|
||||
/* d464: 3c018006 */ lui $at,0x8006
|
||||
/* d468: ac2ddf40 */ sw $t5,-0x20c0($at)
|
||||
.PB0000d46c:
|
||||
/* d46c: 3c0f8006 */ lui $t7,0x8006
|
||||
/* d470: afa01478 */ sw $zero,0x1478($sp)
|
||||
/* d474: 25efe82c */ addiu $t7,$t7,-6100
|
||||
/* d478: 8de10000 */ lw $at,0x0($t7)
|
||||
/* d47c: 8deb0004 */ lw $t3,0x4($t7)
|
||||
/* d480: 27ae1458 */ addiu $t6,$sp,0x1458
|
||||
/* d484: adc10000 */ sw $at,0x0($t6)
|
||||
/* d488: adcb0004 */ sw $t3,0x4($t6)
|
||||
/* d48c: 8deb000c */ lw $t3,0xc($t7)
|
||||
/* d490: 8de10008 */ lw $at,0x8($t7)
|
||||
/* d494: adcb000c */ sw $t3,0xc($t6)
|
||||
/* d498: adc10008 */ sw $at,0x8($t6)
|
||||
/* d49c: 8de10010 */ lw $at,0x10($t7)
|
||||
/* d4a0: 8deb0014 */ lw $t3,0x14($t7)
|
||||
/* d4a4: adc10010 */ sw $at,0x10($t6)
|
||||
/* d4a8: adcb0014 */ sw $t3,0x14($t6)
|
||||
/* d4ac: 8deb001c */ lw $t3,0x1c($t7)
|
||||
/* d4b0: 8de10018 */ lw $at,0x18($t7)
|
||||
/* d4b4: adcb001c */ sw $t3,0x1c($t6)
|
||||
/* d4b8: 0c0005b0 */ jal 0x16c0
|
||||
/* d4bc: adc10018 */ sw $at,0x18($t6)
|
||||
/* d4c0: 3c010040 */ lui $at,0x40
|
||||
/* d4c4: 34210001 */ ori $at,$at,0x1
|
||||
/* d4c8: 0041082a */ slt $at,$v0,$at
|
||||
/* d4cc: 1020000e */ beqz $at,.PB0000d508
|
||||
/* d4d0: 3c0e8006 */ lui $t6,0x8006
|
||||
/* d4d4: 3c0c8006 */ lui $t4,0x8006
|
||||
/* d4d8: 8d8cd914 */ lw $t4,-0x26ec($t4)
|
||||
/* d4dc: 3c19803f */ lui $t9,0x803f
|
||||
/* d4e0: 373950b8 */ ori $t9,$t9,0x50b8
|
||||
/* d4e4: 3c01ffef */ lui $at,0xffef
|
||||
/* d4e8: 000c68c0 */ sll $t5,$t4,0x3
|
||||
/* d4ec: 032d1023 */ subu $v0,$t9,$t5
|
||||
/* d4f0: 34214000 */ ori $at,$at,0x4000
|
||||
/* d4f4: 00411021 */ addu $v0,$v0,$at
|
||||
/* d4f8: 30581fff */ andi $t8,$v0,0x1fff
|
||||
/* d4fc: 00581023 */ subu $v0,$v0,$t8
|
||||
/* d500: 10000002 */ b .PB0000d50c
|
||||
/* d504: 2442e380 */ addiu $v0,$v0,-7296
|
||||
.PB0000d508:
|
||||
/* d508: 3c028080 */ lui $v0,0x8080
|
||||
.PB0000d50c:
|
||||
/* d50c: 8dcee4e4 */ lw $t6,-0x1b1c($t6)
|
||||
/* d510: 3c01fff6 */ lui $at,0xfff6
|
||||
/* d514: 3421a000 */ ori $at,$at,0xa000
|
||||
/* d518: 00411021 */ addu $v0,$v0,$at
|
||||
/* d51c: 11c0000f */ beqz $t6,.PB0000d55c
|
||||
/* d520: 2442ffc0 */ addiu $v0,$v0,-64
|
||||
/* d524: 3c018000 */ lui $at,0x8000
|
||||
/* d528: 00418025 */ or $s0,$v0,$at
|
||||
/* d52c: 2610003f */ addiu $s0,$s0,0x3f
|
||||
/* d530: 3c0301ff */ lui $v1,0x1ff
|
||||
/* d534: 360f003f */ ori $t7,$s0,0x3f
|
||||
/* d538: 3c0c01ff */ lui $t4,0x1ff
|
||||
/* d53c: 24655160 */ addiu $a1,$v1,0x5160
|
||||
/* d540: 258c5a10 */ addiu $t4,$t4,0x5a10
|
||||
/* d544: 39e4003f */ xori $a0,$t7,0x3f
|
||||
/* d548: 00808025 */ move $s0,$a0
|
||||
/* d54c: 0c003468 */ jal 0xd1a0
|
||||
/* d550: 01853023 */ subu $a2,$t4,$a1
|
||||
/* d554: 1000000e */ b .PB0000d590
|
||||
/* d558: 3c01ffff */ lui $at,0xffff
|
||||
.PB0000d55c:
|
||||
/* d55c: 3c018000 */ lui $at,0x8000
|
||||
/* d560: 00418025 */ or $s0,$v0,$at
|
||||
/* d564: 2610003f */ addiu $s0,$s0,0x3f
|
||||
/* d568: 3c0301ff */ lui $v1,0x1ff
|
||||
/* d56c: 3619003f */ ori $t9,$s0,0x3f
|
||||
/* d570: 3c1801ff */ lui $t8,0x1ff
|
||||
/* d574: 24654630 */ addiu $a1,$v1,0x4630
|
||||
/* d578: 27185160 */ addiu $t8,$t8,0x5160
|
||||
/* d57c: 3b24003f */ xori $a0,$t9,0x3f
|
||||
/* d580: 00808025 */ move $s0,$a0
|
||||
/* d584: 0c003468 */ jal 0xd1a0
|
||||
/* d588: 03053023 */ subu $a2,$t8,$a1
|
||||
/* d58c: 3c01ffff */ lui $at,0xffff
|
||||
.PB0000d590:
|
||||
/* d590: 342141e0 */ ori $at,$at,0x41e0
|
||||
/* d594: 02012821 */ addu $a1,$s0,$at
|
||||
/* d598: afa50048 */ sw $a1,0x48($sp)
|
||||
/* d59c: 02002025 */ move $a0,$s0
|
||||
/* d5a0: 0c001d0c */ jal 0x7430
|
||||
/* d5a4: 27a60058 */ addiu $a2,$sp,0x58
|
||||
/* d5a8: 3c050004 */ lui $a1,0x4
|
||||
/* d5ac: 8faa0048 */ lw $t2,0x48($sp)
|
||||
/* d5b0: 34a53800 */ ori $a1,$a1,0x3800
|
||||
/* d5b4: 00003825 */ move $a3,$zero
|
||||
/* d5b8: 24040500 */ li $a0,0x500
|
||||
/* d5bc: 00077040 */ sll $t6,$a3,0x1
|
||||
.PB0000d5c0:
|
||||
/* d5c0: 020e1821 */ addu $v1,$s0,$t6
|
||||
/* d5c4: 00001025 */ move $v0,$zero
|
||||
.PB0000d5c8:
|
||||
/* d5c8: 00627821 */ addu $t7,$v1,$v0
|
||||
/* d5cc: 24420002 */ addiu $v0,$v0,0x2
|
||||
/* d5d0: 1444fffd */ bne $v0,$a0,.PB0000d5c8
|
||||
/* d5d4: a5e00000 */ sh $zero,0x0($t7)
|
||||
/* d5d8: 24e70240 */ addiu $a3,$a3,0x240
|
||||
/* d5dc: 00e5082a */ slt $at,$a3,$a1
|
||||
/* d5e0: 5420fff7 */ bnezl $at,.PB0000d5c0
|
||||
/* d5e4: 00077040 */ sll $t6,$a3,0x1
|
||||
/* d5e8: 3c0b8000 */ lui $t3,0x8000
|
||||
/* d5ec: 8d6b0300 */ lw $t3,0x300($t3)
|
||||
/* d5f0: 00003825 */ move $a3,$zero
|
||||
/* d5f4: 00003025 */ move $a2,$zero
|
||||
/* d5f8: 15600010 */ bnez $t3,.PB0000d63c
|
||||
/* d5fc: 24095f10 */ li $t1,0x5f10
|
||||
/* d600: 240503f6 */ li $a1,0x3f6
|
||||
.PB0000d604:
|
||||
/* d604: 00076040 */ sll $t4,$a3,0x1
|
||||
/* d608: 0006c840 */ sll $t9,$a2,0x1
|
||||
/* d60c: 01592021 */ addu $a0,$t2,$t9
|
||||
/* d610: 020c1821 */ addu $v1,$s0,$t4
|
||||
/* d614: 00001025 */ move $v0,$zero
|
||||
.PB0000d618:
|
||||
/* d618: 00826821 */ addu $t5,$a0,$v0
|
||||
/* d61c: 95b80000 */ lhu $t8,0x0($t5)
|
||||
/* d620: 00627021 */ addu $t6,$v1,$v0
|
||||
/* d624: 24420002 */ addiu $v0,$v0,0x2
|
||||
/* d628: 1445fffb */ bne $v0,$a1,.PB0000d618
|
||||
/* d62c: a5d8008a */ sh $t8,0x8a($t6)
|
||||
/* d630: 24c601fb */ addiu $a2,$a2,0x1fb
|
||||
/* d634: 14c9fff3 */ bne $a2,$t1,.PB0000d604
|
||||
/* d638: 24e70240 */ addiu $a3,$a3,0x240
|
||||
.PB0000d63c:
|
||||
/* d63c: 0c0029f7 */ jal 0xa7dc
|
||||
/* d640: 24040002 */ li $a0,0x2
|
||||
/* d644: 0c002690 */ jal 0x9a40
|
||||
/* d648: 02002025 */ move $a0,$s0
|
||||
/* d64c: 8faa0048 */ lw $t2,0x48($sp)
|
||||
/* d650: 3c018006 */ lui $at,0x8006
|
||||
/* d654: 3c048009 */ lui $a0,0x8009
|
||||
/* d658: ac2a06e4 */ sw $t2,0x6e4($at)
|
||||
/* d65c: 3c018006 */ lui $at,0x8006
|
||||
/* d660: 254f0800 */ addiu $t7,$t2,0x800
|
||||
/* d664: ac2f06e0 */ sw $t7,0x6e0($at)
|
||||
/* d668: 24840010 */ addiu $a0,$a0,0x10
|
||||
/* d66c: 27a51478 */ addiu $a1,$sp,0x1478
|
||||
/* d670: 0c01232c */ jal 0x48cb0
|
||||
/* d674: 00003025 */ move $a2,$zero
|
||||
/* d678: 14400007 */ bnez $v0,.PB0000d698
|
||||
.PB0000d67c:
|
||||
/* d67c: 3c048009 */ lui $a0,0x8009
|
||||
/* d680: 24840010 */ addiu $a0,$a0,0x10
|
||||
/* d684: 27a51478 */ addiu $a1,$sp,0x1478
|
||||
/* d688: 0c01232c */ jal 0x48cb0
|
||||
/* d68c: 00003025 */ move $a2,$zero
|
||||
/* d690: 1040fffa */ beqz $v0,.PB0000d67c
|
||||
/* d694: 00000000 */ nop
|
||||
.PB0000d698:
|
||||
/* d698: 00001825 */ move $v1,$zero
|
||||
.PB0000d69c:
|
||||
/* d69c: 3c048009 */ lui $a0,0x8009
|
||||
/* d6a0: 24840010 */ addiu $a0,$a0,0x10
|
||||
/* d6a4: 27a51478 */ addiu $a1,$sp,0x1478
|
||||
/* d6a8: 24060001 */ li $a2,0x1
|
||||
/* d6ac: 0c01232c */ jal 0x48cb0
|
||||
/* d6b0: afa31490 */ sw $v1,0x1490($sp)
|
||||
/* d6b4: 8fab1478 */ lw $t3,0x1478($sp)
|
||||
/* d6b8: 24010001 */ li $at,0x1
|
||||
/* d6bc: 8fa31490 */ lw $v1,0x1490($sp)
|
||||
/* d6c0: 856c0000 */ lh $t4,0x0($t3)
|
||||
/* d6c4: 27b01458 */ addiu $s0,$sp,0x1458
|
||||
/* d6c8: 5581000d */ bnel $t4,$at,.PB0000d700
|
||||
/* d6cc: 28610006 */ slti $at,$v1,0x6
|
||||
/* d6d0: 0c0027d3 */ jal 0x9f4c
|
||||
/* d6d4: afa31490 */ sw $v1,0x1490($sp)
|
||||
/* d6d8: 3c048006 */ lui $a0,0x8006
|
||||
/* d6dc: 3c058006 */ lui $a1,0x8006
|
||||
/* d6e0: 24a5e800 */ addiu $a1,$a1,-6144
|
||||
/* d6e4: 2484e7d8 */ addiu $a0,$a0,-6184
|
||||
/* d6e8: 00003025 */ move $a2,$zero
|
||||
/* d6ec: 0c00bfad */ jal 0x2feb4
|
||||
/* d6f0: 02003825 */ move $a3,$s0
|
||||
/* d6f4: 8fa31490 */ lw $v1,0x1490($sp)
|
||||
/* d6f8: 24630001 */ addiu $v1,$v1,0x1
|
||||
/* d6fc: 28610006 */ slti $at,$v1,0x6
|
||||
.PB0000d700:
|
||||
/* d700: 1420ffe6 */ bnez $at,.PB0000d69c
|
||||
/* d704: 00000000 */ nop
|
||||
/* d708: 3c198000 */ lui $t9,0x8000
|
||||
/* d70c: 8f390300 */ lw $t9,0x300($t9)
|
||||
/* d710: 13200003 */ beqz $t9,.PB0000d720
|
||||
/* d714: 00000000 */ nop
|
||||
.PB0000d718:
|
||||
/* d718: 1000ffff */ b .PB0000d718
|
||||
/* d71c: 00000000 */ nop
|
||||
.PB0000d720:
|
||||
/* d720: 0c001c04 */ jal 0x7010
|
||||
/* d724: 00000000 */ nop
|
||||
/* d728: 0fc6a558 */ jal 0xf1a9560
|
||||
/* d72c: 00000000 */ nop
|
||||
/* d730: 0fc5a179 */ jal 0xf1685e4
|
||||
/* d734: 00000000 */ nop
|
||||
/* d738: 0fc5dea0 */ jal 0xf177a80
|
||||
/* d73c: 00000000 */ nop
|
||||
/* d740: 0fc5deb0 */ jal 0xf177ac0
|
||||
/* d744: 00000000 */ nop
|
||||
/* d748: 3c0d8006 */ lui $t5,0x8006
|
||||
/* d74c: 8dade4c0 */ lw $t5,-0x1b40($t5)
|
||||
/* d750: 11a00003 */ beqz $t5,.PB0000d760
|
||||
/* d754: 3c047005 */ lui $a0,0x7005
|
||||
/* d758: 0c004c2f */ jal 0x130bc
|
||||
/* d75c: 24844400 */ addiu $a0,$a0,0x4400
|
||||
.PB0000d760:
|
||||
/* d760: 3c04800b */ lui $a0,0x800b
|
||||
/* d764: 0c012de0 */ jal 0x4b780
|
||||
/* d768: 248417e0 */ addiu $a0,$a0,0x17e0
|
||||
/* d76c: 3c038009 */ lui $v1,0x8009
|
||||
/* d770: 8c632fe0 */ lw $v1,0x2fe0($v1)
|
||||
/* d774: 3c018000 */ lui $at,0x8000
|
||||
/* d778: 00412025 */ or $a0,$v0,$at
|
||||
/* d77c: 0c004892 */ jal 0x12248
|
||||
/* d780: 00642823 */ subu $a1,$v1,$a0
|
||||
/* d784: 0c004977 */ jal 0x125dc
|
||||
/* d788: 24040008 */ li $a0,0x8
|
||||
/* d78c: 0c004977 */ jal 0x125dc
|
||||
/* d790: 24040006 */ li $a0,0x6
|
||||
/* d794: 0c003320 */ jal 0xcc80
|
||||
/* d798: 00000000 */ nop
|
||||
/* d79c: 0fc02c88 */ jal 0xf00b220
|
||||
/* d7a0: 00000000 */ nop
|
||||
/* d7a4: 0fc5e243 */ jal 0xf17890c
|
||||
/* d7a8: 00000000 */ nop
|
||||
/* d7ac: 0c000d28 */ jal 0x34a0
|
||||
/* d7b0: 00000000 */ nop
|
||||
/* d7b4: 0fc02c68 */ jal 0xf00b1a0
|
||||
/* d7b8: 00000000 */ nop
|
||||
/* d7bc: 0fc00000 */ jal 0xf000000
|
||||
/* d7c0: 00000000 */ nop
|
||||
/* d7c4: 0fc5a45a */ jal 0xf169168
|
||||
/* d7c8: 00000000 */ nop
|
||||
/* d7cc: 0fc41edb */ jal 0xf107b6c
|
||||
/* d7d0: 00000000 */ nop
|
||||
/* d7d4: 0c003a7d */ jal 0xe9f4
|
||||
/* d7d8: 00000000 */ nop
|
||||
/* d7dc: 0fc55154 */ jal 0xf154550
|
||||
/* d7e0: 00000000 */ nop
|
||||
/* d7e4: 0c004e5e */ jal 0x13978
|
||||
/* d7e8: 00000000 */ nop
|
||||
/* d7ec: 0fc4a37c */ jal 0xf128df0
|
||||
/* d7f0: 00000000 */ nop
|
||||
/* d7f4: 0fc5b9d8 */ jal 0xf16e760
|
||||
/* d7f8: 00000000 */ nop
|
||||
/* d7fc: 0fc02c84 */ jal 0xf00b210
|
||||
/* d800: 00000000 */ nop
|
||||
/* d804: 0c00265c */ jal 0x9970
|
||||
/* d808: 00000000 */ nop
|
||||
/* d80c: 0fc0021c */ jal 0xf000870
|
||||
/* d810: 00000000 */ nop
|
||||
/* d814: 0fc00220 */ jal 0xf000880
|
||||
/* d818: 00000000 */ nop
|
||||
/* d81c: 0fc00238 */ jal 0xf0008e0
|
||||
/* d820: 00000000 */ nop
|
||||
/* d824: 0fc0023c */ jal 0xf0008f0
|
||||
/* d828: 00000000 */ nop
|
||||
/* d82c: 0fc00240 */ jal 0xf000900
|
||||
/* d830: 00000000 */ nop
|
||||
/* d834: 0fc02c64 */ jal 0xf00b190
|
||||
/* d838: 00000000 */ nop
|
||||
/* d83c: 0fc00244 */ jal 0xf000910
|
||||
/* d840: 00000000 */ nop
|
||||
/* d844: 0fc00210 */ jal 0xf000840
|
||||
/* d848: 00000000 */ nop
|
||||
/* d84c: 0fc62728 */ jal 0xf189ca0
|
||||
/* d850: 00000000 */ nop
|
||||
/* d854: 0fc52db6 */ jal 0xf14b6d8
|
||||
/* d858: 00000000 */ nop
|
||||
/* d85c: 0fc4649e */ jal 0xf119278
|
||||
/* d860: 00000000 */ nop
|
||||
/* d864: 0fc52ddb */ jal 0xf14b76c
|
||||
/* d868: 00000000 */ nop
|
||||
/* d86c: 0c008e60 */ jal 0x23980
|
||||
/* d870: 00000000 */ nop
|
||||
/* d874: 0fc00040 */ jal 0xf000100
|
||||
/* d878: 00000000 */ nop
|
||||
/* d87c: 0fc0004c */ jal 0xf000130
|
||||
/* d880: 00000000 */ nop
|
||||
/* d884: 0fc00214 */ jal 0xf000850
|
||||
/* d888: 00000000 */ nop
|
||||
/* d88c: 0fc00218 */ jal 0xf000860
|
||||
/* d890: 00000000 */ nop
|
||||
/* d894: 0fc00024 */ jal 0xf000090
|
||||
/* d898: 00000000 */ nop
|
||||
/* d89c: 0c0026ba */ jal 0x9ae8
|
||||
/* d8a0: 00000000 */ nop
|
||||
/* d8a4: 0c002773 */ jal 0x9dcc
|
||||
/* d8a8: 24040001 */ li $a0,0x1
|
||||
/* d8ac: 3c188006 */ lui $t8,0x8006
|
||||
/* d8b0: 8f18e4e4 */ lw $t8,-0x1b1c($t8)
|
||||
/* d8b4: 3c018006 */ lui $at,0x8006
|
||||
/* d8b8: ac20e828 */ sw $zero,-0x17d8($at)
|
||||
/* d8bc: 53000004 */ beqzl $t8,.PB0000d8d0
|
||||
/* d8c0: 8fbf002c */ lw $ra,0x2c($sp)
|
||||
/* d8c4: 0c0122b4 */ jal 0x48ad0
|
||||
/* d8c8: 00000000 */ nop
|
||||
/* d8cc: 8fbf002c */ lw $ra,0x2c($sp)
|
||||
.PB0000d8d0:
|
||||
/* d8d0: 8fb00028 */ lw $s0,0x28($sp)
|
||||
/* d8d4: 27bd14e0 */ addiu $sp,$sp,0x14e0
|
||||
/* d8d8: 03e00008 */ jr $ra
|
||||
/* d8dc: 00000000 */ nop
|
||||
);
|
||||
#elif VERSION >= VERSION_NTSC_1_0
|
||||
GLOBAL_ASM(
|
||||
glabel mainInit
|
||||
@ -2596,71 +3021,394 @@ glabel mainLoop
|
||||
);
|
||||
#endif
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
void mainTick(void)
|
||||
{
|
||||
Gfx *gdl;
|
||||
Gfx *gdlstart;
|
||||
OSScMsg msg = {OS_SC_DONE_MSG};
|
||||
s32 i;
|
||||
|
||||
if (g_MainChangeToStageNum < 0 && g_MainNumGfxTasks < 2) {
|
||||
frametimeCalculate();
|
||||
profile00009a98();
|
||||
profile00009a90();
|
||||
profileSetMarker(PROFILE_MAINTICK_START);
|
||||
func000034d8();
|
||||
joyDebugJoy();
|
||||
schedSetCrashEnable2(false);
|
||||
|
||||
if (g_MainGameLogicEnabled) {
|
||||
gdl = gdlstart = gfxGetMasterDisplayList();
|
||||
|
||||
gDPSetTile(gdl++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
|
||||
gDPSetTile(gdl++, G_IM_FMT_RGBA, G_IM_SIZ_4b, 0, 0x0100, 6, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
|
||||
|
||||
lvTick();
|
||||
playermgrShuffle();
|
||||
|
||||
if (g_StageNum < STAGE_TITLE) {
|
||||
for (i = 0; i < PLAYERCOUNT(); i++) {
|
||||
setCurrentPlayerNum(playermgrGetPlayerAtOrder(i));
|
||||
|
||||
if (g_StageNum != STAGE_TEST_OLD || !titleIsKeepingMode()) {
|
||||
viSetViewPosition(g_Vars.currentplayer->viewleft, g_Vars.currentplayer->viewtop);
|
||||
viSetFovAspectAndSize(
|
||||
g_Vars.currentplayer->fovy, g_Vars.currentplayer->aspect,
|
||||
g_Vars.currentplayer->viewwidth, g_Vars.currentplayer->viewheight);
|
||||
}
|
||||
|
||||
lvTickPlayer();
|
||||
}
|
||||
}
|
||||
|
||||
gdl = lvRender(gdl);
|
||||
func000034e0(&gdl);
|
||||
|
||||
if (debug0f11ed70() >= 2) {
|
||||
gdl = profileRender(gdl);
|
||||
}
|
||||
|
||||
gDPFullSync(gdl++);
|
||||
gSPEndDisplayList(gdl++);
|
||||
}
|
||||
|
||||
if (g_MainGameLogicEnabled) {
|
||||
gfxSwapBuffers();
|
||||
viUpdateMode();
|
||||
}
|
||||
|
||||
rdpCreateTask(gdlstart, gdl, 0, &msg);
|
||||
g_MainNumGfxTasks++;
|
||||
memaPrint();
|
||||
func0f16cf94();
|
||||
profileSetMarker(PROFILE_MAINTICK_END);
|
||||
}
|
||||
}
|
||||
#else
|
||||
#if VERSION == VERSION_PAL_BETA
|
||||
GLOBAL_ASM(
|
||||
glabel mainTick
|
||||
/* e114: 27bdff68 */ addiu $sp,$sp,-152
|
||||
/* e118: 3c0f8006 */ lui $t7,0x8006
|
||||
/* e11c: afbf001c */ sw $ra,0x1c($sp)
|
||||
/* e120: afb10018 */ sw $s1,0x18($sp)
|
||||
/* e124: afb00014 */ sw $s0,0x14($sp)
|
||||
/* e128: 25efe88c */ addiu $t7,$t7,-6004
|
||||
/* e12c: 8de10000 */ lw $at,0x0($t7)
|
||||
/* e130: 8de80004 */ lw $t0,0x4($t7)
|
||||
/* e134: 27ae0070 */ addiu $t6,$sp,0x70
|
||||
/* e138: adc10000 */ sw $at,0x0($t6)
|
||||
/* e13c: adc80004 */ sw $t0,0x4($t6)
|
||||
/* e140: 8de8000c */ lw $t0,0xc($t7)
|
||||
/* e144: 8de10008 */ lw $at,0x8($t7)
|
||||
/* e148: 3c098006 */ lui $t1,0x8006
|
||||
/* e14c: adc8000c */ sw $t0,0xc($t6)
|
||||
/* e150: adc10008 */ sw $at,0x8($t6)
|
||||
/* e154: 8de10010 */ lw $at,0x10($t7)
|
||||
/* e158: 8de80014 */ lw $t0,0x14($t7)
|
||||
/* e15c: 3c0a8006 */ lui $t2,0x8006
|
||||
/* e160: adc10010 */ sw $at,0x10($t6)
|
||||
/* e164: adc80014 */ sw $t0,0x14($t6)
|
||||
/* e168: 8de8001c */ lw $t0,0x1c($t7)
|
||||
/* e16c: 8de10018 */ lw $at,0x18($t7)
|
||||
/* e170: adc8001c */ sw $t0,0x1c($t6)
|
||||
/* e174: adc10018 */ sw $at,0x18($t6)
|
||||
/* e178: 8d29e864 */ lw $t1,-0x179c($t1)
|
||||
/* e17c: 0523014a */ bgezl $t1,.PB0000e6a8
|
||||
/* e180: 8fbf001c */ lw $ra,0x1c($sp)
|
||||
/* e184: 8d4ae4dc */ lw $t2,-0x1b24($t2)
|
||||
/* e188: 2d410002 */ sltiu $at,$t2,0x2
|
||||
/* e18c: 50200146 */ beqzl $at,.PB0000e6a8
|
||||
/* e190: 8fbf001c */ lw $ra,0x1c($sp)
|
||||
/* e194: 0fc5b9fd */ jal 0xf16e7f4
|
||||
/* e198: 00000000 */ nop
|
||||
/* e19c: 0c002662 */ jal 0x9988
|
||||
/* e1a0: 00000000 */ nop
|
||||
/* e1a4: 0c002660 */ jal 0x9980
|
||||
/* e1a8: 00000000 */ nop
|
||||
/* e1ac: 0c002664 */ jal 0x9990
|
||||
/* e1b0: 3c040002 */ lui $a0,0x2
|
||||
/* e1b4: 0c000d2a */ jal 0x34a8
|
||||
/* e1b8: 00000000 */ nop
|
||||
/* e1bc: 0c00534e */ jal 0x14d38
|
||||
/* e1c0: 00000000 */ nop
|
||||
/* e1c4: 0c0006ca */ jal 0x1b28
|
||||
/* e1c8: 00002025 */ move $a0,$zero
|
||||
/* e1cc: 3c048006 */ lui $a0,0x8006
|
||||
/* e1d0: 8c84e4d8 */ lw $a0,-0x1b28($a0)
|
||||
/* e1d4: 1080011c */ beqz $a0,.PB0000e648
|
||||
/* e1d8: 00000000 */ nop
|
||||
/* e1dc: 0fc5a3eb */ jal 0xf168fac
|
||||
/* e1e0: 00000000 */ nop
|
||||
/* e1e4: 244b0008 */ addiu $t3,$v0,0x8
|
||||
/* e1e8: afa20090 */ sw $v0,0x90($sp)
|
||||
/* e1ec: afab0094 */ sw $t3,0x94($sp)
|
||||
/* e1f0: 3c0cf510 */ lui $t4,0xf510
|
||||
/* e1f4: 3c0d0700 */ lui $t5,0x700
|
||||
/* e1f8: ac4d0004 */ sw $t5,0x4($v0)
|
||||
/* e1fc: ac4c0000 */ sw $t4,0x0($v0)
|
||||
/* e200: 8fb90094 */ lw $t9,0x94($sp)
|
||||
/* e204: 3c0ef500 */ lui $t6,0xf500
|
||||
/* e208: 35ce0100 */ ori $t6,$t6,0x100
|
||||
/* e20c: 27380008 */ addiu $t8,$t9,0x8
|
||||
/* e210: afb80094 */ sw $t8,0x94($sp)
|
||||
/* e214: 3c0f0600 */ lui $t7,0x600
|
||||
/* e218: 3c088006 */ lui $t0,0x8006
|
||||
/* e21c: af2f0004 */ sw $t7,0x4($t9)
|
||||
/* e220: af2e0000 */ sw $t6,0x0($t9)
|
||||
/* e224: 8d08e868 */ lw $t0,-0x1798($t0)
|
||||
/* e228: 15000006 */ bnez $t0,.PB0000e244
|
||||
/* e22c: 00002025 */ move $a0,$zero
|
||||
/* e230: 0c00566a */ jal 0x159a8
|
||||
/* e234: 2405000c */ li $a1,0xc
|
||||
/* e238: 2401000c */ li $at,0xc
|
||||
/* e23c: 1441001a */ bne $v0,$at,.PB0000e2a8
|
||||
/* e240: 00002025 */ move $a0,$zero
|
||||
.PB0000e244:
|
||||
/* e244: 0c005616 */ jal 0x15858
|
||||
/* e248: 00002025 */ move $a0,$zero
|
||||
/* e24c: 00028e00 */ sll $s1,$v0,0x18
|
||||
/* e250: 00114e03 */ sra $t1,$s1,0x18
|
||||
/* e254: 01208825 */ move $s1,$t1
|
||||
/* e258: 0c005640 */ jal 0x15900
|
||||
/* e25c: 00002025 */ move $a0,$zero
|
||||
/* e260: a3a2003b */ sb $v0,0x3b($sp)
|
||||
/* e264: 00002025 */ move $a0,$zero
|
||||
/* e268: 0c00566a */ jal 0x159a8
|
||||
/* e26c: 3405ffff */ li $a1,0xffff
|
||||
/* e270: 3050ffff */ andi $s0,$v0,0xffff
|
||||
/* e274: 00002025 */ move $a0,$zero
|
||||
/* e278: 0c00569a */ jal 0x15a68
|
||||
/* e27c: 3405ffff */ li $a1,0xffff
|
||||
/* e280: 00112600 */ sll $a0,$s1,0x18
|
||||
/* e284: 00045603 */ sra $t2,$a0,0x18
|
||||
/* e288: 01402025 */ move $a0,$t2
|
||||
/* e28c: 83a5003b */ lb $a1,0x3b($sp)
|
||||
/* e290: 3206ffff */ andi $a2,$s0,0xffff
|
||||
/* e294: 0fc47f67 */ jal 0xf11fd9c
|
||||
/* e298: 3047ffff */ andi $a3,$v0,0xffff
|
||||
/* e29c: 3c018006 */ lui $at,0x8006
|
||||
/* e2a0: 10000021 */ b .PB0000e328
|
||||
/* e2a4: ac22e868 */ sw $v0,-0x1798($at)
|
||||
.PB0000e2a8:
|
||||
/* e2a8: 0c00566a */ jal 0x159a8
|
||||
/* e2ac: 24051000 */ li $a1,0x1000
|
||||
/* e2b0: 14400005 */ bnez $v0,.PB0000e2c8
|
||||
/* e2b4: 3c0b8007 */ lui $t3,0x8007
|
||||
/* e2b8: 8d6b7b7c */ lw $t3,0x7b7c($t3)
|
||||
/* e2bc: 3c018007 */ lui $at,0x8007
|
||||
/* e2c0: 10000019 */ b .PB0000e328
|
||||
/* e2c4: ac2b7b78 */ sw $t3,0x7b78($at)
|
||||
.PB0000e2c8:
|
||||
/* e2c8: 0c005616 */ jal 0x15858
|
||||
/* e2cc: 00002025 */ move $a0,$zero
|
||||
/* e2d0: 00028e00 */ sll $s1,$v0,0x18
|
||||
/* e2d4: 00116603 */ sra $t4,$s1,0x18
|
||||
/* e2d8: 01808825 */ move $s1,$t4
|
||||
/* e2dc: 0c005640 */ jal 0x15900
|
||||
/* e2e0: 00002025 */ move $a0,$zero
|
||||
/* e2e4: a3a2003b */ sb $v0,0x3b($sp)
|
||||
/* e2e8: 00002025 */ move $a0,$zero
|
||||
/* e2ec: 0c00566a */ jal 0x159a8
|
||||
/* e2f0: 3405ffff */ li $a1,0xffff
|
||||
/* e2f4: 3050ffff */ andi $s0,$v0,0xffff
|
||||
/* e2f8: 00002025 */ move $a0,$zero
|
||||
/* e2fc: 0c00569a */ jal 0x15a68
|
||||
/* e300: 3405ffff */ li $a1,0xffff
|
||||
/* e304: 00112600 */ sll $a0,$s1,0x18
|
||||
/* e308: 00046e03 */ sra $t5,$a0,0x18
|
||||
/* e30c: 01a02025 */ move $a0,$t5
|
||||
/* e310: 83a5003b */ lb $a1,0x3b($sp)
|
||||
/* e314: 3206ffff */ andi $a2,$s0,0xffff
|
||||
/* e318: 0fc47f67 */ jal 0xf11fd9c
|
||||
/* e31c: 3047ffff */ andi $a3,$v0,0xffff
|
||||
/* e320: 3c018006 */ lui $at,0x8006
|
||||
/* e324: ac22e868 */ sw $v0,-0x1798($at)
|
||||
.PB0000e328:
|
||||
/* e328: 0fc5b487 */ jal 0xf16d21c
|
||||
/* e32c: 00000000 */ nop
|
||||
/* e330: 0fc4a8a7 */ jal 0xf12a29c
|
||||
/* e334: 00000000 */ nop
|
||||
/* e338: 3c198006 */ lui $t9,0x8006
|
||||
/* e33c: 8f39e4c4 */ lw $t9,-0x1b3c($t9)
|
||||
/* e340: 3c10800a */ lui $s0,0x800a
|
||||
/* e344: 2610e4d0 */ addiu $s0,$s0,-6960
|
||||
/* e348: 2b21005a */ slti $at,$t9,0x5a
|
||||
/* e34c: 10200055 */ beqz $at,.PB0000e4a4
|
||||
/* e350: 00000000 */ nop
|
||||
/* e354: 8e18006c */ lw $t8,0x6c($s0)
|
||||
/* e358: 00008825 */ move $s1,$zero
|
||||
/* e35c: 00002825 */ move $a1,$zero
|
||||
/* e360: 13000003 */ beqz $t8,.PB0000e370
|
||||
/* e364: 00002025 */ move $a0,$zero
|
||||
/* e368: 10000001 */ b .PB0000e370
|
||||
/* e36c: 24050001 */ li $a1,0x1
|
||||
.PB0000e370:
|
||||
/* e370: 8e0e0068 */ lw $t6,0x68($s0)
|
||||
/* e374: 00001825 */ move $v1,$zero
|
||||
/* e378: 00001025 */ move $v0,$zero
|
||||
/* e37c: 11c00003 */ beqz $t6,.PB0000e38c
|
||||
/* e380: 00000000 */ nop
|
||||
/* e384: 10000001 */ b .PB0000e38c
|
||||
/* e388: 24040001 */ li $a0,0x1
|
||||
.PB0000e38c:
|
||||
/* e38c: 8e0f0064 */ lw $t7,0x64($s0)
|
||||
/* e390: 11e00003 */ beqz $t7,.PB0000e3a0
|
||||
/* e394: 00000000 */ nop
|
||||
/* e398: 10000001 */ b .PB0000e3a0
|
||||
/* e39c: 24030001 */ li $v1,0x1
|
||||
.PB0000e3a0:
|
||||
/* e3a0: 8e080070 */ lw $t0,0x70($s0)
|
||||
/* e3a4: 11000003 */ beqz $t0,.PB0000e3b4
|
||||
/* e3a8: 00000000 */ nop
|
||||
/* e3ac: 10000001 */ b .PB0000e3b4
|
||||
/* e3b0: 24020001 */ li $v0,0x1
|
||||
.PB0000e3b4:
|
||||
/* e3b4: 00434821 */ addu $t1,$v0,$v1
|
||||
/* e3b8: 01245021 */ addu $t2,$t1,$a0
|
||||
/* e3bc: 01455821 */ addu $t3,$t2,$a1
|
||||
/* e3c0: 19600038 */ blez $t3,.PB0000e4a4
|
||||
/* e3c4: 00000000 */ nop
|
||||
.PB0000e3c8:
|
||||
/* e3c8: 0fc4a8ea */ jal 0xf12a3a8
|
||||
/* e3cc: 02202025 */ move $a0,$s1
|
||||
/* e3d0: 0fc4a783 */ jal 0xf129e0c
|
||||
/* e3d4: 00402025 */ move $a0,$v0
|
||||
/* e3d8: 3c0c8006 */ lui $t4,0x8006
|
||||
/* e3dc: 8d8ce4c4 */ lw $t4,-0x1b3c($t4)
|
||||
/* e3e0: 2401004e */ li $at,0x4e
|
||||
/* e3e4: 55810006 */ bnel $t4,$at,.PB0000e400
|
||||
/* e3e8: 8e020284 */ lw $v0,0x284($s0)
|
||||
/* e3ec: 0fc06b11 */ jal 0xf01ac44
|
||||
/* e3f0: 00000000 */ nop
|
||||
/* e3f4: 1440000b */ bnez $v0,.PB0000e424
|
||||
/* e3f8: 00000000 */ nop
|
||||
/* e3fc: 8e020284 */ lw $v0,0x284($s0)
|
||||
.PB0000e400:
|
||||
/* e400: 84440634 */ lh $a0,0x634($v0)
|
||||
/* e404: 0c002e75 */ jal 0xb9d4
|
||||
/* e408: 84450636 */ lh $a1,0x636($v0)
|
||||
/* e40c: 8e020284 */ lw $v0,0x284($s0)
|
||||
/* e410: c44c1854 */ lwc1 $f12,0x1854($v0)
|
||||
/* e414: c44e1858 */ lwc1 $f14,0x1858($v0)
|
||||
/* e418: 84460630 */ lh $a2,0x630($v0)
|
||||
/* e41c: 0c002ec1 */ jal 0xbb04
|
||||
/* e420: 84470632 */ lh $a3,0x632($v0)
|
||||
.PB0000e424:
|
||||
/* e424: 0fc5b915 */ jal 0xf16e454
|
||||
/* e428: 00000000 */ nop
|
||||
/* e42c: 8e0d006c */ lw $t5,0x6c($s0)
|
||||
/* e430: 26310001 */ addiu $s1,$s1,0x1
|
||||
/* e434: 00002825 */ move $a1,$zero
|
||||
/* e438: 11a00003 */ beqz $t5,.PB0000e448
|
||||
/* e43c: 00002025 */ move $a0,$zero
|
||||
/* e440: 10000001 */ b .PB0000e448
|
||||
/* e444: 24050001 */ li $a1,0x1
|
||||
.PB0000e448:
|
||||
/* e448: 8e190068 */ lw $t9,0x68($s0)
|
||||
/* e44c: 00001825 */ move $v1,$zero
|
||||
/* e450: 00001025 */ move $v0,$zero
|
||||
/* e454: 13200003 */ beqz $t9,.PB0000e464
|
||||
/* e458: 00000000 */ nop
|
||||
/* e45c: 10000001 */ b .PB0000e464
|
||||
/* e460: 24040001 */ li $a0,0x1
|
||||
.PB0000e464:
|
||||
/* e464: 8e180064 */ lw $t8,0x64($s0)
|
||||
/* e468: 13000003 */ beqz $t8,.PB0000e478
|
||||
/* e46c: 00000000 */ nop
|
||||
/* e470: 10000001 */ b .PB0000e478
|
||||
/* e474: 24030001 */ li $v1,0x1
|
||||
.PB0000e478:
|
||||
/* e478: 8e0e0070 */ lw $t6,0x70($s0)
|
||||
/* e47c: 11c00003 */ beqz $t6,.PB0000e48c
|
||||
/* e480: 00000000 */ nop
|
||||
/* e484: 10000001 */ b .PB0000e48c
|
||||
/* e488: 24020001 */ li $v0,0x1
|
||||
.PB0000e48c:
|
||||
/* e48c: 00437821 */ addu $t7,$v0,$v1
|
||||
/* e490: 01e44021 */ addu $t0,$t7,$a0
|
||||
/* e494: 01054821 */ addu $t1,$t0,$a1
|
||||
/* e498: 0229082a */ slt $at,$s1,$t1
|
||||
/* e49c: 1420ffca */ bnez $at,.PB0000e3c8
|
||||
/* e4a0: 00000000 */ nop
|
||||
.PB0000e4a4:
|
||||
/* e4a4: 0fc5ab7d */ jal 0xf16adf4
|
||||
/* e4a8: 8fa40094 */ lw $a0,0x94($sp)
|
||||
/* e4ac: afa20094 */ sw $v0,0x94($sp)
|
||||
/* e4b0: 0c000d2c */ jal 0x34b0
|
||||
/* e4b4: 27a40094 */ addiu $a0,$sp,0x94
|
||||
/* e4b8: 0fc4808c */ jal 0xf120230
|
||||
/* e4bc: 00000000 */ nop
|
||||
/* e4c0: 1040003e */ beqz $v0,.PB0000e5bc
|
||||
/* e4c4: 2407ffff */ li $a3,-1
|
||||
/* e4c8: 8faa0094 */ lw $t2,0x94($sp)
|
||||
/* e4cc: 3c0ce700 */ lui $t4,0xe700
|
||||
/* e4d0: 3c18ba00 */ lui $t8,0xba00
|
||||
/* e4d4: 254b0008 */ addiu $t3,$t2,0x8
|
||||
/* e4d8: afab0094 */ sw $t3,0x94($sp)
|
||||
/* e4dc: ad400004 */ sw $zero,0x4($t2)
|
||||
/* e4e0: ad4c0000 */ sw $t4,0x0($t2)
|
||||
/* e4e4: 8fad0094 */ lw $t5,0x94($sp)
|
||||
/* e4e8: 37181402 */ ori $t8,$t8,0x1402
|
||||
/* e4ec: 3c08f900 */ lui $t0,0xf900
|
||||
/* e4f0: 25b90008 */ addiu $t9,$t5,0x8
|
||||
/* e4f4: afb90094 */ sw $t9,0x94($sp)
|
||||
/* e4f8: ada00004 */ sw $zero,0x4($t5)
|
||||
/* e4fc: adb80000 */ sw $t8,0x0($t5)
|
||||
/* e500: 8fae0094 */ lw $t6,0x94($sp)
|
||||
/* e504: 3c0bee00 */ lui $t3,0xee00
|
||||
/* e508: 3c19b900 */ lui $t9,0xb900
|
||||
/* e50c: 25cf0008 */ addiu $t7,$t6,0x8
|
||||
/* e510: afaf0094 */ sw $t7,0x94($sp)
|
||||
/* e514: adc70004 */ sw $a3,0x4($t6)
|
||||
/* e518: adc80000 */ sw $t0,0x0($t6)
|
||||
/* e51c: 8fa90094 */ lw $t1,0x94($sp)
|
||||
/* e520: 37390201 */ ori $t9,$t9,0x201
|
||||
/* e524: 24180004 */ li $t8,0x4
|
||||
/* e528: 252a0008 */ addiu $t2,$t1,0x8
|
||||
/* e52c: afaa0094 */ sw $t2,0x94($sp)
|
||||
/* e530: ad270004 */ sw $a3,0x4($t1)
|
||||
/* e534: ad2b0000 */ sw $t3,0x0($t1)
|
||||
/* e538: 8fac0094 */ lw $t4,0x94($sp)
|
||||
/* e53c: 3c090fa5 */ lui $t1,0xfa5
|
||||
/* e540: 3c08b900 */ lui $t0,0xb900
|
||||
/* e544: 258d0008 */ addiu $t5,$t4,0x8
|
||||
/* e548: afad0094 */ sw $t5,0x94($sp)
|
||||
/* e54c: ad980004 */ sw $t8,0x4($t4)
|
||||
/* e550: ad990000 */ sw $t9,0x0($t4)
|
||||
/* e554: 8fae0094 */ lw $t6,0x94($sp)
|
||||
/* e558: 3508031d */ ori $t0,$t0,0x31d
|
||||
/* e55c: 35294040 */ ori $t1,$t1,0x4040
|
||||
/* e560: 25cf0008 */ addiu $t7,$t6,0x8
|
||||
/* e564: afaf0094 */ sw $t7,0x94($sp)
|
||||
/* e568: adc90004 */ sw $t1,0x4($t6)
|
||||
/* e56c: adc80000 */ sw $t0,0x0($t6)
|
||||
/* e570: 8fb00094 */ lw $s0,0x94($sp)
|
||||
/* e574: 260b0008 */ addiu $t3,$s0,0x8
|
||||
/* e578: 0c002e4d */ jal 0xb934
|
||||
/* e57c: afab0094 */ sw $t3,0x94($sp)
|
||||
/* e580: 00028c00 */ sll $s1,$v0,0x10
|
||||
/* e584: 00116403 */ sra $t4,$s1,0x10
|
||||
/* e588: 0c002e51 */ jal 0xb944
|
||||
/* e58c: 01808825 */ move $s1,$t4
|
||||
/* e590: 244dffff */ addiu $t5,$v0,-1
|
||||
/* e594: 31b903ff */ andi $t9,$t5,0x3ff
|
||||
/* e598: 262fffff */ addiu $t7,$s1,-1
|
||||
/* e59c: 31e803ff */ andi $t0,$t7,0x3ff
|
||||
/* e5a0: 0019c080 */ sll $t8,$t9,0x2
|
||||
/* e5a4: 3c01f600 */ lui $at,0xf600
|
||||
/* e5a8: 03017025 */ or $t6,$t8,$at
|
||||
/* e5ac: 00084b80 */ sll $t1,$t0,0xe
|
||||
/* e5b0: 01c95025 */ or $t2,$t6,$t1
|
||||
/* e5b4: ae0a0000 */ sw $t2,0x0($s0)
|
||||
/* e5b8: ae000004 */ sw $zero,0x4($s0)
|
||||
.PB0000e5bc:
|
||||
/* e5bc: 0c004fd8 */ jal 0x13f60
|
||||
/* e5c0: 8fa40094 */ lw $a0,0x94($sp)
|
||||
/* e5c4: 0c004f11 */ jal 0x13c44
|
||||
/* e5c8: afa20094 */ sw $v0,0x94($sp)
|
||||
/* e5cc: 0fc4806b */ jal 0xf1201ac
|
||||
/* e5d0: 00000000 */ nop
|
||||
/* e5d4: 28410002 */ slti $at,$v0,0x2
|
||||
/* e5d8: 14200004 */ bnez $at,.PB0000e5ec
|
||||
/* e5dc: 00000000 */ nop
|
||||
/* e5e0: 0c002666 */ jal 0x9998
|
||||
/* e5e4: 8fa40094 */ lw $a0,0x94($sp)
|
||||
/* e5e8: afa20094 */ sw $v0,0x94($sp)
|
||||
.PB0000e5ec:
|
||||
/* e5ec: 3c0b8006 */ lui $t3,0x8006
|
||||
/* e5f0: 8d6be868 */ lw $t3,-0x1798($t3)
|
||||
/* e5f4: 51600007 */ beqzl $t3,.PB0000e614
|
||||
/* e5f8: 8fac0094 */ lw $t4,0x94($sp)
|
||||
/* e5fc: 0fc47ee8 */ jal 0xf11fba0
|
||||
/* e600: 00000000 */ nop
|
||||
/* e604: 0fc47d89 */ jal 0xf11f624
|
||||
/* e608: 8fa40094 */ lw $a0,0x94($sp)
|
||||
/* e60c: afa20094 */ sw $v0,0x94($sp)
|
||||
/* e610: 8fac0094 */ lw $t4,0x94($sp)
|
||||
.PB0000e614:
|
||||
/* e614: 3c19e900 */ lui $t9,0xe900
|
||||
/* e618: 3c08b800 */ lui $t0,0xb800
|
||||
/* e61c: 258d0008 */ addiu $t5,$t4,0x8
|
||||
/* e620: afad0094 */ sw $t5,0x94($sp)
|
||||
/* e624: ad800004 */ sw $zero,0x4($t4)
|
||||
/* e628: ad990000 */ sw $t9,0x0($t4)
|
||||
/* e62c: 8fb80094 */ lw $t8,0x94($sp)
|
||||
/* e630: 3c048006 */ lui $a0,0x8006
|
||||
/* e634: 270f0008 */ addiu $t7,$t8,0x8
|
||||
/* e638: afaf0094 */ sw $t7,0x94($sp)
|
||||
/* e63c: af000004 */ sw $zero,0x4($t8)
|
||||
/* e640: af080000 */ sw $t0,0x0($t8)
|
||||
/* e644: 8c84e4d8 */ lw $a0,-0x1b28($a0)
|
||||
.PB0000e648:
|
||||
/* e648: 50800006 */ beqzl $a0,.PB0000e664
|
||||
/* e64c: 8fa40090 */ lw $a0,0x90($sp)
|
||||
/* e650: 0fc5a422 */ jal 0xf169088
|
||||
/* e654: 00000000 */ nop
|
||||
/* e658: 0c0027d3 */ jal 0x9f4c
|
||||
/* e65c: 00000000 */ nop
|
||||
/* e660: 8fa40090 */ lw $a0,0x90($sp)
|
||||
.PB0000e664:
|
||||
/* e664: 8fa50094 */ lw $a1,0x94($sp)
|
||||
/* e668: 00003025 */ move $a2,$zero
|
||||
/* e66c: 0c00bfad */ jal 0x2feb4
|
||||
/* e670: 27a70070 */ addiu $a3,$sp,0x70
|
||||
/* e674: 3c028006 */ lui $v0,0x8006
|
||||
/* e678: 2442e4dc */ addiu $v0,$v0,-6948
|
||||
/* e67c: 8c4e0000 */ lw $t6,0x0($v0)
|
||||
/* e680: 25c90001 */ addiu $t1,$t6,0x1
|
||||
/* e684: 0c004ad2 */ jal 0x12b48
|
||||
/* e688: ac490000 */ sw $t1,0x0($v0)
|
||||
/* e68c: 0fc5ba3d */ jal 0xf16e8f4
|
||||
/* e690: 00000000 */ nop
|
||||
/* e694: 0c002664 */ jal 0x9990
|
||||
/* e698: 3c040001 */ lui $a0,0x1
|
||||
/* e69c: 0fc480d1 */ jal 0xf120344
|
||||
/* e6a0: 00000000 */ nop
|
||||
/* e6a4: 8fbf001c */ lw $ra,0x1c($sp)
|
||||
.PB0000e6a8:
|
||||
/* e6a8: 8fb00014 */ lw $s0,0x14($sp)
|
||||
/* e6ac: 8fb10018 */ lw $s1,0x18($sp)
|
||||
/* e6b0: 03e00008 */ jr $ra
|
||||
/* e6b4: 27bd0098 */ addiu $sp,$sp,0x98
|
||||
);
|
||||
#elif VERSION == VERSION_NTSC_BETA
|
||||
GLOBAL_ASM(
|
||||
glabel mainTick
|
||||
/* e8ec: 27bdff68 */ addiu $sp,$sp,-152
|
||||
@ -3157,6 +3905,70 @@ u32 var8005f690nb[] = {
|
||||
// profileSetMarker(PROFILE_MAINTICK_END);
|
||||
// }
|
||||
//}
|
||||
#else
|
||||
void mainTick(void)
|
||||
{
|
||||
Gfx *gdl;
|
||||
Gfx *gdlstart;
|
||||
OSScMsg msg = {OS_SC_DONE_MSG};
|
||||
s32 i;
|
||||
|
||||
if (g_MainChangeToStageNum < 0 && g_MainNumGfxTasks < 2) {
|
||||
frametimeCalculate();
|
||||
profile00009a98();
|
||||
profile00009a90();
|
||||
profileSetMarker(PROFILE_MAINTICK_START);
|
||||
func000034d8();
|
||||
joyDebugJoy();
|
||||
schedSetCrashEnable2(false);
|
||||
|
||||
if (g_MainGameLogicEnabled) {
|
||||
gdl = gdlstart = gfxGetMasterDisplayList();
|
||||
|
||||
gDPSetTile(gdl++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
|
||||
gDPSetTile(gdl++, G_IM_FMT_RGBA, G_IM_SIZ_4b, 0, 0x0100, 6, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
|
||||
|
||||
lvTick();
|
||||
playermgrShuffle();
|
||||
|
||||
if (g_StageNum < STAGE_TITLE) {
|
||||
for (i = 0; i < PLAYERCOUNT(); i++) {
|
||||
setCurrentPlayerNum(playermgrGetPlayerAtOrder(i));
|
||||
|
||||
if (g_StageNum != STAGE_TEST_OLD || !titleIsKeepingMode()) {
|
||||
viSetViewPosition(g_Vars.currentplayer->viewleft, g_Vars.currentplayer->viewtop);
|
||||
viSetFovAspectAndSize(
|
||||
g_Vars.currentplayer->fovy, g_Vars.currentplayer->aspect,
|
||||
g_Vars.currentplayer->viewwidth, g_Vars.currentplayer->viewheight);
|
||||
}
|
||||
|
||||
lvTickPlayer();
|
||||
}
|
||||
}
|
||||
|
||||
gdl = lvRender(gdl);
|
||||
func000034e0(&gdl);
|
||||
|
||||
if (debug0f11ed70() >= 2) {
|
||||
gdl = profileRender(gdl);
|
||||
}
|
||||
|
||||
gDPFullSync(gdl++);
|
||||
gSPEndDisplayList(gdl++);
|
||||
}
|
||||
|
||||
if (g_MainGameLogicEnabled) {
|
||||
gfxSwapBuffers();
|
||||
viUpdateMode();
|
||||
}
|
||||
|
||||
rdpCreateTask(gdlstart, gdl, 0, &msg);
|
||||
g_MainNumGfxTasks++;
|
||||
memaPrint();
|
||||
func0f16cf94();
|
||||
profileSetMarker(PROFILE_MAINTICK_END);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void mainEndStage(void)
|
||||
|
131
src/lib/mema.c
131
src/lib/mema.c
@ -210,11 +210,50 @@ void memaInit(void)
|
||||
// empty
|
||||
}
|
||||
|
||||
#if VERSION == VERSION_PAL_BETA
|
||||
GLOBAL_ASM(
|
||||
glabel memaHeapInit
|
||||
/* 12ac4: 3c03800a */ lui $v1,0x800a
|
||||
/* 12ac8: 2463c1a8 */ addiu $v1,$v1,-15960
|
||||
/* 12acc: 2406ffff */ li $a2,-1
|
||||
/* 12ad0: ac6603ec */ sw $a2,0x3ec($v1)
|
||||
/* 12ad4: ac6603f4 */ sw $a2,0x3f4($v1)
|
||||
/* 12ad8: 240effff */ li $t6,-1
|
||||
/* 12adc: 3c06800a */ lui $a2,0x800a
|
||||
/* 12ae0: 3c02800a */ lui $v0,0x800a
|
||||
/* 12ae4: ac600000 */ sw $zero,0x0($v1)
|
||||
/* 12ae8: ac600004 */ sw $zero,0x4($v1)
|
||||
/* 12aec: ac600008 */ sw $zero,0x8($v1)
|
||||
/* 12af0: ac6003f0 */ sw $zero,0x3f0($v1)
|
||||
/* 12af4: ac6e03f8 */ sw $t6,0x3f8($v1)
|
||||
/* 12af8: 2442c1b4 */ addiu $v0,$v0,-15948
|
||||
/* 12afc: 24c6c58c */ addiu $a2,$a2,-14964
|
||||
.PB00012b00:
|
||||
/* 12b00: 24420008 */ addiu $v0,$v0,0x8
|
||||
/* 12b04: 00c2082b */ sltu $at,$a2,$v0
|
||||
/* 12b08: ac40fff8 */ sw $zero,-0x8($v0)
|
||||
/* 12b0c: 1020fffc */ beqz $at,.PB00012b00
|
||||
/* 12b10: ac40fffc */ sw $zero,-0x4($v0)
|
||||
/* 12b14: 3c02800a */ lui $v0,0x800a
|
||||
/* 12b18: 3c06800a */ lui $a2,0x800a
|
||||
/* 12b1c: 24c6c1a4 */ addiu $a2,$a2,-15964
|
||||
/* 12b20: 2442c1a0 */ addiu $v0,$v0,-15968
|
||||
/* 12b24: 3c19000f */ lui $t9,0xf
|
||||
/* 12b28: ac440000 */ sw $a0,0x0($v0)
|
||||
/* 12b2c: ac64000c */ sw $a0,0xc($v1)
|
||||
/* 12b30: acc50000 */ sw $a1,0x0($a2)
|
||||
/* 12b34: ac650010 */ sw $a1,0x10($v1)
|
||||
/* 12b38: 37394240 */ ori $t9,$t9,0x4240
|
||||
/* 12b3c: 3c018006 */ lui $at,0x8006
|
||||
/* 12b40: 03e00008 */ jr $ra
|
||||
/* 12b44: ac39f910 */ sw $t9,-0x6f0($at)
|
||||
);
|
||||
#else
|
||||
void memaHeapInit(void *heapaddr, u32 heapsize)
|
||||
{
|
||||
struct memaspace *space;
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
#if VERSION != VERSION_NTSC_BETA && VERSION != VERSION_PAL_BETA
|
||||
// Adding an amount to the heap size here means that mema can allocate past
|
||||
// the end of its heap. This would overflow into the gun names language
|
||||
// file. Maybe this code was intended to be temporary while a developer
|
||||
@ -241,7 +280,96 @@ void memaHeapInit(void *heapaddr, u32 heapsize)
|
||||
g_MemaHeap.spaces[0].addr = g_MemaHeapStart = (u32)heapaddr;
|
||||
g_MemaHeap.spaces[0].size = g_MemaHeapSize = heapsize;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if VERSION == VERSION_PAL_BETA
|
||||
const char var70054900pb[] = "Lev0: %d";
|
||||
const char var7005490cpb[] = "Lev1: %d";
|
||||
const char var70054918pb[] = "mema: %d (%d)";
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel memaPrint
|
||||
/* 12b48: 27bdff58 */ addiu $sp,$sp,-168
|
||||
/* 12b4c: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* 12b50: 3c04800a */ lui $a0,0x800a
|
||||
/* 12b54: 0c0049e8 */ jal 0x127a0
|
||||
/* 12b58: 2484c1a8 */ addiu $a0,$a0,-15960
|
||||
/* 12b5c: 0fc48118 */ jal 0xf120460
|
||||
/* 12b60: 00000000 */ nop
|
||||
/* 12b64: 10400041 */ beqz $v0,.PB00012c6c
|
||||
/* 12b68: 240400ff */ li $a0,0xff
|
||||
/* 12b6c: 240500ff */ li $a1,0xff
|
||||
/* 12b70: 240600ff */ li $a2,0xff
|
||||
/* 12b74: 0c004f62 */ jal 0x13d88
|
||||
/* 12b78: 240700ff */ li $a3,0xff
|
||||
/* 12b7c: 00002025 */ move $a0,$zero
|
||||
/* 12b80: 00002825 */ move $a1,$zero
|
||||
/* 12b84: 00003025 */ move $a2,$zero
|
||||
/* 12b88: 0c004f71 */ jal 0x13dc4
|
||||
/* 12b8c: 240700ff */ li $a3,0xff
|
||||
/* 12b90: 24040004 */ li $a0,0x4
|
||||
/* 12b94: 0c00494d */ jal 0x12534
|
||||
/* 12b98: 00002825 */ move $a1,$zero
|
||||
/* 12b9c: 3c057005 */ lui $a1,0x7005
|
||||
/* 12ba0: 24a54950 */ addiu $a1,$a1,0x4950
|
||||
/* 12ba4: 27a4001c */ addiu $a0,$sp,0x1c
|
||||
/* 12ba8: 0c004e1d */ jal 0x13874
|
||||
/* 12bac: 00403025 */ move $a2,$v0
|
||||
/* 12bb0: 2404001f */ li $a0,0x1f
|
||||
/* 12bb4: 0c004f3b */ jal 0x13cec
|
||||
/* 12bb8: 24050001 */ li $a1,0x1
|
||||
/* 12bbc: 0c004fc3 */ jal 0x13f0c
|
||||
/* 12bc0: 27a4001c */ addiu $a0,$sp,0x1c
|
||||
/* 12bc4: 240e0002 */ li $t6,0x2
|
||||
/* 12bc8: afae009c */ sw $t6,0x9c($sp)
|
||||
/* 12bcc: 24040004 */ li $a0,0x4
|
||||
/* 12bd0: 0c00494d */ jal 0x12534
|
||||
/* 12bd4: 24050001 */ li $a1,0x1
|
||||
/* 12bd8: 3c057005 */ lui $a1,0x7005
|
||||
/* 12bdc: 24a5495c */ addiu $a1,$a1,0x495c
|
||||
/* 12be0: 27a4001c */ addiu $a0,$sp,0x1c
|
||||
/* 12be4: 0c004e1d */ jal 0x13874
|
||||
/* 12be8: 00403025 */ move $a2,$v0
|
||||
/* 12bec: 2404001f */ li $a0,0x1f
|
||||
/* 12bf0: 0c004f3b */ jal 0x13cec
|
||||
/* 12bf4: 8fa5009c */ lw $a1,0x9c($sp)
|
||||
/* 12bf8: 0c004fc3 */ jal 0x13f0c
|
||||
/* 12bfc: 27a4001c */ addiu $a0,$sp,0x1c
|
||||
/* 12c00: 8faf009c */ lw $t7,0x9c($sp)
|
||||
/* 12c04: 25f80001 */ addiu $t8,$t7,0x1
|
||||
/* 12c08: 0c004baa */ jal 0x12ea8
|
||||
/* 12c0c: afb8009c */ sw $t8,0x9c($sp)
|
||||
/* 12c10: 3c198006 */ lui $t9,0x8006
|
||||
/* 12c14: 8f39f910 */ lw $t9,-0x6f0($t9)
|
||||
/* 12c18: 0059082b */ sltu $at,$v0,$t9
|
||||
/* 12c1c: 10200005 */ beqz $at,.PB00012c34
|
||||
/* 12c20: 00000000 */ nop
|
||||
/* 12c24: 0c004baa */ jal 0x12ea8
|
||||
/* 12c28: 00000000 */ nop
|
||||
/* 12c2c: 3c018006 */ lui $at,0x8006
|
||||
/* 12c30: ac22f910 */ sw $v0,-0x6f0($at)
|
||||
.PB00012c34:
|
||||
/* 12c34: 0c004baa */ jal 0x12ea8
|
||||
/* 12c38: 00000000 */ nop
|
||||
/* 12c3c: 3c057005 */ lui $a1,0x7005
|
||||
/* 12c40: 3c078006 */ lui $a3,0x8006
|
||||
/* 12c44: 8ce7f910 */ lw $a3,-0x6f0($a3)
|
||||
/* 12c48: 24a54968 */ addiu $a1,$a1,0x4968
|
||||
/* 12c4c: 27a4001c */ addiu $a0,$sp,0x1c
|
||||
/* 12c50: 0c004e1d */ jal 0x13874
|
||||
/* 12c54: 00403025 */ move $a2,$v0
|
||||
/* 12c58: 2404001f */ li $a0,0x1f
|
||||
/* 12c5c: 0c004f3b */ jal 0x13cec
|
||||
/* 12c60: 8fa5009c */ lw $a1,0x9c($sp)
|
||||
/* 12c64: 0c004fc3 */ jal 0x13f0c
|
||||
/* 12c68: 27a4001c */ addiu $a0,$sp,0x1c
|
||||
.PB00012c6c:
|
||||
/* 12c6c: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
/* 12c70: 27bd00a8 */ addiu $sp,$sp,0xa8
|
||||
/* 12c74: 03e00008 */ jr $ra
|
||||
/* 12c78: 00000000 */ nop
|
||||
);
|
||||
#else
|
||||
/**
|
||||
* Example printout of figures:
|
||||
*
|
||||
@ -355,6 +483,7 @@ void memaPrint(void)
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
GLOBAL_ASM(
|
||||
|
@ -266,7 +266,7 @@ u32 mempGetPoolFree(u8 poolnum, u32 bank)
|
||||
return pool->rightpos - pool->leftpos;
|
||||
}
|
||||
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
#if VERSION == VERSION_NTSC_BETA || VERSION == VERSION_PAL_BETA
|
||||
u32 mempGetPoolSize(u8 poolnum, u32 bank)
|
||||
{
|
||||
struct memorypool *pool;
|
||||
@ -281,7 +281,7 @@ u32 mempGetPoolSize(u8 poolnum, u32 bank)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
#if VERSION <= VERSION_NTSC_1_0
|
||||
void *mempAllocFromPackedWord(u32 word)
|
||||
{
|
||||
return mempAlloc(word >> 4, word & 0x0f);
|
||||
|
435
src/lib/model.c
435
src/lib/model.c
@ -18,7 +18,7 @@
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
#if VERSION >= VERSION_PAL_BETA
|
||||
u8 var8005efb0_2 = 0;
|
||||
#endif
|
||||
|
||||
@ -583,7 +583,7 @@ void model0001b0e8(struct model *model, struct modelnode *node)
|
||||
rwdata->chrinfo.unk14 = rwdata->chrinfo.unk30;
|
||||
|
||||
if (g_Vars.in_cutscene && anim->speed > 0.0f) {
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
#if VERSION >= VERSION_PAL_BETA
|
||||
frac = floorf(anim->frac / anim->speed + 0.01f) * anim->speed;
|
||||
#else
|
||||
frac = floorf(anim->frac / anim->speed) * anim->speed;
|
||||
@ -702,7 +702,7 @@ void model0001b400(struct modelrenderdata *arg0, struct model *model, struct mod
|
||||
anim00024050(sp240, anim->flip, skel, anim->animnum, anim->unk04, &sp230, &sp224, &sp218);
|
||||
|
||||
if (g_Vars.in_cutscene && anim->speed > 0) {
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
#if VERSION >= VERSION_PAL_BETA
|
||||
sp154 = floorf(anim->frac / anim->speed + 0.01f) * anim->speed;
|
||||
#else
|
||||
sp154 = floorf(anim->frac / anim->speed) * anim->speed;
|
||||
@ -1754,6 +1754,431 @@ glabel var70053fc0pf
|
||||
/* 1c36c: 03e00008 */ jr $ra
|
||||
/* 1c370: 00000000 */ nop
|
||||
);
|
||||
#elif VERSION >= VERSION_PAL_BETA
|
||||
GLOBAL_ASM(
|
||||
glabel model0001bfa8
|
||||
.late_rodata
|
||||
glabel var70053fc0pf
|
||||
.word 0x3c23d70a
|
||||
.text
|
||||
/* 1ca10: 27bdfea0 */ addiu $sp,$sp,-352
|
||||
/* 1ca14: afbf002c */ sw $ra,0x2c($sp)
|
||||
/* 1ca18: afb00028 */ sw $s0,0x28($sp)
|
||||
/* 1ca1c: afa40160 */ sw $a0,0x160($sp)
|
||||
/* 1ca20: afa50164 */ sw $a1,0x164($sp)
|
||||
/* 1ca24: afa60168 */ sw $a2,0x168($sp)
|
||||
/* 1ca28: 8ccf0004 */ lw $t7,0x4($a2)
|
||||
/* 1ca2c: afaf0158 */ sw $t7,0x158($sp)
|
||||
/* 1ca30: 8cb00020 */ lw $s0,0x20($a1)
|
||||
/* 1ca34: 5200015a */ beqzl $s0,.PB0001cfa0
|
||||
/* 1ca38: 8faf0168 */ lw $t7,0x168($sp)
|
||||
/* 1ca3c: 95f9000c */ lhu $t9,0xc($t7)
|
||||
/* 1ca40: 3c098006 */ lui $t1,0x8006
|
||||
/* 1ca44: 27b80144 */ addiu $t8,$sp,0x144
|
||||
/* 1ca48: afb90154 */ sw $t9,0x154($sp)
|
||||
/* 1ca4c: 8ca20008 */ lw $v0,0x8($a1)
|
||||
/* 1ca50: 3c013f80 */ lui $at,0x3f80
|
||||
/* 1ca54: 8c480004 */ lw $t0,0x4($v0)
|
||||
/* 1ca58: afa80150 */ sw $t0,0x150($sp)
|
||||
/* 1ca5c: 86070000 */ lh $a3,0x0($s0)
|
||||
/* 1ca60: 27a80138 */ addiu $t0,$sp,0x138
|
||||
/* 1ca64: 10e00054 */ beqz $a3,.PB0001cbb8
|
||||
/* 1ca68: 00075080 */ sll $t2,$a3,0x2
|
||||
/* 1ca6c: 8d2906ac */ lw $t1,0x6ac($t1)
|
||||
/* 1ca70: 01475023 */ subu $t2,$t2,$a3
|
||||
/* 1ca74: 000a5080 */ sll $t2,$t2,0x2
|
||||
/* 1ca78: 012a5821 */ addu $t3,$t1,$t2
|
||||
/* 1ca7c: 9163000b */ lbu $v1,0xb($t3)
|
||||
/* 1ca80: 27a9012c */ addiu $t1,$sp,0x12c
|
||||
/* 1ca84: 306c0002 */ andi $t4,$v1,0x2
|
||||
/* 1ca88: 000c182b */ sltu $v1,$zero,$t4
|
||||
/* 1ca8c: 50600005 */ beqzl $v1,.PB0001caa4
|
||||
/* 1ca90: afa30128 */ sw $v1,0x128($sp)
|
||||
/* 1ca94: 8c4f0000 */ lw $t7,0x0($v0)
|
||||
/* 1ca98: 00cf1826 */ xor $v1,$a2,$t7
|
||||
/* 1ca9c: 2c630001 */ sltiu $v1,$v1,0x1
|
||||
/* 1caa0: afa30128 */ sw $v1,0x128($sp)
|
||||
.PB0001caa4:
|
||||
/* 1caa4: 92190004 */ lbu $t9,0x4($s0)
|
||||
/* 1caa8: 82050008 */ lb $a1,0x8($s0)
|
||||
/* 1caac: afa3003c */ sw $v1,0x3c($sp)
|
||||
/* 1cab0: afa9001c */ sw $t1,0x1c($sp)
|
||||
/* 1cab4: afa80018 */ sw $t0,0x18($sp)
|
||||
/* 1cab8: afb80014 */ sw $t8,0x14($sp)
|
||||
/* 1cabc: 8fa40154 */ lw $a0,0x154($sp)
|
||||
/* 1cac0: 8fa60150 */ lw $a2,0x150($sp)
|
||||
/* 1cac4: 0c009184 */ jal 0x24610
|
||||
/* 1cac8: afb90010 */ sw $t9,0x10($sp)
|
||||
/* 1cacc: 3c0a800a */ lui $t2,0x800a
|
||||
/* 1cad0: 8d4ae99c */ lw $t2,-0x1664($t2)
|
||||
/* 1cad4: 51400013 */ beqzl $t2,.PB0001cb24
|
||||
/* 1cad8: 44807000 */ mtc1 $zero,$f14
|
||||
/* 1cadc: 44807000 */ mtc1 $zero,$f14
|
||||
/* 1cae0: c600001c */ lwc1 $f0,0x1c($s0)
|
||||
/* 1cae4: 4600703c */ c.lt.s $f14,$f0
|
||||
/* 1cae8: 00000000 */ nop
|
||||
/* 1caec: 4502000d */ bc1fl .PB0001cb24
|
||||
/* 1caf0: 44807000 */ mtc1 $zero,$f14
|
||||
/* 1caf4: c6040010 */ lwc1 $f4,0x10($s0)
|
||||
/* 1caf8: 3c017005 */ lui $at,0x7005
|
||||
/* 1cafc: c4284cbc */ lwc1 $f8,0x4cbc($at)
|
||||
/* 1cb00: 46002183 */ div.s $f6,$f4,$f0
|
||||
/* 1cb04: 0fc25dc0 */ jal 0xf097700
|
||||
/* 1cb08: 46083300 */ add.s $f12,$f6,$f8
|
||||
/* 1cb0c: c60a001c */ lwc1 $f10,0x1c($s0)
|
||||
/* 1cb10: 44807000 */ mtc1 $zero,$f14
|
||||
/* 1cb14: 460a0082 */ mul.s $f2,$f0,$f10
|
||||
/* 1cb18: 10000004 */ b .PB0001cb2c
|
||||
/* 1cb1c: 460e1032 */ c.eq.s $f2,$f14
|
||||
/* 1cb20: 44807000 */ mtc1 $zero,$f14
|
||||
.PB0001cb24:
|
||||
/* 1cb24: c6020010 */ lwc1 $f2,0x10($s0)
|
||||
/* 1cb28: 460e1032 */ c.eq.s $f2,$f14
|
||||
.PB0001cb2c:
|
||||
/* 1cb2c: 8fa40154 */ lw $a0,0x154($sp)
|
||||
/* 1cb30: 8fa60150 */ lw $a2,0x150($sp)
|
||||
/* 1cb34: 27ac00d4 */ addiu $t4,$sp,0xd4
|
||||
/* 1cb38: 4501001c */ bc1t .PB0001cbac
|
||||
/* 1cb3c: 27ad00c8 */ addiu $t5,$sp,0xc8
|
||||
/* 1cb40: 920b0005 */ lbu $t3,0x5($s0)
|
||||
/* 1cb44: 82050008 */ lb $a1,0x8($s0)
|
||||
/* 1cb48: 86070000 */ lh $a3,0x0($s0)
|
||||
/* 1cb4c: 27ae00bc */ addiu $t6,$sp,0xbc
|
||||
/* 1cb50: afae001c */ sw $t6,0x1c($sp)
|
||||
/* 1cb54: e7a200e0 */ swc1 $f2,0xe0($sp)
|
||||
/* 1cb58: afad0018 */ sw $t5,0x18($sp)
|
||||
/* 1cb5c: afac0014 */ sw $t4,0x14($sp)
|
||||
/* 1cb60: 0c009184 */ jal 0x24610
|
||||
/* 1cb64: afab0010 */ sw $t3,0x10($sp)
|
||||
/* 1cb68: c7a200e0 */ lwc1 $f2,0xe0($sp)
|
||||
/* 1cb6c: 27a40144 */ addiu $a0,$sp,0x144
|
||||
/* 1cb70: 27a500d4 */ addiu $a1,$sp,0xd4
|
||||
/* 1cb74: 44061000 */ mfc1 $a2,$f2
|
||||
/* 1cb78: 0c006eb3 */ jal 0x1bacc
|
||||
/* 1cb7c: 00000000 */ nop
|
||||
/* 1cb80: 8faf003c */ lw $t7,0x3c($sp)
|
||||
/* 1cb84: c7a200e0 */ lwc1 $f2,0xe0($sp)
|
||||
/* 1cb88: 3c198006 */ lui $t9,0x8006
|
||||
/* 1cb8c: 15e00004 */ bnez $t7,.PB0001cba0
|
||||
/* 1cb90: 27a40138 */ addiu $a0,$sp,0x138
|
||||
/* 1cb94: 8f39065c */ lw $t9,0x65c($t9)
|
||||
/* 1cb98: 53200005 */ beqzl $t9,.PB0001cbb0
|
||||
/* 1cb9c: 44807000 */ mtc1 $zero,$f14
|
||||
.PB0001cba0:
|
||||
/* 1cba0: 44061000 */ mfc1 $a2,$f2
|
||||
/* 1cba4: 0c006e7a */ jal 0x1b9e8
|
||||
/* 1cba8: 27a500c8 */ addiu $a1,$sp,0xc8
|
||||
.PB0001cbac:
|
||||
/* 1cbac: 44807000 */ mtc1 $zero,$f14
|
||||
.PB0001cbb0:
|
||||
/* 1cbb0: 10000010 */ b .PB0001cbf4
|
||||
/* 1cbb4: c6120054 */ lwc1 $f18,0x54($s0)
|
||||
.PB0001cbb8:
|
||||
/* 1cbb8: 44800000 */ mtc1 $zero,$f0
|
||||
/* 1cbbc: 44801000 */ mtc1 $zero,$f2
|
||||
/* 1cbc0: 44807000 */ mtc1 $zero,$f14
|
||||
/* 1cbc4: e7a00140 */ swc1 $f0,0x140($sp)
|
||||
/* 1cbc8: e7a0013c */ swc1 $f0,0x13c($sp)
|
||||
/* 1cbcc: e7a00138 */ swc1 $f0,0x138($sp)
|
||||
/* 1cbd0: 44810000 */ mtc1 $at,$f0
|
||||
/* 1cbd4: afa00128 */ sw $zero,0x128($sp)
|
||||
/* 1cbd8: e7a20148 */ swc1 $f2,0x148($sp)
|
||||
/* 1cbdc: e7a20144 */ swc1 $f2,0x144($sp)
|
||||
/* 1cbe0: e7a2014c */ swc1 $f2,0x14c($sp)
|
||||
/* 1cbe4: e7a00130 */ swc1 $f0,0x130($sp)
|
||||
/* 1cbe8: e7a0012c */ swc1 $f0,0x12c($sp)
|
||||
/* 1cbec: e7a00134 */ swc1 $f0,0x134($sp)
|
||||
/* 1cbf0: c6120054 */ lwc1 $f18,0x54($s0)
|
||||
.PB0001cbf4:
|
||||
/* 1cbf4: 8fa40154 */ lw $a0,0x154($sp)
|
||||
/* 1cbf8: 8fa60150 */ lw $a2,0x150($sp)
|
||||
/* 1cbfc: 46127032 */ c.eq.s $f14,$f18
|
||||
/* 1cc00: 27a800b0 */ addiu $t0,$sp,0xb0
|
||||
/* 1cc04: 27a900a4 */ addiu $t1,$sp,0xa4
|
||||
/* 1cc08: 27aa0098 */ addiu $t2,$sp,0x98
|
||||
/* 1cc0c: 4501007a */ bc1t .PB0001cdf8
|
||||
/* 1cc10: 8fb90128 */ lw $t9,0x128($sp)
|
||||
/* 1cc14: 92180006 */ lbu $t8,0x6($s0)
|
||||
/* 1cc18: 82050009 */ lb $a1,0x9($s0)
|
||||
/* 1cc1c: 86070002 */ lh $a3,0x2($s0)
|
||||
/* 1cc20: afaa001c */ sw $t2,0x1c($sp)
|
||||
/* 1cc24: afa90018 */ sw $t1,0x18($sp)
|
||||
/* 1cc28: afa80014 */ sw $t0,0x14($sp)
|
||||
/* 1cc2c: 0c009184 */ jal 0x24610
|
||||
/* 1cc30: afb80010 */ sw $t8,0x10($sp)
|
||||
/* 1cc34: 44802000 */ mtc1 $zero,$f4
|
||||
/* 1cc38: c6060034 */ lwc1 $f6,0x34($s0)
|
||||
/* 1cc3c: 8fa40154 */ lw $a0,0x154($sp)
|
||||
/* 1cc40: 8fa60150 */ lw $a2,0x150($sp)
|
||||
/* 1cc44: 46062032 */ c.eq.s $f4,$f6
|
||||
/* 1cc48: 27ac005c */ addiu $t4,$sp,0x5c
|
||||
/* 1cc4c: 27ad0050 */ addiu $t5,$sp,0x50
|
||||
/* 1cc50: 27ae0044 */ addiu $t6,$sp,0x44
|
||||
/* 1cc54: 4503000e */ bc1tl .PB0001cc90
|
||||
/* 1cc58: 27a40144 */ addiu $a0,$sp,0x144
|
||||
/* 1cc5c: 920b0007 */ lbu $t3,0x7($s0)
|
||||
/* 1cc60: 82050009 */ lb $a1,0x9($s0)
|
||||
/* 1cc64: 86070002 */ lh $a3,0x2($s0)
|
||||
/* 1cc68: afae001c */ sw $t6,0x1c($sp)
|
||||
/* 1cc6c: afad0018 */ sw $t5,0x18($sp)
|
||||
/* 1cc70: afac0014 */ sw $t4,0x14($sp)
|
||||
/* 1cc74: 0c009184 */ jal 0x24610
|
||||
/* 1cc78: afab0010 */ sw $t3,0x10($sp)
|
||||
/* 1cc7c: 27a400b0 */ addiu $a0,$sp,0xb0
|
||||
/* 1cc80: 27a5005c */ addiu $a1,$sp,0x5c
|
||||
/* 1cc84: 0c006eb3 */ jal 0x1bacc
|
||||
/* 1cc88: 8e060034 */ lw $a2,0x34($s0)
|
||||
/* 1cc8c: 27a40144 */ addiu $a0,$sp,0x144
|
||||
.PB0001cc90:
|
||||
/* 1cc90: 0fc25ac4 */ jal 0xf096b10
|
||||
/* 1cc94: 27a50088 */ addiu $a1,$sp,0x88
|
||||
/* 1cc98: 27a400b0 */ addiu $a0,$sp,0xb0
|
||||
/* 1cc9c: 0fc25ac4 */ jal 0xf096b10
|
||||
/* 1cca0: 27a50078 */ addiu $a1,$sp,0x78
|
||||
/* 1cca4: 27a40088 */ addiu $a0,$sp,0x88
|
||||
/* 1cca8: 0fc25d4c */ jal 0xf097530
|
||||
/* 1ccac: 27a50078 */ addiu $a1,$sp,0x78
|
||||
/* 1ccb0: 27a70068 */ addiu $a3,$sp,0x68
|
||||
/* 1ccb4: 27a40088 */ addiu $a0,$sp,0x88
|
||||
/* 1ccb8: 27a50078 */ addiu $a1,$sp,0x78
|
||||
/* 1ccbc: 0fc25c4a */ jal 0xf097128
|
||||
/* 1ccc0: 8e060054 */ lw $a2,0x54($s0)
|
||||
/* 1ccc4: 44804000 */ mtc1 $zero,$f8
|
||||
/* 1ccc8: c7aa0138 */ lwc1 $f10,0x138($sp)
|
||||
/* 1cccc: 27a70068 */ addiu $a3,$sp,0x68
|
||||
/* 1ccd0: c7b2013c */ lwc1 $f18,0x13c($sp)
|
||||
/* 1ccd4: 460a4032 */ c.eq.s $f8,$f10
|
||||
/* 1ccd8: c7a80138 */ lwc1 $f8,0x138($sp)
|
||||
/* 1ccdc: 27b80138 */ addiu $t8,$sp,0x138
|
||||
/* 1cce0: 27a8012c */ addiu $t0,$sp,0x12c
|
||||
/* 1cce4: 4502000e */ bc1fl .PB0001cd20
|
||||
/* 1cce8: c60a0088 */ lwc1 $f10,0x88($s0)
|
||||
/* 1ccec: 44808000 */ mtc1 $zero,$f16
|
||||
/* 1ccf0: c7a60140 */ lwc1 $f6,0x140($sp)
|
||||
/* 1ccf4: 46128032 */ c.eq.s $f16,$f18
|
||||
/* 1ccf8: 00000000 */ nop
|
||||
/* 1ccfc: 45020008 */ bc1fl .PB0001cd20
|
||||
/* 1cd00: c60a0088 */ lwc1 $f10,0x88($s0)
|
||||
/* 1cd04: 44802000 */ mtc1 $zero,$f4
|
||||
/* 1cd08: 8fa90164 */ lw $t1,0x164($sp)
|
||||
/* 1cd0c: 46062032 */ c.eq.s $f4,$f6
|
||||
/* 1cd10: 00000000 */ nop
|
||||
/* 1cd14: 45030023 */ bc1tl .PB0001cda4
|
||||
/* 1cd18: 8d2a0008 */ lw $t2,0x8($t1)
|
||||
/* 1cd1c: c60a0088 */ lwc1 $f10,0x88($s0)
|
||||
.PB0001cd20:
|
||||
/* 1cd20: c7b2013c */ lwc1 $f18,0x13c($sp)
|
||||
/* 1cd24: 8fa50164 */ lw $a1,0x164($sp)
|
||||
/* 1cd28: 460a4402 */ mul.s $f16,$f8,$f10
|
||||
/* 1cd2c: c7a80140 */ lwc1 $f8,0x140($sp)
|
||||
/* 1cd30: 8fa60168 */ lw $a2,0x168($sp)
|
||||
/* 1cd34: 8fa20158 */ lw $v0,0x158($sp)
|
||||
/* 1cd38: e7b00138 */ swc1 $f16,0x138($sp)
|
||||
/* 1cd3c: c6040088 */ lwc1 $f4,0x88($s0)
|
||||
/* 1cd40: 46049182 */ mul.s $f6,$f18,$f4
|
||||
/* 1cd44: e7a6013c */ swc1 $f6,0x13c($sp)
|
||||
/* 1cd48: c60a0088 */ lwc1 $f10,0x88($s0)
|
||||
/* 1cd4c: 460a4482 */ mul.s $f18,$f8,$f10
|
||||
/* 1cd50: e7b20140 */ swc1 $f18,0x140($sp)
|
||||
/* 1cd54: 8caf0008 */ lw $t7,0x8($a1)
|
||||
/* 1cd58: 8df90000 */ lw $t9,0x0($t7)
|
||||
/* 1cd5c: 50d9000b */ beql $a2,$t9,.PB0001cd8c
|
||||
/* 1cd60: 8fa40160 */ lw $a0,0x160($sp)
|
||||
/* 1cd64: c4440000 */ lwc1 $f4,0x0($v0)
|
||||
/* 1cd68: 46048200 */ add.s $f8,$f16,$f4
|
||||
/* 1cd6c: e7a80138 */ swc1 $f8,0x138($sp)
|
||||
/* 1cd70: c44a0004 */ lwc1 $f10,0x4($v0)
|
||||
/* 1cd74: 460a3400 */ add.s $f16,$f6,$f10
|
||||
/* 1cd78: e7b0013c */ swc1 $f16,0x13c($sp)
|
||||
/* 1cd7c: c4440008 */ lwc1 $f4,0x8($v0)
|
||||
/* 1cd80: 46049200 */ add.s $f8,$f18,$f4
|
||||
/* 1cd84: e7a80140 */ swc1 $f8,0x140($sp)
|
||||
/* 1cd88: 8fa40160 */ lw $a0,0x160($sp)
|
||||
.PB0001cd8c:
|
||||
/* 1cd8c: afb80010 */ sw $t8,0x10($sp)
|
||||
/* 1cd90: 0c00719f */ jal 0x1c67c
|
||||
/* 1cd94: afa80014 */ sw $t0,0x14($sp)
|
||||
/* 1cd98: 100000a2 */ b .PB0001d024
|
||||
/* 1cd9c: 8fbf002c */ lw $ra,0x2c($sp)
|
||||
/* 1cda0: 8d2a0008 */ lw $t2,0x8($t1)
|
||||
.PB0001cda4:
|
||||
/* 1cda4: 8fa60168 */ lw $a2,0x168($sp)
|
||||
/* 1cda8: 8fa40160 */ lw $a0,0x160($sp)
|
||||
/* 1cdac: 8d4b0000 */ lw $t3,0x0($t2)
|
||||
/* 1cdb0: 8fa50164 */ lw $a1,0x164($sp)
|
||||
/* 1cdb4: 27ae0138 */ addiu $t6,$sp,0x138
|
||||
/* 1cdb8: 10cb000a */ beq $a2,$t3,.PB0001cde4
|
||||
/* 1cdbc: 27af012c */ addiu $t7,$sp,0x12c
|
||||
/* 1cdc0: 8fac0158 */ lw $t4,0x158($sp)
|
||||
/* 1cdc4: 27ad012c */ addiu $t5,$sp,0x12c
|
||||
/* 1cdc8: afad0014 */ sw $t5,0x14($sp)
|
||||
/* 1cdcc: 8fa40160 */ lw $a0,0x160($sp)
|
||||
/* 1cdd0: 01202825 */ move $a1,$t1
|
||||
/* 1cdd4: 0c00719f */ jal 0x1c67c
|
||||
/* 1cdd8: afac0010 */ sw $t4,0x10($sp)
|
||||
/* 1cddc: 10000091 */ b .PB0001d024
|
||||
/* 1cde0: 8fbf002c */ lw $ra,0x2c($sp)
|
||||
.PB0001cde4:
|
||||
/* 1cde4: afae0010 */ sw $t6,0x10($sp)
|
||||
/* 1cde8: 0c00719f */ jal 0x1c67c
|
||||
/* 1cdec: afaf0014 */ sw $t7,0x14($sp)
|
||||
/* 1cdf0: 1000008c */ b .PB0001d024
|
||||
/* 1cdf4: 8fbf002c */ lw $ra,0x2c($sp)
|
||||
.PB0001cdf8:
|
||||
/* 1cdf8: 13200019 */ beqz $t9,.PB0001ce60
|
||||
/* 1cdfc: c7a60138 */ lwc1 $f6,0x138($sp)
|
||||
/* 1ce00: 0fc577be */ jal 0xf15def8
|
||||
/* 1ce04: 00000000 */ nop
|
||||
/* 1ce08: c7a60138 */ lwc1 $f6,0x138($sp)
|
||||
/* 1ce0c: c7b0013c */ lwc1 $f16,0x13c($sp)
|
||||
/* 1ce10: c7a40140 */ lwc1 $f4,0x140($sp)
|
||||
/* 1ce14: 46003282 */ mul.s $f10,$f6,$f0
|
||||
/* 1ce18: 27b80138 */ addiu $t8,$sp,0x138
|
||||
/* 1ce1c: 24080001 */ li $t0,0x1
|
||||
/* 1ce20: 46008482 */ mul.s $f18,$f16,$f0
|
||||
/* 1ce24: 27aa012c */ addiu $t2,$sp,0x12c
|
||||
/* 1ce28: afaa0018 */ sw $t2,0x18($sp)
|
||||
/* 1ce2c: 46002202 */ mul.s $f8,$f4,$f0
|
||||
/* 1ce30: e7aa0138 */ swc1 $f10,0x138($sp)
|
||||
/* 1ce34: afa80014 */ sw $t0,0x14($sp)
|
||||
/* 1ce38: afb80010 */ sw $t8,0x10($sp)
|
||||
/* 1ce3c: e7b2013c */ swc1 $f18,0x13c($sp)
|
||||
/* 1ce40: 8fa40160 */ lw $a0,0x160($sp)
|
||||
/* 1ce44: 8fa50164 */ lw $a1,0x164($sp)
|
||||
/* 1ce48: e7a80140 */ swc1 $f8,0x140($sp)
|
||||
/* 1ce4c: 8fa60168 */ lw $a2,0x168($sp)
|
||||
/* 1ce50: 0c00709d */ jal 0x1c274
|
||||
/* 1ce54: 27a70144 */ addiu $a3,$sp,0x144
|
||||
/* 1ce58: 10000072 */ b .PB0001d024
|
||||
/* 1ce5c: 8fbf002c */ lw $ra,0x2c($sp)
|
||||
.PB0001ce60:
|
||||
/* 1ce60: 46067032 */ c.eq.s $f14,$f6
|
||||
/* 1ce64: c7aa013c */ lwc1 $f10,0x13c($sp)
|
||||
/* 1ce68: c7b20138 */ lwc1 $f18,0x138($sp)
|
||||
/* 1ce6c: 27a70144 */ addiu $a3,$sp,0x144
|
||||
/* 1ce70: 45000009 */ bc1f .PB0001ce98
|
||||
/* 1ce74: 27af0138 */ addiu $t7,$sp,0x138
|
||||
/* 1ce78: 460a7032 */ c.eq.s $f14,$f10
|
||||
/* 1ce7c: c7b00140 */ lwc1 $f16,0x140($sp)
|
||||
/* 1ce80: 45020006 */ bc1fl .PB0001ce9c
|
||||
/* 1ce84: c6040088 */ lwc1 $f4,0x88($s0)
|
||||
/* 1ce88: 46107032 */ c.eq.s $f14,$f16
|
||||
/* 1ce8c: 8fa80164 */ lw $t0,0x164($sp)
|
||||
/* 1ce90: 45030027 */ bc1tl .PB0001cf30
|
||||
/* 1ce94: 8d0a0008 */ lw $t2,0x8($t0)
|
||||
.PB0001ce98:
|
||||
/* 1ce98: c6040088 */ lwc1 $f4,0x88($s0)
|
||||
.PB0001ce9c:
|
||||
/* 1ce9c: c7a6013c */ lwc1 $f6,0x13c($sp)
|
||||
/* 1cea0: 8fa90164 */ lw $t1,0x164($sp)
|
||||
/* 1cea4: 46049202 */ mul.s $f8,$f18,$f4
|
||||
/* 1cea8: c7b20140 */ lwc1 $f18,0x140($sp)
|
||||
/* 1ceac: 8fab0168 */ lw $t3,0x168($sp)
|
||||
/* 1ceb0: 8fae0158 */ lw $t6,0x158($sp)
|
||||
/* 1ceb4: 27b9012c */ addiu $t9,$sp,0x12c
|
||||
/* 1ceb8: e7a80138 */ swc1 $f8,0x138($sp)
|
||||
/* 1cebc: c60a0088 */ lwc1 $f10,0x88($s0)
|
||||
/* 1cec0: 460a3402 */ mul.s $f16,$f6,$f10
|
||||
/* 1cec4: e7b0013c */ swc1 $f16,0x13c($sp)
|
||||
/* 1cec8: c6040088 */ lwc1 $f4,0x88($s0)
|
||||
/* 1cecc: 46049182 */ mul.s $f6,$f18,$f4
|
||||
/* 1ced0: e7a60140 */ swc1 $f6,0x140($sp)
|
||||
/* 1ced4: 8d2c0008 */ lw $t4,0x8($t1)
|
||||
/* 1ced8: 8d8d0000 */ lw $t5,0x0($t4)
|
||||
/* 1cedc: 516d000b */ beql $t3,$t5,.PB0001cf0c
|
||||
/* 1cee0: 8fa40160 */ lw $a0,0x160($sp)
|
||||
/* 1cee4: c5ca0000 */ lwc1 $f10,0x0($t6)
|
||||
/* 1cee8: 460a4480 */ add.s $f18,$f8,$f10
|
||||
/* 1ceec: e7b20138 */ swc1 $f18,0x138($sp)
|
||||
/* 1cef0: c5c40004 */ lwc1 $f4,0x4($t6)
|
||||
/* 1cef4: 46048200 */ add.s $f8,$f16,$f4
|
||||
/* 1cef8: e7a8013c */ swc1 $f8,0x13c($sp)
|
||||
/* 1cefc: c5ca0008 */ lwc1 $f10,0x8($t6)
|
||||
/* 1cf00: 460a3480 */ add.s $f18,$f6,$f10
|
||||
/* 1cf04: e7b20140 */ swc1 $f18,0x140($sp)
|
||||
/* 1cf08: 8fa40160 */ lw $a0,0x160($sp)
|
||||
.PB0001cf0c:
|
||||
/* 1cf0c: 8fa50164 */ lw $a1,0x164($sp)
|
||||
/* 1cf10: 8fa60168 */ lw $a2,0x168($sp)
|
||||
/* 1cf14: afaf0010 */ sw $t7,0x10($sp)
|
||||
/* 1cf18: afa00014 */ sw $zero,0x14($sp)
|
||||
/* 1cf1c: 0c00709d */ jal 0x1c274
|
||||
/* 1cf20: afb90018 */ sw $t9,0x18($sp)
|
||||
/* 1cf24: 1000003f */ b .PB0001d024
|
||||
/* 1cf28: 8fbf002c */ lw $ra,0x2c($sp)
|
||||
/* 1cf2c: 8d0a0008 */ lw $t2,0x8($t0)
|
||||
.PB0001cf30:
|
||||
/* 1cf30: 8fb80168 */ lw $t8,0x168($sp)
|
||||
/* 1cf34: 8fa40160 */ lw $a0,0x160($sp)
|
||||
/* 1cf38: 8d490000 */ lw $t1,0x0($t2)
|
||||
/* 1cf3c: 8fa50164 */ lw $a1,0x164($sp)
|
||||
/* 1cf40: 8fa60168 */ lw $a2,0x168($sp)
|
||||
/* 1cf44: 1309000d */ beq $t8,$t1,.PB0001cf7c
|
||||
/* 1cf48: 27a70144 */ addiu $a3,$sp,0x144
|
||||
/* 1cf4c: 8fac0158 */ lw $t4,0x158($sp)
|
||||
/* 1cf50: 27ab012c */ addiu $t3,$sp,0x12c
|
||||
/* 1cf54: afab0018 */ sw $t3,0x18($sp)
|
||||
/* 1cf58: 8fa40160 */ lw $a0,0x160($sp)
|
||||
/* 1cf5c: 01002825 */ move $a1,$t0
|
||||
/* 1cf60: 03003025 */ move $a2,$t8
|
||||
/* 1cf64: 27a70144 */ addiu $a3,$sp,0x144
|
||||
/* 1cf68: afa00014 */ sw $zero,0x14($sp)
|
||||
/* 1cf6c: 0c00709d */ jal 0x1c274
|
||||
/* 1cf70: afac0010 */ sw $t4,0x10($sp)
|
||||
/* 1cf74: 1000002b */ b .PB0001d024
|
||||
/* 1cf78: 8fbf002c */ lw $ra,0x2c($sp)
|
||||
.PB0001cf7c:
|
||||
/* 1cf7c: 27ad0138 */ addiu $t5,$sp,0x138
|
||||
/* 1cf80: 27ae012c */ addiu $t6,$sp,0x12c
|
||||
/* 1cf84: afae0018 */ sw $t6,0x18($sp)
|
||||
/* 1cf88: afad0010 */ sw $t5,0x10($sp)
|
||||
/* 1cf8c: 0c00709d */ jal 0x1c274
|
||||
/* 1cf90: afa00014 */ sw $zero,0x14($sp)
|
||||
/* 1cf94: 10000023 */ b .PB0001d024
|
||||
/* 1cf98: 8fbf002c */ lw $ra,0x2c($sp)
|
||||
/* 1cf9c: 8faf0168 */ lw $t7,0x168($sp)
|
||||
.PB0001cfa0:
|
||||
/* 1cfa0: 8fa40164 */ lw $a0,0x164($sp)
|
||||
/* 1cfa4: 8fb90160 */ lw $t9,0x160($sp)
|
||||
/* 1cfa8: 8de50008 */ lw $a1,0x8($t7)
|
||||
/* 1cfac: 50a00006 */ beqzl $a1,.PB0001cfc8
|
||||
/* 1cfb0: 8f300000 */ lw $s0,0x0($t9)
|
||||
/* 1cfb4: 0c006c07 */ jal 0x1b01c
|
||||
/* 1cfb8: 00003025 */ move $a2,$zero
|
||||
/* 1cfbc: 10000002 */ b .PB0001cfc8
|
||||
/* 1cfc0: 00408025 */ move $s0,$v0
|
||||
/* 1cfc4: 8f300000 */ lw $s0,0x0($t9)
|
||||
.PB0001cfc8:
|
||||
/* 1cfc8: 1200000f */ beqz $s0,.PB0001d008
|
||||
/* 1cfcc: 8fa40158 */ lw $a0,0x158($sp)
|
||||
/* 1cfd0: 8fa40158 */ lw $a0,0x158($sp)
|
||||
/* 1cfd4: 0c005c4b */ jal 0x1712c
|
||||
/* 1cfd8: 27a500e8 */ addiu $a1,$sp,0xe8
|
||||
/* 1cfdc: 8fa80158 */ lw $t0,0x158($sp)
|
||||
/* 1cfe0: 8faa0164 */ lw $t2,0x164($sp)
|
||||
/* 1cfe4: 02002025 */ move $a0,$s0
|
||||
/* 1cfe8: 8518000e */ lh $t8,0xe($t0)
|
||||
/* 1cfec: 8d49000c */ lw $t1,0xc($t2)
|
||||
/* 1cff0: 27a500e8 */ addiu $a1,$sp,0xe8
|
||||
/* 1cff4: 00186180 */ sll $t4,$t8,0x6
|
||||
/* 1cff8: 0c00598d */ jal 0x16634
|
||||
/* 1cffc: 012c3021 */ addu $a2,$t1,$t4
|
||||
/* 1d000: 10000008 */ b .PB0001d024
|
||||
/* 1d004: 8fbf002c */ lw $ra,0x2c($sp)
|
||||
.PB0001d008:
|
||||
/* 1d008: 8fad0164 */ lw $t5,0x164($sp)
|
||||
/* 1d00c: 848f000e */ lh $t7,0xe($a0)
|
||||
/* 1d010: 8dae000c */ lw $t6,0xc($t5)
|
||||
/* 1d014: 000fc980 */ sll $t9,$t7,0x6
|
||||
/* 1d018: 0c005c4b */ jal 0x1712c
|
||||
/* 1d01c: 01d92821 */ addu $a1,$t6,$t9
|
||||
/* 1d020: 8fbf002c */ lw $ra,0x2c($sp)
|
||||
.PB0001d024:
|
||||
/* 1d024: 8fb00028 */ lw $s0,0x28($sp)
|
||||
/* 1d028: 27bd0160 */ addiu $sp,$sp,0x160
|
||||
/* 1d02c: 03e00008 */ jr $ra
|
||||
/* 1d030: 00000000 */ nop
|
||||
);
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
glabel model0001bfa8
|
||||
@ -2525,7 +2950,7 @@ void model0001ce64(struct modelrenderdata *arg0, struct model *model)
|
||||
|
||||
arg0->unk10 += model->filedata->nummatrices;
|
||||
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
#if VERSION >= VERSION_PAL_BETA
|
||||
if (var8005efb0_2 || !model00018680()) {
|
||||
model0001cd18(arg0, model);
|
||||
}
|
||||
@ -4063,7 +4488,7 @@ void model0001ee18(struct model *model, s32 lvupdate240, bool arg2)
|
||||
}
|
||||
}
|
||||
|
||||
#if VERSION < VERSION_PAL_FINAL
|
||||
#if VERSION < VERSION_PAL_BETA
|
||||
/**
|
||||
* This is identical to the above function but removes the 0.25f multipliers.
|
||||
*/
|
||||
|
@ -316,7 +316,7 @@ void __scHandleRetrace(OSSched *sc)
|
||||
{
|
||||
sc->frameCount++;
|
||||
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
#if VERSION >= VERSION_PAL_BETA
|
||||
if (!g_Resetting && (sc->frameCount & 1)) {
|
||||
osStopTimer(&g_SchedRspTimer);
|
||||
osSetTimer(&g_SchedRspTimer, 280000, 0, amgrGetFrameMesgQueue(), &g_SchedRspMsg);
|
||||
|
@ -1668,7 +1668,7 @@ void sndInit(void)
|
||||
{
|
||||
ALSndpConfig sndpconfig;
|
||||
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
#if VERSION >= VERSION_PAL_BETA
|
||||
u32 heaplen = 1024 * 446;
|
||||
#elif VERSION >= VERSION_NTSC_1_0
|
||||
u32 heaplen = 1024 * 441;
|
||||
@ -1681,7 +1681,7 @@ void sndInit(void)
|
||||
if (IS4MB()) {
|
||||
g_SndMaxFxBusses = 1;
|
||||
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
#if VERSION >= VERSION_PAL_BETA
|
||||
heaplen -= 1024 * 6;
|
||||
#else
|
||||
heaplen -= 1024 * 38;
|
||||
@ -1704,7 +1704,7 @@ void sndInit(void)
|
||||
// Allocate memory for the audio heap,
|
||||
// clear it and give it to the audio library
|
||||
ALSynConfig synconfig;
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
#if VERSION >= VERSION_PAL_BETA
|
||||
u32 settings[3];
|
||||
#endif
|
||||
u8 *ptr = mempAlloc(heaplen, MEMPOOL_PERMANENT);
|
||||
@ -1772,7 +1772,7 @@ void sndInit(void)
|
||||
sndpconfig.unk10 = 9;
|
||||
sndpconfig.heap = &g_SndHeap;
|
||||
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
#if VERSION >= VERSION_PAL_BETA
|
||||
settings[0] = 22020;
|
||||
settings[1] = 1;
|
||||
settings[2] = 2000;
|
||||
|
@ -157,7 +157,7 @@ void viConfigureForLegal(void)
|
||||
|
||||
g_Vars.fourmeg2player = false;
|
||||
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
#if VERSION >= VERSION_PAL_BETA
|
||||
playerResetLoResIf4Mb();
|
||||
#endif
|
||||
}
|
||||
@ -213,8 +213,10 @@ void viAllocateFbs(s32 stagenum)
|
||||
#endif
|
||||
g_Vars.fourmeg2player = true;
|
||||
} else if ((g_Vars.coopplayernum >= 0 || g_Vars.antiplayernum >= 0) && PLAYERCOUNT() == 2) {
|
||||
#if PAL
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
fbsize = 320 * 266 * 2;
|
||||
#elif VERSION >= VERSION_PAL_BETA
|
||||
fbsize = 320 * 252 * 2;
|
||||
#else
|
||||
fbsize = 320 * 220 * 2;
|
||||
#endif
|
||||
@ -293,7 +295,7 @@ void vi00009ed4(void)
|
||||
osViSetSpecialFeatures(OS_VI_GAMMA_OFF | OS_VI_DITHER_FILTER_ON);
|
||||
}
|
||||
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
#if VERSION >= VERSION_PAL_BETA
|
||||
GLOBAL_ASM(
|
||||
glabel viUpdateMode
|
||||
/* 9f64: 3c098006 */ lui $t1,0x8006
|
||||
|
@ -74,7 +74,7 @@ u32 g_VmMarker;
|
||||
u32 g_VmRamEnd;
|
||||
u32 g_VmStateTableEnd;
|
||||
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
#if VERSION == VERSION_NTSC_BETA || VERSION == VERSION_PAL_BETA
|
||||
u8 g_VmShowStats = false;
|
||||
u32 fillnb[2] = {0};
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user