mirror of
https://github.com/notwa/mm
synced 2024-11-04 22:39:02 -08:00
add object spawning to MM
This commit is contained in:
parent
fa082d3a1d
commit
9fbe275189
4 changed files with 758 additions and 65 deletions
693
Lua/inject/actor object table mm.asm
Normal file
693
Lua/inject/actor object table mm.asm
Normal file
|
@ -0,0 +1,693 @@
|
|||
HEX {
|
||||
00 00 // Player
|
||||
00 01 // En_Test
|
||||
00 01 // En_GirlA
|
||||
00 01 // En_Part
|
||||
00 01 // En_Light
|
||||
00 01 // En_Door
|
||||
00 0C // En_Box
|
||||
01 28 // En_Pametfrog
|
||||
00 05 // En_Okuta
|
||||
00 01 // En_Bom
|
||||
00 09 // En_Wallmas
|
||||
00 0A // En_Dodongo
|
||||
00 0B // En_Firefly
|
||||
00 01 // En_Horse
|
||||
00 00 // En_Item00
|
||||
00 01 // En_Arrow
|
||||
00 01 // En_Elf
|
||||
00 0F // En_Niw
|
||||
00 12 // En_Tite
|
||||
00 00 // unset
|
||||
00 14 // En_Peehat
|
||||
00 02 // En_Butte
|
||||
00 01 // En_Insect
|
||||
00 01 // En_Fish
|
||||
00 01 // En_Holl
|
||||
00 17 // En_Dinofos
|
||||
00 5F // En_Hata
|
||||
00 19 // En_Zl1
|
||||
00 01 // En_Viewer
|
||||
00 0E // En_Bubble
|
||||
00 01 // Door_Shutter
|
||||
00 00 // unset
|
||||
00 01 // En_Boom
|
||||
00 01 // En_Torch2
|
||||
00 BC // En_Minifrog
|
||||
00 00 // unset
|
||||
00 20 // En_St
|
||||
00 00 // unset
|
||||
00 00 // En_A_Obj
|
||||
00 01 // Obj_Wturn
|
||||
00 01 // En_River_Sound
|
||||
00 00 // unset
|
||||
00 01 // En_Ossan
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 1D // En_Famos
|
||||
00 00 // unset
|
||||
00 2A // En_Bombf
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 30 // En_Am
|
||||
00 31 // En_Dekubaba
|
||||
00 01 // En_M_Fire1
|
||||
00 01 // En_M_Thunder
|
||||
00 01 // Bg_Breakwall
|
||||
00 00 // unset
|
||||
00 3E // Door_Warp1
|
||||
00 80 // Obj_Syokudai
|
||||
00 96 // Item_B_Heart
|
||||
00 40 // En_Dekunuts
|
||||
00 51 // En_Bbfall
|
||||
00 01 // Arms_Hook
|
||||
00 51 // En_Bb
|
||||
01 7E // Bg_Keikoku_Spr
|
||||
00 00 // unset
|
||||
00 61 // En_Wood02
|
||||
00 00 // unset
|
||||
00 52 // En_Death
|
||||
00 52 // En_Minideath
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 6A // En_Vm
|
||||
00 01 // Demo_Effect
|
||||
00 01 // Demo_Kankyo
|
||||
00 09 // En_Floormas
|
||||
00 00 // unset
|
||||
00 75 // En_Rd
|
||||
00 5C // Bg_F40_Flift
|
||||
00 00 // Bg_Heavy_Block
|
||||
00 01 // Obj_Mure
|
||||
00 20 // En_Sw
|
||||
00 01 // Object_Kankyo
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 7D // En_Horse_Link_Child
|
||||
00 02 // Door_Ana
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 01 // En_Encount1
|
||||
00 0C // Demo_Tre_Lgt
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
02 80 // En_Encount2
|
||||
00 70 // En_Fire_Rock
|
||||
00 88 // Bg_Ctower_Rot
|
||||
00 87 // Mir_Ray
|
||||
00 00 // unset
|
||||
00 8E // En_Sb
|
||||
01 28 // En_Bigslime
|
||||
00 31 // En_Karebaba
|
||||
00 99 // En_In
|
||||
00 00 // unset
|
||||
00 A2 // En_Ru
|
||||
00 01 // En_Bom_Chu
|
||||
01 91 // En_Horse_Game_Check
|
||||
00 AB // En_Rr
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 01 // En_Fr
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
01 24 // En_Fishing
|
||||
00 03 // Obj_Oshihiki
|
||||
00 01 // Eff_Dust
|
||||
00 01 // Bg_Umajump
|
||||
00 01 // Arrow_Fire
|
||||
00 01 // Arrow_Ice
|
||||
00 01 // Arrow_Light
|
||||
00 01 // Item_Etcetera
|
||||
00 01 // Obj_Kibako
|
||||
00 01 // Obj_Tsubo
|
||||
00 00 // unset
|
||||
00 D8 // En_Ik
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
01 53 // Demo_Shd
|
||||
01 34 // En_Dns
|
||||
00 01 // Elf_Msg
|
||||
00 03 // En_Honotrap
|
||||
00 03 // En_Tubo_Trap
|
||||
00 01 // Obj_Ice_Poly
|
||||
00 E4 // En_Fz
|
||||
00 01 // En_Kusa
|
||||
00 EE // Obj_Bean
|
||||
01 2A // Obj_Bombiwa
|
||||
00 03 // Obj_Switch
|
||||
00 00 // unset
|
||||
00 ED // Obj_Lift
|
||||
00 EC // Obj_Hsblock
|
||||
00 01 // En_Okarina_Tag
|
||||
00 00 // unset
|
||||
00 EF // En_Goroiwa
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 F1 // En_Daiku
|
||||
00 F2 // En_Nwc
|
||||
00 01 // Item_Inbox
|
||||
00 E6 // En_Ge1
|
||||
00 01 // Obj_Blockstop
|
||||
00 01 // En_Sda
|
||||
00 01 // En_Clear_Tag
|
||||
00 00 // unset
|
||||
02 48 // En_Gm
|
||||
00 F4 // En_Ms
|
||||
00 F5 // En_Hs
|
||||
01 7F // Bg_Ingate
|
||||
00 FC // En_Kanban
|
||||
00 00 // unset
|
||||
00 0F // En_Attack_Niw
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 FE // En_Mk
|
||||
00 FD // En_Owl
|
||||
00 01 // En_Ishi
|
||||
01 BA // Obj_Hana
|
||||
00 F7 // Obj_Lightswitch
|
||||
00 01 // Obj_Mure2
|
||||
00 00 // unset
|
||||
01 40 // En_Fu
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
01 06 // En_Stream
|
||||
00 01 // En_Mm
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 01 // En_Weather_Tag
|
||||
00 C2 // En_Ani
|
||||
00 00 // unset
|
||||
02 71 // En_Js
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 01 // En_Okarina_Effect
|
||||
01 15 // En_Mag
|
||||
00 01 // Elf_Msg2
|
||||
00 5C // Bg_F40_Swlift
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
01 1D // En_Kakasi
|
||||
00 01 // Obj_Makeoshihiki
|
||||
00 01 // Oceff_Spot
|
||||
00 00 // unset
|
||||
00 01 // En_Torch
|
||||
00 00 // unset
|
||||
00 01 // Shot_Sun
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 01 // Obj_Roomtimer
|
||||
01 27 // En_Ssh
|
||||
00 00 // unset
|
||||
00 01 // Oceff_Wipe
|
||||
00 01 // Oceff_Storm
|
||||
00 01 // Obj_Demo
|
||||
01 28 // En_Minislime
|
||||
00 01 // En_Nutsball
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 01 // Oceff_Wipe2
|
||||
00 01 // Oceff_Wipe3
|
||||
00 00 // unset
|
||||
01 32 // En_Dg
|
||||
00 20 // En_Si
|
||||
01 B9 // Obj_Comb
|
||||
01 33 // Obj_Kibako2
|
||||
00 00 // unset
|
||||
00 01 // En_Hs2
|
||||
00 01 // Obj_Mure3
|
||||
01 40 // En_Tg
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
01 41 // En_Wf
|
||||
01 42 // En_Skb
|
||||
00 00 // unset
|
||||
01 43 // En_Gs
|
||||
00 01 // Obj_Sound
|
||||
00 06 // En_Crow
|
||||
00 00 // unset
|
||||
01 46 // En_Cow
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 01 // Oceff_Wipe4
|
||||
00 00 // unset
|
||||
00 D0 // En_Zo
|
||||
00 01 // Obj_Makekinsuta
|
||||
01 30 // En_Ge3
|
||||
00 00 // unset
|
||||
00 02 // Obj_Hamishi
|
||||
01 92 // En_Zl4
|
||||
00 01 // En_Mm2
|
||||
00 00 // unset
|
||||
00 01 // Door_Spiral
|
||||
00 00 // unset
|
||||
00 01 // Obj_Pzlblock
|
||||
00 64 // Obj_Toge
|
||||
00 00 // unset
|
||||
00 30 // Obj_Armos
|
||||
01 4F // Obj_Boyo
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
01 4E // En_Grasshopper
|
||||
00 00 // unset
|
||||
00 02 // Obj_Grass
|
||||
00 02 // Obj_Grass_Carry
|
||||
00 02 // Obj_Grass_Unit
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
01 53 // Bg_Fire_Wall
|
||||
00 01 // En_Bu
|
||||
02 3B // En_Encount3
|
||||
01 55 // En_Jso
|
||||
00 ED // Obj_Chikuwa
|
||||
01 56 // En_Knight
|
||||
00 01 // En_Warp_tag
|
||||
00 D7 // En_Aob_01
|
||||
00 01 // En_Boj_01
|
||||
00 01 // En_Boj_02
|
||||
00 01 // En_Boj_03
|
||||
00 01 // En_Encount4
|
||||
01 10 // En_Bom_Bowl_Man
|
||||
01 AC // En_Syateki_Man
|
||||
00 00 // unset
|
||||
01 57 // Bg_Icicle
|
||||
00 06 // En_Syateki_Crow
|
||||
00 01 // En_Boj_04
|
||||
00 01 // En_Cne_01
|
||||
00 01 // En_Bba_01
|
||||
00 DE // En_Bji_01
|
||||
01 58 // Bg_Spdweb
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 01 // En_Mt_tag
|
||||
01 5A // Boss_01
|
||||
01 5B // Boss_02
|
||||
01 5C // Boss_03
|
||||
01 5D // Boss_04
|
||||
01 5E // Boss_05
|
||||
01 56 // Boss_06
|
||||
01 60 // Boss_07
|
||||
00 08 // Bg_Dy_Yoseizo
|
||||
00 00 // unset
|
||||
00 01 // En_Boj_05
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 01 // En_Sob1
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 A1 // En_Go
|
||||
00 00 // unset
|
||||
01 61 // En_Raf
|
||||
01 62 // Obj_Funen
|
||||
01 63 // Obj_Raillift
|
||||
01 64 // Bg_Numa_Hana
|
||||
01 65 // Obj_Flowerpot
|
||||
01 66 // Obj_Spinyroll
|
||||
01 CC // Dm_Hina
|
||||
01 41 // En_Syateki_Wf
|
||||
00 03 // Obj_Skateblock
|
||||
01 67 // Obj_Iceblock
|
||||
01 A6 // En_Bigpamet
|
||||
00 40 // En_Syateki_Dekunuts
|
||||
00 01 // Elf_Msg3
|
||||
00 BC // En_Fg
|
||||
01 69 // Dm_Ravine
|
||||
01 92 // Dm_Sa
|
||||
01 6A // En_Slime
|
||||
01 6B // En_Pr
|
||||
01 6D // Obj_Toudai
|
||||
01 6D // Obj_Entotu
|
||||
01 6C // Obj_Bell
|
||||
00 05 // En_Syateki_Okuta
|
||||
00 00 // unset
|
||||
01 6D // Obj_Shutter
|
||||
01 4B // Dm_Zl
|
||||
00 01 // En_Elfgrp
|
||||
01 9F // Dm_Tsg
|
||||
01 71 // En_Baguo
|
||||
01 66 // Obj_Vspinyroll
|
||||
01 6D // Obj_Smork
|
||||
00 01 // En_Test2
|
||||
00 1C // En_Test3
|
||||
00 01 // En_Test4
|
||||
01 72 // En_Bat
|
||||
00 01 // En_Sekihi
|
||||
01 78 // En_Wiz
|
||||
01 78 // En_Wiz_Brock
|
||||
01 78 // En_Wiz_Fire
|
||||
00 01 // Eff_Change
|
||||
02 6C // Dm_Statue
|
||||
00 01 // Obj_Fireshield
|
||||
01 79 // Bg_Ladder
|
||||
01 7A // En_Mkk
|
||||
00 01 // Demo_Getitem
|
||||
00 00 // unset
|
||||
01 89 // En_Dnb
|
||||
02 24 // En_Dnh
|
||||
00 01 // En_Dnk
|
||||
01 8B // En_Dnq
|
||||
00 00 // unset
|
||||
01 7E // Bg_Keikoku_Saku
|
||||
01 2A // Obj_Hugebombiwa
|
||||
00 0B // En_Firefly2
|
||||
01 81 // En_Rat
|
||||
01 82 // En_Water_Effect
|
||||
00 02 // En_Kusa2
|
||||
01 53 // Bg_Spout_Fire
|
||||
00 00 // unset
|
||||
01 84 // Bg_Dblue_Movebg
|
||||
00 08 // En_Dy_Extra
|
||||
01 85 // En_Bal
|
||||
00 E3 // En_Ginko_Man
|
||||
01 86 // En_Warp_Uzu
|
||||
01 87 // Obj_Driftice
|
||||
01 35 // En_Look_Nuts
|
||||
00 01 // En_Mushi2
|
||||
00 01 // En_Fall
|
||||
01 07 // En_Mm3
|
||||
01 8A // Bg_Crace_Movebg
|
||||
01 F3 // En_Dno
|
||||
01 6B // En_Pr2
|
||||
01 6B // En_Prz
|
||||
01 55 // En_Jso2
|
||||
00 01 // Obj_Etcetera
|
||||
01 8D // En_Egol
|
||||
00 BB // Obj_Mine
|
||||
00 01 // Obj_Purify
|
||||
01 8E // En_Tru
|
||||
01 8F // En_Trt
|
||||
00 00 // unset
|
||||
00 00 // unset
|
||||
00 01 // En_Test5
|
||||
00 01 // En_Test6
|
||||
01 98 // En_Az
|
||||
01 8D // En_Estone
|
||||
01 90 // Bg_Hakugin_Post
|
||||
01 69 // Dm_Opstage
|
||||
01 92 // Dm_Stk
|
||||
01 C8 // Dm_Char00
|
||||
01 A2 // Dm_Char01
|
||||
01 BE // Dm_Char02
|
||||
01 A3 // Dm_Char03
|
||||
00 01 // Dm_Char04
|
||||
02 13 // Dm_Char05
|
||||
01 E6 // Dm_Char06
|
||||
02 12 // Dm_Char07
|
||||
02 29 // Dm_Char08
|
||||
01 EB // Dm_Char09
|
||||
01 8C // Obj_Tokeidai
|
||||
00 00 // unset
|
||||
01 95 // En_Mnk
|
||||
01 8D // En_Egblock
|
||||
01 35 // En_Guard_Nuts
|
||||
01 90 // Bg_Hakugin_Bombwall
|
||||
01 97 // Obj_Tokei_Tobira
|
||||
01 90 // Bg_Hakugin_Elvpole
|
||||
00 B7 // En_Ma4
|
||||
01 99 // En_Twig
|
||||
01 9B // En_Po_Fusen
|
||||
00 01 // En_Door_Etc
|
||||
01 9E // En_Bigokuta
|
||||
01 E7 // Bg_Icefloe
|
||||
01 63 // Obj_Ocarinalift
|
||||
00 01 // En_Time_Tag
|
||||
01 9F // Bg_Open_Shutter
|
||||
01 9F // Bg_Open_Spot
|
||||
01 A0 // Bg_Fu_Kaiten
|
||||
00 01 // Obj_Aqua
|
||||
00 01 // En_Elforg
|
||||
00 0E // En_Elfbub
|
||||
00 00 // unset
|
||||
01 A1 // En_Fu_Mato
|
||||
01 A1 // En_Fu_Kago
|
||||
01 A3 // En_Osn
|
||||
00 88 // Bg_Ctower_Gear
|
||||
01 8F // En_Trt2
|
||||
01 A4 // Obj_Tokei_Step
|
||||
01 A5 // Bg_Lotus
|
||||
01 A6 // En_Kame
|
||||
01 B4 // Obj_Takaraya_Wall
|
||||
01 A0 // Bg_Fu_Mizu
|
||||
01 E5 // En_Sellnuts
|
||||
01 A7 // Bg_Dkjail_Ivy
|
||||
00 00 // unset
|
||||
01 A8 // Obj_Visiblock
|
||||
01 29 // En_Takaraya
|
||||
01 A9 // En_Tsn
|
||||
01 AA // En_Ds2n
|
||||
01 AB // En_Fsn
|
||||
01 AC // En_Shn
|
||||
00 00 // unset
|
||||
01 B6 // En_Stop_heishi
|
||||
01 AD // Obj_Bigicicle
|
||||
01 E5 // En_Lift_Nuts
|
||||
01 AF // En_Tk
|
||||
00 00 // unset
|
||||
01 B0 // Bg_Market_Step
|
||||
01 63 // Obj_Lupygamelift
|
||||
00 01 // En_Test7
|
||||
01 B3 // Obj_Lightblock
|
||||
00 87 // Mir_Ray2
|
||||
01 B5 // En_Wdhand
|
||||
00 01 // En_Gamelupy
|
||||
00 01 // Bg_Danpei_Movebg
|
||||
01 B7 // En_Snowwd
|
||||
01 07 // En_Pm
|
||||
00 01 // En_Gakufu
|
||||
00 01 // Elf_Msg4
|
||||
00 01 // Elf_Msg5
|
||||
00 01 // En_Col_Man
|
||||
00 75 // En_Talk_Gibud
|
||||
01 B8 // En_Giant
|
||||
00 EF // Obj_Snowball
|
||||
01 BB // Boss_Hakugin
|
||||
01 44 // En_Gb2
|
||||
00 01 // En_Onpuman
|
||||
01 BF // Bg_Tobira01
|
||||
00 01 // En_Tag_Obj
|
||||
01 C1 // Obj_Dhouse
|
||||
01 C2 // Obj_Hakaisi
|
||||
01 C7 // Bg_Hakugin_Switch
|
||||
00 00 // unset
|
||||
01 C4 // En_Snowman
|
||||
00 01 // TG_Sw
|
||||
01 C5 // En_Po_Sisters
|
||||
01 C6 // En_Pp
|
||||
01 BB // En_Hakurock
|
||||
00 01 // En_Hanabi
|
||||
00 01 // Obj_Dowsing
|
||||
00 01 // Obj_Wind
|
||||
01 32 // En_Racedog
|
||||
01 0F // En_Kendo_Js
|
||||
01 C9 // Bg_Botihasira
|
||||
01 D7 // En_Fish2
|
||||
01 CB // En_Pst
|
||||
01 C3 // En_Poh
|
||||
01 CD // Obj_Spidertent
|
||||
01 CE // En_Zoraegg
|
||||
01 CF // En_Kbt
|
||||
01 D0 // En_Gg
|
||||
01 D1 // En_Maruta
|
||||
00 EF // Obj_Snowball2
|
||||
01 D0 // En_Gg2
|
||||
01 D2 // Obj_Ghaka
|
||||
01 D4 // En_Dnp
|
||||
01 D5 // En_Dai
|
||||
01 D3 // Bg_Goron_Oyu
|
||||
01 D6 // En_Kgy
|
||||
00 01 // En_Invadepoh
|
||||
01 DF // En_Gk
|
||||
00 E2 // En_An
|
||||
00 00 // unset
|
||||
01 EB // En_Bee
|
||||
01 EC // En_Ot
|
||||
01 ED // En_Dragon
|
||||
01 EE // Obj_Dora
|
||||
01 F1 // En_Bigpo
|
||||
01 EE // Obj_Kendo_Kanban
|
||||
01 F2 // Obj_Hariko
|
||||
00 01 // En_Sth
|
||||
01 F4 // Bg_Sinkai_Kabe
|
||||
01 E0 // Bg_Haka_Curtain
|
||||
01 F5 // Bg_Kin2_Bombwall
|
||||
01 F5 // Bg_Kin2_Fence
|
||||
01 F5 // Bg_Kin2_Picture
|
||||
01 F5 // Bg_Kin2_Shelf
|
||||
01 42 // En_Rail_Skb
|
||||
01 F8 // En_Jg
|
||||
01 8E // En_Tru_Mt
|
||||
01 FC // Obj_Um
|
||||
02 01 // En_Neo_Reeba
|
||||
02 02 // Bg_Mbar_Chair
|
||||
00 03 // Bg_Ikana_Block
|
||||
02 03 // Bg_Ikana_Mirror
|
||||
02 03 // Bg_Ikana_Rotaryroom
|
||||
01 84 // Bg_Dblue_Balance
|
||||
01 84 // Bg_Dblue_Waterfall
|
||||
02 04 // En_Kaizoku
|
||||
01 2E // En_Ge2
|
||||
00 B7 // En_Ma_Yts
|
||||
00 A7 // En_Ma_Yto
|
||||
02 05 // Obj_Tokei_Turret
|
||||
01 84 // Bg_Dblue_Elevator
|
||||
01 70 // Obj_Warpstone
|
||||
02 06 // En_Zog
|
||||
02 07 // Obj_Rotlift
|
||||
01 F8 // Obj_Jg_Gakki
|
||||
02 0C // Bg_Inibs_Movebg
|
||||
00 D0 // En_Zot
|
||||
02 0D // Obj_Tree
|
||||
02 0E // Obj_Y2lift
|
||||
02 0E // Obj_Y2shutter
|
||||
02 0E // Obj_Boat
|
||||
02 50 // Obj_Taru
|
||||
02 3D // Obj_Hunsui
|
||||
01 8E // En_Jc_Mato
|
||||
00 87 // Mir_Ray3
|
||||
02 11 // En_Zob
|
||||
00 01 // Elf_Msg6
|
||||
00 01 // Obj_Nozoki
|
||||
02 3A // En_Toto
|
||||
00 75 // En_Railgibud
|
||||
00 DF // En_Baba
|
||||
00 E3 // En_Suttari
|
||||
02 16 // En_Zod
|
||||
02 63 // En_Kujiya
|
||||
00 A1 // En_Geg
|
||||
00 01 // Obj_Kinoko
|
||||
02 18 // Obj_Yasi
|
||||
00 01 // En_Tanron1
|
||||
01 5D // En_Tanron2
|
||||
01 5C // En_Tanron3
|
||||
02 1E // Obj_Chan
|
||||
02 20 // En_Zos
|
||||
00 A1 // En_S_Goro
|
||||
00 04 // En_Nb
|
||||
00 E3 // En_Ja
|
||||
00 5C // Bg_F40_Block
|
||||
02 22 // Bg_F40_Switch
|
||||
00 5D // En_Po_Composer
|
||||
00 FF // En_Guruguru
|
||||
00 01 // Oceff_Wipe5
|
||||
01 B6 // En_Stone_heishi
|
||||
00 01 // Oceff_Wipe6
|
||||
01 E5 // En_Scopenuts
|
||||
00 06 // En_Scopecrow
|
||||
00 01 // Oceff_Wipe7
|
||||
02 29 // Eff_Kamejima_Wave
|
||||
02 2A // En_Hg
|
||||
02 2A // En_Hgo
|
||||
02 2B // En_Zov
|
||||
00 07 // En_Ah
|
||||
02 2C // Obj_Hgdoor
|
||||
02 03 // Bg_Ikana_Bombwall
|
||||
02 03 // Bg_Ikana_Ray
|
||||
02 03 // Bg_Ikana_Shutter
|
||||
01 E0 // Bg_Haka_Bombwall
|
||||
01 E0 // Bg_Haka_Tomb
|
||||
00 01 // En_Sc_Ruppe
|
||||
02 37 // Bg_Iknv_Doukutu
|
||||
02 37 // Bg_Iknv_Obj
|
||||
02 38 // En_Pamera
|
||||
02 39 // Obj_HsStump
|
||||
01 2B // En_Hidden_Nuts
|
||||
00 D0 // En_Zow
|
||||
00 01 // En_Talk
|
||||
00 0D // En_Al
|
||||
00 13 // En_Tab
|
||||
00 E3 // En_Nimotsu
|
||||
00 01 // En_Hit_Tag
|
||||
00 06 // En_Ruppecrow
|
||||
02 3F // En_Tanron4
|
||||
01 5B // En_Tanron5
|
||||
02 40 // En_Tanron6
|
||||
00 F1 // En_Daiku2
|
||||
00 F0 // En_Muto
|
||||
02 47 // En_Baisen
|
||||
01 B6 // En_Heishi
|
||||
01 B6 // En_Demo_heishi
|
||||
02 41 // En_Dt
|
||||
02 43 // En_Cha
|
||||
02 44 // Obj_Dinner
|
||||
02 46 // Eff_Lastday
|
||||
02 03 // Bg_Ikana_Dharma
|
||||
01 E5 // En_Akindonuts
|
||||
01 BE // Eff_Stk
|
||||
01 D5 // En_Ig
|
||||
00 A1 // En_Rg
|
||||
02 49 // En_Osk
|
||||
00 01 // En_Sth2
|
||||
02 4A // En_Yb
|
||||
02 4B // En_Rz
|
||||
00 01 // En_Scopecoin
|
||||
02 4F // En_Bjt
|
||||
01 10 // En_Bomjima
|
||||
01 10 // En_Bomjimb
|
||||
01 10 // En_Bombers
|
||||
01 10 // En_Bombers2
|
||||
02 80 // En_Bombal
|
||||
01 B1 // Obj_Moon_Stone
|
||||
00 01 // Obj_Mu_Pict
|
||||
02 36 // Bg_Ikninside
|
||||
02 55 // Eff_Zoraband
|
||||
02 56 // Obj_Kepn_Koya
|
||||
02 57 // Obj_Usiyane
|
||||
02 5B // En_Nnh
|
||||
02 60 // Obj_Kzsaku
|
||||
02 61 // Obj_Milk_Bin
|
||||
02 64 // En_Kitan
|
||||
02 67 // Bg_Astr_Bombwall
|
||||
02 36 // Bg_Iknin_Susceil
|
||||
02 68 // En_Bsb
|
||||
01 29 // En_Recepgirl
|
||||
00 22 // En_Thiefbird
|
||||
01 A9 // En_Jgame_Tsn
|
||||
00 80 // Obj_Jgame_Light
|
||||
02 6E // Obj_Yado
|
||||
02 6F // Demo_Syoten
|
||||
02 70 // Demo_Moonend
|
||||
02 7F // Bg_Lbfshot
|
||||
02 34 // Bg_Last_Bwall
|
||||
00 15 // En_And
|
||||
00 01 // En_Invadepoh_Demo
|
||||
02 73 // Obj_Danpeilift
|
||||
02 69 // En_Fall2
|
||||
00 0D // Dm_Al
|
||||
00 E2 // Dm_An
|
||||
00 07 // Dm_Ah
|
||||
00 04 // Dm_Nb
|
||||
00 18 // En_Drs
|
||||
02 41 // En_Ending_Hero
|
||||
01 85 // Dm_Bal
|
||||
01 85 // En_Paper
|
||||
01 42 // En_Hint_Skb
|
||||
00 01 // Dm_Tag
|
||||
02 7A // En_Bh
|
||||
02 47 // En_Ending_Hero2
|
||||
00 F0 // En_Ending_Hero3
|
||||
01 B6 // En_Ending_Hero4
|
||||
00 F1 // En_Ending_Hero5
|
||||
00 01 // En_Ending_Hero6
|
||||
00 E2 // Dm_Gm
|
||||
00 01 // Obj_Swprize
|
||||
00 01 // En_Invisible_Ruppe
|
||||
02 81 // Obj_Ending
|
||||
01 2C // En_Rsn
|
||||
}
|
||||
.align
|
|
@ -1,4 +1,5 @@
|
|||
[actor_spawn]: 0x800BAE14
|
||||
[object_spawn]: 0x8012F2E0
|
||||
[max_actor_no]: 0x2B1
|
||||
|
||||
[global_context]: 0x803E6B20
|
||||
|
@ -19,7 +20,5 @@
|
|||
|
||||
.include "spawn.asm"
|
||||
|
||||
load_object:
|
||||
// unimplemented for now, just return 0
|
||||
jr
|
||||
cl v0
|
||||
actor_object_table:
|
||||
.include "actor object table mm.asm"
|
||||
|
|
|
@ -22,63 +22,3 @@
|
|||
|
||||
actor_object_table:
|
||||
.include "actor object table oot.asm"
|
||||
|
||||
load_object:
|
||||
// args: a0 (actor number)
|
||||
// returns v0 (0 if ok, 1 on error)
|
||||
push 4, s0, ra
|
||||
li v0, 1
|
||||
la t0, actor_object_table
|
||||
sll t1, a0, 1
|
||||
addu t0, t0, t1
|
||||
lhu s0, 0(t0) // object number
|
||||
beq s0, r0, load_object_return
|
||||
nop
|
||||
bal is_object_loaded
|
||||
mov a0, s0
|
||||
bne v0, r0, load_object_return
|
||||
cl v0
|
||||
li t8, @global_context
|
||||
li t9, @object_spawn_offset
|
||||
add a0, t8, t9
|
||||
mov a1, s0
|
||||
jal @object_spawn
|
||||
nop
|
||||
load_object_return:
|
||||
jpop 4, s0, ra
|
||||
|
||||
/*
|
||||
we'll be dealing with structs like
|
||||
typedef struct {
|
||||
uint_ptr region_start; // ?
|
||||
uint_ptr region_end; // ?
|
||||
byte loaded_count; // only set in first item
|
||||
byte loaded_count_alt; // usually fewer than the above
|
||||
uint16 unknown;
|
||||
uint16 object_number;
|
||||
uint16 padding;
|
||||
uint_ptr start;
|
||||
uint32 size;
|
||||
uint32 unknowns[11]; // more pointers and sizes
|
||||
} loaded_object; // total size: 68 bytes
|
||||
*/
|
||||
|
||||
is_object_loaded:
|
||||
// args: a0 (object number)
|
||||
// returns v0 (1 if loaded, 0 if not)
|
||||
push 4
|
||||
li t8, @global_context
|
||||
li t9, @object_spawn_offset
|
||||
add t0, t8, t9 // current item
|
||||
lb t1, 8(t0) // remaining items
|
||||
li v0, 1
|
||||
is_object_loaded_loop:
|
||||
lh t2, 12(t0) // item's object number
|
||||
beq a0, t2, is_object_loaded_return
|
||||
subi t1, t1, 1 // TODO: double check there's no off-by-one error
|
||||
addi t0, t0, 68
|
||||
bne t1, r0, is_object_loaded_loop
|
||||
nop
|
||||
cl v0
|
||||
is_object_loaded_return:
|
||||
jpop 4
|
||||
|
|
|
@ -95,7 +95,8 @@ simple_spawn: // args: a0 (actor to spawn)
|
|||
li t9, 0x0
|
||||
sw t9, 0x20(sp) // rotation?
|
||||
|
||||
lhu t7, @actor_horiz_angle(t0)
|
||||
//lhu t7, @actor_horiz_angle(t0)
|
||||
li t7, 0
|
||||
sw t7, 0x24(sp) // actor variable
|
||||
|
||||
li t9, 0x0000007F
|
||||
|
@ -111,3 +112,63 @@ simple_spawn_return:
|
|||
|
||||
hold_delay:
|
||||
.word 0
|
||||
|
||||
load_object:
|
||||
// args: a0 (actor number)
|
||||
// returns v0 (0 if ok, 1 on error)
|
||||
push 4, s0, ra
|
||||
li v0, 1
|
||||
la t0, actor_object_table
|
||||
sll t1, a0, 1
|
||||
addu t0, t0, t1
|
||||
lhu s0, 0(t0) // object number
|
||||
beq s0, r0, load_object_return
|
||||
nop
|
||||
bal is_object_loaded
|
||||
mov a0, s0
|
||||
bne v0, r0, load_object_return
|
||||
cl v0
|
||||
li t8, @global_context
|
||||
li t9, @object_spawn_offset
|
||||
add a0, t8, t9
|
||||
mov a1, s0
|
||||
jal @object_spawn
|
||||
nop
|
||||
load_object_return:
|
||||
jpop 4, s0, ra
|
||||
|
||||
/*
|
||||
we'll be dealing with structs like
|
||||
typedef struct {
|
||||
uint_ptr region_start; // ?
|
||||
uint_ptr region_end; // ?
|
||||
byte loaded_count; // only set in first item
|
||||
byte loaded_count_alt; // usually fewer than the above
|
||||
uint16 unknown;
|
||||
uint16 object_number;
|
||||
uint16 padding;
|
||||
uint_ptr start;
|
||||
uint32 size;
|
||||
uint32 unknowns[11]; // more pointers and sizes
|
||||
} loaded_object; // total size: 68 bytes
|
||||
*/
|
||||
|
||||
is_object_loaded:
|
||||
// args: a0 (object number)
|
||||
// returns v0 (1 if loaded, 0 if not)
|
||||
push 4
|
||||
li t8, @global_context
|
||||
li t9, @object_spawn_offset
|
||||
add t0, t8, t9 // current item
|
||||
lb t1, 8(t0) // remaining items
|
||||
li v0, 1
|
||||
is_object_loaded_loop:
|
||||
lh t2, 12(t0) // item's object number
|
||||
beq a0, t2, is_object_loaded_return
|
||||
subi t1, t1, 1 // TODO: double check there's no off-by-one error
|
||||
addi t0, t0, 68
|
||||
bne t1, r0, is_object_loaded_loop
|
||||
nop
|
||||
cl v0
|
||||
is_object_loaded_return:
|
||||
jpop 4
|
||||
|
|
Loading…
Reference in a new issue