1
0
Fork 0
mirror of https://github.com/notwa/mm synced 2024-11-04 22:39:02 -08:00

always spawn any missing objects

This commit is contained in:
Connor Olding 2016-01-03 04:11:51 -08:00
parent fabb1852e0
commit ccdb3b130d
6 changed files with 88 additions and 1228 deletions

View file

@ -1,693 +0,0 @@
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

View file

@ -1,474 +0,0 @@
HEX {
00 00 // Player
00 00 // unset
00 32 // En_Test
00 00 // unset
00 01 // En_GirlA
00 00 // unset
00 00 // unset
00 01 // En_Part
00 01 // En_Light
00 01 // En_Door
00 0E // En_Box
00 0A // Bg_Dy_Yoseizo
00 2C // Bg_Hidan_Firewall
00 01 // En_Poh
00 07 // En_Okuta
00 36 // Bg_Ydan_Sp
00 01 // En_Bom
00 0B // En_Wallmas
00 0C // En_Dodongo
00 0D // En_Firefly
00 1A // En_Horse
00 00 // En_Item00
00 01 // En_Arrow
00 00 // unset
00 01 // En_Elf
00 13 // En_Niw
00 00 // unset
00 16 // En_Tite
00 17 // En_Reeba
00 18 // En_Peehat
00 02 // En_Butte
00 00 // unset
00 01 // En_Insect
00 01 // En_Fish
00 00 // unset
00 01 // En_Holl
00 40 // En_Scene_Change
00 1B // En_Zf
00 76 // En_Hata
00 19 // Boss_Dodongo
00 1C // Boss_Goma
00 1D // En_Zl1
00 01 // En_Viewer
00 1E // En_Goma
00 03 // Bg_Pushbox
00 12 // En_Bubble
00 01 // Door_Shutter
00 1F // En_Dodojr
00 19 // En_Bdfire
00 00 // unset
00 01 // En_Boom
00 20 // En_Torch2
00 21 // En_Bili
00 22 // En_Tp
00 00 // unset
00 24 // En_St
00 25 // En_Bw
00 00 // En_A_Obj
00 26 // En_Eiyer
00 01 // En_River_Sound
00 27 // En_Horse_Normal
00 01 // En_Ossan
00 2A // Bg_Treemouth
00 2B // Bg_Dodoago
00 2C // Bg_Hidan_Dalm
00 2C // Bg_Hidan_Hrock
00 2D // En_Horse_Ganon
00 2C // Bg_Hidan_Rock
00 2C // Bg_Hidan_Rsekizou
00 2C // Bg_Hidan_Sekizou
00 2C // Bg_Hidan_Sima
00 2C // Bg_Hidan_Syoku
00 8A // En_Xc
00 01 // Bg_Hidan_Curtain
00 2F // Bg_Spot00_Hanebasi
00 30 // En_Mb
00 31 // En_Bombf
00 60 // En_Zl2
00 2C // Bg_Hidan_Fslift
00 35 // En_OE2
00 36 // Bg_Ydan_Hasi
00 36 // Bg_Ydan_Maruta
00 37 // Boss_Ganondrof
00 00 // unset
00 38 // En_Am
00 39 // En_Dekubaba
00 01 // En_M_Fire1
00 01 // En_M_Thunder
00 2B // Bg_Ddan_Jd
00 01 // Bg_Breakwall
00 40 // En_Jj
00 46 // En_Horse_Zelda
00 2B // Bg_Ddan_Kd
00 48 // Door_Warp1
00 A4 // Obj_Syokudai
00 BD // Item_B_Heart
00 4A // En_Dekunuts
00 4D // Bg_Menkuri_Kaiten
00 4D // Bg_Menkuri_Eye
00 56 // En_Vali
00 59 // Bg_Mizu_Movebg
00 59 // Bg_Mizu_Water
00 14 // Arms_Hook
00 5A // En_fHG
00 01 // Bg_Mori_Hineri
00 5D // En_Bb
00 5E // Bg_Toki_Hikari
00 5F // En_Yukabyun
00 5E // Bg_Toki_Swd
00 5A // En_Fhg_Fire
00 01 // Bg_Mjin
00 2C // Bg_Hidan_Kousi
00 5E // Door_Toki
00 2C // Bg_Hidan_Hamstep
00 77 // En_Bird
00 00 // unset
00 00 // unset
00 00 // unset
00 00 // unset
00 7C // En_Wood02
00 00 // unset
00 00 // unset
00 00 // unset
00 00 // unset
00 81 // En_Lightbox
00 82 // En_Pu_box
00 00 // unset
00 00 // unset
00 85 // En_Trap
00 01 // En_Arow_Trap
00 86 // En_Vase
00 00 // unset
00 88 // En_Ta
00 89 // En_Tk
00 72 // Bg_Mori_Bigst
00 72 // Bg_Mori_Elevator
00 72 // Bg_Mori_Kaitenkabe
00 72 // Bg_Mori_Rakkatenjo
00 8B // En_Vm
00 01 // Demo_Effect
00 01 // Demo_Kankyo
00 2C // Bg_Hidan_Fwbig
00 0B // En_Floormas
00 97 // En_Heishi1
00 98 // En_Rd
00 99 // En_Po_Sisters
00 9A // Bg_Heavy_Block
00 99 // Bg_Po_Event
00 01 // Obj_Mure
00 24 // En_Sw
00 9C // Boss_Fd
00 01 // Object_Kankyo
00 9D // En_Du
00 9E // En_Fd
00 A0 // En_Horse_Link_Child
00 02 // Door_Ana
00 A1 // Bg_Spot02_Objects
00 A2 // Bg_Haka
00 01 // Magic_Wind
00 01 // Magic_Fire
00 00 // unset
00 A3 // En_Ru1
00 A5 // Boss_Fd2
00 03 // En_Fd_Fire
00 A6 // En_Dh
00 A6 // En_Dha
00 A7 // En_Rl
00 01 // En_Encount1
00 9D // Demo_Du
00 87 // Demo_Im
00 0E // Demo_Tre_Lgt
00 9E // En_Fw
00 9C // Bg_Vb_Sima
00 9C // En_Vb_Ball
00 01 // Bg_Haka_Megane
00 69 // Bg_Haka_MeganeBG
00 69 // Bg_Haka_Ship
00 01 // Bg_Haka_Sgami
00 00 // unset
00 97 // En_Heishi2
00 92 // En_Encount2
00 92 // En_Fire_Rock
00 AC // En_Brob
00 AB // Mir_Ray
00 AE // Bg_Spot09_Obj
00 AF // Bg_Spot18_Obj
00 8C // Boss_Va
00 69 // Bg_Haka_Tubo
00 69 // Bg_Haka_Trap
00 8D // Bg_Haka_Huta
00 01 // Bg_Haka_Zou
00 B1 // Bg_Spot17_Funen
00 01 // En_Syateki_Itm
00 5B // En_Syateki_Man
00 B2 // En_Tana
00 B3 // En_Nb
00 B4 // Boss_Mo
00 B5 // En_Sb
01 5F // En_Bigokuta
00 39 // En_Karebaba
00 96 // Bg_Bdan_Objects
00 BC // Demo_Sa
00 C9 // Demo_Go
00 C0 // En_In
00 C1 // En_Tr
00 C2 // Bg_Spot16_Bombstone
00 00 // unset
00 2C // Bg_Hidan_Kowarerukabe
00 02 // Bg_Bombwall
00 74 // Bg_Spot08_Iceblock
00 CA // En_Ru2
00 CC // Obj_Dekujr
00 59 // Bg_Mizu_Uzu
00 6A // Bg_Spot06_Objects
00 6B // Bg_Ice_Objects
00 8D // Bg_Haka_Water
00 00 // unset
00 D0 // En_Ma2
00 01 // En_Bom_Chu
00 01 // En_Horse_Game_Check
00 D3 // Boss_Tw
00 D4 // En_Rr
00 D5 // En_Ba
00 D5 // En_Bx
00 D6 // En_Anubice
00 D6 // En_Anubice_Fire
00 72 // Bg_Mori_Hashigo
00 72 // Bg_Mori_Hashira4
00 72 // Bg_Mori_Idomizu
01 7A // Bg_Spot16_Doughnut
00 96 // Bg_Bdan_Switch
00 E0 // En_Ma1
00 E1 // Boss_Ganon
00 E2 // Boss_Sst
00 00 // unset
00 00 // unset
00 E5 // En_Ny
00 E6 // En_Fr
00 15 // Item_Shield
00 6B // Bg_Ice_Shelter
00 01 // En_Ice_Hono
00 DE // Item_Ocarina
00 00 // unset
00 00 // unset
00 01 // Magic_Dark
00 01 // Demo_6K
00 01 // En_Anubice_Tag
00 69 // Bg_Haka_Gate
00 F0 // Bg_Spot15_Saku
01 1F // Bg_Jya_Goroiwa
00 F1 // Bg_Jya_Zurerukabe
00 00 // unset
00 F1 // Bg_Jya_Cobra
00 F1 // Bg_Jya_Kanaami
01 5B // Fishing
00 03 // Obj_Oshihiki
01 81 // Bg_Gate_Shutter
00 01 // Eff_Dust
00 F9 // Bg_Spot01_Fusya
00 F9 // Bg_Spot01_Idohashira
00 F9 // Bg_Spot01_Idomizu
00 A4 // Bg_Po_Syokudai
00 E1 // Bg_Ganon_Otyuka
00 F0 // Bg_Spot15_Rrbox
01 00 // Bg_Umajump
00 00 // unset
00 01 // Arrow_Fire
00 01 // Arrow_Ice
00 01 // Arrow_Light
00 00 // unset
00 00 // unset
00 01 // Item_Etcetera
00 03 // Obj_Kibako
00 01 // Obj_Tsubo
00 01 // En_Wonder_Item
01 06 // En_Ik
01 06 // Demo_Ik
01 0A // En_Skj
01 0A // En_Skjneedle
00 01 // En_G_Switch
00 5A // Demo_Ext
00 01 // Demo_Shd
01 68 // En_Dns
00 01 // Elf_Msg
00 03 // En_Honotrap
00 03 // En_Tubo_Trap
00 01 // Obj_Ice_Poly
01 12 // Bg_Spot03_Taki
01 13 // Bg_Spot07_Taki
01 14 // En_Fz
00 89 // En_Po_Relay
00 6C // Bg_Relay_Objects
00 FE // En_Diving_Game
00 01 // En_Kusa
01 1E // Obj_Bean
01 63 // Obj_Bombiwa
00 00 // unset
00 00 // unset
00 03 // Obj_Switch
01 1B // Obj_Elevator
01 1D // Obj_Lift
01 1C // Obj_Hsblock
00 01 // En_Okarina_Tag
00 01 // En_Yabusame_Mark
01 1F // En_Goroiwa
00 01 // En_Ex_Ruppy
01 21 // En_Toryo
01 22 // En_Daiku
00 00 // unset
01 24 // En_Nwc
01 25 // En_Blkobj
00 01 // Item_Inbox
01 16 // En_Ge1
00 01 // Obj_Blockstop
00 01 // En_Sda
00 01 // En_Clear_Tag
01 10 // En_Niw_Lady
00 C9 // En_Gm
01 27 // En_Ms
01 28 // En_Hs
01 29 // Bg_Ingate
01 2F // En_Kanban
00 97 // En_Heishi3
00 13 // En_Syateki_Niw
00 13 // En_Attack_Niw
01 80 // Bg_Spot01_Idosoko
00 BC // En_Sa
00 01 // En_Wonder_Talk
01 30 // Bg_Gjyo_Bridge
01 0F // En_Ds
01 32 // En_Mk
01 60 // En_Bom_Bowl_Man
00 01 // En_Bom_Bowl_Pit
01 31 // En_Owl
00 02 // En_Ishi
00 02 // Obj_Hana
01 2A // Obj_Lightswitch
00 01 // Obj_Mure2
00 C9 // En_Go
01 33 // En_Fu
00 00 // unset
00 01 // En_Changer
00 F1 // Bg_Jya_Megami
00 F1 // Bg_Jya_Lift
00 F1 // Bg_Jya_Bigmirror
00 F1 // Bg_Jya_Bombchuiwa
00 F1 // Bg_Jya_Amishutter
00 F1 // Bg_Jya_Bombiwa
00 AF // Bg_Spot18_Basket
00 00 // unset
00 E1 // En_Ganon_Organ
01 3A // En_Siofuki
01 3B // En_Stream
00 00 // unset
01 3C // En_Mm
00 01 // En_Ko
00 FF // En_Kz
00 01 // En_Weather_Tag
00 E2 // Bg_Sst_Floor
00 EC // En_Ani
00 01 // En_Ex_Item
01 6C // Bg_Jya_Ironobj
01 44 // En_Js
00 01 // En_Jsjutan
01 45 // En_Cs
00 FB // En_Md
00 01 // En_Hy
00 01 // En_Ganon_Mant
00 01 // En_Okarina_Effect
01 4A // En_Mag
01 4B // Door_Gerudo
00 01 // Elf_Msg2
01 4C // Demo_Gt
00 6D // En_Po_Field
01 4D // Efc_Erupc
01 56 // Bg_Zg
00 97 // En_Heishi4
00 60 // En_Zl3
01 53 // Boss_Ganon2
01 54 // En_Kakasi
01 55 // En_Takara_Man
00 03 // Obj_Makeoshihiki
00 01 // Oceff_Spot
00 01 // End_Title
00 00 // unset
00 01 // En_Torch
01 5A // Demo_Ec
00 01 // Shot_Sun
00 0A // En_Dy_Extra
00 01 // En_Wonder_Talk2
01 67 // En_Ge2
00 01 // Obj_Roomtimer
01 5E // En_Ssh
00 01 // En_Sth
00 01 // Oceff_Wipe
00 01 // Oceff_Storm
00 26 // En_Weiyer
01 61 // Bg_Spot05_Soko
00 F1 // Bg_Jya_1flift
01 6C // Bg_Jya_Haheniron
01 62 // Bg_Spot12_Gate
01 62 // Bg_Spot12_Saku
01 64 // En_Hintnuts
00 01 // En_Nutsball
01 66 // Bg_Spot00_Break
01 68 // En_Shopnuts
00 01 // En_It
01 69 // En_GeldB
00 01 // Oceff_Wipe2
00 01 // Oceff_Wipe3
01 6A // En_Niw_Girl
01 6B // En_Dog
00 24 // En_Si
00 01 // Bg_Spot01_Objects2
00 02 // Obj_Comb
01 6F // Bg_Spot11_Bakudankabe
01 70 // Obj_Kibako2
00 01 // En_Dnt_Demo
01 71 // En_Dnt_Jiji
00 01 // En_Dnt_Nomal
01 11 // En_Guest
01 78 // Bg_Bom_Guard
01 28 // En_Hs2
01 79 // Demo_Kekkai
00 74 // Bg_Spot08_Bakudankabe
00 B1 // Bg_Spot17_Bakudankabe
00 00 // unset
00 01 // Obj_Mure3
01 82 // En_Tg
01 82 // En_Mu
00 C9 // En_Go2
01 83 // En_Wf
01 84 // En_Skb
01 85 // Demo_Gj
01 86 // Demo_Geff
01 79 // Bg_Gnd_Firemeiro
01 79 // Bg_Gnd_Darkmeiro
01 79 // Bg_Gnd_Soulmeiro
01 79 // Bg_Gnd_Nisekabe
01 79 // Bg_Gnd_Iceblock
01 89 // En_Gb
01 88 // En_Gs
00 59 // Bg_Mizu_Bwall
00 59 // Bg_Mizu_Shutter
01 22 // En_Daiku_Kakariko
01 78 // Bg_Bowl_Wall
00 01 // En_Wall_Tubo
00 6D // En_Po_Desert
00 08 // En_Crow
01 8E // Door_Killer
01 6F // Bg_Spot11_Oasis
00 AF // Bg_Spot18_Futa
00 AF // Bg_Spot18_Shutter
00 D0 // En_Ma3
01 8B // En_Cow
00 6B // Bg_Ice_Turara
00 6B // Bg_Ice_Shutter
01 54 // En_Kakasi2
01 54 // En_Kakasi3
00 01 // Oceff_Wipe4
00 60 // En_Eg
00 4D // Bg_Menkuri_Nisekabe
00 FE // En_Zo
00 01 // Obj_Makekinsuta
01 69 // En_Ge3
01 90 // Obj_Timeblock
00 02 // Obj_Hamishi
01 91 // En_Zl4
01 3C // En_Mm2
00 03 // Bg_Jya_Block
01 90 // Obj_Warp2block
}
.align

View file

@ -428,7 +428,7 @@ local instructions = {
POP = {},
JPOP = {},
ABS = {}, -- BGEZ NOP SUB?
ABS = {}, -- BGEZ NOP SUBU?
MUL = {}, -- MULT MFLO
--DIV = {}, -- 3 arguments
REM = {}, -- 3 arguments
@ -1622,6 +1622,7 @@ function Dumper:add_directive(line, name, a, b)
end
function Dumper:desym(tok)
-- FIXME: errors can give wrong filename, also off by one
if type(tok[2]) == 'number' then
return tok[2]
elseif tok[1] == 'LABELSYM' then

View file

@ -10,6 +10,35 @@
jr
nop
[ObjectSpawn]: 0x80097C00
[ObjectIndex]: 0x8009812C
ObjectSpawnWrap:
// keep track of which objects we're spawning
// TODO: reset count on scene change
push 4, ra, 1
// stuff for jump-only hook
//li a0, 0x802237C4
//mov a1, a3
//beqi a1, 2, + // don't bother loading gameplay_field_keep
lwu t0, spawn_count
sll t2, t0, 1
la t1, spawned
addu t1, t1, t2
addiu t0, t0, 1
sw t0, spawn_count
sh a1, 0(t1)
jal @ObjectSpawn
nop
+:
jpop 4, ra, 1
spawn_count:
.word 0
spawned:
.halfword 0, 0, 0, 0, 0, 0, 0, 0
// keep track of where we are in the buffer
buffer_pos:
.word 0
@ -36,3 +65,39 @@ copy_loop:
sw t0, buffer_pos
jr
nop
// force objects to load
/* jump-only hook
.org 0x80098180
j ObjectSpawnWrap
nop
*/
.org @ObjectIndex
// we have space for 22 instructions
push 4, ra, 1
//sll a1, a1, 0x10
//sra a1, a1, 0x10
mov t0, a0
lbu t1, 8(a0) // remaining items
cl v0
-:
lh t2, 12(t0) // item's object number
// t2 = abs(t2)
bgez t2, +
nop
subu t2, r0, t2
+:
beq a1, t2, +
subi t1, t1, 1
addiu v0, v0, 1
addi t0, t0, 68
bnez t1, -
nop
jal ObjectSpawnWrap
nop
//subiu v0, r0, -1
+:
jpop 4, ra, 1
// 19 words

View file

@ -1,5 +1,6 @@
[actor_spawn]: 0x80025110
[object_spawn]: 0x800812F0
[object_index]: 0x80081628
[max_actor_no]: 0x1D6
[global_context]: 0x801C84A0
@ -19,6 +20,3 @@
[upgrades_2_offset]: 0xA2
.include "spawn.asm"
actor_object_table:
.include "actor object table oot.asm"

View file

@ -73,10 +73,7 @@ return:
simple_spawn: // args: a0 (actor to spawn)
push 4, 9, ra
jal load_object
sw a0, 56(sp) // keep me updated!
bnez v0, simple_spawn_return
lw a2, 56(sp) // keep me updated!
mov a2, a0
li a1, @global_context
addi a0, a1, @actor_spawn_offset
li t0, @link_actor
@ -106,68 +103,34 @@ simple_spawn: // args: a0 (actor to spawn)
sw t9, 0x30(sp) // unknown
jal @actor_spawn
nop
simple_spawn_return:
jpop 4, 9, ra
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
beqz s0, +
nop
bal is_object_loaded
mov a0, s0
bnez v0, +
.org @object_index
// we have space for 22 instructions (on debug, 23 on 1.0?)
push 4, ra, 1
mov t0, a0
lbu t1, 8(a0) // remaining items
cl v0
li t8, @global_context
li t9, @object_spawn_offset
add a0, t8, t9
mov a1, s0
jal @object_spawn
nop
+:
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
-:
lh t2, 12(t0) // item's object number
beq a0, t2, +
subi t1, t1, 1 // TODO: double check there's no off-by-one error
// t2 = abs(t2)
bgez t2, +
nop
subu t2, r0, t2
+:
beq a1, t2, +
subi t1, t1, 1
addiu v0, v0, 1
addi t0, t0, 68
bnez t1, -
nop
cl v0
// NOTE: this allows object 0002 to load in places it's not meant to.
// this can mess up door graphics (among other things?)
jal object_spawn
nop
//subiu v0, r0, -1 // original code
+:
jpop 4
jpop 4, ra, 1