diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 1504ede58d8..b9431173807 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -19,4 +19,4 @@ RUN sudo ./install-devkitpro-pacman RUN sudo dkp-pacman -Syu --noconfirm WORKDIR /etc RUN sudo ln -sf /proc/self/mounts mtab -RUN sudo dkp-pacman -S --noconfirm gamecube-dev wii-dev \ No newline at end of file +RUN sudo dkp-pacman -S --noconfirm gamecube-dev wii-dev diff --git a/.github/workflows/ok-check.yml b/.github/workflows/ok-check.yml index e4acfc09b9d..f703ef02f79 100644 --- a/.github/workflows/ok-check.yml +++ b/.github/workflows/ok-check.yml @@ -15,6 +15,6 @@ jobs: with: token: ${{secrets.MY_REPO_PAT}} - name: Copy in dol and compilers - run: cp /tmp/baserom.dol ./baserom.dol && cp -r /tmp/mwcc_compiler/ tools/mwcc_compiler && cp tools/mwcc_compiler/2.7/mwcceppc.exe tools/mwcc_compiler/2.7/mwcceppc_patched.exe && chown root /github/home/ + run: cp /tmp/baserom.dol ./baserom.dol && cp -r /tmp/mwcc_compiler/ tools/mwcc_compiler && cp tools/mwcc_compiler/2.7/mwcceppc.exe tools/mwcc_compiler/2.7/mwcceppc_modded.exe && chown root /github/home/ - name: Run Make (OK) run: make all rels diff --git a/Makefile b/Makefile index beaebbab8e0..e112a5d7045 100644 --- a/Makefile +++ b/Makefile @@ -70,11 +70,12 @@ endif AS := $(DEVKITPPC)/bin/powerpc-eabi-as OBJCOPY := $(DEVKITPPC)/bin/powerpc-eabi-objcopy STRIP := $(DEVKITPPC)/bin/powerpc-eabi-strip -CC := $(WINE) tools/mwcc_compiler/$(MWCC_VERSION)/mwcceppc_patched.exe +CC := $(WINE) tools/mwcc_compiler/$(MWCC_VERSION)/mwcceppc_modded.exe DOLPHIN_LIB_CC := $(WINE) tools/mwcc_compiler/1.2.5/mwcceppc.exe FRANK_CC := $(WINE) tools/mwcc_compiler/1.2.5e/mwcceppc.exe LD := $(WINE_LD) tools/mwcc_compiler/$(MWCC_VERSION)/mwldeppc.exe ELF2DOL := $(BUILD_PATH)/elf2dol +YAZ0 := $(BUILD_PATH)/yaz0.so PYTHON := python3 ICONV := iconv DOXYGEN := doxygen @@ -151,7 +152,7 @@ clean_rels: rm -f -d -r $(BUILD_DIR)/rel rm -f $(BUILD_PATH)/*.rel -tools: $(ELF2DOL) +tools: dirs $(ELF2DOL) $(YAZ0) assets: @mkdir -p game @@ -162,8 +163,8 @@ docs: rels: $(ELF) $(RELS) @echo generating RELs from .plf - @$(PYTHON) $(MAKEREL) build --string-table $(BUILD_DIR)/frameworkF.str $(RELS) $(ELF) - @$(PYTHON) tools/tp.py check --rels + @echo $(RELS) > build/plf_files + $(PYTHON) $(MAKEREL) build --string-table $(BUILD_DIR)/frameworkF.str @build/plf_files $(ELF) $(ELF): $(LIBS) $(O_FILES) @echo $(O_FILES) > build/o_files @@ -179,13 +180,21 @@ $(ELF_SHIFT): $(DOL) $(DOL_SHIFT): $(ELF_SHIFT) | tools $(ELF2DOL) $< $@ $(SDATA_PDHR) $(SBSS_PDHR) $(TARGET_COL) @cp -v $(DOL_SHIFT) $(DOL) - + shift: dirs $(DOL_SHIFT) game: shift $(MAKE) rels @mkdir -p game - @$(PYTHON) tools/package_game_assets.py ./game $(BUILD_DIR) + @$(PYTHON) tools/package_game_assets.py ./game $(BUILD_PATH) copyCode + +game-nocompile: + @mkdir -p game + @$(PYTHON) tools/package_game_assets.py ./game $(BUILD_PATH) noCopyCode + +rungame-nocompile: game-nocompile + @echo If you are playing on a shifted game make sure Hyrule Field Speed hack is disabled in dolphin! + dolphin-emu $(BUILD_DIR)/game/sys/main.dol iso: game @$(PYTHON) tools/packageISO.py $(BUILD_DIR)/game/ $(TARGET_ISO) @@ -225,6 +234,7 @@ $(BUILD_DIR)/rel/%.o: rel/%.cpp # tools include tools/elf2dol/Makefile +include tools/yaz0/Makefile ### Debug Print ### print-% : ; $(info $* is a $(flavor $*) variable set to [$($*)]) @true diff --git a/Progress.md b/Progress.md index 716470116b2..6fbed7f4472 100644 --- a/Progress.md +++ b/Progress.md @@ -7,782 +7,782 @@ Section | Percentage | Decompiled (bytes) | Total (bytes) .init | 97.972973% | 9280 | 9472 .extab | 100.000000% | 96 | 96 .extabindex | 100.000000% | 96 | 96 -.text | 23.128426% | 831824 | 3596544 +.text | 24.159415% | 868904 | 3596544 .ctors | 100.000000% | 448 | 448 .dtors | 100.000000% | 32 | 32 .rodata | 100.000000% | 193856 | 193856 .data | 100.000000% | 197632 | 197632 .sdata | 100.000000% | 1408 | 1408 .sdata2 | 100.000000% | 20832 | 20832 -Total | 31.232590% | 1255760 | 4020672 +Total | 32.154824% | 1292840 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 31.232590% | 1255760 | 4020672 -RELs | 33.041295% | 3799856 | 11500324 -Total | 32.572755% | 5055616 | 15520996 +main.dol | 32.154824% | 1292840 | 4020672 +RELs | 33.060877% | 3802108 | 11500324 +Total | 32.826167% | 5094948 | 15520996 ## RELs Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -f_pc_profile_lst | 100.000000% | 28156 | 28156 -d_a_hozelda | 28.805621% | 4920 | 17080 -d_a_ni | 27.299309% | 8216 | 30096 -d_a_mg_fshop | 36.363636% | 9360 | 25740 -d_a_movie_player | 23.696790% | 8328 | 35144 -d_a_vrbox | 48.327138% | 1040 | 2152 -d_a_sq | 35.488722% | 3776 | 10640 -d_a_ppolamp | 42.341463% | 1736 | 4100 -d_a_demo_item | 33.863165% | 3920 | 11576 -d_a_cstaf | 32.377740% | 3840 | 11860 -d_a_bg | 41.505376% | 3860 | 9300 -d_a_tboxSw | 100.000000% | 1016 | 1016 -d_a_title | 39.558574% | 2796 | 7068 -d_a_L7low_dr | 38.905775% | 1536 | 3948 -d_a_andsw2 | 29.472774% | 1364 | 4628 -d_a_nbomb | 28.739233% | 8808 | 30648 -d_a_talk | 45.434783% | 836 | 1840 -d_a_coach_2D | 38.344915% | 2428 | 6332 -d_a_ykgr | 44.400631% | 2252 | 5072 -d_a_scene_exit | 61.359223% | 1264 | 2060 -d_a_tbox2 | 42.486445% | 4388 | 10328 -d_a_shop_item | 43.088737% | 2020 | 4688 -d_a_midna | 22.953368% | 12404 | 54040 -d_a_passer_mng | 31.038027% | 2416 | 7784 -d_a_boomerang | 26.528647% | 6612 | 24924 -d_a_demo00 | 29.136000% | 7284 | 25000 -d_a_startAndGoal | 41.918528% | 1276 | 3044 -d_a_horse | 22.301298% | 15668 | 70256 -d_a_kago | 24.588671% | 15124 | 61508 -d_a_path_line | 100.000000% | 508 | 508 -d_a_do | 25.780847% | 10004 | 38804 -d_a_formation_mng | 27.806286% | 3468 | 12472 -d_a_andsw | 60.526316% | 644 | 1064 -d_a_dmidna | 50.000000% | 944 | 1888 -d_a_L7op_demo_dr | 26.198715% | 4240 | 16184 -d_a_guard_mng | 53.457447% | 804 | 1504 -d_a_econt | 59.836066% | 876 | 1464 -d_a_myna | 30.876570% | 9736 | 31532 -d_a_izumi_gate | 57.729941% | 1180 | 2044 -d_a_mirror | 32.707993% | 3208 | 9808 -d_a_cow | 22.936702% | 12784 | 55736 -d_a_disappear | 45.091514% | 1084 | 2404 -d_a_swc00 | 43.087121% | 1820 | 4224 -d_a_spinner | 27.874187% | 5140 | 18440 -d_a_swLBall | 33.651805% | 1268 | 3768 -d_a_suspend | 68.303571% | 612 | 896 -d_a_coach_fire | 44.050104% | 1688 | 3832 -d_a_bg_obj | 32.434657% | 6304 | 19436 -d_a_warp_bug | 54.940711% | 1112 | 2024 -d_a_vrbox2 | 34.977578% | 2184 | 6244 -d_a_alldie | 100.000000% | 2096 | 2096 -d_a_bd | 31.115418% | 5780 | 18576 -d_a_scene_exit2 | 44.782034% | 1356 | 3028 -d_a_swhit0 | 35.577421% | 2748 | 7724 -d_a_swBall | 33.297414% | 1236 | 3712 -d_a_crod | 33.887043% | 2448 | 7224 -d_a_balloon_2D | 29.886212% | 3572 | 11952 -d_a_fr | 34.866377% | 4488 | 12872 -d_a_hitobj | 62.682927% | 1028 | 1640 -d_a_mg_rod | 24.484345% | 23836 | 97352 -d_a_skip_2D | 100.000000% | 1332 | 1332 -d_a_ep | 30.950696% | 5248 | 16956 -d_a_grass | 49.074395% | 28312 | 57692 -d_a_dshutter | 46.003263% | 2256 | 4904 -d_a_tbox | 30.165503% | 9332 | 30936 -d_a_peru | 33.139234% | 10244 | 30912 -d_a_set_bgobj | 100.000000% | 1108 | 1108 -d_a_mant | 86.020312% | 40316 | 46868 -d_a_cstatue | 29.155833% | 6728 | 23076 -d_a_swTime | 63.076923% | 656 | 1040 -d_a_arrow | 28.104690% | 6400 | 22772 -d_a_mg_fish | 26.024167% | 17660 | 67860 d_a_L7demo_dr | 30.796884% | 2056 | 6676 -d_a_canoe | 28.479263% | 4944 | 17360 -d_a_bullet | 42.660550% | 2604 | 6104 -d_a_tag_watchge | 61.290323% | 760 | 1240 -d_a_tag_mhint | 35.576923% | 1332 | 3744 -d_a_tag_attack_item | 43.212237% | 1808 | 4184 -d_a_tag_attention | 50.000000% | 1012 | 2024 -d_a_tag_myna2 | 47.260274% | 828 | 1752 -d_a_tag_Lv6Gate | 39.281576% | 2712 | 6904 -d_a_tag_hinit | 100.000000% | 1440 | 1440 -d_a_tag_camera | 37.023593% | 1632 | 4408 -d_a_tag_statue_evt | 38.427948% | 2816 | 7328 -d_a_tag_rmbit_sw | 46.642468% | 1028 | 2204 -d_a_tag_TWgate | 53.384834% | 10504 | 19676 -d_a_tag_smk_emt | 50.127226% | 788 | 1572 -d_a_tag_csw | 35.869565% | 3696 | 10304 -d_a_tag_evt | 37.815126% | 1620 | 4284 -d_a_tag_evtmsg | 39.491150% | 1428 | 3616 -d_a_tag_spring | 45.780591% | 868 | 1896 -d_a_tag_poFire | 63.270142% | 1068 | 1688 -d_a_tag_shop_camera | 62.541806% | 748 | 1196 -d_a_tag_wljump | 30.777538% | 1140 | 3704 -d_a_tag_telop | 100.000000% | 1040 | 1040 -d_a_tag_kago_fall | 34.469328% | 1416 | 4108 -d_a_tag_yami | 42.650334% | 1532 | 3592 -d_a_tag_Lv7Gate | 34.752224% | 2188 | 6296 -d_a_tag_arena | 82.022472% | 584 | 712 -d_a_tag_sppath | 33.333333% | 2040 | 6120 -d_a_tag_shop_item | 41.944848% | 1156 | 2756 -d_a_tag_theB_hint | 67.253521% | 764 | 1136 -d_a_tag_lv2prchk | 35.734870% | 992 | 2776 -d_a_tag_mmsg | 100.000000% | 1960 | 1960 -d_a_tag_lightball | 46.212121% | 976 | 2112 -d_a_tag_msg | 37.563971% | 1468 | 3908 -d_a_tag_pachi | 51.107595% | 1292 | 2528 -d_a_tag_evtarea | 37.091319% | 1316 | 3548 -d_a_tag_Lv8Gate | 43.347193% | 1668 | 3848 -d_a_tag_ret_room | 49.168646% | 828 | 1684 -d_a_tag_waterfall | 46.361502% | 1580 | 3408 -d_a_tag_gstart | 100.000000% | 1208 | 1208 -d_a_tag_mstop | 36.151961% | 1180 | 3264 -d_a_tag_escape | 100.000000% | 712 | 712 -d_a_tag_setrestart | 96.739130% | 1780 | 1840 -d_a_tag_river_back | 45.725916% | 1348 | 2948 -d_a_tag_qs | 34.804270% | 1956 | 5620 -d_a_tag_event | 31.075697% | 1248 | 4016 -d_a_tag_gra | 76.000000% | 608 | 800 -d_a_tag_ss_drink | 36.483740% | 1436 | 3936 -d_a_tag_allmato | 30.234070% | 3720 | 12304 -d_a_tag_bottle_item | 38.554217% | 1024 | 2656 -d_a_tag_push | 41.000000% | 1148 | 2800 -d_a_tag_stream | 49.729730% | 736 | 1480 -d_a_tag_magne | 100.000000% | 928 | 928 -d_a_tag_spinner | 45.850622% | 884 | 1928 -d_a_tag_schedule | 82.022472% | 584 | 712 -d_a_tag_setBall | 100.000000% | 880 | 880 -d_a_tag_kmsg | 32.037997% | 1484 | 4632 -d_a_tag_myna_light | 36.747759% | 1148 | 3124 -d_a_tag_howl | 46.934461% | 888 | 1892 -d_a_tag_chkpoint | 39.852399% | 864 | 2168 -d_a_tag_firewall | 35.325132% | 1608 | 4552 -d_a_tag_lv6CstaSw | 51.406250% | 1316 | 2560 -d_a_tag_instruction | 100.000000% | 712 | 712 -d_a_tag_mwait | 35.082873% | 1016 | 2896 -d_a_tag_ajnot | 56.493506% | 696 | 1232 -d_a_tag_hstop | 100.000000% | 3424 | 3424 -d_a_tag_chgrestart | 48.868778% | 864 | 1768 -d_a_tag_cstasw | 51.406250% | 1316 | 2560 -d_a_tag_lv5soup | 100.000000% | 1908 | 1908 -d_a_tag_lantern | 52.013423% | 1240 | 2384 -d_a_tag_guard | 54.421769% | 640 | 1176 -d_a_tag_assistance | 76.699029% | 632 | 824 -d_a_tag_mist | 43.436293% | 900 | 2072 -d_a_tag_wara_howl | 100.000000% | 1420 | 1420 -d_a_tag_hjump | 40.841584% | 1320 | 3232 -d_a_door_dbdoor00 | 40.734908% | 3104 | 7620 -d_a_door_spiral | 100.000000% | 504 | 504 -d_a_door_push | 37.997725% | 2672 | 7032 -d_a_door_shutter | 37.465797% | 14240 | 38008 -d_a_door_bossL5 | 39.221790% | 4032 | 10280 -d_a_door_mbossL1 | 34.467633% | 10372 | 30092 -d_a_door_bossl1 | 39.355114% | 7372 | 18732 -d_a_door_knob00 | 37.500000% | 4608 | 12288 -d_a_door_boss | 40.856890% | 3700 | 9056 -d_a_kytag10 | 31.720430% | 944 | 2976 -d_a_kytag12 | 20.217129% | 3352 | 16580 -d_a_kytag16 | 47.212544% | 1084 | 2296 -d_a_kytag17 | 86.170213% | 648 | 752 -d_a_kytag09 | 49.936948% | 1584 | 3172 -d_a_kytag07 | 60.062893% | 764 | 1272 -d_a_kytag04 | 36.357481% | 2148 | 5908 -d_a_kytag01 | 35.156250% | 1260 | 3584 -d_a_kytag08 | 31.379026% | 1520 | 4844 -d_a_kytag00 | 33.522084% | 2368 | 7064 -d_a_kytag02 | 54.888889% | 988 | 1800 -d_a_kytag14 | 100.000000% | 1408 | 1408 -d_a_kytag11 | 52.643172% | 956 | 1816 -d_a_kytag05 | 100.000000% | 816 | 816 -d_a_kytag13 | 30.696576% | 2080 | 6776 -d_a_kytag03 | 23.399898% | 1828 | 7812 -d_a_kytag15 | 49.443561% | 1244 | 2516 -d_a_kytag06 | 31.287129% | 4424 | 14140 -d_a_obj_lv4floor | 49.786020% | 1396 | 2804 -d_a_obj_scannon_ten | 37.738049% | 3884 | 10292 -d_a_obj_crvhahen | 37.120623% | 1908 | 5140 -d_a_obj_lv4HsTarget | 58.333333% | 1428 | 2448 -d_a_obj_kiPot | 53.782895% | 1308 | 2432 -d_a_obj_fireWood2 | 41.290323% | 2304 | 5580 -d_a_obj_lv4bridge | 47.146866% | 2016 | 4276 -d_a_obj_suisya | 49.914821% | 1172 | 2348 -d_a_obj_tatigi | 40.549020% | 2068 | 5100 -d_a_obj_volcbom | 32.897713% | 5236 | 15916 -d_a_obj_gra2 | 24.809250% | 21200 | 85452 -d_a_obj_yousei | 27.926623% | 4628 | 16572 -d_a_obj_laundry_rope | 34.459867% | 2284 | 6628 -d_a_obj_oiltubo | 40.168244% | 3056 | 7608 -d_a_obj_scannon | 35.209799% | 5404 | 15348 -d_a_obj_barDesk | 49.477072% | 2460 | 4972 -d_a_obj_yobikusa | 39.095993% | 3356 | 8584 -d_a_obj_Y_taihou | 37.379068% | 3400 | 9096 -d_a_obj_hbombkoya | 47.549020% | 3104 | 6528 -d_a_obj_keyhole | 33.394883% | 5064 | 15164 -d_a_obj_ki | 41.573034% | 2220 | 5340 -d_a_obj_lv6swturn | 36.266259% | 1896 | 5228 -d_a_obj_twGate | 57.395498% | 2856 | 4976 -d_a_obj_bsGate | 48.010850% | 2124 | 4424 -d_a_obj_zra_freeze | 37.662338% | 1624 | 4312 -d_a_obj_waterfall | 34.033613% | 2268 | 6664 -d_a_obj_kita | 40.112090% | 2004 | 4996 -d_a_obj_nan | 33.293811% | 5616 | 16868 -d_a_obj_testcube | 100.000000% | 504 | 504 -d_a_obj_batta | 31.886560% | 5172 | 16220 -d_a_obj_udoor | 49.156627% | 1632 | 3320 -d_a_obj_damCps | 100.000000% | 504 | 504 -d_a_obj_tobyhouse | 34.586466% | 3864 | 11172 -d_a_obj_enemy_create | 100.000000% | 2828 | 2828 -d_a_obj_magne_arm | 34.395028% | 7084 | 20596 -d_a_obj_TvCdlst | 43.547170% | 2308 | 5300 -d_a_obj_lv8OptiLift | 35.768374% | 3212 | 8980 -d_a_obj_avalanche | 41.881443% | 2600 | 6208 -d_a_obj_glowSphere | 38.917749% | 3596 | 9240 -d_a_obj_lv4CandleDemoTag | 46.972860% | 1800 | 3832 -d_a_obj_pillar | 38.500852% | 3616 | 9392 -d_a_obj_fchain | 30.649490% | 2284 | 7452 -d_a_obj_Turara | 38.494412% | 4684 | 12168 -d_a_obj_tgake | 49.302326% | 1272 | 2580 -d_a_obj_crvlh_up | 42.485784% | 2092 | 4924 -d_a_obj_lv7PropellerY | 41.738506% | 2324 | 5568 -d_a_obj_digholl | 42.781690% | 972 | 2272 -d_a_obj_swpush2 | 34.150019% | 3624 | 10612 -d_a_obj_warp_obrg | 34.784076% | 4124 | 11856 -d_a_obj_zrTuraraRock | 46.299094% | 2452 | 5296 -d_a_obj_scannon_crs | 35.204678% | 3612 | 10260 -d_a_obj_boumato | 40.192484% | 3508 | 8728 -d_a_obj_lv6FurikoTrap | 45.967742% | 2736 | 5952 -d_a_obj_fireWood | 44.125561% | 1968 | 4460 -d_a_obj_wdStick | 32.908234% | 4748 | 14428 -d_a_obj_lv4PoGate | 44.906743% | 2504 | 5576 -d_a_obj_rotBridge | 43.430152% | 2512 | 5784 -d_a_obj_bmWindow | 38.757933% | 3420 | 8824 -d_a_obj_smtile | 35.912938% | 2376 | 6616 -d_a_obj_sm_door | 39.302885% | 2616 | 6656 -d_a_obj_lv6bemos | 42.081031% | 3656 | 8688 -d_a_obj_lv3WaterB | 46.278317% | 1716 | 3708 -d_a_obj_swhang | 38.446450% | 3920 | 10196 -d_a_obj_kjgjs | 52.250804% | 1300 | 2488 -d_a_obj_drop | 30.227416% | 3828 | 12664 -d_a_obj_chandelier | 36.773256% | 2024 | 5504 -d_a_obj_lv7BsGate | 48.080279% | 2204 | 4584 -d_a_obj_volcball | 34.010759% | 4552 | 13384 -d_a_obj_heavySw | 41.214623% | 2796 | 6784 -d_a_obj_ikada | 40.697674% | 1960 | 4816 -d_a_obj_cho | 33.555219% | 4436 | 13220 -d_a_obj_hakai_ftr | 42.324888% | 2272 | 5368 -d_a_obj_stairBlock | 45.129643% | 2576 | 5708 -d_a_obj_brg | 22.881356% | 6696 | 29264 -d_a_obj_lv8UdFloor | 39.681529% | 2492 | 6280 -d_a_obj_zra_rock | 45.394112% | 1912 | 4212 -d_a_obj_kago | 31.956798% | 4024 | 12592 -d_a_obj_ice_s | 35.446009% | 2416 | 6816 -d_a_obj_klift00 | 37.650457% | 3128 | 8308 -d_a_obj_sakuita | 43.573382% | 1912 | 4388 -d_a_obj_ystone | 42.824944% | 2280 | 5324 -d_a_obj_bk_leaf | 41.935484% | 1144 | 2728 -d_a_obj_flag2 | 46.370840% | 5852 | 12620 -d_a_obj_flag3 | 33.292929% | 3296 | 9900 -d_a_obj_waterGate | 47.279550% | 2016 | 4264 -d_a_obj_lv1Candle01 | 44.344569% | 2368 | 5340 -d_a_obj_bosswarp | 39.728243% | 4912 | 12364 -d_a_obj_poCandle | 44.244604% | 2460 | 5560 -d_a_obj_vground | 44.817927% | 1280 | 2856 -d_a_obj_grave_stone | 42.700730% | 2340 | 5480 -d_a_obj_lv6elevta | 39.452780% | 1788 | 4532 -d_a_obj_bky_rock | 35.592460% | 3172 | 8912 -d_a_obj_burnbox | 45.251397% | 1620 | 3580 -d_a_obj_table | 45.544554% | 1656 | 3636 -d_a_obj_gm | 35.212957% | 4696 | 13336 -d_a_obj_szbridge | 43.280632% | 1752 | 4048 -d_a_obj_lv3Water | 44.263566% | 4568 | 10320 -d_a_obj_lv1Candle00 | 41.348158% | 2380 | 5756 -d_a_obj_ktonfire | 45.504087% | 2004 | 4404 -d_a_obj_sw | 27.590884% | 4068 | 14744 -d_a_obj_lv6bemos2 | 32.122093% | 7072 | 22016 -d_a_obj_kazeneko | 45.277127% | 2320 | 5124 -d_a_obj_fw | 43.368592% | 2132 | 4916 -d_a_obj_kamakiri | 30.171107% | 5572 | 18468 -d_a_obj_lv5SwIce | 46.408046% | 2584 | 5568 -d_a_obj_lv4digsand | 43.888433% | 2140 | 4876 -d_a_obj_kuwagata | 30.226537% | 5604 | 18540 -d_a_obj_food | 36.994728% | 3368 | 9104 -d_a_obj_hata | 39.059081% | 1428 | 3656 -d_a_obj_pleaf | 44.689221% | 2272 | 5084 -d_a_obj_dust | 40.406977% | 2224 | 5504 -d_a_obj_firepillar | 43.032015% | 1828 | 4248 -d_a_obj_brakeeff | 45.417515% | 1784 | 3928 -d_a_obj_lv9SwShutter | 48.128342% | 2160 | 4488 -d_a_obj_lv6SwGate | 40.186916% | 3784 | 9416 -d_a_obj_kwheel00 | 40.352811% | 2928 | 7256 -d_a_obj_crystal | 44.482173% | 1048 | 2356 -d_a_obj_hb | 29.310936% | 3420 | 11668 -d_a_obj_swchain | 24.473297% | 3996 | 16328 -d_a_obj_sword | 45.479963% | 1952 | 4292 -d_a_obj_shield | 34.160959% | 3192 | 9344 -d_a_obj_tmoon | 48.478702% | 956 | 1972 -d_a_obj_lv7bridge | 39.684569% | 3724 | 9384 -d_a_obj_lbox | 47.423510% | 2356 | 4968 -d_a_obj_lv6ChangeGate | 41.732283% | 3816 | 9144 -d_a_obj_sekidoor | 43.834383% | 1948 | 4444 -d_a_obj_pumpkin | 29.152971% | 4612 | 15820 -d_a_obj_bhashi | 31.443815% | 3772 | 11996 -d_a_obj_hhashi | 33.138856% | 3408 | 10284 -d_a_obj_riverrock | 37.311178% | 2964 | 7944 -d_a_obj_prop | 47.868217% | 988 | 2064 -d_a_obj_lv6Lblock | 46.958175% | 1976 | 4208 -d_a_obj_swBallC | 41.458222% | 3116 | 7516 -d_a_obj_digplace | 35.129068% | 1252 | 3564 -d_a_obj_lv4CandleTag | 50.114416% | 1752 | 3496 -d_a_obj_rw | 41.210834% | 3104 | 7532 -d_a_obj_syRock | 38.458961% | 4592 | 11940 -d_a_obj_bed | 42.310889% | 2036 | 4812 -d_a_obj_thdoor | 39.419319% | 2824 | 7164 -d_a_obj_kag | 32.055503% | 5452 | 17008 -d_a_obj_movebox | 36.691330% | 7736 | 21084 -d_a_obj_dan | 35.198921% | 4176 | 11864 -d_a_obj_magLiftRot | 40.697674% | 3080 | 7568 -d_a_obj_lv4SlideWall | 48.954373% | 2060 | 4208 -d_a_obj_toaru_maki | 46.596067% | 1232 | 2644 -d_a_obj_yel_bag | 33.773087% | 3584 | 10612 -d_a_obj_hsTarget | 57.317073% | 1504 | 2624 -d_a_obj_digsnow | 44.813278% | 2160 | 4820 -d_a_obj_bubblePilar | 44.760583% | 2580 | 5764 -d_a_obj_well_cover | 45.704467% | 1596 | 3492 -d_a_obj_mato | 37.093023% | 2552 | 6880 -d_a_obj_lv4RailWall | 41.496973% | 3016 | 7268 -d_a_obj_stonemark | 52.549020% | 1072 | 2040 -d_a_obj_gomikabe | 37.032799% | 3884 | 10488 -d_a_obj_lv5IceWall | 39.937435% | 3064 | 7672 -d_a_obj_life_container | 34.456243% | 3764 | 10924 -d_a_obj_lv3waterEff | 48.122066% | 820 | 1704 -d_a_obj_kwheel01 | 41.610233% | 2212 | 5316 -d_a_obj_firepillar2 | 32.320564% | 2936 | 9084 -d_a_obj_h_saku | 37.610063% | 2392 | 6360 -d_a_obj_warp_kbrg | 34.066524% | 5080 | 14912 -d_a_obj_so | 31.698636% | 6412 | 20228 -d_a_obj_kshutter | 35.690936% | 4804 | 13460 -d_a_obj_lv4prwall | 38.593750% | 1976 | 5120 -d_a_obj_ari | 31.622322% | 5372 | 16988 -d_a_obj_swpush5 | 39.210384% | 2900 | 7396 -d_a_obj_crvfence | 37.146893% | 3156 | 8496 -d_a_obj_crvlh_down | 42.363776% | 2208 | 5212 -d_a_obj_rock | 40.423729% | 1908 | 4720 -d_a_obj_poFire | 36.999540% | 3216 | 8692 -d_a_obj_stone | 26.135237% | 5272 | 20172 -d_a_obj_lv4gear | 42.242704% | 1100 | 2604 -d_a_obj_wchain | 31.823745% | 3120 | 9804 -d_a_obj_spinLift | 41.107692% | 2672 | 6500 -d_a_obj_lv3Candle | 45.638126% | 2260 | 4952 -d_a_obj_smw_stone | 40.435606% | 1708 | 4224 -d_a_obj_stick | 43.708609% | 2376 | 5436 -d_a_obj_groundwater | 40.823478% | 3728 | 9132 -d_a_obj_stopper | 31.675996% | 3848 | 12148 -d_a_obj_ten | 30.064631% | 5396 | 17948 -d_a_obj_mhole | 35.548173% | 2140 | 6020 -d_a_obj_fmobj | 55.200000% | 1104 | 2000 -d_a_obj_swallshutter | 41.268759% | 2420 | 5864 -d_a_obj_takaraDai | 46.376812% | 2304 | 4968 -d_a_obj_ice_l | 34.815373% | 1848 | 5308 -d_a_obj_fallobj | 31.929604% | 2032 | 6364 -d_a_obj_crvsteel | 48.717949% | 1520 | 3120 -d_a_obj_lv3Water2 | 41.786571% | 2788 | 6672 -d_a_obj_cboard | 57.703927% | 1528 | 2648 -d_a_obj_crope | 26.014689% | 2692 | 10348 -d_a_obj_sakuita_rope | 30.817009% | 2580 | 8372 -d_a_obj_eff | 73.504274% | 688 | 936 -d_a_obj_thashi | 49.534161% | 3828 | 7728 -d_a_obj_itamato | 38.072602% | 3524 | 9256 -d_a_obj_knBullet | 43.076923% | 1568 | 3640 -d_a_obj_wsword | 48.936170% | 1380 | 2820 -d_a_obj_smoke | 51.322751% | 776 | 1512 -d_a_obj_swBallA | 35.803945% | 2396 | 6692 -d_a_obj_cwall | 30.455195% | 5968 | 19596 -d_a_obj_picture | 35.041841% | 4020 | 11472 -d_a_obj_ladder | 42.348485% | 2236 | 5280 -d_a_obj_gptaru | 33.238231% | 4660 | 14020 -d_a_obj_rotTrap | 45.877144% | 3316 | 7228 -d_a_obj_swspinner | 39.141631% | 1824 | 4660 -d_a_obj_lv3saka00 | 50.576369% | 1404 | 2776 -d_a_obj_metalbox | 50.268097% | 1500 | 2984 -d_a_obj_bmshutter | 41.338854% | 2396 | 5796 -d_a_obj_kkanban | 47.103514% | 1984 | 4212 -d_a_obj_goGate | 48.046181% | 2164 | 4504 -d_a_obj_lv8KekkaiTrap | 49.367089% | 2028 | 4108 -d_a_obj_lv6Tenbin | 40.000000% | 2848 | 7120 -d_a_obj_kbox | 35.736196% | 3728 | 10432 -d_a_obj_bbox | 48.606466% | 1744 | 3588 -d_a_obj_bombf | 46.875000% | 1020 | 2176 -d_a_obj_key | 33.145009% | 3520 | 10620 -d_a_obj_crvgate | 27.603513% | 4400 | 15940 -d_a_obj_iceleaf | 37.604212% | 3428 | 9116 -d_a_obj_tombo | 33.688640% | 4804 | 14260 -d_a_obj_lv5ychndlr | 40.267765% | 3128 | 7768 -d_a_obj_usaku | 55.081301% | 1084 | 1968 -d_a_obj_gb | 41.063644% | 1884 | 4588 -d_a_obj_nougu | 42.325581% | 2548 | 6020 -d_a_obj_roten | 41.613588% | 1568 | 3768 -d_a_obj_timer | 46.691176% | 1016 | 2176 -d_a_obj_bhbridge | 39.936609% | 2016 | 5048 -d_a_obj_sekizo | 53.625171% | 1568 | 2924 -d_a_obj_saidan | 50.210970% | 1904 | 3792 -d_a_obj_grz_rock | 45.558087% | 1600 | 3512 -d_a_obj_kaisou | 41.645729% | 2652 | 6368 -d_a_obj_mvstair | 35.209479% | 3328 | 9452 -d_a_obj_pdoor | 37.254902% | 1900 | 5100 -d_a_obj_pdtile | 31.467607% | 2856 | 9076 -d_a_obj_inobone | 42.361111% | 1952 | 4608 -d_a_obj_msima | 35.108959% | 3480 | 9912 -d_a_obj_smgdoor | 41.383095% | 3016 | 7288 -d_a_obj_bemos | 32.943081% | 10580 | 32116 -d_a_obj_sekizoa | 32.789446% | 15112 | 46088 -d_a_obj_chest | 39.833795% | 2876 | 7220 -d_a_obj_snowEffTag | 46.419098% | 1400 | 3016 -d_a_obj_lv4sand | 46.461825% | 1996 | 4296 -d_a_obj_flag | 37.518248% | 2056 | 5480 -d_a_obj_maki | 45.531587% | 2364 | 5192 -d_a_obj_ss_drink | 36.026542% | 3692 | 10248 -d_a_obj_automata | 40.573951% | 3676 | 9060 -d_a_obj_geyser | 29.678068% | 3540 | 11928 -d_a_obj_cblock | 42.294713% | 3008 | 7112 -d_a_obj_taFence | 41.279360% | 3304 | 8004 -d_a_obj_window | 42.655602% | 2056 | 4820 -d_a_obj_swturn | 31.295716% | 2396 | 7656 -d_a_obj_rcircle | 43.989432% | 1332 | 3028 -d_a_obj_kanban2 | 30.775877% | 7124 | 23148 -d_a_obj_iceblock | 32.744340% | 4744 | 14488 -d_a_obj_lv6TogeTrap | 34.484536% | 5352 | 15520 -d_a_obj_wflag | 41.214286% | 2308 | 5600 -d_a_obj_cdoor | 40.255786% | 2644 | 6568 -d_a_obj_lv8Lift | 35.532359% | 3404 | 9580 -d_a_obj_zcloth | 52.373418% | 1324 | 2528 -d_a_obj_katatsumuri | 31.170697% | 5208 | 16708 -d_a_obj_togeTrap | 41.746183% | 3500 | 8384 -d_a_obj_web0 | 75.286533% | 4204 | 5584 -d_a_obj_ganonwall | 38.930481% | 1456 | 3740 -d_a_obj_kantera | 37.623762% | 2432 | 6464 -d_a_obj_gra_rock | 37.947123% | 2928 | 7716 -d_a_obj_lv5yiblltray | 33.403583% | 3804 | 11388 -d_a_obj_swLight | 40.346767% | 3444 | 8536 -d_a_obj_tks | 34.669261% | 7128 | 20560 -d_a_obj_nameplate | 39.726962% | 2328 | 5860 -d_a_obj_nagaisu | 37.130271% | 2360 | 6356 -d_a_obj_stopper2 | 38.987342% | 1848 | 4740 -d_a_obj_graWall | 55.725191% | 1168 | 2096 -d_a_obj_balloon | 42.722710% | 2724 | 6376 -d_a_obj_rgate | 36.466069% | 5696 | 15620 -d_a_obj_waterPillar | 37.877429% | 5068 | 13380 -d_a_obj_swBallB | 34.276891% | 2664 | 7772 -d_a_obj_fan | 39.173554% | 2844 | 7260 -d_a_obj_lv4EdShutter | 45.846154% | 2384 | 5200 -d_a_obj_swpropeller | 39.765679% | 2308 | 5804 -d_a_obj_dmelevator | 35.600390% | 4376 | 12292 -d_a_obj_onsenTaru | 38.567616% | 3468 | 8992 -d_a_obj_wind_stone | 37.702265% | 1864 | 4944 -d_a_obj_kgate | 35.192216% | 5932 | 16856 -d_a_obj_lv6TogeRoll | 35.933806% | 4256 | 11844 -d_a_obj_ornament_cloth | 38.734568% | 2008 | 5184 -d_a_obj_ita | 42.717855% | 2804 | 6564 -d_a_obj_ndoor | 51.957831% | 1380 | 2656 -d_a_obj_kznkarm | 35.088583% | 2852 | 8128 -d_a_obj_zrTurara | 43.437672% | 3164 | 7284 -d_a_obj_wood_statue | 36.601579% | 3524 | 9628 -d_a_obj_rstair | 37.354086% | 2688 | 7196 -d_a_obj_lv6SzGate | 45.147151% | 2884 | 6388 -d_a_obj_tp | 35.262726% | 3436 | 9744 -d_a_obj_swpush | 31.657104% | 3752 | 11852 -d_a_obj_lv4Gate | 48.863636% | 2064 | 4224 -d_a_obj_ito | 30.588925% | 4176 | 13652 -d_a_obj_master_sword | 43.575419% | 2808 | 6444 -d_a_obj_carry | 29.827071% | 18352 | 61528 -d_a_obj_myogan | 51.677852% | 1848 | 3576 -d_a_obj_toby | 32.460733% | 3720 | 11460 -d_a_obj_lv5FloorBoard | 47.577093% | 2592 | 5448 -d_a_obj_smallkey | 31.464798% | 3772 | 11988 -d_a_obj_rfHole | 43.621701% | 2380 | 5456 -d_a_obj_tornado | 36.577869% | 1428 | 3904 -d_a_obj_rope_bridge | 36.903633% | 4672 | 12660 -d_a_obj_zraMark | 34.016942% | 3052 | 8972 -d_a_obj_ss_item | 38.313378% | 2944 | 7684 -d_a_obj_laundry | 39.077103% | 2676 | 6848 -d_a_obj_lv4chandelier | 26.284971% | 4848 | 18444 -d_a_obj_Lv5Key | 37.172105% | 2324 | 6252 -d_a_obj_zdoor | 45.037688% | 2868 | 6368 -d_a_obj_kage | 50.520833% | 1164 | 2304 -d_a_obj_magLift | 41.319181% | 2180 | 5276 -d_a_obj_timeFire | 43.483146% | 1548 | 3560 -d_a_obj_mie | 34.891676% | 3672 | 10524 -d_a_obj_octhashi | 35.325420% | 3452 | 9772 -d_a_obj_onsenFire | 61.419753% | 796 | 1296 -d_a_obj_cb | 43.008475% | 2436 | 5664 -d_a_obj_poTbox | 44.731739% | 2768 | 6188 -d_a_obj_kbacket | 33.053127% | 3932 | 11896 -d_a_obj_lv4prelvtr | 48.664688% | 1312 | 2696 -d_a_obj_ihasi | 43.372216% | 1636 | 3772 -d_a_obj_pdwall | 40.192308% | 1672 | 4160 -d_a_obj_web1 | 100.000000% | 5772 | 5772 -d_a_obj_hfuta | 39.073970% | 2768 | 7084 -d_a_obj_lv2candle | 38.160920% | 2656 | 6960 -d_a_obj_wood_pendulum | 44.455748% | 1748 | 3932 -d_a_obj_onsen | 49.239281% | 1424 | 2892 -d_a_obj_hasu2 | 41.190476% | 1384 | 3360 -d_a_obj_catdoor | 82.338611% | 2704 | 3284 -d_a_obj_bkdoor | 45.847554% | 1612 | 3516 -d_a_obj_mgate | 47.398844% | 1968 | 4152 -d_a_obj_ganonwall2 | 41.938675% | 1696 | 4044 -d_a_obj_hakai_brl | 40.491284% | 2044 | 5048 -d_a_obj_lp | 29.557762% | 2620 | 8864 -d_a_obj_gadget | 34.371565% | 3752 | 10916 -d_a_obj_tornado2 | 30.997110% | 1716 | 5536 -d_a_obj_amiShutter | 42.478422% | 2756 | 6488 -d_a_obj_lv6egate | 42.456719% | 2060 | 4852 -d_a_obj_snow_soup | 37.025948% | 1484 | 4008 -d_a_obj_kabuto | 30.226537% | 5604 | 18540 -d_a_obj_treesh | 48.098664% | 1872 | 3892 -d_a_obj_cowdoor | 56.672761% | 1240 | 2188 -d_a_obj_mirror_sand | 46.972860% | 1800 | 3832 -d_a_obj_mirror_chain | 34.916201% | 3500 | 10024 -d_a_obj_mirror_screw | 40.374532% | 2156 | 5340 -d_a_obj_mirror_6pole | 49.656751% | 1736 | 3496 -d_a_obj_mirror_table | 38.664122% | 4052 | 10480 -d_a_npc_doc | 38.160961% | 8516 | 22316 -d_a_npc_tkc | 32.075472% | 7820 | 24380 -d_a_npc_aru | 34.812103% | 12932 | 37148 -d_a_npc_kolinb | 41.382827% | 8116 | 19612 -d_a_npc_knj | 41.627219% | 5628 | 13520 -d_a_npc_fish | 79.939819% | 3188 | 3988 -d_a_npc_raca | 38.792102% | 8016 | 20664 -d_a_npc_pachi_taro | 42.126544% | 15420 | 36604 -d_a_npc_rafrel | 29.654182% | 10736 | 36204 -d_a_npc_seirei | 39.691517% | 6176 | 15560 -d_a_npc_doorboy | 35.898009% | 6420 | 17884 -d_a_npc_zra | 24.569698% | 26608 | 108296 -d_a_npc_chin | 33.958357% | 11808 | 34772 -d_a_npc_zant | 38.262795% | 6220 | 16256 -d_a_npc_kkri | 38.042823% | 10092 | 26528 -d_a_npc_zelRo | 37.784656% | 6836 | 18092 -d_a_npc_zelR | 37.762547% | 6832 | 18092 -d_a_npc_ne | 24.204919% | 12360 | 51064 -d_a_npc_kasi_kyu | 33.587533% | 8104 | 24128 -d_a_npc_shop_maro | 53.691275% | 2880 | 5364 -d_a_npc_grs | 33.634658% | 7888 | 23452 -d_a_npc_lf | 39.566396% | 2336 | 5904 -d_a_npc_wrestler | 27.819607% | 28820 | 103596 -d_a_npc_grm | 38.118162% | 6968 | 18280 -d_a_npc_besu | 38.726854% | 19492 | 50332 -d_a_npc_yelia | 40.634175% | 13840 | 34060 -d_a_npc_bouS | 32.586831% | 9720 | 29828 -d_a_npc_kakashi | 39.139523% | 8988 | 22964 -d_a_npc_p2 | 100.000000% | 632 | 632 -d_a_npc_jagar | 33.736985% | 11924 | 35344 -d_a_npc_inko | 32.502352% | 2764 | 8504 -d_a_npc_len | 37.465709% | 11472 | 30620 -d_a_npc_moir | 28.712188% | 11656 | 40596 -d_a_npc_tkj2 | 28.985507% | 5520 | 19044 -d_a_npc_gro | 33.290996% | 9436 | 28344 -d_a_npc_kasi_mich | 33.749584% | 8108 | 24024 -d_a_npc_the | 34.936999% | 9760 | 27936 -d_a_npc_df | 35.418672% | 2944 | 8312 -d_a_npc_uri | 34.281392% | 13596 | 39660 -d_a_npc_grz | 31.010419% | 12620 | 40696 -d_a_npc_prayer | 36.469470% | 6140 | 16836 -d_a_npc_shop0 | 38.731379% | 3224 | 8324 -d_a_npc_bans | 34.954955% | 11640 | 33300 -d_a_npc_midp | 37.189356% | 6764 | 18188 -d_a_npc_bou | 36.186814% | 12800 | 35372 -d_a_npc_hanjo | 32.618297% | 14476 | 44380 -d_a_npc_fairy_seirei | 42.302956% | 5496 | 12992 -d_a_npc_du | 35.940410% | 3860 | 10740 -d_a_npc_sq | 39.651108% | 3364 | 8484 -d_a_npc_zrc | 32.120762% | 10384 | 32328 -d_a_npc_kdk | 100.000000% | 504 | 504 -d_a_npc_grc | 32.984636% | 8072 | 24472 -d_a_npc_fguard | 42.375887% | 2868 | 6768 -d_a_npc_ashB | 32.906995% | 8336 | 25332 -d_a_npc_kn | 34.989558% | 48252 | 137904 -d_a_npc_chat | 56.591640% | 32384 | 57224 -d_a_npc_ash | 31.737680% | 9892 | 31168 -d_a_npc_tr | 57.199682% | 2876 | 5028 -d_a_npc_blue_ns | 31.763122% | 7552 | 23776 -d_a_npc_yamid | 36.895778% | 7236 | 19612 -d_a_npc_zanb | 37.827310% | 6992 | 18484 -d_a_npc_tkj | 37.419769% | 6996 | 18696 -d_a_npc_shoe | 36.629002% | 6224 | 16992 -d_a_npc_hoz | 40.521518% | 14048 | 34668 -d_a_npc_pachi_maro | 38.260301% | 9360 | 24464 -d_a_npc_seid | 42.554557% | 5304 | 12464 -d_a_npc_pachi_besu | 42.797557% | 11492 | 26852 -d_a_npc_gwolf | 35.693780% | 11936 | 33440 -d_a_npc_grmc | 40.486016% | 7064 | 17448 -d_a_npc_fairy | 39.344262% | 19776 | 50264 -d_a_npc_gra | 30.387241% | 20120 | 66212 -d_a_npc_tks | 27.123246% | 14384 | 53032 -d_a_npc_ykm | 32.908526% | 20348 | 61832 -d_a_npc_clerka | 36.659479% | 7480 | 20404 -d_a_npc_coach | 28.195770% | 12052 | 42744 -d_a_npc_worm | 33.717579% | 2340 | 6940 -d_a_npc_grr | 33.284338% | 8152 | 24492 -d_a_npc_kolin | 35.754689% | 14412 | 40308 -d_a_npc_clerkt | 36.386139% | 7056 | 19392 -d_a_npc_grd | 33.161068% | 7700 | 23220 -d_a_npc_theB | 34.129794% | 9256 | 27120 -d_a_npc_toby | 35.857461% | 14168 | 39512 -d_a_npc_yamit | 36.693548% | 7280 | 19840 -d_a_npc_maro | 36.380572% | 21872 | 60120 -d_a_npc_ins | 30.852199% | 10412 | 33748 -d_a_npc_seira | 38.908741% | 11324 | 29104 -d_a_npc_post | 37.414676% | 10524 | 28128 -d_a_npc_passer2 | 37.528815% | 3256 | 8676 -d_a_npc_seib | 42.233442% | 5688 | 13468 -d_a_npc_mk | 100.000000% | 632 | 632 -d_a_npc_lud | 38.010021% | 12744 | 33528 -d_a_npc_drainSol | 38.587732% | 4328 | 11216 -d_a_npc_ykw | 33.875000% | 18428 | 54400 -d_a_npc_shad | 27.050485% | 14960 | 55304 -d_a_npc_soldierA | 34.996894% | 6760 | 19316 -d_a_npc_zrz | 31.977232% | 13708 | 42868 -d_a_npc_tk | 22.166176% | 12656 | 57096 -d_a_npc_soldierB | 35.587267% | 6484 | 18220 -d_a_npc_pouya | 40.447529% | 11424 | 28244 -d_a_npc_guard | 35.071398% | 6484 | 18488 -d_a_npc_yamis | 36.878425% | 7268 | 19708 -d_a_npc_sola | 39.560155% | 6116 | 15460 -d_a_npc_ks | 24.232793% | 27448 | 113268 -d_a_npc_taro | 38.152632% | 28996 | 76000 -d_a_npc_seira2 | 39.278557% | 10192 | 25948 -d_a_npc_henna0 | 100.000000% | 504 | 504 -d_a_npc_passer | 35.701424% | 8724 | 24436 -d_a_npc_moi | 34.114704% | 14728 | 43172 -d_a_npc_impal | 32.590326% | 8948 | 27456 -d_a_npc_kyury | 39.351296% | 9172 | 23308 -d_a_npc_saru | 39.289415% | 10616 | 27020 -d_a_npc_shaman | 40.368229% | 10612 | 26288 -d_a_npc_cdn3 | 34.686491% | 14184 | 40892 -d_a_npc_gnd | 36.965399% | 6880 | 18612 -d_a_npc_myna2 | 33.448276% | 8924 | 26680 -d_a_npc_kasi_hana | 29.810206% | 10492 | 35196 -d_a_npc_clerkb | 36.128920% | 8340 | 23084 -d_a_npc_zelda | 37.603569% | 7080 | 18828 -d_a_npc_henna | 27.446434% | 11836 | 43124 -d_a_npc_seic | 42.554557% | 5304 | 12464 -d_a_e_ws | 29.700483% | 6148 | 20700 -d_a_e_ym | 20.062370% | 13896 | 69264 -d_a_e_po | 23.824220% | 14204 | 59620 -d_a_e_dt | 27.760631% | 12952 | 46656 -d_a_e_bi | 30.767563% | 5676 | 18448 -d_a_e_tk | 32.077326% | 3916 | 12208 -d_a_e_ai | 28.308171% | 5100 | 18016 -d_a_e_md | 34.917814% | 3144 | 9004 -d_a_e_tk2 | 33.419577% | 3100 | 9276 -d_a_e_fk | 32.965394% | 4420 | 13408 -d_a_e_db_leaf | 57.582938% | 972 | 1688 -d_a_e_ms | 28.208138% | 5768 | 20448 -d_a_e_cr_egg | 43.296089% | 1860 | 4296 -d_a_e_mb | 29.067542% | 4252 | 14628 -d_a_e_yc | 30.733107% | 4712 | 15332 -d_a_e_pz | 27.469575% | 13904 | 50616 -d_a_e_mm | 27.438612% | 4872 | 17756 -d_a_e_db | 26.006517% | 9896 | 38052 -d_a_e_rb | 30.197628% | 4584 | 15180 -d_a_e_s1 | 28.078818% | 9804 | 34916 -d_a_e_gm | 28.274812% | 10404 | 36796 -d_a_e_sh | 30.953709% | 6660 | 21516 -d_a_e_sw | 21.949266% | 9864 | 44940 -d_a_e_ph | 23.274129% | 5556 | 23872 -d_a_e_df | 28.031364% | 4004 | 14284 -d_a_e_hzelda | 30.097531% | 7900 | 26248 -d_a_e_hb | 27.624471% | 7568 | 27396 -d_a_e_sg | 29.168221% | 6256 | 21448 -d_a_e_kk | 27.161029% | 7516 | 27672 -d_a_e_yr | 27.591936% | 9964 | 36112 -d_a_e_bi_leaf | 50.446429% | 904 | 1792 -d_a_e_vt | 24.313702% | 16332 | 67172 -d_a_e_th_ball | 29.462631% | 5724 | 19428 -d_a_e_mm_mt | 28.672856% | 4200 | 14648 -d_a_e_bug | 29.207138% | 5172 | 17708 -d_a_e_sm2 | 30.097087% | 8184 | 27192 -d_a_e_ww | 23.418134% | 10052 | 42924 -d_a_e_dk | 29.244060% | 5416 | 18520 -d_a_e_dd | 26.687870% | 7384 | 27668 -d_a_e_ba | 28.140394% | 5484 | 19488 -d_a_e_yd | 27.879315% | 7688 | 27576 -d_a_e_kr | 27.652396% | 9508 | 34384 -d_a_e_hm | 27.299426% | 8180 | 29964 -d_a_e_zs | 31.358336% | 3980 | 12692 -d_a_e_rd | 24.121965% | 25632 | 106260 -d_a_e_fm | 24.588144% | 15164 | 61672 -d_a_e_hz | 23.990326% | 7936 | 33080 -d_a_e_is | 31.728595% | 3928 | 12380 -d_a_e_st_line | 60.459770% | 1052 | 1740 -d_a_e_pm | 21.505129% | 11236 | 52248 -d_a_e_oc | 22.586920% | 11148 | 49356 -d_a_e_rdy | 25.649401% | 19788 | 77148 -d_a_e_zh | 27.029865% | 9268 | 34288 -d_a_e_hp | 28.231798% | 6840 | 24228 -d_a_e_sb | 28.045789% | 5488 | 19568 -d_a_e_mf | 25.211695% | 12624 | 50072 -d_a_e_gi | 30.183330% | 6388 | 21164 -d_a_e_bs | 32.320835% | 5448 | 16856 -d_a_e_nest | 29.119005% | 5804 | 19932 -d_a_e_rdb | 27.331887% | 9576 | 35036 -d_a_e_yh | 26.277603% | 9996 | 38040 -d_a_e_kg | 31.431080% | 4296 | 13668 -d_a_e_gs | 44.729606% | 1952 | 4364 -d_a_e_fs | 31.823996% | 4976 | 15636 -d_a_e_wb | 23.058129% | 20008 | 86772 -d_a_e_fz | 30.508860% | 5372 | 17608 -d_a_e_mk_bo | 29.776477% | 4476 | 15032 -d_a_e_th | 29.463680% | 6944 | 23568 -d_a_e_ga | 43.014395% | 2032 | 4724 -d_a_e_st | 26.260013% | 12588 | 47936 -d_a_e_hb_leaf | 55.309735% | 1000 | 1808 -d_a_e_sf | 29.821481% | 8152 | 27336 -d_a_e_tt | 27.836991% | 7104 | 25520 -d_a_e_ge | 24.669967% | 7176 | 29088 -d_a_e_arrow | 35.306882% | 4556 | 12904 -d_a_e_yk | 29.001484% | 5472 | 18868 -d_a_e_nz | 32.041969% | 4764 | 14868 -d_a_e_fb | 31.127328% | 4948 | 15896 -d_a_e_warpappear | 28.864569% | 4220 | 14620 -d_a_e_ot | 32.497589% | 5392 | 16592 -d_a_e_zm | 28.267015% | 5200 | 18396 -d_a_e_sm | 24.418880% | 8236 | 33728 -d_a_e_ymb | 23.798093% | 14672 | 61652 -d_a_e_gob | 26.683396% | 10208 | 38256 -d_a_e_oct_bg | 30.217151% | 6568 | 21736 -d_a_e_yg | 28.386013% | 7436 | 26196 -d_a_e_tk_ball | 33.349562% | 2740 | 8216 -d_a_e_bee | 30.316629% | 4864 | 16044 -d_a_e_ym_tag | 61.764706% | 672 | 1088 -d_a_e_gb | 26.939571% | 8292 | 30780 -d_a_e_mk | 25.747187% | 11716 | 45504 -d_a_e_dn | 25.842869% | 13460 | 52084 -d_a_e_cr | 34.481521% | 3844 | 11148 -d_a_e_yd_leaf | 54.022989% | 1128 | 2088 -d_a_e_bu | 30.436573% | 5912 | 19424 -d_a_e_bg | 27.665091% | 7256 | 26228 +d_a_L7low_dr | 38.905775% | 1536 | 3948 +d_a_L7op_demo_dr | 26.198715% | 4240 | 16184 +d_a_alldie | 100.000000% | 2096 | 2096 +d_a_andsw | 60.526316% | 644 | 1064 +d_a_andsw2 | 29.472774% | 1364 | 4628 +d_a_arrow | 28.104690% | 6400 | 22772 d_a_b_bh | 24.452445% | 6520 | 26664 -d_a_b_yo_ice | 28.297953% | 5972 | 21104 +d_a_b_bq | 28.033347% | 11164 | 39824 +d_a_b_dr | 27.536664% | 18476 | 67096 d_a_b_dre | 27.912731% | 4964 | 17784 -d_a_b_yo | 25.613486% | 14404 | 56236 +d_a_b_ds | 26.627364% | 26016 | 97704 +d_a_b_gg | 22.324410% | 17380 | 77852 +d_a_b_gm | 30.376176% | 11628 | 38280 d_a_b_gnd | 25.489573% | 19264 | 75576 -d_a_b_oh | 32.611348% | 4276 | 13112 d_a_b_go | 44.671347% | 2800 | 6268 -d_a_b_zant_magic | 42.453480% | 2464 | 5804 -d_a_b_tn | 24.850960% | 21176 | 85212 +d_a_b_gos | 43.551689% | 3404 | 7816 d_a_b_mgn | 26.103833% | 15064 | 57708 d_a_b_ob | 26.856326% | 15784 | 58772 -d_a_b_gg | 22.324410% | 17380 | 77852 -d_a_b_ds | 26.627364% | 26016 | 97704 -d_a_b_zant | 22.203940% | 19432 | 87516 -d_a_b_gos | 43.551689% | 3404 | 7816 -d_a_b_dr | 27.536664% | 18476 | 67096 -d_a_b_zant_mobile | 36.326402% | 4612 | 12696 +d_a_b_oh | 32.611348% | 4276 | 13112 d_a_b_oh2 | 100.000000% | 5532 | 5532 -d_a_b_bq | 28.033347% | 11164 | 39824 +d_a_b_tn | 24.850960% | 21176 | 85212 +d_a_b_yo | 25.613486% | 14404 | 56236 +d_a_b_yo_ice | 28.297953% | 5972 | 21104 +d_a_b_zant | 22.203940% | 19432 | 87516 +d_a_b_zant_magic | 42.453480% | 2464 | 5804 +d_a_b_zant_mobile | 36.326402% | 4612 | 12696 d_a_b_zant_sima | 40.995025% | 1648 | 4020 -d_a_b_gm | 30.376176% | 11628 | 38280 -Total | 33.041295% | 3799856 | 11500324 +d_a_balloon_2D | 29.886212% | 3572 | 11952 +d_a_bd | 31.115418% | 5780 | 18576 +d_a_bg | 41.505376% | 3860 | 9300 +d_a_bg_obj | 32.434657% | 6304 | 19436 +d_a_boomerang | 26.528647% | 6612 | 24924 +d_a_bullet | 42.660550% | 2604 | 6104 +d_a_canoe | 28.479263% | 4944 | 17360 +d_a_coach_2D | 38.344915% | 2428 | 6332 +d_a_coach_fire | 44.050104% | 1688 | 3832 +d_a_cow | 22.936702% | 12784 | 55736 +d_a_crod | 33.887043% | 2448 | 7224 +d_a_cstaf | 32.377740% | 3840 | 11860 +d_a_cstatue | 29.155833% | 6728 | 23076 +d_a_demo00 | 29.136000% | 7284 | 25000 +d_a_demo_item | 33.863165% | 3920 | 11576 +d_a_disappear | 45.091514% | 1084 | 2404 +d_a_dmidna | 50.000000% | 944 | 1888 +d_a_do | 25.780847% | 10004 | 38804 +d_a_door_boss | 40.856890% | 3700 | 9056 +d_a_door_bossL5 | 39.221790% | 4032 | 10280 +d_a_door_bossl1 | 39.355114% | 7372 | 18732 +d_a_door_dbdoor00 | 40.734908% | 3104 | 7620 +d_a_door_knob00 | 37.500000% | 4608 | 12288 +d_a_door_mbossL1 | 34.467633% | 10372 | 30092 +d_a_door_push | 37.997725% | 2672 | 7032 +d_a_door_shutter | 37.465797% | 14240 | 38008 +d_a_door_spiral | 100.000000% | 504 | 504 +d_a_dshutter | 46.003263% | 2256 | 4904 +d_a_e_ai | 28.308171% | 5100 | 18016 +d_a_e_arrow | 35.306882% | 4556 | 12904 +d_a_e_ba | 28.140394% | 5484 | 19488 +d_a_e_bee | 30.316629% | 4864 | 16044 +d_a_e_bg | 27.665091% | 7256 | 26228 +d_a_e_bi | 30.767563% | 5676 | 18448 +d_a_e_bi_leaf | 50.446429% | 904 | 1792 +d_a_e_bs | 32.320835% | 5448 | 16856 +d_a_e_bu | 30.436573% | 5912 | 19424 +d_a_e_bug | 29.207138% | 5172 | 17708 +d_a_e_cr | 34.481521% | 3844 | 11148 +d_a_e_cr_egg | 43.296089% | 1860 | 4296 +d_a_e_db | 26.006517% | 9896 | 38052 +d_a_e_db_leaf | 57.582938% | 972 | 1688 +d_a_e_dd | 26.687870% | 7384 | 27668 +d_a_e_df | 28.031364% | 4004 | 14284 +d_a_e_dk | 29.244060% | 5416 | 18520 +d_a_e_dn | 25.842869% | 13460 | 52084 +d_a_e_dt | 27.760631% | 12952 | 46656 +d_a_e_fb | 31.127328% | 4948 | 15896 +d_a_e_fk | 32.965394% | 4420 | 13408 +d_a_e_fm | 24.588144% | 15164 | 61672 +d_a_e_fs | 31.823996% | 4976 | 15636 +d_a_e_fz | 30.508860% | 5372 | 17608 +d_a_e_ga | 43.014395% | 2032 | 4724 +d_a_e_gb | 26.939571% | 8292 | 30780 +d_a_e_ge | 24.669967% | 7176 | 29088 +d_a_e_gi | 30.183330% | 6388 | 21164 +d_a_e_gm | 28.274812% | 10404 | 36796 +d_a_e_gob | 26.683396% | 10208 | 38256 +d_a_e_gs | 44.729606% | 1952 | 4364 +d_a_e_hb | 27.624471% | 7568 | 27396 +d_a_e_hb_leaf | 55.309735% | 1000 | 1808 +d_a_e_hm | 27.299426% | 8180 | 29964 +d_a_e_hp | 28.231798% | 6840 | 24228 +d_a_e_hz | 23.990326% | 7936 | 33080 +d_a_e_hzelda | 30.097531% | 7900 | 26248 +d_a_e_is | 31.728595% | 3928 | 12380 +d_a_e_kg | 31.431080% | 4296 | 13668 +d_a_e_kk | 27.161029% | 7516 | 27672 +d_a_e_kr | 27.652396% | 9508 | 34384 +d_a_e_mb | 29.067542% | 4252 | 14628 +d_a_e_md | 34.917814% | 3144 | 9004 +d_a_e_mf | 25.211695% | 12624 | 50072 +d_a_e_mk | 25.747187% | 11716 | 45504 +d_a_e_mk_bo | 29.776477% | 4476 | 15032 +d_a_e_mm | 27.438612% | 4872 | 17756 +d_a_e_mm_mt | 28.672856% | 4200 | 14648 +d_a_e_ms | 28.208138% | 5768 | 20448 +d_a_e_nest | 29.119005% | 5804 | 19932 +d_a_e_nz | 32.041969% | 4764 | 14868 +d_a_e_oc | 22.586920% | 11148 | 49356 +d_a_e_oct_bg | 30.217151% | 6568 | 21736 +d_a_e_ot | 32.497589% | 5392 | 16592 +d_a_e_ph | 23.274129% | 5556 | 23872 +d_a_e_pm | 21.505129% | 11236 | 52248 +d_a_e_po | 23.824220% | 14204 | 59620 +d_a_e_pz | 27.469575% | 13904 | 50616 +d_a_e_rb | 30.197628% | 4584 | 15180 +d_a_e_rd | 24.121965% | 25632 | 106260 +d_a_e_rdb | 27.331887% | 9576 | 35036 +d_a_e_rdy | 25.649401% | 19788 | 77148 +d_a_e_s1 | 28.078818% | 9804 | 34916 +d_a_e_sb | 28.045789% | 5488 | 19568 +d_a_e_sf | 29.821481% | 8152 | 27336 +d_a_e_sg | 29.168221% | 6256 | 21448 +d_a_e_sh | 30.953709% | 6660 | 21516 +d_a_e_sm | 24.418880% | 8236 | 33728 +d_a_e_sm2 | 30.097087% | 8184 | 27192 +d_a_e_st | 26.260013% | 12588 | 47936 +d_a_e_st_line | 60.459770% | 1052 | 1740 +d_a_e_sw | 21.949266% | 9864 | 44940 +d_a_e_th | 29.463680% | 6944 | 23568 +d_a_e_th_ball | 29.462631% | 5724 | 19428 +d_a_e_tk | 32.077326% | 3916 | 12208 +d_a_e_tk2 | 33.419577% | 3100 | 9276 +d_a_e_tk_ball | 33.349562% | 2740 | 8216 +d_a_e_tt | 27.836991% | 7104 | 25520 +d_a_e_vt | 24.313702% | 16332 | 67172 +d_a_e_warpappear | 28.864569% | 4220 | 14620 +d_a_e_wb | 23.058129% | 20008 | 86772 +d_a_e_ws | 29.700483% | 6148 | 20700 +d_a_e_ww | 23.418134% | 10052 | 42924 +d_a_e_yc | 30.733107% | 4712 | 15332 +d_a_e_yd | 27.879315% | 7688 | 27576 +d_a_e_yd_leaf | 54.022989% | 1128 | 2088 +d_a_e_yg | 28.386013% | 7436 | 26196 +d_a_e_yh | 26.277603% | 9996 | 38040 +d_a_e_yk | 29.001484% | 5472 | 18868 +d_a_e_ym | 20.062370% | 13896 | 69264 +d_a_e_ym_tag | 61.764706% | 672 | 1088 +d_a_e_ymb | 23.798093% | 14672 | 61652 +d_a_e_yr | 27.591936% | 9964 | 36112 +d_a_e_zh | 27.029865% | 9268 | 34288 +d_a_e_zm | 28.267015% | 5200 | 18396 +d_a_e_zs | 31.358336% | 3980 | 12692 +d_a_econt | 59.836066% | 876 | 1464 +d_a_ep | 30.950696% | 5248 | 16956 +d_a_formation_mng | 27.806286% | 3468 | 12472 +d_a_fr | 34.866377% | 4488 | 12872 +d_a_grass | 49.074395% | 28312 | 57692 +d_a_guard_mng | 53.457447% | 804 | 1504 +d_a_hitobj | 62.682927% | 1028 | 1640 +d_a_horse | 22.301298% | 15668 | 70256 +d_a_hozelda | 28.805621% | 4920 | 17080 +d_a_izumi_gate | 57.729941% | 1180 | 2044 +d_a_kago | 24.588671% | 15124 | 61508 +d_a_kytag00 | 33.522084% | 2368 | 7064 +d_a_kytag01 | 35.156250% | 1260 | 3584 +d_a_kytag02 | 54.888889% | 988 | 1800 +d_a_kytag03 | 23.399898% | 1828 | 7812 +d_a_kytag04 | 36.357481% | 2148 | 5908 +d_a_kytag05 | 100.000000% | 816 | 816 +d_a_kytag06 | 31.287129% | 4424 | 14140 +d_a_kytag07 | 60.062893% | 764 | 1272 +d_a_kytag08 | 31.379026% | 1520 | 4844 +d_a_kytag09 | 49.936948% | 1584 | 3172 +d_a_kytag10 | 31.720430% | 944 | 2976 +d_a_kytag11 | 52.643172% | 956 | 1816 +d_a_kytag12 | 20.217129% | 3352 | 16580 +d_a_kytag13 | 30.696576% | 2080 | 6776 +d_a_kytag14 | 100.000000% | 1408 | 1408 +d_a_kytag15 | 49.443561% | 1244 | 2516 +d_a_kytag16 | 47.212544% | 1084 | 2296 +d_a_kytag17 | 86.170213% | 648 | 752 +d_a_mant | 86.020312% | 40316 | 46868 +d_a_mg_fish | 26.024167% | 17660 | 67860 +d_a_mg_fshop | 36.363636% | 9360 | 25740 +d_a_mg_rod | 24.484345% | 23836 | 97352 +d_a_midna | 22.953368% | 12404 | 54040 +d_a_mirror | 32.707993% | 3208 | 9808 +d_a_movie_player | 23.696790% | 8328 | 35144 +d_a_myna | 30.876570% | 9736 | 31532 +d_a_nbomb | 28.739233% | 8808 | 30648 +d_a_ni | 27.299309% | 8216 | 30096 +d_a_npc_aru | 34.812103% | 12932 | 37148 +d_a_npc_ash | 31.737680% | 9892 | 31168 +d_a_npc_ashB | 32.906995% | 8336 | 25332 +d_a_npc_bans | 34.954955% | 11640 | 33300 +d_a_npc_besu | 38.726854% | 19492 | 50332 +d_a_npc_blue_ns | 31.763122% | 7552 | 23776 +d_a_npc_bou | 36.186814% | 12800 | 35372 +d_a_npc_bouS | 32.586831% | 9720 | 29828 +d_a_npc_cdn3 | 34.686491% | 14184 | 40892 +d_a_npc_chat | 56.591640% | 32384 | 57224 +d_a_npc_chin | 33.958357% | 11808 | 34772 +d_a_npc_clerka | 36.659479% | 7480 | 20404 +d_a_npc_clerkb | 36.128920% | 8340 | 23084 +d_a_npc_clerkt | 36.386139% | 7056 | 19392 +d_a_npc_coach | 28.195770% | 12052 | 42744 +d_a_npc_df | 35.418672% | 2944 | 8312 +d_a_npc_doc | 38.160961% | 8516 | 22316 +d_a_npc_doorboy | 35.898009% | 6420 | 17884 +d_a_npc_drainSol | 38.587732% | 4328 | 11216 +d_a_npc_du | 35.940410% | 3860 | 10740 +d_a_npc_fairy | 39.344262% | 19776 | 50264 +d_a_npc_fairy_seirei | 42.302956% | 5496 | 12992 +d_a_npc_fguard | 42.375887% | 2868 | 6768 +d_a_npc_fish | 79.939819% | 3188 | 3988 +d_a_npc_gnd | 36.965399% | 6880 | 18612 +d_a_npc_gra | 30.387241% | 20120 | 66212 +d_a_npc_grc | 32.984636% | 8072 | 24472 +d_a_npc_grd | 33.161068% | 7700 | 23220 +d_a_npc_grm | 38.118162% | 6968 | 18280 +d_a_npc_grmc | 40.486016% | 7064 | 17448 +d_a_npc_gro | 33.290996% | 9436 | 28344 +d_a_npc_grr | 33.284338% | 8152 | 24492 +d_a_npc_grs | 33.634658% | 7888 | 23452 +d_a_npc_grz | 31.010419% | 12620 | 40696 +d_a_npc_guard | 35.071398% | 6484 | 18488 +d_a_npc_gwolf | 35.693780% | 11936 | 33440 +d_a_npc_hanjo | 32.618297% | 14476 | 44380 +d_a_npc_henna | 27.446434% | 11836 | 43124 +d_a_npc_henna0 | 100.000000% | 504 | 504 +d_a_npc_hoz | 40.521518% | 14048 | 34668 +d_a_npc_impal | 32.590326% | 8948 | 27456 +d_a_npc_inko | 32.502352% | 2764 | 8504 +d_a_npc_ins | 30.852199% | 10412 | 33748 +d_a_npc_jagar | 33.736985% | 11924 | 35344 +d_a_npc_kakashi | 39.139523% | 8988 | 22964 +d_a_npc_kasi_hana | 29.810206% | 10492 | 35196 +d_a_npc_kasi_kyu | 33.587533% | 8104 | 24128 +d_a_npc_kasi_mich | 33.749584% | 8108 | 24024 +d_a_npc_kdk | 100.000000% | 504 | 504 +d_a_npc_kkri | 38.042823% | 10092 | 26528 +d_a_npc_kn | 34.989558% | 48252 | 137904 +d_a_npc_knj | 41.627219% | 5628 | 13520 +d_a_npc_kolin | 35.754689% | 14412 | 40308 +d_a_npc_kolinb | 41.382827% | 8116 | 19612 +d_a_npc_ks | 24.232793% | 27448 | 113268 +d_a_npc_kyury | 39.351296% | 9172 | 23308 +d_a_npc_len | 37.465709% | 11472 | 30620 +d_a_npc_lf | 39.566396% | 2336 | 5904 +d_a_npc_lud | 38.010021% | 12744 | 33528 +d_a_npc_maro | 36.380572% | 21872 | 60120 +d_a_npc_midp | 37.189356% | 6764 | 18188 +d_a_npc_mk | 100.000000% | 632 | 632 +d_a_npc_moi | 34.114704% | 14728 | 43172 +d_a_npc_moir | 28.712188% | 11656 | 40596 +d_a_npc_myna2 | 33.448276% | 8924 | 26680 +d_a_npc_ne | 24.204919% | 12360 | 51064 +d_a_npc_p2 | 100.000000% | 632 | 632 +d_a_npc_pachi_besu | 42.797557% | 11492 | 26852 +d_a_npc_pachi_maro | 38.260301% | 9360 | 24464 +d_a_npc_pachi_taro | 42.126544% | 15420 | 36604 +d_a_npc_passer | 35.701424% | 8724 | 24436 +d_a_npc_passer2 | 37.528815% | 3256 | 8676 +d_a_npc_post | 37.414676% | 10524 | 28128 +d_a_npc_pouya | 40.447529% | 11424 | 28244 +d_a_npc_prayer | 36.469470% | 6140 | 16836 +d_a_npc_raca | 38.792102% | 8016 | 20664 +d_a_npc_rafrel | 29.654182% | 10736 | 36204 +d_a_npc_saru | 39.289415% | 10616 | 27020 +d_a_npc_seib | 42.233442% | 5688 | 13468 +d_a_npc_seic | 42.554557% | 5304 | 12464 +d_a_npc_seid | 42.554557% | 5304 | 12464 +d_a_npc_seira | 38.908741% | 11324 | 29104 +d_a_npc_seira2 | 39.278557% | 10192 | 25948 +d_a_npc_seirei | 39.691517% | 6176 | 15560 +d_a_npc_shad | 27.050485% | 14960 | 55304 +d_a_npc_shaman | 40.368229% | 10612 | 26288 +d_a_npc_shoe | 36.629002% | 6224 | 16992 +d_a_npc_shop0 | 38.731379% | 3224 | 8324 +d_a_npc_shop_maro | 53.691275% | 2880 | 5364 +d_a_npc_sola | 39.560155% | 6116 | 15460 +d_a_npc_soldierA | 34.996894% | 6760 | 19316 +d_a_npc_soldierB | 35.587267% | 6484 | 18220 +d_a_npc_sq | 39.651108% | 3364 | 8484 +d_a_npc_taro | 38.152632% | 28996 | 76000 +d_a_npc_the | 34.936999% | 9760 | 27936 +d_a_npc_theB | 34.129794% | 9256 | 27120 +d_a_npc_tk | 22.166176% | 12656 | 57096 +d_a_npc_tkc | 32.075472% | 7820 | 24380 +d_a_npc_tkj | 37.419769% | 6996 | 18696 +d_a_npc_tkj2 | 28.985507% | 5520 | 19044 +d_a_npc_tks | 27.123246% | 14384 | 53032 +d_a_npc_toby | 35.857461% | 14168 | 39512 +d_a_npc_tr | 57.199682% | 2876 | 5028 +d_a_npc_uri | 34.281392% | 13596 | 39660 +d_a_npc_worm | 33.717579% | 2340 | 6940 +d_a_npc_wrestler | 27.819607% | 28820 | 103596 +d_a_npc_yamid | 36.895778% | 7236 | 19612 +d_a_npc_yamis | 36.878425% | 7268 | 19708 +d_a_npc_yamit | 36.693548% | 7280 | 19840 +d_a_npc_yelia | 40.634175% | 13840 | 34060 +d_a_npc_ykm | 32.908526% | 20348 | 61832 +d_a_npc_ykw | 33.875000% | 18428 | 54400 +d_a_npc_zanb | 37.827310% | 6992 | 18484 +d_a_npc_zant | 38.262795% | 6220 | 16256 +d_a_npc_zelR | 37.762547% | 6832 | 18092 +d_a_npc_zelRo | 37.784656% | 6836 | 18092 +d_a_npc_zelda | 37.603569% | 7080 | 18828 +d_a_npc_zra | 24.569698% | 26608 | 108296 +d_a_npc_zrc | 32.120762% | 10384 | 32328 +d_a_npc_zrz | 31.977232% | 13708 | 42868 +d_a_obj_Lv5Key | 37.172105% | 2324 | 6252 +d_a_obj_Turara | 38.494412% | 4684 | 12168 +d_a_obj_TvCdlst | 43.547170% | 2308 | 5300 +d_a_obj_Y_taihou | 37.379068% | 3400 | 9096 +d_a_obj_amiShutter | 42.478422% | 2756 | 6488 +d_a_obj_ari | 31.622322% | 5372 | 16988 +d_a_obj_automata | 40.573951% | 3676 | 9060 +d_a_obj_avalanche | 41.881443% | 2600 | 6208 +d_a_obj_balloon | 42.722710% | 2724 | 6376 +d_a_obj_barDesk | 49.477072% | 2460 | 4972 +d_a_obj_batta | 31.886560% | 5172 | 16220 +d_a_obj_bbox | 48.606466% | 1744 | 3588 +d_a_obj_bed | 42.310889% | 2036 | 4812 +d_a_obj_bemos | 32.943081% | 10580 | 32116 +d_a_obj_bhashi | 31.443815% | 3772 | 11996 +d_a_obj_bhbridge | 39.936609% | 2016 | 5048 +d_a_obj_bk_leaf | 41.935484% | 1144 | 2728 +d_a_obj_bkdoor | 45.847554% | 1612 | 3516 +d_a_obj_bky_rock | 35.592460% | 3172 | 8912 +d_a_obj_bmWindow | 38.757933% | 3420 | 8824 +d_a_obj_bmshutter | 41.338854% | 2396 | 5796 +d_a_obj_bombf | 46.875000% | 1020 | 2176 +d_a_obj_bosswarp | 39.728243% | 4912 | 12364 +d_a_obj_boumato | 40.192484% | 3508 | 8728 +d_a_obj_brakeeff | 45.417515% | 1784 | 3928 +d_a_obj_brg | 22.881356% | 6696 | 29264 +d_a_obj_bsGate | 48.010850% | 2124 | 4424 +d_a_obj_bubblePilar | 44.760583% | 2580 | 5764 +d_a_obj_burnbox | 45.251397% | 1620 | 3580 +d_a_obj_carry | 29.827071% | 18352 | 61528 +d_a_obj_catdoor | 82.338611% | 2704 | 3284 +d_a_obj_cb | 43.008475% | 2436 | 5664 +d_a_obj_cblock | 42.294713% | 3008 | 7112 +d_a_obj_cboard | 100.000000% | 2648 | 2648 +d_a_obj_cdoor | 40.255786% | 2644 | 6568 +d_a_obj_chandelier | 36.773256% | 2024 | 5504 +d_a_obj_chest | 39.833795% | 2876 | 7220 +d_a_obj_cho | 33.555219% | 4436 | 13220 +d_a_obj_cowdoor | 56.672761% | 1240 | 2188 +d_a_obj_crope | 26.014689% | 2692 | 10348 +d_a_obj_crvfence | 37.146893% | 3156 | 8496 +d_a_obj_crvgate | 27.603513% | 4400 | 15940 +d_a_obj_crvhahen | 37.120623% | 1908 | 5140 +d_a_obj_crvlh_down | 42.363776% | 2208 | 5212 +d_a_obj_crvlh_up | 42.485784% | 2092 | 4924 +d_a_obj_crvsteel | 48.717949% | 1520 | 3120 +d_a_obj_crystal | 44.482173% | 1048 | 2356 +d_a_obj_cwall | 30.455195% | 5968 | 19596 +d_a_obj_damCps | 100.000000% | 504 | 504 +d_a_obj_dan | 35.198921% | 4176 | 11864 +d_a_obj_digholl | 42.781690% | 972 | 2272 +d_a_obj_digplace | 35.129068% | 1252 | 3564 +d_a_obj_digsnow | 44.813278% | 2160 | 4820 +d_a_obj_dmelevator | 35.600390% | 4376 | 12292 +d_a_obj_drop | 30.227416% | 3828 | 12664 +d_a_obj_dust | 40.406977% | 2224 | 5504 +d_a_obj_eff | 73.504274% | 688 | 936 +d_a_obj_enemy_create | 100.000000% | 2828 | 2828 +d_a_obj_fallobj | 31.929604% | 2032 | 6364 +d_a_obj_fan | 39.173554% | 2844 | 7260 +d_a_obj_fchain | 30.649490% | 2284 | 7452 +d_a_obj_fireWood | 44.125561% | 1968 | 4460 +d_a_obj_fireWood2 | 41.290323% | 2304 | 5580 +d_a_obj_firepillar | 43.032015% | 1828 | 4248 +d_a_obj_firepillar2 | 32.320564% | 2936 | 9084 +d_a_obj_flag | 37.518248% | 2056 | 5480 +d_a_obj_flag2 | 46.370840% | 5852 | 12620 +d_a_obj_flag3 | 33.292929% | 3296 | 9900 +d_a_obj_fmobj | 55.200000% | 1104 | 2000 +d_a_obj_food | 36.994728% | 3368 | 9104 +d_a_obj_fw | 43.368592% | 2132 | 4916 +d_a_obj_gadget | 34.371565% | 3752 | 10916 +d_a_obj_ganonwall | 38.930481% | 1456 | 3740 +d_a_obj_ganonwall2 | 41.938675% | 1696 | 4044 +d_a_obj_gb | 41.063644% | 1884 | 4588 +d_a_obj_geyser | 29.678068% | 3540 | 11928 +d_a_obj_glowSphere | 38.917749% | 3596 | 9240 +d_a_obj_gm | 35.212957% | 4696 | 13336 +d_a_obj_goGate | 48.046181% | 2164 | 4504 +d_a_obj_gomikabe | 37.032799% | 3884 | 10488 +d_a_obj_gptaru | 33.238231% | 4660 | 14020 +d_a_obj_gra2 | 24.809250% | 21200 | 85452 +d_a_obj_graWall | 55.725191% | 1168 | 2096 +d_a_obj_gra_rock | 37.947123% | 2928 | 7716 +d_a_obj_grave_stone | 42.700730% | 2340 | 5480 +d_a_obj_groundwater | 40.823478% | 3728 | 9132 +d_a_obj_grz_rock | 45.558087% | 1600 | 3512 +d_a_obj_h_saku | 37.610063% | 2392 | 6360 +d_a_obj_hakai_brl | 40.491284% | 2044 | 5048 +d_a_obj_hakai_ftr | 42.324888% | 2272 | 5368 +d_a_obj_hasu2 | 41.190476% | 1384 | 3360 +d_a_obj_hata | 39.059081% | 1428 | 3656 +d_a_obj_hb | 29.310936% | 3420 | 11668 +d_a_obj_hbombkoya | 47.549020% | 3104 | 6528 +d_a_obj_heavySw | 41.214623% | 2796 | 6784 +d_a_obj_hfuta | 39.073970% | 2768 | 7084 +d_a_obj_hhashi | 33.138856% | 3408 | 10284 +d_a_obj_hsTarget | 57.317073% | 1504 | 2624 +d_a_obj_ice_l | 34.815373% | 1848 | 5308 +d_a_obj_ice_s | 35.446009% | 2416 | 6816 +d_a_obj_iceblock | 32.744340% | 4744 | 14488 +d_a_obj_iceleaf | 37.604212% | 3428 | 9116 +d_a_obj_ihasi | 43.372216% | 1636 | 3772 +d_a_obj_ikada | 40.697674% | 1960 | 4816 +d_a_obj_inobone | 42.361111% | 1952 | 4608 +d_a_obj_ita | 42.717855% | 2804 | 6564 +d_a_obj_itamato | 38.072602% | 3524 | 9256 +d_a_obj_ito | 30.588925% | 4176 | 13652 +d_a_obj_kabuto | 30.226537% | 5604 | 18540 +d_a_obj_kag | 32.055503% | 5452 | 17008 +d_a_obj_kage | 50.520833% | 1164 | 2304 +d_a_obj_kago | 31.956798% | 4024 | 12592 +d_a_obj_kaisou | 41.645729% | 2652 | 6368 +d_a_obj_kamakiri | 30.171107% | 5572 | 18468 +d_a_obj_kanban2 | 30.775877% | 7124 | 23148 +d_a_obj_kantera | 37.623762% | 2432 | 6464 +d_a_obj_katatsumuri | 31.170697% | 5208 | 16708 +d_a_obj_kazeneko | 45.277127% | 2320 | 5124 +d_a_obj_kbacket | 33.053127% | 3932 | 11896 +d_a_obj_kbox | 35.736196% | 3728 | 10432 +d_a_obj_key | 33.145009% | 3520 | 10620 +d_a_obj_keyhole | 33.394883% | 5064 | 15164 +d_a_obj_kgate | 35.192216% | 5932 | 16856 +d_a_obj_ki | 41.573034% | 2220 | 5340 +d_a_obj_kiPot | 53.782895% | 1308 | 2432 +d_a_obj_kita | 40.112090% | 2004 | 4996 +d_a_obj_kjgjs | 52.250804% | 1300 | 2488 +d_a_obj_kkanban | 47.103514% | 1984 | 4212 +d_a_obj_klift00 | 37.650457% | 3128 | 8308 +d_a_obj_knBullet | 43.076923% | 1568 | 3640 +d_a_obj_kshutter | 35.690936% | 4804 | 13460 +d_a_obj_ktonfire | 45.504087% | 2004 | 4404 +d_a_obj_kuwagata | 30.226537% | 5604 | 18540 +d_a_obj_kwheel00 | 40.352811% | 2928 | 7256 +d_a_obj_kwheel01 | 41.610233% | 2212 | 5316 +d_a_obj_kznkarm | 35.088583% | 2852 | 8128 +d_a_obj_ladder | 42.348485% | 2236 | 5280 +d_a_obj_laundry | 39.077103% | 2676 | 6848 +d_a_obj_laundry_rope | 34.459867% | 2284 | 6628 +d_a_obj_lbox | 47.423510% | 2356 | 4968 +d_a_obj_life_container | 34.456243% | 3764 | 10924 +d_a_obj_lp | 29.557762% | 2620 | 8864 +d_a_obj_lv1Candle00 | 41.348158% | 2380 | 5756 +d_a_obj_lv1Candle01 | 44.344569% | 2368 | 5340 +d_a_obj_lv2candle | 38.160920% | 2656 | 6960 +d_a_obj_lv3Candle | 45.638126% | 2260 | 4952 +d_a_obj_lv3Water | 44.263566% | 4568 | 10320 +d_a_obj_lv3Water2 | 41.786571% | 2788 | 6672 +d_a_obj_lv3WaterB | 46.278317% | 1716 | 3708 +d_a_obj_lv3saka00 | 50.576369% | 1404 | 2776 +d_a_obj_lv3waterEff | 48.122066% | 820 | 1704 +d_a_obj_lv4CandleDemoTag | 46.972860% | 1800 | 3832 +d_a_obj_lv4CandleTag | 50.114416% | 1752 | 3496 +d_a_obj_lv4EdShutter | 45.846154% | 2384 | 5200 +d_a_obj_lv4Gate | 48.863636% | 2064 | 4224 +d_a_obj_lv4HsTarget | 58.333333% | 1428 | 2448 +d_a_obj_lv4PoGate | 44.906743% | 2504 | 5576 +d_a_obj_lv4RailWall | 41.496973% | 3016 | 7268 +d_a_obj_lv4SlideWall | 48.954373% | 2060 | 4208 +d_a_obj_lv4bridge | 47.146866% | 2016 | 4276 +d_a_obj_lv4chandelier | 26.284971% | 4848 | 18444 +d_a_obj_lv4digsand | 43.888433% | 2140 | 4876 +d_a_obj_lv4floor | 49.786020% | 1396 | 2804 +d_a_obj_lv4gear | 42.242704% | 1100 | 2604 +d_a_obj_lv4prelvtr | 48.664688% | 1312 | 2696 +d_a_obj_lv4prwall | 38.593750% | 1976 | 5120 +d_a_obj_lv4sand | 46.461825% | 1996 | 4296 +d_a_obj_lv5FloorBoard | 47.577093% | 2592 | 5448 +d_a_obj_lv5IceWall | 39.937435% | 3064 | 7672 +d_a_obj_lv5SwIce | 46.408046% | 2584 | 5568 +d_a_obj_lv5ychndlr | 40.267765% | 3128 | 7768 +d_a_obj_lv5yiblltray | 33.403583% | 3804 | 11388 +d_a_obj_lv6ChangeGate | 41.732283% | 3816 | 9144 +d_a_obj_lv6FurikoTrap | 45.967742% | 2736 | 5952 +d_a_obj_lv6Lblock | 46.958175% | 1976 | 4208 +d_a_obj_lv6SwGate | 40.186916% | 3784 | 9416 +d_a_obj_lv6SzGate | 45.147151% | 2884 | 6388 +d_a_obj_lv6Tenbin | 40.000000% | 2848 | 7120 +d_a_obj_lv6TogeRoll | 35.933806% | 4256 | 11844 +d_a_obj_lv6TogeTrap | 34.484536% | 5352 | 15520 +d_a_obj_lv6bemos | 42.081031% | 3656 | 8688 +d_a_obj_lv6bemos2 | 32.122093% | 7072 | 22016 +d_a_obj_lv6egate | 42.456719% | 2060 | 4852 +d_a_obj_lv6elevta | 39.452780% | 1788 | 4532 +d_a_obj_lv6swturn | 36.266259% | 1896 | 5228 +d_a_obj_lv7BsGate | 48.080279% | 2204 | 4584 +d_a_obj_lv7PropellerY | 41.738506% | 2324 | 5568 +d_a_obj_lv7bridge | 39.684569% | 3724 | 9384 +d_a_obj_lv8KekkaiTrap | 49.367089% | 2028 | 4108 +d_a_obj_lv8Lift | 35.532359% | 3404 | 9580 +d_a_obj_lv8OptiLift | 35.768374% | 3212 | 8980 +d_a_obj_lv8UdFloor | 39.681529% | 2492 | 6280 +d_a_obj_lv9SwShutter | 48.128342% | 2160 | 4488 +d_a_obj_magLift | 41.319181% | 2180 | 5276 +d_a_obj_magLiftRot | 40.697674% | 3080 | 7568 +d_a_obj_magne_arm | 34.395028% | 7084 | 20596 +d_a_obj_maki | 45.531587% | 2364 | 5192 +d_a_obj_master_sword | 43.575419% | 2808 | 6444 +d_a_obj_mato | 37.093023% | 2552 | 6880 +d_a_obj_metalbox | 50.268097% | 1500 | 2984 +d_a_obj_mgate | 47.398844% | 1968 | 4152 +d_a_obj_mhole | 35.548173% | 2140 | 6020 +d_a_obj_mie | 34.891676% | 3672 | 10524 +d_a_obj_mirror_6pole | 49.656751% | 1736 | 3496 +d_a_obj_mirror_chain | 34.916201% | 3500 | 10024 +d_a_obj_mirror_sand | 46.972860% | 1800 | 3832 +d_a_obj_mirror_screw | 40.374532% | 2156 | 5340 +d_a_obj_mirror_table | 38.664122% | 4052 | 10480 +d_a_obj_movebox | 36.691330% | 7736 | 21084 +d_a_obj_msima | 35.108959% | 3480 | 9912 +d_a_obj_mvstair | 35.209479% | 3328 | 9452 +d_a_obj_myogan | 51.677852% | 1848 | 3576 +d_a_obj_nagaisu | 37.130271% | 2360 | 6356 +d_a_obj_nameplate | 39.726962% | 2328 | 5860 +d_a_obj_nan | 33.293811% | 5616 | 16868 +d_a_obj_ndoor | 51.957831% | 1380 | 2656 +d_a_obj_nougu | 42.325581% | 2548 | 6020 +d_a_obj_octhashi | 35.325420% | 3452 | 9772 +d_a_obj_oiltubo | 40.168244% | 3056 | 7608 +d_a_obj_onsen | 49.239281% | 1424 | 2892 +d_a_obj_onsenFire | 61.419753% | 796 | 1296 +d_a_obj_onsenTaru | 38.567616% | 3468 | 8992 +d_a_obj_ornament_cloth | 38.734568% | 2008 | 5184 +d_a_obj_pdoor | 37.254902% | 1900 | 5100 +d_a_obj_pdtile | 31.467607% | 2856 | 9076 +d_a_obj_pdwall | 40.192308% | 1672 | 4160 +d_a_obj_picture | 35.041841% | 4020 | 11472 +d_a_obj_pillar | 38.500852% | 3616 | 9392 +d_a_obj_pleaf | 44.689221% | 2272 | 5084 +d_a_obj_poCandle | 44.244604% | 2460 | 5560 +d_a_obj_poFire | 36.999540% | 3216 | 8692 +d_a_obj_poTbox | 44.731739% | 2768 | 6188 +d_a_obj_prop | 47.868217% | 988 | 2064 +d_a_obj_pumpkin | 29.152971% | 4612 | 15820 +d_a_obj_rcircle | 43.989432% | 1332 | 3028 +d_a_obj_rfHole | 43.621701% | 2380 | 5456 +d_a_obj_rgate | 36.466069% | 5696 | 15620 +d_a_obj_riverrock | 37.311178% | 2964 | 7944 +d_a_obj_rock | 40.423729% | 1908 | 4720 +d_a_obj_rope_bridge | 36.903633% | 4672 | 12660 +d_a_obj_rotBridge | 43.430152% | 2512 | 5784 +d_a_obj_rotTrap | 45.877144% | 3316 | 7228 +d_a_obj_roten | 41.613588% | 1568 | 3768 +d_a_obj_rstair | 37.354086% | 2688 | 7196 +d_a_obj_rw | 41.210834% | 3104 | 7532 +d_a_obj_saidan | 50.210970% | 1904 | 3792 +d_a_obj_sakuita | 43.573382% | 1912 | 4388 +d_a_obj_sakuita_rope | 30.817009% | 2580 | 8372 +d_a_obj_scannon | 35.209799% | 5404 | 15348 +d_a_obj_scannon_crs | 35.204678% | 3612 | 10260 +d_a_obj_scannon_ten | 37.738049% | 3884 | 10292 +d_a_obj_sekidoor | 43.834383% | 1948 | 4444 +d_a_obj_sekizo | 53.625171% | 1568 | 2924 +d_a_obj_sekizoa | 32.789446% | 15112 | 46088 +d_a_obj_shield | 34.160959% | 3192 | 9344 +d_a_obj_sm_door | 39.302885% | 2616 | 6656 +d_a_obj_smallkey | 31.464798% | 3772 | 11988 +d_a_obj_smgdoor | 41.383095% | 3016 | 7288 +d_a_obj_smoke | 51.322751% | 776 | 1512 +d_a_obj_smtile | 35.912938% | 2376 | 6616 +d_a_obj_smw_stone | 40.435606% | 1708 | 4224 +d_a_obj_snowEffTag | 46.419098% | 1400 | 3016 +d_a_obj_snow_soup | 37.025948% | 1484 | 4008 +d_a_obj_so | 31.698636% | 6412 | 20228 +d_a_obj_spinLift | 41.107692% | 2672 | 6500 +d_a_obj_ss_drink | 36.026542% | 3692 | 10248 +d_a_obj_ss_item | 38.313378% | 2944 | 7684 +d_a_obj_stairBlock | 45.129643% | 2576 | 5708 +d_a_obj_stick | 43.708609% | 2376 | 5436 +d_a_obj_stone | 26.135237% | 5272 | 20172 +d_a_obj_stonemark | 52.549020% | 1072 | 2040 +d_a_obj_stopper | 31.675996% | 3848 | 12148 +d_a_obj_stopper2 | 38.987342% | 1848 | 4740 +d_a_obj_suisya | 49.914821% | 1172 | 2348 +d_a_obj_sw | 27.590884% | 4068 | 14744 +d_a_obj_swBallA | 35.803945% | 2396 | 6692 +d_a_obj_swBallB | 34.276891% | 2664 | 7772 +d_a_obj_swBallC | 41.458222% | 3116 | 7516 +d_a_obj_swLight | 40.346767% | 3444 | 8536 +d_a_obj_swallshutter | 41.268759% | 2420 | 5864 +d_a_obj_swchain | 24.473297% | 3996 | 16328 +d_a_obj_swhang | 38.446450% | 3920 | 10196 +d_a_obj_sword | 45.479963% | 1952 | 4292 +d_a_obj_swpropeller | 39.765679% | 2308 | 5804 +d_a_obj_swpush | 31.657104% | 3752 | 11852 +d_a_obj_swpush2 | 34.150019% | 3624 | 10612 +d_a_obj_swpush5 | 39.210384% | 2900 | 7396 +d_a_obj_swspinner | 39.141631% | 1824 | 4660 +d_a_obj_swturn | 31.295716% | 2396 | 7656 +d_a_obj_syRock | 38.458961% | 4592 | 11940 +d_a_obj_szbridge | 43.280632% | 1752 | 4048 +d_a_obj_taFence | 41.279360% | 3304 | 8004 +d_a_obj_table | 45.544554% | 1656 | 3636 +d_a_obj_takaraDai | 46.376812% | 2304 | 4968 +d_a_obj_tatigi | 40.549020% | 2068 | 5100 +d_a_obj_ten | 30.064631% | 5396 | 17948 +d_a_obj_testcube | 100.000000% | 504 | 504 +d_a_obj_tgake | 49.302326% | 1272 | 2580 +d_a_obj_thashi | 49.534161% | 3828 | 7728 +d_a_obj_thdoor | 39.419319% | 2824 | 7164 +d_a_obj_timeFire | 43.483146% | 1548 | 3560 +d_a_obj_timer | 46.691176% | 1016 | 2176 +d_a_obj_tks | 34.669261% | 7128 | 20560 +d_a_obj_tmoon | 48.478702% | 956 | 1972 +d_a_obj_toaru_maki | 46.596067% | 1232 | 2644 +d_a_obj_toby | 32.460733% | 3720 | 11460 +d_a_obj_tobyhouse | 34.586466% | 3864 | 11172 +d_a_obj_togeTrap | 41.746183% | 3500 | 8384 +d_a_obj_tombo | 33.688640% | 4804 | 14260 +d_a_obj_tornado | 36.577869% | 1428 | 3904 +d_a_obj_tornado2 | 30.997110% | 1716 | 5536 +d_a_obj_tp | 35.262726% | 3436 | 9744 +d_a_obj_treesh | 48.098664% | 1872 | 3892 +d_a_obj_twGate | 57.395498% | 2856 | 4976 +d_a_obj_udoor | 49.156627% | 1632 | 3320 +d_a_obj_usaku | 55.081301% | 1084 | 1968 +d_a_obj_vground | 44.817927% | 1280 | 2856 +d_a_obj_volcball | 34.010759% | 4552 | 13384 +d_a_obj_volcbom | 32.897713% | 5236 | 15916 +d_a_obj_warp_kbrg | 34.066524% | 5080 | 14912 +d_a_obj_warp_obrg | 34.784076% | 4124 | 11856 +d_a_obj_waterGate | 47.279550% | 2016 | 4264 +d_a_obj_waterPillar | 37.877429% | 5068 | 13380 +d_a_obj_waterfall | 34.033613% | 2268 | 6664 +d_a_obj_wchain | 31.823745% | 3120 | 9804 +d_a_obj_wdStick | 32.908234% | 4748 | 14428 +d_a_obj_web0 | 75.286533% | 4204 | 5584 +d_a_obj_web1 | 100.000000% | 5772 | 5772 +d_a_obj_well_cover | 45.704467% | 1596 | 3492 +d_a_obj_wflag | 41.214286% | 2308 | 5600 +d_a_obj_wind_stone | 37.702265% | 1864 | 4944 +d_a_obj_window | 42.655602% | 2056 | 4820 +d_a_obj_wood_pendulum | 44.455748% | 1748 | 3932 +d_a_obj_wood_statue | 36.601579% | 3524 | 9628 +d_a_obj_wsword | 48.936170% | 1380 | 2820 +d_a_obj_yel_bag | 33.773087% | 3584 | 10612 +d_a_obj_yobikusa | 39.095993% | 3356 | 8584 +d_a_obj_yousei | 27.926623% | 4628 | 16572 +d_a_obj_ystone | 42.824944% | 2280 | 5324 +d_a_obj_zcloth | 52.373418% | 1324 | 2528 +d_a_obj_zdoor | 45.037688% | 2868 | 6368 +d_a_obj_zrTurara | 43.437672% | 3164 | 7284 +d_a_obj_zrTuraraRock | 46.299094% | 2452 | 5296 +d_a_obj_zraMark | 34.016942% | 3052 | 8972 +d_a_obj_zra_freeze | 37.662338% | 1624 | 4312 +d_a_obj_zra_rock | 45.394112% | 1912 | 4212 +d_a_passer_mng | 31.038027% | 2416 | 7784 +d_a_path_line | 100.000000% | 508 | 508 +d_a_peru | 33.139234% | 10244 | 30912 +d_a_ppolamp | 42.341463% | 1736 | 4100 +d_a_scene_exit | 61.359223% | 1264 | 2060 +d_a_scene_exit2 | 44.782034% | 1356 | 3028 +d_a_set_bgobj | 100.000000% | 1108 | 1108 +d_a_shop_item | 43.088737% | 2020 | 4688 +d_a_skip_2D | 100.000000% | 1332 | 1332 +d_a_spinner | 27.874187% | 5140 | 18440 +d_a_sq | 35.488722% | 3776 | 10640 +d_a_startAndGoal | 41.918528% | 1276 | 3044 +d_a_suspend | 68.303571% | 612 | 896 +d_a_swBall | 33.297414% | 1236 | 3712 +d_a_swLBall | 33.651805% | 1268 | 3768 +d_a_swTime | 63.076923% | 656 | 1040 +d_a_swc00 | 43.087121% | 1820 | 4224 +d_a_swhit0 | 35.577421% | 2748 | 7724 +d_a_tag_Lv6Gate | 39.281576% | 2712 | 6904 +d_a_tag_Lv7Gate | 34.752224% | 2188 | 6296 +d_a_tag_Lv8Gate | 43.347193% | 1668 | 3848 +d_a_tag_TWgate | 53.384834% | 10504 | 19676 +d_a_tag_ajnot | 100.000000% | 1232 | 1232 +d_a_tag_allmato | 30.234070% | 3720 | 12304 +d_a_tag_arena | 82.022472% | 584 | 712 +d_a_tag_assistance | 76.699029% | 632 | 824 +d_a_tag_attack_item | 43.212237% | 1808 | 4184 +d_a_tag_attention | 50.000000% | 1012 | 2024 +d_a_tag_bottle_item | 38.554217% | 1024 | 2656 +d_a_tag_camera | 37.023593% | 1632 | 4408 +d_a_tag_chgrestart | 48.868778% | 864 | 1768 +d_a_tag_chkpoint | 39.852399% | 864 | 2168 +d_a_tag_cstasw | 51.406250% | 1316 | 2560 +d_a_tag_csw | 35.869565% | 3696 | 10304 +d_a_tag_escape | 100.000000% | 712 | 712 +d_a_tag_event | 31.075697% | 1248 | 4016 +d_a_tag_evt | 37.815126% | 1620 | 4284 +d_a_tag_evtarea | 37.091319% | 1316 | 3548 +d_a_tag_evtmsg | 39.491150% | 1428 | 3616 +d_a_tag_firewall | 35.325132% | 1608 | 4552 +d_a_tag_gra | 76.000000% | 608 | 800 +d_a_tag_gstart | 100.000000% | 1208 | 1208 +d_a_tag_guard | 100.000000% | 1176 | 1176 +d_a_tag_hinit | 100.000000% | 1440 | 1440 +d_a_tag_hjump | 40.841584% | 1320 | 3232 +d_a_tag_howl | 46.934461% | 888 | 1892 +d_a_tag_hstop | 100.000000% | 3424 | 3424 +d_a_tag_instruction | 100.000000% | 712 | 712 +d_a_tag_kago_fall | 34.469328% | 1416 | 4108 +d_a_tag_kmsg | 32.037997% | 1484 | 4632 +d_a_tag_lantern | 52.013423% | 1240 | 2384 +d_a_tag_lightball | 46.212121% | 976 | 2112 +d_a_tag_lv2prchk | 35.734870% | 992 | 2776 +d_a_tag_lv5soup | 100.000000% | 1908 | 1908 +d_a_tag_lv6CstaSw | 51.406250% | 1316 | 2560 +d_a_tag_magne | 100.000000% | 928 | 928 +d_a_tag_mhint | 35.576923% | 1332 | 3744 +d_a_tag_mist | 43.436293% | 900 | 2072 +d_a_tag_mmsg | 100.000000% | 1960 | 1960 +d_a_tag_msg | 37.563971% | 1468 | 3908 +d_a_tag_mstop | 36.151961% | 1180 | 3264 +d_a_tag_mwait | 35.082873% | 1016 | 2896 +d_a_tag_myna2 | 47.260274% | 828 | 1752 +d_a_tag_myna_light | 36.747759% | 1148 | 3124 +d_a_tag_pachi | 51.107595% | 1292 | 2528 +d_a_tag_poFire | 63.270142% | 1068 | 1688 +d_a_tag_push | 41.000000% | 1148 | 2800 +d_a_tag_qs | 34.804270% | 1956 | 5620 +d_a_tag_ret_room | 49.168646% | 828 | 1684 +d_a_tag_river_back | 45.725916% | 1348 | 2948 +d_a_tag_rmbit_sw | 46.642468% | 1028 | 2204 +d_a_tag_schedule | 82.022472% | 584 | 712 +d_a_tag_setBall | 100.000000% | 880 | 880 +d_a_tag_setrestart | 100.000000% | 1840 | 1840 +d_a_tag_shop_camera | 62.541806% | 748 | 1196 +d_a_tag_shop_item | 41.944848% | 1156 | 2756 +d_a_tag_smk_emt | 50.127226% | 788 | 1572 +d_a_tag_spinner | 45.850622% | 884 | 1928 +d_a_tag_sppath | 33.333333% | 2040 | 6120 +d_a_tag_spring | 45.780591% | 868 | 1896 +d_a_tag_ss_drink | 36.483740% | 1436 | 3936 +d_a_tag_statue_evt | 38.427948% | 2816 | 7328 +d_a_tag_stream | 49.729730% | 736 | 1480 +d_a_tag_telop | 100.000000% | 1040 | 1040 +d_a_tag_theB_hint | 67.253521% | 764 | 1136 +d_a_tag_wara_howl | 100.000000% | 1420 | 1420 +d_a_tag_watchge | 61.290323% | 760 | 1240 +d_a_tag_waterfall | 46.361502% | 1580 | 3408 +d_a_tag_wljump | 30.777538% | 1140 | 3704 +d_a_tag_yami | 42.650334% | 1532 | 3592 +d_a_talk | 45.434783% | 836 | 1840 +d_a_tbox | 30.165503% | 9332 | 30936 +d_a_tbox2 | 42.486445% | 4388 | 10328 +d_a_tboxSw | 100.000000% | 1016 | 1016 +d_a_title | 39.558574% | 2796 | 7068 +d_a_vrbox | 48.327138% | 1040 | 2152 +d_a_vrbox2 | 34.977578% | 2184 | 6244 +d_a_warp_bug | 54.940711% | 1112 | 2024 +d_a_ykgr | 44.400631% | 2252 | 5072 +f_pc_profile_lst | 100.000000% | 28156 | 28156 +Total | 33.060877% | 3802108 | 11500324 diff --git a/README.md b/README.md index 7816d0cdc20..cea9ab8b7ff 100644 --- a/README.md +++ b/README.md @@ -22,23 +22,9 @@ Project Setup git clone https://github.com/zeldaret/tp ``` -2. Setup compiler directory +2. Place a copy of NTSC-U GCN Twilight Princess in the root directory and call it `gz2e01.iso` (find this on your own) -```bash -mkdir -p tools/mwcc_compiler/ -``` - -3. Download [GC_WII_COMPILERS.zip](https://cdn.discordapp.com/attachments/727918646525165659/917185027656286218/GC_WII_COMPILERS.zip). - -4. Extract `GC_WII_COMPILERS.zip` into the previously created `mwcc_compiler` directory - -```bash -unzip GC_WII_COMPILERS.zip "GC/*" -d tools/mwcc_compiler/ && mv tools/mwcc_compiler/GC/* tools/mwcc_compiler/ && rmdir tools/mwcc_compiler/GC -``` - -5. Place a copy of NTSC-U GCN Twilight Princess in the root directory and call it `gz2e01.iso` (find this on your own) - -6. Setup the project +3. Then run the setup script ```bash ./tp setup @@ -140,4 +126,4 @@ tp/ ├── include_link.mk # Makefiles to include in the main Makefile. ├── obj_files.mk # Object files to include in the main Makefile. └── tp # Bash script used to call the main tp python script in tools directory. -``` \ No newline at end of file +``` diff --git a/asm/JSystem/J3DGraphAnimator/J3DMaterialAttach/removeMatColorAnimator__16J3DMaterialTableFP11J3DAnmColor.s b/asm/JSystem/J3DGraphAnimator/J3DMaterialAttach/removeMatColorAnimator__16J3DMaterialTableFP11J3DAnmColor.s deleted file mode 100644 index 39ee9f79844..00000000000 --- a/asm/JSystem/J3DGraphAnimator/J3DMaterialAttach/removeMatColorAnimator__16J3DMaterialTableFP11J3DAnmColor.s +++ /dev/null @@ -1,50 +0,0 @@ -lbl_8032F64C: -/* 8032F64C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8032F650 7C 08 02 A6 */ mflr r0 -/* 8032F654 90 01 00 24 */ stw r0, 0x24(r1) -/* 8032F658 39 61 00 20 */ addi r11, r1, 0x20 -/* 8032F65C 48 03 2B 79 */ bl _savegpr_27 -/* 8032F660 7C 7B 1B 78 */ mr r27, r3 -/* 8032F664 7C 9C 23 78 */ mr r28, r4 -/* 8032F668 3B C0 00 00 */ li r30, 0 -/* 8032F66C A3 E4 00 14 */ lhz r31, 0x14(r4) -/* 8032F670 3B A0 00 00 */ li r29, 0 -/* 8032F674 48 00 00 5C */ b lbl_8032F6D0 -lbl_8032F678: -/* 8032F678 80 7C 00 18 */ lwz r3, 0x18(r28) -/* 8032F67C 57 A0 0B FC */ rlwinm r0, r29, 1, 0xf, 0x1e -/* 8032F680 7C 03 02 2E */ lhzx r0, r3, r0 -/* 8032F684 28 00 FF FF */ cmplwi r0, 0xffff -/* 8032F688 41 82 00 44 */ beq lbl_8032F6CC -/* 8032F68C 80 7B 00 08 */ lwz r3, 8(r27) -/* 8032F690 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d -/* 8032F694 7C 63 00 2E */ lwzx r3, r3, r0 -/* 8032F698 80 63 00 3C */ lwz r3, 0x3c(r3) -/* 8032F69C 3C 00 C0 00 */ lis r0, 0xc000 -/* 8032F6A0 7C 03 00 40 */ cmplw r3, r0 -/* 8032F6A4 40 80 00 08 */ bge lbl_8032F6AC -/* 8032F6A8 48 00 00 08 */ b lbl_8032F6B0 -lbl_8032F6AC: -/* 8032F6AC 38 60 00 00 */ li r3, 0 -lbl_8032F6B0: -/* 8032F6B0 28 03 00 00 */ cmplwi r3, 0 -/* 8032F6B4 40 82 00 0C */ bne lbl_8032F6C0 -/* 8032F6B8 3B C0 00 01 */ li r30, 1 -/* 8032F6BC 48 00 00 10 */ b lbl_8032F6CC -lbl_8032F6C0: -/* 8032F6C0 38 80 00 00 */ li r4, 0 -/* 8032F6C4 38 A0 00 00 */ li r5, 0 -/* 8032F6C8 4B FF CE DD */ bl setMatColorAnm__14J3DMaterialAnmFiP14J3DMatColorAnm -lbl_8032F6CC: -/* 8032F6CC 3B BD 00 01 */ addi r29, r29, 1 -lbl_8032F6D0: -/* 8032F6D0 57 A0 04 3E */ clrlwi r0, r29, 0x10 -/* 8032F6D4 7C 00 F8 40 */ cmplw r0, r31 -/* 8032F6D8 41 80 FF A0 */ blt lbl_8032F678 -/* 8032F6DC 7F C3 F3 78 */ mr r3, r30 -/* 8032F6E0 39 61 00 20 */ addi r11, r1, 0x20 -/* 8032F6E4 48 03 2B 3D */ bl _restgpr_27 -/* 8032F6E8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8032F6EC 7C 08 03 A6 */ mtlr r0 -/* 8032F6F0 38 21 00 20 */ addi r1, r1, 0x20 -/* 8032F6F4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JKernel/JKRAram/run__7JKRAramFv.s b/asm/JSystem/JKernel/JKRAram/run__7JKRAramFv.s deleted file mode 100644 index 7d903392743..00000000000 --- a/asm/JSystem/JKernel/JKRAram/run__7JKRAramFv.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_802D21DC: -/* 802D21DC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D21E0 7C 08 02 A6 */ mflr r0 -/* 802D21E4 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D21E8 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D21EC 48 08 FF F1 */ bl _savegpr_29 -/* 802D21F0 3C 60 80 3D */ lis r3, sMessageQueue__7JKRAram@ha /* 0x803CC138@ha */ -/* 802D21F4 38 63 C1 38 */ addi r3, r3, sMessageQueue__7JKRAram@l /* 0x803CC138@l */ -/* 802D21F8 3C 80 80 3D */ lis r4, sMessageBuffer__7JKRAram@ha /* 0x803CC128@ha */ -/* 802D21FC 38 84 C1 28 */ addi r4, r4, sMessageBuffer__7JKRAram@l /* 0x803CC128@l */ -/* 802D2200 38 A0 00 04 */ li r5, 4 -/* 802D2204 48 06 C7 91 */ bl OSInitMessageQueue -/* 802D2208 3C 60 80 3D */ lis r3, sMessageQueue__7JKRAram@ha /* 0x803CC138@ha */ -/* 802D220C 3B E3 C1 38 */ addi r31, r3, sMessageQueue__7JKRAram@l /* 0x803CC138@l */ -lbl_802D2210: -/* 802D2210 7F E3 FB 78 */ mr r3, r31 -/* 802D2214 38 81 00 08 */ addi r4, r1, 8 -/* 802D2218 38 A0 00 01 */ li r5, 1 -/* 802D221C 48 06 C8 A1 */ bl OSReceiveMessage -/* 802D2220 80 61 00 08 */ lwz r3, 8(r1) -/* 802D2224 83 C3 00 00 */ lwz r30, 0(r3) -/* 802D2228 83 A3 00 04 */ lwz r29, 4(r3) -/* 802D222C 4B FF CB 11 */ bl __dl__FPv -/* 802D2230 2C 1E 00 01 */ cmpwi r30, 1 -/* 802D2234 41 82 00 08 */ beq lbl_802D223C -/* 802D2238 4B FF FF D8 */ b lbl_802D2210 -lbl_802D223C: -/* 802D223C 7F A3 EB 78 */ mr r3, r29 -/* 802D2240 48 00 16 8D */ bl startDMA__12JKRAramPieceFP12JKRAMCommand -/* 802D2244 4B FF FF CC */ b lbl_802D2210 diff --git a/asm/JSystem/JKernel/JKRDvdArchive/open__13JKRDvdArchiveFl.s b/asm/JSystem/JKernel/JKRDvdArchive/open__13JKRDvdArchiveFl.s deleted file mode 100644 index 7ad1fd81ccd..00000000000 --- a/asm/JSystem/JKernel/JKRDvdArchive/open__13JKRDvdArchiveFl.s +++ /dev/null @@ -1,183 +0,0 @@ -lbl_802D7DB4: -/* 802D7DB4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D7DB8 7C 08 02 A6 */ mflr r0 -/* 802D7DBC 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D7DC0 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D7DC4 48 08 A4 15 */ bl _savegpr_28 -/* 802D7DC8 7C 7D 1B 78 */ mr r29, r3 -/* 802D7DCC 7C 9C 23 78 */ mr r28, r4 -/* 802D7DD0 38 00 00 00 */ li r0, 0 -/* 802D7DD4 90 03 00 44 */ stw r0, 0x44(r3) -/* 802D7DD8 90 03 00 64 */ stw r0, 0x64(r3) -/* 802D7DDC 90 03 00 48 */ stw r0, 0x48(r3) -/* 802D7DE0 90 03 00 4C */ stw r0, 0x4c(r3) -/* 802D7DE4 90 03 00 54 */ stw r0, 0x54(r3) -/* 802D7DE8 38 60 00 F8 */ li r3, 0xf8 -/* 802D7DEC 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap(r13) -/* 802D7DF0 38 A0 00 00 */ li r5, 0 -/* 802D7DF4 4B FF 6E A5 */ bl __nw__FUlP7JKRHeapi -/* 802D7DF8 7C 60 1B 79 */ or. r0, r3, r3 -/* 802D7DFC 41 82 00 10 */ beq lbl_802D7E0C -/* 802D7E00 7F 84 E3 78 */ mr r4, r28 -/* 802D7E04 48 00 18 9D */ bl __ct__10JKRDvdFileFl -/* 802D7E08 7C 60 1B 78 */ mr r0, r3 -lbl_802D7E0C: -/* 802D7E0C 90 1D 00 68 */ stw r0, 0x68(r29) -/* 802D7E10 80 1D 00 68 */ lwz r0, 0x68(r29) -/* 802D7E14 28 00 00 00 */ cmplwi r0, 0 -/* 802D7E18 40 82 00 14 */ bne lbl_802D7E2C -/* 802D7E1C 38 00 00 00 */ li r0, 0 -/* 802D7E20 98 1D 00 3C */ stb r0, 0x3c(r29) -/* 802D7E24 38 60 00 00 */ li r3, 0 -/* 802D7E28 48 00 02 10 */ b lbl_802D8038 -lbl_802D7E2C: -/* 802D7E2C 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap(r13) -/* 802D7E30 38 80 00 20 */ li r4, 0x20 -/* 802D7E34 38 A0 00 20 */ li r5, 0x20 -/* 802D7E38 4B FF 66 9D */ bl alloc__7JKRHeapFUli -/* 802D7E3C 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802D7E40 40 82 00 10 */ bne lbl_802D7E50 -/* 802D7E44 38 00 00 00 */ li r0, 0 -/* 802D7E48 98 1D 00 3C */ stb r0, 0x3c(r29) -/* 802D7E4C 48 00 01 9C */ b lbl_802D7FE8 -lbl_802D7E50: -/* 802D7E50 38 00 00 00 */ li r0, 0 -/* 802D7E54 90 01 00 08 */ stw r0, 8(r1) -/* 802D7E58 7F 83 E3 78 */ mr r3, r28 -/* 802D7E5C 7F C4 F3 78 */ mr r4, r30 -/* 802D7E60 38 A0 00 01 */ li r5, 1 -/* 802D7E64 38 C0 00 20 */ li r6, 0x20 -/* 802D7E68 38 E0 00 00 */ li r7, 0 -/* 802D7E6C 39 00 00 01 */ li r8, 1 -/* 802D7E70 39 20 00 00 */ li r9, 0 -/* 802D7E74 39 5D 00 5C */ addi r10, r29, 0x5c -/* 802D7E78 48 00 1D DD */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl -/* 802D7E7C 7F C3 F3 78 */ mr r3, r30 -/* 802D7E80 38 80 00 20 */ li r4, 0x20 -/* 802D7E84 48 06 36 FD */ bl DCInvalidateRange -/* 802D7E88 80 1D 00 60 */ lwz r0, 0x60(r29) -/* 802D7E8C 2C 00 00 01 */ cmpwi r0, 1 -/* 802D7E90 3B E0 FF E0 */ li r31, -32 -/* 802D7E94 40 82 00 08 */ bne lbl_802D7E9C -/* 802D7E98 3B E0 00 20 */ li r31, 0x20 -lbl_802D7E9C: -/* 802D7E9C 80 7E 00 0C */ lwz r3, 0xc(r30) -/* 802D7EA0 7F E4 FB 78 */ mr r4, r31 -/* 802D7EA4 80 BD 00 38 */ lwz r5, 0x38(r29) -/* 802D7EA8 4B FF 65 CD */ bl alloc__7JKRHeapFUliP7JKRHeap -/* 802D7EAC 90 7D 00 44 */ stw r3, 0x44(r29) -/* 802D7EB0 80 9D 00 44 */ lwz r4, 0x44(r29) -/* 802D7EB4 28 04 00 00 */ cmplwi r4, 0 -/* 802D7EB8 40 82 00 10 */ bne lbl_802D7EC8 -/* 802D7EBC 38 00 00 00 */ li r0, 0 -/* 802D7EC0 98 1D 00 3C */ stb r0, 0x3c(r29) -/* 802D7EC4 48 00 01 24 */ b lbl_802D7FE8 -lbl_802D7EC8: -/* 802D7EC8 38 00 00 00 */ li r0, 0 -/* 802D7ECC 90 01 00 08 */ stw r0, 8(r1) -/* 802D7ED0 7F 83 E3 78 */ mr r3, r28 -/* 802D7ED4 38 A0 00 01 */ li r5, 1 -/* 802D7ED8 80 DE 00 0C */ lwz r6, 0xc(r30) -/* 802D7EDC 38 E0 00 00 */ li r7, 0 -/* 802D7EE0 39 00 00 01 */ li r8, 1 -/* 802D7EE4 39 20 00 20 */ li r9, 0x20 -/* 802D7EE8 39 40 00 00 */ li r10, 0 -/* 802D7EEC 48 00 1D 69 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl -/* 802D7EF0 80 7D 00 44 */ lwz r3, 0x44(r29) -/* 802D7EF4 80 9E 00 0C */ lwz r4, 0xc(r30) -/* 802D7EF8 48 06 36 89 */ bl DCInvalidateRange -/* 802D7EFC 80 7D 00 44 */ lwz r3, 0x44(r29) -/* 802D7F00 80 03 00 04 */ lwz r0, 4(r3) -/* 802D7F04 7C 03 02 14 */ add r0, r3, r0 -/* 802D7F08 90 1D 00 48 */ stw r0, 0x48(r29) -/* 802D7F0C 80 7D 00 44 */ lwz r3, 0x44(r29) -/* 802D7F10 80 03 00 0C */ lwz r0, 0xc(r3) -/* 802D7F14 7C 03 02 14 */ add r0, r3, r0 -/* 802D7F18 90 1D 00 4C */ stw r0, 0x4c(r29) -/* 802D7F1C 80 7D 00 44 */ lwz r3, 0x44(r29) -/* 802D7F20 80 03 00 14 */ lwz r0, 0x14(r3) -/* 802D7F24 7C 03 02 14 */ add r0, r3, r0 -/* 802D7F28 90 1D 00 54 */ stw r0, 0x54(r29) -/* 802D7F2C 38 00 00 00 */ li r0, 0 -/* 802D7F30 90 1D 00 50 */ stw r0, 0x50(r29) -/* 802D7F34 38 80 00 00 */ li r4, 0 -/* 802D7F38 80 BD 00 4C */ lwz r5, 0x4c(r29) -/* 802D7F3C 80 7D 00 44 */ lwz r3, 0x44(r29) -/* 802D7F40 80 03 00 08 */ lwz r0, 8(r3) -/* 802D7F44 7C 09 03 A6 */ mtctr r0 -/* 802D7F48 28 00 00 00 */ cmplwi r0, 0 -/* 802D7F4C 40 81 00 28 */ ble lbl_802D7F74 -lbl_802D7F50: -/* 802D7F50 80 05 00 04 */ lwz r0, 4(r5) -/* 802D7F54 54 03 46 3E */ srwi r3, r0, 0x18 -/* 802D7F58 54 00 47 FF */ rlwinm. r0, r0, 8, 0x1f, 0x1f -/* 802D7F5C 41 82 00 10 */ beq lbl_802D7F6C -/* 802D7F60 54 60 07 7A */ rlwinm r0, r3, 0, 0x1d, 0x1d -/* 802D7F64 7C 80 03 78 */ or r0, r4, r0 -/* 802D7F68 54 04 06 3E */ clrlwi r4, r0, 0x18 -lbl_802D7F6C: -/* 802D7F6C 38 A5 00 14 */ addi r5, r5, 0x14 -/* 802D7F70 42 00 FF E0 */ bdnz lbl_802D7F50 -lbl_802D7F74: -/* 802D7F74 54 80 06 3F */ clrlwi. r0, r4, 0x18 -/* 802D7F78 41 82 00 60 */ beq lbl_802D7FD8 -/* 802D7F7C 7F E3 FB 78 */ mr r3, r31 -/* 802D7F80 48 08 D1 51 */ bl abs -/* 802D7F84 7C 64 1B 78 */ mr r4, r3 -/* 802D7F88 80 BD 00 38 */ lwz r5, 0x38(r29) -/* 802D7F8C 80 7D 00 44 */ lwz r3, 0x44(r29) -/* 802D7F90 80 03 00 08 */ lwz r0, 8(r3) -/* 802D7F94 54 03 10 3A */ slwi r3, r0, 2 -/* 802D7F98 4B FF 64 DD */ bl alloc__7JKRHeapFUliP7JKRHeap -/* 802D7F9C 90 7D 00 50 */ stw r3, 0x50(r29) -/* 802D7FA0 80 7D 00 50 */ lwz r3, 0x50(r29) -/* 802D7FA4 28 03 00 00 */ cmplwi r3, 0 -/* 802D7FA8 40 82 00 1C */ bne lbl_802D7FC4 -/* 802D7FAC 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap(r13) -/* 802D7FB0 80 9D 00 44 */ lwz r4, 0x44(r29) -/* 802D7FB4 4B FF 65 95 */ bl free__7JKRHeapFPv -/* 802D7FB8 38 00 00 00 */ li r0, 0 -/* 802D7FBC 98 1D 00 3C */ stb r0, 0x3c(r29) -/* 802D7FC0 48 00 00 28 */ b lbl_802D7FE8 -lbl_802D7FC4: -/* 802D7FC4 38 80 00 00 */ li r4, 0 -/* 802D7FC8 80 BD 00 44 */ lwz r5, 0x44(r29) -/* 802D7FCC 80 05 00 08 */ lwz r0, 8(r5) -/* 802D7FD0 54 05 10 3A */ slwi r5, r0, 2 -/* 802D7FD4 4B D2 B4 85 */ bl memset -lbl_802D7FD8: -/* 802D7FD8 80 7E 00 08 */ lwz r3, 8(r30) -/* 802D7FDC 80 1E 00 0C */ lwz r0, 0xc(r30) -/* 802D7FE0 7C 03 02 14 */ add r0, r3, r0 -/* 802D7FE4 90 1D 00 64 */ stw r0, 0x64(r29) -lbl_802D7FE8: -/* 802D7FE8 28 1E 00 00 */ cmplwi r30, 0 -/* 802D7FEC 41 82 00 10 */ beq lbl_802D7FFC -/* 802D7FF0 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap(r13) -/* 802D7FF4 7F C4 F3 78 */ mr r4, r30 -/* 802D7FF8 4B FF 65 51 */ bl free__7JKRHeapFPv -lbl_802D7FFC: -/* 802D7FFC 88 1D 00 3C */ lbz r0, 0x3c(r29) -/* 802D8000 28 00 00 00 */ cmplwi r0, 0 -/* 802D8004 40 82 00 30 */ bne lbl_802D8034 -/* 802D8008 80 7D 00 68 */ lwz r3, 0x68(r29) -/* 802D800C 28 03 00 00 */ cmplwi r3, 0 -/* 802D8010 41 82 00 1C */ beq lbl_802D802C -/* 802D8014 41 82 00 18 */ beq lbl_802D802C -/* 802D8018 38 80 00 01 */ li r4, 1 -/* 802D801C 81 83 00 00 */ lwz r12, 0(r3) -/* 802D8020 81 8C 00 08 */ lwz r12, 8(r12) -/* 802D8024 7D 89 03 A6 */ mtctr r12 -/* 802D8028 4E 80 04 21 */ bctrl -lbl_802D802C: -/* 802D802C 38 60 00 00 */ li r3, 0 -/* 802D8030 48 00 00 08 */ b lbl_802D8038 -lbl_802D8034: -/* 802D8034 38 60 00 01 */ li r3, 1 -lbl_802D8038: -/* 802D8038 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D803C 48 08 A1 E9 */ bl _restgpr_28 -/* 802D8040 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D8044 7C 08 03 A6 */ mtlr r0 -/* 802D8048 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D804C 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2StatusMgr/isMovieDemo__11Z2StatusMgrFv.s b/asm/Z2AudioLib/Z2StatusMgr/isMovieDemo__11Z2StatusMgrFv.s deleted file mode 100644 index 69ba0620698..00000000000 --- a/asm/Z2AudioLib/Z2StatusMgr/isMovieDemo__11Z2StatusMgrFv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_802B61BC: -/* 802B61BC 38 00 00 00 */ li r0, 0 -/* 802B61C0 88 63 00 2C */ lbz r3, 0x2c(r3) -/* 802B61C4 28 03 00 02 */ cmplwi r3, 2 -/* 802B61C8 41 82 00 14 */ beq lbl_802B61DC -/* 802B61CC 28 03 00 08 */ cmplwi r3, 8 -/* 802B61D0 41 82 00 0C */ beq lbl_802B61DC -/* 802B61D4 28 03 00 09 */ cmplwi r3, 9 -/* 802B61D8 40 82 00 08 */ bne lbl_802B61E0 -lbl_802B61DC: -/* 802B61DC 38 00 00 01 */ li r0, 1 -lbl_802B61E0: -/* 802B61E0 7C 03 03 78 */ mr r3, r0 -/* 802B61E4 4E 80 00 20 */ blr diff --git a/asm/d/d_cam_param/Change__11dCamParam_cFl.s b/asm/d/d_cam_param/Change__11dCamParam_cFl.s deleted file mode 100644 index 22b8605852b..00000000000 --- a/asm/d/d_cam_param/Change__11dCamParam_cFl.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_800885D4: -/* 800885D4 2C 04 00 00 */ cmpwi r4, 0 -/* 800885D8 41 80 00 30 */ blt lbl_80088608 -/* 800885DC 80 03 00 0C */ lwz r0, 0xc(r3) -/* 800885E0 7C 04 00 00 */ cmpw r4, r0 -/* 800885E4 40 80 00 24 */ bge lbl_80088608 -/* 800885E8 90 83 00 14 */ stw r4, 0x14(r3) -/* 800885EC 80 83 00 08 */ lwz r4, 8(r3) -/* 800885F0 80 03 00 14 */ lwz r0, 0x14(r3) -/* 800885F4 1C 00 00 78 */ mulli r0, r0, 0x78 -/* 800885F8 7C 04 02 14 */ add r0, r4, r0 -/* 800885FC 90 03 00 10 */ stw r0, 0x10(r3) -/* 80088600 38 60 00 01 */ li r3, 1 -/* 80088604 4E 80 00 20 */ blr -lbl_80088608: -/* 80088608 38 00 00 00 */ li r0, 0 -/* 8008860C 90 03 00 14 */ stw r0, 0x14(r3) -/* 80088610 80 03 00 08 */ lwz r0, 8(r3) -/* 80088614 90 03 00 10 */ stw r0, 0x10(r3) -/* 80088618 38 60 00 00 */ li r3, 0 -/* 8008861C 4E 80 00 20 */ blr diff --git a/asm/d/d_cam_param/CheckLatitudeRange__11dCamSetup_cFPs.s b/asm/d/d_cam_param/CheckLatitudeRange__11dCamSetup_cFPs.s deleted file mode 100644 index d09e4a0309c..00000000000 --- a/asm/d/d_cam_param/CheckLatitudeRange__11dCamSetup_cFPs.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_80088918: -/* 80088918 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8008891C C0 22 8E B4 */ lfs f1, lit_4173(r2) -/* 80088920 C0 03 00 60 */ lfs f0, 0x60(r3) -/* 80088924 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80088928 FC 00 00 1E */ fctiwz f0, f0 -/* 8008892C D8 01 00 08 */ stfd f0, 8(r1) -/* 80088930 80 A1 00 0C */ lwz r5, 0xc(r1) -/* 80088934 C0 03 00 5C */ lfs f0, 0x5c(r3) -/* 80088938 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8008893C FC 00 00 1E */ fctiwz f0, f0 -/* 80088940 D8 01 00 10 */ stfd f0, 0x10(r1) -/* 80088944 80 61 00 14 */ lwz r3, 0x14(r1) -/* 80088948 A8 C4 00 00 */ lha r6, 0(r4) -/* 8008894C 7C A0 07 34 */ extsh r0, r5 -/* 80088950 7C 06 00 00 */ cmpw r6, r0 -/* 80088954 40 81 00 10 */ ble lbl_80088964 -/* 80088958 B0 A4 00 00 */ sth r5, 0(r4) -/* 8008895C 38 60 00 00 */ li r3, 0 -/* 80088960 48 00 00 20 */ b lbl_80088980 -lbl_80088964: -/* 80088964 7C 60 07 34 */ extsh r0, r3 -/* 80088968 7C 06 00 00 */ cmpw r6, r0 -/* 8008896C 40 80 00 10 */ bge lbl_8008897C -/* 80088970 B0 64 00 00 */ sth r3, 0(r4) -/* 80088974 38 60 00 00 */ li r3, 0 -/* 80088978 48 00 00 08 */ b lbl_80088980 -lbl_8008897C: -/* 8008897C 38 60 00 01 */ li r3, 1 -lbl_80088980: -/* 80088980 38 21 00 20 */ addi r1, r1, 0x20 -/* 80088984 4E 80 00 20 */ blr diff --git a/asm/d/d_cam_param/PlayerHideDist__11dCamSetup_cFv.s b/asm/d/d_cam_param/PlayerHideDist__11dCamSetup_cFv.s deleted file mode 100644 index 1944a26bb6e..00000000000 --- a/asm/d/d_cam_param/PlayerHideDist__11dCamSetup_cFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80088988: -/* 80088988 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8008898C 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80088990 80 84 5D B4 */ lwz r4, 0x5db4(r4) -/* 80088994 80 04 05 74 */ lwz r0, 0x574(r4) -/* 80088998 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 8008899C 41 82 00 0C */ beq lbl_800889A8 -/* 800889A0 C0 22 8E 54 */ lfs f1, lit_4014(r2) -/* 800889A4 4E 80 00 20 */ blr -lbl_800889A8: -/* 800889A8 C0 23 00 48 */ lfs f1, 0x48(r3) -/* 800889AC 4E 80 00 20 */ blr diff --git a/asm/d/d_cam_param/SearchStyle__11dCamParam_cFUl.s b/asm/d/d_cam_param/SearchStyle__11dCamParam_cFUl.s deleted file mode 100644 index 280093db351..00000000000 --- a/asm/d/d_cam_param/SearchStyle__11dCamParam_cFUl.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_80088620: -/* 80088620 38 E0 FF FF */ li r7, -1 -/* 80088624 39 00 00 00 */ li r8, 0 -/* 80088628 38 A0 00 00 */ li r5, 0 -/* 8008862C 80 03 00 0C */ lwz r0, 0xc(r3) -/* 80088630 7C 09 03 A6 */ mtctr r0 -/* 80088634 2C 00 00 00 */ cmpwi r0, 0 -/* 80088638 40 81 00 28 */ ble lbl_80088660 -lbl_8008863C: -/* 8008863C 80 C3 00 08 */ lwz r6, 8(r3) -/* 80088640 7C 06 28 2E */ lwzx r0, r6, r5 -/* 80088644 7C 04 00 40 */ cmplw r4, r0 -/* 80088648 40 82 00 0C */ bne lbl_80088654 -/* 8008864C 7D 07 43 78 */ mr r7, r8 -/* 80088650 48 00 00 10 */ b lbl_80088660 -lbl_80088654: -/* 80088654 39 08 00 01 */ addi r8, r8, 1 -/* 80088658 38 A5 00 78 */ addi r5, r5, 0x78 -/* 8008865C 42 00 FF E0 */ bdnz lbl_8008863C -lbl_80088660: -/* 80088660 7C E3 3B 78 */ mr r3, r7 -/* 80088664 4E 80 00 20 */ blr diff --git a/asm/d/d_cam_param/__ct__11dCamBGChk_cFv.s b/asm/d/d_cam_param/__ct__11dCamBGChk_cFv.s deleted file mode 100644 index 77e2211f840..00000000000 --- a/asm/d/d_cam_param/__ct__11dCamBGChk_cFv.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_80088464: -/* 80088464 C0 02 8E 20 */ lfs f0, lit_4001(r2) -/* 80088468 D0 03 00 00 */ stfs f0, 0(r3) -/* 8008846C C0 02 8E 10 */ lfs f0, lit_3791(r2) -/* 80088470 D0 03 00 04 */ stfs f0, 4(r3) -/* 80088474 C0 02 8E 24 */ lfs f0, lit_4002(r2) -/* 80088478 D0 03 00 08 */ stfs f0, 8(r3) -/* 8008847C C0 02 8E 28 */ lfs f0, lit_4003(r2) -/* 80088480 D0 03 00 0C */ stfs f0, 0xc(r3) -/* 80088484 C0 02 8E 2C */ lfs f0, lit_4004(r2) -/* 80088488 D0 03 00 10 */ stfs f0, 0x10(r3) -/* 8008848C C0 02 8E 30 */ lfs f0, lit_4005(r2) -/* 80088490 D0 03 00 14 */ stfs f0, 0x14(r3) -/* 80088494 C0 02 8E 34 */ lfs f0, lit_4006(r2) -/* 80088498 D0 03 00 18 */ stfs f0, 0x18(r3) -/* 8008849C C0 42 8E 38 */ lfs f2, lit_4007(r2) -/* 800884A0 D0 43 00 1C */ stfs f2, 0x1c(r3) -/* 800884A4 C0 02 8E 3C */ lfs f0, lit_4008(r2) -/* 800884A8 D0 03 00 20 */ stfs f0, 0x20(r3) -/* 800884AC C0 22 8E 40 */ lfs f1, lit_4009(r2) -/* 800884B0 D0 23 00 24 */ stfs f1, 0x24(r3) -/* 800884B4 C0 02 8E 44 */ lfs f0, lit_4010(r2) -/* 800884B8 D0 03 00 28 */ stfs f0, 0x28(r3) -/* 800884BC C0 02 8E 18 */ lfs f0, lit_3991(r2) -/* 800884C0 D0 03 00 2C */ stfs f0, 0x2c(r3) -/* 800884C4 D0 23 00 30 */ stfs f1, 0x30(r3) -/* 800884C8 C0 02 8E 48 */ lfs f0, lit_4011(r2) -/* 800884CC D0 03 00 34 */ stfs f0, 0x34(r3) -/* 800884D0 D0 43 00 38 */ stfs f2, 0x38(r3) -/* 800884D4 C0 02 8E 4C */ lfs f0, lit_4012(r2) -/* 800884D8 D0 03 00 3C */ stfs f0, 0x3c(r3) -/* 800884DC C0 02 8E 50 */ lfs f0, lit_4013(r2) -/* 800884E0 D0 03 00 40 */ stfs f0, 0x40(r3) -/* 800884E4 C0 02 8E 54 */ lfs f0, lit_4014(r2) -/* 800884E8 D0 03 00 44 */ stfs f0, 0x44(r3) -/* 800884EC 4E 80 00 20 */ blr diff --git a/asm/d/d_cam_param/__ct__11dCamParam_cFl.s b/asm/d/d_cam_param/__ct__11dCamParam_cFl.s deleted file mode 100644 index 7975e20e90a..00000000000 --- a/asm/d/d_cam_param/__ct__11dCamParam_cFl.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_800884F0: -/* 800884F0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800884F4 7C 08 02 A6 */ mflr r0 -/* 800884F8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800884FC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80088500 93 C1 00 08 */ stw r30, 8(r1) -/* 80088504 7C 7E 1B 78 */ mr r30, r3 -/* 80088508 7C 9F 23 78 */ mr r31, r4 -/* 8008850C 3C 60 80 3B */ lis r3, __vt__11dCamParam_c@ha /* 0x803AC50C@ha */ -/* 80088510 38 03 C5 0C */ addi r0, r3, __vt__11dCamParam_c@l /* 0x803AC50C@l */ -/* 80088514 90 1E 00 1C */ stw r0, 0x1c(r30) -/* 80088518 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8008851C 38 A3 61 C0 */ addi r5, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80088520 80 65 5D 88 */ lwz r3, 0x5d88(r5) -/* 80088524 3C 80 80 38 */ lis r4, d_d_cam_param__stringBase0@ha /* 0x8037A7E0@ha */ -/* 80088528 38 84 A7 E0 */ addi r4, r4, d_d_cam_param__stringBase0@l /* 0x8037A7E0@l */ -/* 8008852C 3C A5 00 02 */ addis r5, r5, 2 -/* 80088530 38 C0 00 80 */ li r6, 0x80 -/* 80088534 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 80088538 4B FB 3E 45 */ bl getRes__14dRes_control_cFPCcPCcP11dRes_info_ci -/* 8008853C 38 03 00 08 */ addi r0, r3, 8 -/* 80088540 90 1E 00 08 */ stw r0, 8(r30) -/* 80088544 80 03 00 04 */ lwz r0, 4(r3) -/* 80088548 90 1E 00 0C */ stw r0, 0xc(r30) -/* 8008854C 7F C3 F3 78 */ mr r3, r30 -/* 80088550 7F E4 FB 78 */ mr r4, r31 -/* 80088554 48 00 00 81 */ bl Change__11dCamParam_cFl -/* 80088558 38 00 00 FF */ li r0, 0xff -/* 8008855C 98 1E 00 00 */ stb r0, 0(r30) -/* 80088560 98 1E 00 01 */ stb r0, 1(r30) -/* 80088564 98 1E 00 02 */ stb r0, 2(r30) -/* 80088568 38 00 FF FF */ li r0, -1 -/* 8008856C 90 1E 00 04 */ stw r0, 4(r30) -/* 80088570 7F C3 F3 78 */ mr r3, r30 -/* 80088574 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80088578 83 C1 00 08 */ lwz r30, 8(r1) -/* 8008857C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80088580 7C 08 03 A6 */ mtlr r0 -/* 80088584 38 21 00 10 */ addi r1, r1, 0x10 -/* 80088588 4E 80 00 20 */ blr diff --git a/asm/d/d_cam_param/__ct__11dCamSetup_cFv.s b/asm/d/d_cam_param/__ct__11dCamSetup_cFv.s deleted file mode 100644 index 81a99b90f7d..00000000000 --- a/asm/d/d_cam_param/__ct__11dCamSetup_cFv.s +++ /dev/null @@ -1,149 +0,0 @@ -lbl_80088668: -/* 80088668 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8008866C 7C 08 02 A6 */ mflr r0 -/* 80088670 90 01 00 14 */ stw r0, 0x14(r1) -/* 80088674 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80088678 7C 7F 1B 78 */ mr r31, r3 -/* 8008867C 3C 60 80 3B */ lis r3, __vt__11dCamSetup_c@ha /* 0x803AC500@ha */ -/* 80088680 38 03 C5 00 */ addi r0, r3, __vt__11dCamSetup_c@l /* 0x803AC500@l */ -/* 80088684 90 1F 00 FC */ stw r0, 0xfc(r31) -/* 80088688 38 7F 01 00 */ addi r3, r31, 0x100 -/* 8008868C 4B FF FD A9 */ bl __ct__9dCstick_cFv -/* 80088690 38 7F 01 14 */ addi r3, r31, 0x114 -/* 80088694 4B FF FD D1 */ bl __ct__11dCamBGChk_cFv -/* 80088698 C0 02 8E 10 */ lfs f0, lit_3791(r2) -/* 8008869C D0 1F 00 00 */ stfs f0, 0(r31) -/* 800886A0 C0 22 8E 5C */ lfs f1, lit_4119(r2) -/* 800886A4 D0 3F 00 04 */ stfs f1, 4(r31) -/* 800886A8 38 60 00 01 */ li r3, 1 -/* 800886AC 90 7F 00 0C */ stw r3, 0xc(r31) -/* 800886B0 38 00 FF FF */ li r0, -1 -/* 800886B4 90 1F 00 10 */ stw r0, 0x10(r31) -/* 800886B8 90 1F 00 1C */ stw r0, 0x1c(r31) -/* 800886BC C0 62 8E 18 */ lfs f3, lit_3991(r2) -/* 800886C0 D0 7F 00 20 */ stfs f3, 0x20(r31) -/* 800886C4 C1 22 8E 60 */ lfs f9, lit_4120(r2) -/* 800886C8 D1 3F 00 24 */ stfs f9, 0x24(r31) -/* 800886CC C0 22 8E 4C */ lfs f1, lit_4012(r2) -/* 800886D0 D0 3F 00 60 */ stfs f1, 0x60(r31) -/* 800886D4 C0 22 8E 64 */ lfs f1, lit_4121(r2) -/* 800886D8 D0 3F 00 5C */ stfs f1, 0x5c(r31) -/* 800886DC C0 22 8E 68 */ lfs f1, lit_4122(r2) -/* 800886E0 D0 3F 00 28 */ stfs f1, 0x28(r31) -/* 800886E4 C1 02 8E 6C */ lfs f8, lit_4123(r2) -/* 800886E8 D1 1F 00 2C */ stfs f8, 0x2c(r31) -/* 800886EC C0 E2 8E 70 */ lfs f7, lit_4124(r2) -/* 800886F0 D0 FF 00 50 */ stfs f7, 0x50(r31) -/* 800886F4 C0 22 8E 48 */ lfs f1, lit_4011(r2) -/* 800886F8 D0 3F 00 30 */ stfs f1, 0x30(r31) -/* 800886FC C0 22 8E 74 */ lfs f1, lit_4125(r2) -/* 80088700 D0 3F 00 38 */ stfs f1, 0x38(r31) -/* 80088704 D0 1F 00 3C */ stfs f0, 0x3c(r31) -/* 80088708 C0 22 8E 78 */ lfs f1, lit_4126(r2) -/* 8008870C D0 3F 00 58 */ stfs f1, 0x58(r31) -/* 80088710 C0 22 8E 7C */ lfs f1, lit_4127(r2) -/* 80088714 D0 3F 00 44 */ stfs f1, 0x44(r31) -/* 80088718 C0 C2 8E 80 */ lfs f6, lit_4128(r2) -/* 8008871C D0 DF 00 54 */ stfs f6, 0x54(r31) -/* 80088720 D0 1F 00 4C */ stfs f0, 0x4c(r31) -/* 80088724 C0 42 8E 24 */ lfs f2, lit_4002(r2) -/* 80088728 D0 5F 00 34 */ stfs f2, 0x34(r31) -/* 8008872C C0 22 8E 84 */ lfs f1, lit_4129(r2) -/* 80088730 D0 3F 00 48 */ stfs f1, 0x48(r31) -/* 80088734 C0 A2 8E 88 */ lfs f5, lit_4130(r2) -/* 80088738 D0 BF 00 40 */ stfs f5, 0x40(r31) -/* 8008873C C0 22 8E 8C */ lfs f1, lit_4131(r2) -/* 80088740 D0 3F 00 64 */ stfs f1, 0x64(r31) -/* 80088744 C0 22 8E 90 */ lfs f1, lit_4132(r2) -/* 80088748 D0 3F 00 68 */ stfs f1, 0x68(r31) -/* 8008874C 38 00 00 96 */ li r0, 0x96 -/* 80088750 90 1F 00 B0 */ stw r0, 0xb0(r31) -/* 80088754 D0 BF 00 B4 */ stfs f5, 0xb4(r31) -/* 80088758 C0 82 8E 3C */ lfs f4, lit_4008(r2) -/* 8008875C D0 9F 00 B8 */ stfs f4, 0xb8(r31) -/* 80088760 D0 7F 00 BC */ stfs f3, 0xbc(r31) -/* 80088764 C0 22 8E 44 */ lfs f1, lit_4010(r2) -/* 80088768 D0 3F 00 A4 */ stfs f1, 0xa4(r31) -/* 8008876C C0 22 8E 94 */ lfs f1, lit_4133(r2) -/* 80088770 D0 3F 00 A8 */ stfs f1, 0xa8(r31) -/* 80088774 B0 7F 00 08 */ sth r3, 8(r31) -/* 80088778 38 00 01 18 */ li r0, 0x118 -/* 8008877C B0 1F 00 0A */ sth r0, 0xa(r31) -/* 80088780 A0 1F 00 0A */ lhz r0, 0xa(r31) -/* 80088784 60 00 02 00 */ ori r0, r0, 0x200 -/* 80088788 B0 1F 00 0A */ sth r0, 0xa(r31) -/* 8008878C A0 1F 00 0A */ lhz r0, 0xa(r31) -/* 80088790 60 00 04 00 */ ori r0, r0, 0x400 -/* 80088794 B0 1F 00 0A */ sth r0, 0xa(r31) -/* 80088798 C0 22 8E 98 */ lfs f1, lit_4134(r2) -/* 8008879C D0 3F 00 C0 */ stfs f1, 0xc0(r31) -/* 800887A0 38 60 00 5A */ li r3, 0x5a -/* 800887A4 90 7F 00 C4 */ stw r3, 0xc4(r31) -/* 800887A8 C0 62 8E 38 */ lfs f3, lit_4007(r2) -/* 800887AC D0 7F 00 C8 */ stfs f3, 0xc8(r31) -/* 800887B0 38 00 00 28 */ li r0, 0x28 -/* 800887B4 90 1F 00 CC */ stw r0, 0xcc(r31) -/* 800887B8 C0 22 8E 58 */ lfs f1, lit_4058(r2) -/* 800887BC D0 3F 00 D0 */ stfs f1, 0xd0(r31) -/* 800887C0 C0 22 8E 9C */ lfs f1, lit_4135(r2) -/* 800887C4 D0 3F 00 6C */ stfs f1, 0x6c(r31) -/* 800887C8 C0 22 8E A0 */ lfs f1, lit_4136(r2) -/* 800887CC D0 3F 00 70 */ stfs f1, 0x70(r31) -/* 800887D0 90 7F 00 74 */ stw r3, 0x74(r31) -/* 800887D4 38 80 00 1E */ li r4, 0x1e -/* 800887D8 90 9F 00 94 */ stw r4, 0x94(r31) -/* 800887DC D0 5F 00 88 */ stfs f2, 0x88(r31) -/* 800887E0 D1 3F 00 90 */ stfs f9, 0x90(r31) -/* 800887E4 C0 42 8E 40 */ lfs f2, lit_4009(r2) -/* 800887E8 D0 5F 00 8C */ stfs f2, 0x8c(r31) -/* 800887EC D0 7F 00 78 */ stfs f3, 0x78(r31) -/* 800887F0 C0 22 8E 28 */ lfs f1, lit_4003(r2) -/* 800887F4 D0 3F 00 7C */ stfs f1, 0x7c(r31) -/* 800887F8 D0 5F 00 80 */ stfs f2, 0x80(r31) -/* 800887FC C0 22 8E A4 */ lfs f1, lit_4137(r2) -/* 80088800 D0 3F 00 84 */ stfs f1, 0x84(r31) -/* 80088804 D0 BF 00 D4 */ stfs f5, 0xd4(r31) -/* 80088808 D0 FF 00 D8 */ stfs f7, 0xd8(r31) -/* 8008880C C0 22 8E 34 */ lfs f1, lit_4006(r2) -/* 80088810 D0 3F 00 98 */ stfs f1, 0x98(r31) -/* 80088814 D0 9F 00 A0 */ stfs f4, 0xa0(r31) -/* 80088818 38 00 00 3C */ li r0, 0x3c -/* 8008881C B0 1F 00 DC */ sth r0, 0xdc(r31) -/* 80088820 38 60 00 78 */ li r3, 0x78 -/* 80088824 B0 7F 00 DE */ sth r3, 0xde(r31) -/* 80088828 A0 1F 00 08 */ lhz r0, 8(r31) -/* 8008882C 60 00 48 00 */ ori r0, r0, 0x4800 -/* 80088830 B0 1F 00 08 */ sth r0, 8(r31) -/* 80088834 C0 42 8D C8 */ lfs f2, lit_3769(r2) -/* 80088838 D0 5F 01 5C */ stfs f2, 0x15c(r31) -/* 8008883C D0 5F 01 60 */ stfs f2, 0x160(r31) -/* 80088840 A0 1F 00 08 */ lhz r0, 8(r31) -/* 80088844 60 00 08 00 */ ori r0, r0, 0x800 -/* 80088848 B0 1F 00 08 */ sth r0, 8(r31) -/* 8008884C 90 7F 01 64 */ stw r3, 0x164(r31) -/* 80088850 D1 1F 01 68 */ stfs f8, 0x168(r31) -/* 80088854 C0 22 8E A8 */ lfs f1, lit_4138(r2) -/* 80088858 D0 3F 01 6C */ stfs f1, 0x16c(r31) -/* 8008885C D0 DF 00 E0 */ stfs f6, 0xe0(r31) -/* 80088860 38 00 00 19 */ li r0, 0x19 -/* 80088864 90 1F 00 EC */ stw r0, 0xec(r31) -/* 80088868 C0 22 8E AC */ lfs f1, lit_4139(r2) -/* 8008886C D0 3F 00 F4 */ stfs f1, 0xf4(r31) -/* 80088870 D0 1F 00 F8 */ stfs f0, 0xf8(r31) -/* 80088874 38 00 00 0C */ li r0, 0xc -/* 80088878 90 1F 00 F0 */ stw r0, 0xf0(r31) -/* 8008887C C0 02 8E B0 */ lfs f0, lit_4140(r2) -/* 80088880 D0 1F 00 E4 */ stfs f0, 0xe4(r31) -/* 80088884 D0 5F 00 E8 */ stfs f2, 0xe8(r31) -/* 80088888 90 9F 01 70 */ stw r4, 0x170(r31) -/* 8008888C 38 00 02 58 */ li r0, 0x258 -/* 80088890 90 1F 01 74 */ stw r0, 0x174(r31) -/* 80088894 90 7F 01 78 */ stw r3, 0x178(r31) -/* 80088898 48 0F 8D A9 */ bl dCam_getBody__Fv -/* 8008889C 48 0F 81 A5 */ bl EventRecoverNotime__9dCamera_cFv -/* 800888A0 7F E3 FB 78 */ mr r3, r31 -/* 800888A4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800888A8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800888AC 7C 08 03 A6 */ mtlr r0 -/* 800888B0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800888B4 4E 80 00 20 */ blr diff --git a/asm/d/d_cam_param/__ct__9dCstick_cFv.s b/asm/d/d_cam_param/__ct__9dCstick_cFv.s deleted file mode 100644 index e450a2f2e49..00000000000 --- a/asm/d/d_cam_param/__ct__9dCstick_cFv.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80088434: -/* 80088434 3C 80 80 3B */ lis r4, __vt__9dCstick_c@ha /* 0x803AC518@ha */ -/* 80088438 38 04 C5 18 */ addi r0, r4, __vt__9dCstick_c@l /* 0x803AC518@l */ -/* 8008843C 90 03 00 10 */ stw r0, 0x10(r3) -/* 80088440 C0 02 8E 18 */ lfs f0, lit_3991(r2) -/* 80088444 D0 03 00 00 */ stfs f0, 0(r3) -/* 80088448 C0 02 8E 1C */ lfs f0, lit_3992(r2) -/* 8008844C D0 03 00 04 */ stfs f0, 4(r3) -/* 80088450 38 00 00 06 */ li r0, 6 -/* 80088454 90 03 00 08 */ stw r0, 8(r3) -/* 80088458 4E 80 00 20 */ blr diff --git a/asm/d/d_cam_param/__dt__7cDegreeFv.s b/asm/d/d_cam_param/__dt__7cDegreeFv.s deleted file mode 100644 index 47dae448c8e..00000000000 --- a/asm/d/d_cam_param/__dt__7cDegreeFv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_800882E0: -/* 800882E0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800882E4 7C 08 02 A6 */ mflr r0 -/* 800882E8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800882EC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800882F0 7C 7F 1B 79 */ or. r31, r3, r3 -/* 800882F4 41 82 00 10 */ beq lbl_80088304 -/* 800882F8 7C 80 07 35 */ extsh. r0, r4 -/* 800882FC 40 81 00 08 */ ble lbl_80088304 -/* 80088300 48 24 6A 3D */ bl __dl__FPv -lbl_80088304: -/* 80088304 7F E3 FB 78 */ mr r3, r31 -/* 80088308 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8008830C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80088310 7C 08 03 A6 */ mtlr r0 -/* 80088314 38 21 00 10 */ addi r1, r1, 0x10 -/* 80088318 4E 80 00 20 */ blr diff --git a/asm/d/d_cam_param/__dt__9dCstick_cFv.s b/asm/d/d_cam_param/__dt__9dCstick_cFv.s deleted file mode 100644 index 9b827783c0a..00000000000 --- a/asm/d/d_cam_param/__dt__9dCstick_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_800889B0: -/* 800889B0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800889B4 7C 08 02 A6 */ mflr r0 -/* 800889B8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800889BC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800889C0 7C 7F 1B 79 */ or. r31, r3, r3 -/* 800889C4 41 82 00 1C */ beq lbl_800889E0 -/* 800889C8 3C A0 80 3B */ lis r5, __vt__9dCstick_c@ha /* 0x803AC518@ha */ -/* 800889CC 38 05 C5 18 */ addi r0, r5, __vt__9dCstick_c@l /* 0x803AC518@l */ -/* 800889D0 90 1F 00 10 */ stw r0, 0x10(r31) -/* 800889D4 7C 80 07 35 */ extsh. r0, r4 -/* 800889D8 40 81 00 08 */ ble lbl_800889E0 -/* 800889DC 48 24 63 61 */ bl __dl__FPv -lbl_800889E0: -/* 800889E0 7F E3 FB 78 */ mr r3, r31 -/* 800889E4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800889E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800889EC 7C 08 03 A6 */ mtlr r0 -/* 800889F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800889F4 4E 80 00 20 */ blr diff --git a/asm/d/d_cam_param/rationalBezierRatio__8dCamMathFff.s b/asm/d/d_cam_param/rationalBezierRatio__8dCamMathFff.s deleted file mode 100644 index 730116ad471..00000000000 --- a/asm/d/d_cam_param/rationalBezierRatio__8dCamMathFff.s +++ /dev/null @@ -1,91 +0,0 @@ -lbl_8008813C: -/* 8008813C 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 80088140 7C 08 02 A6 */ mflr r0 -/* 80088144 90 01 00 54 */ stw r0, 0x54(r1) -/* 80088148 DB E1 00 40 */ stfd f31, 0x40(r1) -/* 8008814C F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 /* qr0 */ -/* 80088150 DB C1 00 30 */ stfd f30, 0x30(r1) -/* 80088154 F3 C1 00 38 */ psq_st f30, 56(r1), 0, 0 /* qr0 */ -/* 80088158 DB A1 00 20 */ stfd f29, 0x20(r1) -/* 8008815C F3 A1 00 28 */ psq_st f29, 40(r1), 0, 0 /* qr0 */ -/* 80088160 DB 81 00 10 */ stfd f28, 0x10(r1) -/* 80088164 F3 81 00 18 */ psq_st f28, 24(r1), 0, 0 /* qr0 */ -/* 80088168 FF C0 10 90 */ fmr f30, f2 -/* 8008816C C0 02 8D C8 */ lfs f0, lit_3769(r2) -/* 80088170 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80088174 4C 41 13 82 */ cror 2, 1, 2 -/* 80088178 40 82 00 0C */ bne lbl_80088184 -/* 8008817C CB E2 8D D0 */ lfd f31, lit_3770(r2) -/* 80088180 48 00 00 0C */ b lbl_8008818C -lbl_80088184: -/* 80088184 CB E2 8D D8 */ lfd f31, lit_3771(r2) -/* 80088188 FC 20 08 50 */ fneg f1, f1 -lbl_8008818C: -/* 8008818C C8 62 8D E0 */ lfd f3, lit_3772(r2) -/* 80088190 FC 43 00 72 */ fmul f2, f3, f1 -/* 80088194 FC 02 07 B2 */ fmul f0, f2, f30 -/* 80088198 FC 40 10 28 */ fsub f2, f0, f2 -/* 8008819C FC 03 07 B2 */ fmul f0, f3, f30 -/* 800881A0 FC 42 00 28 */ fsub f2, f2, f0 -/* 800881A4 FF A0 10 50 */ fneg f29, f2 -/* 800881A8 C8 02 8D D0 */ lfd f0, lit_3770(r2) -/* 800881AC FF 9D 00 28 */ fsub f28, f29, f0 -/* 800881B0 FC 42 00 B2 */ fmul f2, f2, f2 -/* 800881B4 C8 02 8D E8 */ lfd f0, lit_3773(r2) -/* 800881B8 FC 00 07 32 */ fmul f0, f0, f28 -/* 800881BC FC 00 00 72 */ fmul f0, f0, f1 -/* 800881C0 FC 22 00 28 */ fsub f1, f2, f0 -/* 800881C4 C8 02 8D F0 */ lfd f0, lit_3774(r2) -/* 800881C8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800881CC 40 81 00 0C */ ble lbl_800881D8 -/* 800881D0 48 2E 48 85 */ bl sqrt -/* 800881D4 48 00 00 08 */ b lbl_800881DC -lbl_800881D8: -/* 800881D8 FC 20 00 90 */ fmr f1, f0 -lbl_800881DC: -/* 800881DC FC 3D 08 28 */ fsub f1, f29, f1 -/* 800881E0 C8 02 8D E0 */ lfd f0, lit_3772(r2) -/* 800881E4 FC 40 07 32 */ fmul f2, f0, f28 -/* 800881E8 C8 02 8D F8 */ lfd f0, lit_3775(r2) -/* 800881EC FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 800881F0 41 81 00 10 */ bgt lbl_80088200 -/* 800881F4 C8 02 8E 00 */ lfd f0, lit_3776(r2) -/* 800881F8 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 800881FC 40 80 00 54 */ bge lbl_80088250 -lbl_80088200: -/* 80088200 FC 41 10 24 */ fdiv f2, f1, f2 -/* 80088204 FC 62 00 B2 */ fmul f3, f2, f2 -/* 80088208 C8 02 8D D0 */ lfd f0, lit_3770(r2) -/* 8008820C FC 80 10 28 */ fsub f4, f0, f2 -/* 80088210 FC 24 01 32 */ fmul f1, f4, f4 -/* 80088214 C8 02 8D E0 */ lfd f0, lit_3772(r2) -/* 80088218 FC 00 01 32 */ fmul f0, f0, f4 -/* 8008821C FC 00 00 B2 */ fmul f0, f0, f2 -/* 80088220 FC 1E 00 32 */ fmul f0, f30, f0 -/* 80088224 FC 01 00 2A */ fadd f0, f1, f0 -/* 80088228 FC 23 00 2A */ fadd f1, f3, f0 -/* 8008822C C8 02 8E 08 */ lfd f0, lit_3777(r2) -/* 80088230 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80088234 40 81 00 14 */ ble lbl_80088248 -/* 80088238 FC 03 08 24 */ fdiv f0, f3, f1 -/* 8008823C FC 3F 00 32 */ fmul f1, f31, f0 -/* 80088240 FC 20 08 18 */ frsp f1, f1 -/* 80088244 48 00 00 10 */ b lbl_80088254 -lbl_80088248: -/* 80088248 C0 22 8D C8 */ lfs f1, lit_3769(r2) -/* 8008824C 48 00 00 08 */ b lbl_80088254 -lbl_80088250: -/* 80088250 C0 22 8D C8 */ lfs f1, lit_3769(r2) -lbl_80088254: -/* 80088254 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 /* qr0 */ -/* 80088258 CB E1 00 40 */ lfd f31, 0x40(r1) -/* 8008825C E3 C1 00 38 */ psq_l f30, 56(r1), 0, 0 /* qr0 */ -/* 80088260 CB C1 00 30 */ lfd f30, 0x30(r1) -/* 80088264 E3 A1 00 28 */ psq_l f29, 40(r1), 0, 0 /* qr0 */ -/* 80088268 CB A1 00 20 */ lfd f29, 0x20(r1) -/* 8008826C E3 81 00 18 */ psq_l f28, 24(r1), 0, 0 /* qr0 */ -/* 80088270 CB 81 00 10 */ lfd f28, 0x10(r1) -/* 80088274 80 01 00 54 */ lwz r0, 0x54(r1) -/* 80088278 7C 08 03 A6 */ mtlr r0 -/* 8008827C 38 21 00 50 */ addi r1, r1, 0x50 -/* 80088280 4E 80 00 20 */ blr diff --git a/asm/d/d_cam_param/xyzHorizontalDistance__8dCamMathFR4cXyzR4cXyz.s b/asm/d/d_cam_param/xyzHorizontalDistance__8dCamMathFR4cXyzR4cXyz.s deleted file mode 100644 index c19b00d16c5..00000000000 --- a/asm/d/d_cam_param/xyzHorizontalDistance__8dCamMathFR4cXyzR4cXyz.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_800883EC: -/* 800883EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800883F0 7C 08 02 A6 */ mflr r0 -/* 800883F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800883F8 C0 23 00 00 */ lfs f1, 0(r3) -/* 800883FC C0 04 00 00 */ lfs f0, 0(r4) -/* 80088400 EC 41 00 28 */ fsubs f2, f1, f0 -/* 80088404 C0 23 00 08 */ lfs f1, 8(r3) -/* 80088408 C0 04 00 08 */ lfs f0, 8(r4) -/* 8008840C EC 01 00 28 */ fsubs f0, f1, f0 -/* 80088410 FC 22 00 B2 */ fmul f1, f2, f2 -/* 80088414 FC 00 00 32 */ fmul f0, f0, f0 -/* 80088418 FC 21 00 2A */ fadd f1, f1, f0 -/* 8008841C 48 2E 46 39 */ bl sqrt -/* 80088420 FC 20 08 18 */ frsp f1, f1 -/* 80088424 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80088428 7C 08 03 A6 */ mtlr r0 -/* 8008842C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80088430 4E 80 00 20 */ blr diff --git a/asm/d/d_cam_param/xyzRotateX__8dCamMathFR4cXyz7cSAngle.s b/asm/d/d_cam_param/xyzRotateX__8dCamMathFR4cXyz7cSAngle.s deleted file mode 100644 index edc089db29f..00000000000 --- a/asm/d/d_cam_param/xyzRotateX__8dCamMathFR4cXyz7cSAngle.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_8008831C: -/* 8008831C 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 80088320 7C 08 02 A6 */ mflr r0 -/* 80088324 90 01 00 54 */ stw r0, 0x54(r1) -/* 80088328 93 E1 00 4C */ stw r31, 0x4c(r1) -/* 8008832C 93 C1 00 48 */ stw r30, 0x48(r1) -/* 80088330 7C 7E 1B 78 */ mr r30, r3 -/* 80088334 7C 9F 23 78 */ mr r31, r4 -/* 80088338 A8 85 00 00 */ lha r4, 0(r5) -/* 8008833C 38 61 00 14 */ addi r3, r1, 0x14 -/* 80088340 4B F8 40 05 */ bl mDoMtx_XrotS__FPA4_fs -/* 80088344 38 61 00 14 */ addi r3, r1, 0x14 -/* 80088348 7F E4 FB 78 */ mr r4, r31 -/* 8008834C 38 A1 00 08 */ addi r5, r1, 8 -/* 80088350 48 2B EA 1D */ bl PSMTXMultVec -/* 80088354 C0 01 00 08 */ lfs f0, 8(r1) -/* 80088358 D0 1E 00 00 */ stfs f0, 0(r30) -/* 8008835C C0 01 00 0C */ lfs f0, 0xc(r1) -/* 80088360 D0 1E 00 04 */ stfs f0, 4(r30) -/* 80088364 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80088368 D0 1E 00 08 */ stfs f0, 8(r30) -/* 8008836C 83 E1 00 4C */ lwz r31, 0x4c(r1) -/* 80088370 83 C1 00 48 */ lwz r30, 0x48(r1) -/* 80088374 80 01 00 54 */ lwz r0, 0x54(r1) -/* 80088378 7C 08 03 A6 */ mtlr r0 -/* 8008837C 38 21 00 50 */ addi r1, r1, 0x50 -/* 80088380 4E 80 00 20 */ blr diff --git a/asm/d/d_cam_param/xyzRotateY__8dCamMathFR4cXyz7cSAngle.s b/asm/d/d_cam_param/xyzRotateY__8dCamMathFR4cXyz7cSAngle.s deleted file mode 100644 index 671b21fb176..00000000000 --- a/asm/d/d_cam_param/xyzRotateY__8dCamMathFR4cXyz7cSAngle.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_80088384: -/* 80088384 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 80088388 7C 08 02 A6 */ mflr r0 -/* 8008838C 90 01 00 54 */ stw r0, 0x54(r1) -/* 80088390 93 E1 00 4C */ stw r31, 0x4c(r1) -/* 80088394 93 C1 00 48 */ stw r30, 0x48(r1) -/* 80088398 7C 7E 1B 78 */ mr r30, r3 -/* 8008839C 7C 9F 23 78 */ mr r31, r4 -/* 800883A0 A8 85 00 00 */ lha r4, 0(r5) -/* 800883A4 38 61 00 14 */ addi r3, r1, 0x14 -/* 800883A8 4B F8 40 35 */ bl mDoMtx_YrotS__FPA4_fs -/* 800883AC 38 61 00 14 */ addi r3, r1, 0x14 -/* 800883B0 7F E4 FB 78 */ mr r4, r31 -/* 800883B4 38 A1 00 08 */ addi r5, r1, 8 -/* 800883B8 48 2B E9 B5 */ bl PSMTXMultVec -/* 800883BC C0 01 00 08 */ lfs f0, 8(r1) -/* 800883C0 D0 1E 00 00 */ stfs f0, 0(r30) -/* 800883C4 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 800883C8 D0 1E 00 04 */ stfs f0, 4(r30) -/* 800883CC C0 01 00 10 */ lfs f0, 0x10(r1) -/* 800883D0 D0 1E 00 08 */ stfs f0, 8(r30) -/* 800883D4 83 E1 00 4C */ lwz r31, 0x4c(r1) -/* 800883D8 83 C1 00 48 */ lwz r30, 0x48(r1) -/* 800883DC 80 01 00 54 */ lwz r0, 0x54(r1) -/* 800883E0 7C 08 03 A6 */ mtlr r0 -/* 800883E4 38 21 00 50 */ addi r1, r1, 0x50 -/* 800883E8 4E 80 00 20 */ blr diff --git a/asm/d/d_cam_param/zoomFovy__8dCamMathFff.s b/asm/d/d_cam_param/zoomFovy__8dCamMathFff.s deleted file mode 100644 index 190fcb4ec3c..00000000000 --- a/asm/d/d_cam_param/zoomFovy__8dCamMathFff.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_80088284: -/* 80088284 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80088288 7C 08 02 A6 */ mflr r0 -/* 8008828C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80088290 DB E1 00 10 */ stfd f31, 0x10(r1) -/* 80088294 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 80088298 FF E0 10 90 */ fmr f31, f2 -/* 8008829C 38 61 00 08 */ addi r3, r1, 8 -/* 800882A0 48 1E 90 AD */ bl __ct__7cDegreeFf -/* 800882A4 38 61 00 08 */ addi r3, r1, 8 -/* 800882A8 48 1E 91 71 */ bl Cos__7cDegreeCFv -/* 800882AC EF FF 00 72 */ fmuls f31, f31, f1 -/* 800882B0 38 61 00 08 */ addi r3, r1, 8 -/* 800882B4 48 1E 91 3D */ bl Sin__7cDegreeCFv -/* 800882B8 FC 40 F8 90 */ fmr f2, f31 -/* 800882BC 48 1D F5 59 */ bl cM_atan2f__Fff -/* 800882C0 C0 02 8E 14 */ lfs f0, lit_3807(r2) -/* 800882C4 EC 20 00 72 */ fmuls f1, f0, f1 -/* 800882C8 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 800882CC CB E1 00 10 */ lfd f31, 0x10(r1) -/* 800882D0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800882D4 7C 08 03 A6 */ mtlr r0 -/* 800882D8 38 21 00 20 */ addi r1, r1, 0x20 -/* 800882DC 4E 80 00 20 */ blr diff --git a/asm/d/d_door_param2/getBLightInf__13door_param2_cFP10fopAc_ac_c.s b/asm/d/d_door_param2/getBLightInf__13door_param2_cFP10fopAc_ac_c.s deleted file mode 100644 index 117e0404b74..00000000000 --- a/asm/d/d_door_param2/getBLightInf__13door_param2_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8003A23C: -/* 8003A23C 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 8003A240 54 03 27 7E */ rlwinm r3, r0, 4, 0x1d, 0x1f -/* 8003A244 4E 80 00 20 */ blr diff --git a/asm/d/d_door_param2/getBRoomNo__13door_param2_cFP10fopAc_ac_c.s b/asm/d/d_door_param2/getBRoomNo__13door_param2_cFP10fopAc_ac_c.s deleted file mode 100644 index a1fa25147b7..00000000000 --- a/asm/d/d_door_param2/getBRoomNo__13door_param2_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8003A1C4: -/* 8003A1C4 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 8003A1C8 54 03 6E BE */ rlwinm r3, r0, 0xd, 0x1a, 0x1f -/* 8003A1CC 4E 80 00 20 */ blr diff --git a/asm/d/d_door_param2/getBackOption__13door_param2_cFP10fopAc_ac_c.s b/asm/d/d_door_param2/getBackOption__13door_param2_cFP10fopAc_ac_c.s deleted file mode 100644 index 5fe2ce7c08c..00000000000 --- a/asm/d/d_door_param2/getBackOption__13door_param2_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8003A1AC: -/* 8003A1AC 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 8003A1B0 54 03 B7 7E */ rlwinm r3, r0, 0x16, 0x1d, 0x1f -/* 8003A1B4 4E 80 00 20 */ blr diff --git a/asm/d/d_door_param2/getDoorModel__13door_param2_cFP10fopAc_ac_c.s b/asm/d/d_door_param2/getDoorModel__13door_param2_cFP10fopAc_ac_c.s deleted file mode 100644 index fe28bfff22e..00000000000 --- a/asm/d/d_door_param2/getDoorModel__13door_param2_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8003A194: -/* 8003A194 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 8003A198 54 03 DF 7E */ rlwinm r3, r0, 0x1b, 0x1d, 0x1f -/* 8003A19C 4E 80 00 20 */ blr diff --git a/asm/d/d_door_param2/getEventNo2__13door_param2_cFP10fopAc_ac_c.s b/asm/d/d_door_param2/getEventNo2__13door_param2_cFP10fopAc_ac_c.s deleted file mode 100644 index 019c58f4fba..00000000000 --- a/asm/d/d_door_param2/getEventNo2__13door_param2_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8003A20C: -/* 8003A20C A8 03 04 B4 */ lha r0, 0x4b4(r3) -/* 8003A210 54 03 C6 3E */ rlwinm r3, r0, 0x18, 0x18, 0x1f -/* 8003A214 4E 80 00 20 */ blr diff --git a/asm/d/d_door_param2/getEventNo__13door_param2_cFP10fopAc_ac_c.s b/asm/d/d_door_param2/getEventNo__13door_param2_cFP10fopAc_ac_c.s deleted file mode 100644 index c585671e720..00000000000 --- a/asm/d/d_door_param2/getEventNo__13door_param2_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8003A200: -/* 8003A200 A8 03 04 B4 */ lha r0, 0x4b4(r3) -/* 8003A204 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8003A208 4E 80 00 20 */ blr diff --git a/asm/d/d_door_param2/getExitNo__13door_param2_cFP10fopAc_ac_c.s b/asm/d/d_door_param2/getExitNo__13door_param2_cFP10fopAc_ac_c.s deleted file mode 100644 index 3bb4ed9f9d1..00000000000 --- a/asm/d/d_door_param2/getExitNo__13door_param2_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8003A224: -/* 8003A224 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 8003A228 54 03 3E BE */ rlwinm r3, r0, 7, 0x1a, 0x1f -/* 8003A22C 4E 80 00 20 */ blr diff --git a/asm/d/d_door_param2/getFLightInf__13door_param2_cFP10fopAc_ac_c.s b/asm/d/d_door_param2/getFLightInf__13door_param2_cFP10fopAc_ac_c.s deleted file mode 100644 index 62413287a60..00000000000 --- a/asm/d/d_door_param2/getFLightInf__13door_param2_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8003A230: -/* 8003A230 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 8003A234 54 03 3F 7E */ rlwinm r3, r0, 7, 0x1d, 0x1f -/* 8003A238 4E 80 00 20 */ blr diff --git a/asm/d/d_door_param2/getFRoomNo__13door_param2_cFP10fopAc_ac_c.s b/asm/d/d_door_param2/getFRoomNo__13door_param2_cFP10fopAc_ac_c.s deleted file mode 100644 index 9414fef9c26..00000000000 --- a/asm/d/d_door_param2/getFRoomNo__13door_param2_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8003A1B8: -/* 8003A1B8 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 8003A1BC 54 03 9E BE */ rlwinm r3, r0, 0x13, 0x1a, 0x1f -/* 8003A1C0 4E 80 00 20 */ blr diff --git a/asm/d/d_door_param2/getFrontOption__13door_param2_cFP10fopAc_ac_c.s b/asm/d/d_door_param2/getFrontOption__13door_param2_cFP10fopAc_ac_c.s deleted file mode 100644 index 3c30f80d38d..00000000000 --- a/asm/d/d_door_param2/getFrontOption__13door_param2_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8003A1A0: -/* 8003A1A0 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 8003A1A4 54 03 C7 BE */ rlwinm r3, r0, 0x18, 0x1e, 0x1f -/* 8003A1A8 4E 80 00 20 */ blr diff --git a/asm/d/d_door_param2/getKind__13door_param2_cFP10fopAc_ac_c.s b/asm/d/d_door_param2/getKind__13door_param2_cFP10fopAc_ac_c.s deleted file mode 100644 index 941eefb93ba..00000000000 --- a/asm/d/d_door_param2/getKind__13door_param2_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8003A188: -/* 8003A188 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 8003A18C 54 03 06 FE */ clrlwi r3, r0, 0x1b -/* 8003A190 4E 80 00 20 */ blr diff --git a/asm/d/d_door_param2/getMBLightInf__13door_param2_cFP10fopAc_ac_c.s b/asm/d/d_door_param2/getMBLightInf__13door_param2_cFP10fopAc_ac_c.s deleted file mode 100644 index 1a0bc5f8db5..00000000000 --- a/asm/d/d_door_param2/getMBLightInf__13door_param2_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8003A254: -/* 8003A254 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 8003A258 54 03 57 7E */ rlwinm r3, r0, 0xa, 0x1d, 0x1f -/* 8003A25C 4E 80 00 20 */ blr diff --git a/asm/d/d_door_param2/getMFLightInf__13door_param2_cFP10fopAc_ac_c.s b/asm/d/d_door_param2/getMFLightInf__13door_param2_cFP10fopAc_ac_c.s deleted file mode 100644 index d5fa35969e7..00000000000 --- a/asm/d/d_door_param2/getMFLightInf__13door_param2_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8003A248: -/* 8003A248 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 8003A24C 54 03 6F 7E */ rlwinm r3, r0, 0xd, 0x1d, 0x1f -/* 8003A250 4E 80 00 20 */ blr diff --git a/asm/d/d_door_param2/getMsgNo__13door_param2_cFP10fopAc_ac_c.s b/asm/d/d_door_param2/getMsgNo__13door_param2_cFP10fopAc_ac_c.s deleted file mode 100644 index 9d1e9115f15..00000000000 --- a/asm/d/d_door_param2/getMsgNo__13door_param2_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8003A218: -/* 8003A218 A8 03 04 B4 */ lha r0, 0x4b4(r3) -/* 8003A21C 54 03 04 3E */ clrlwi r3, r0, 0x10 -/* 8003A220 4E 80 00 20 */ blr diff --git a/asm/d/d_door_param2/getSwbit2__13door_param2_cFP10fopAc_ac_c.s b/asm/d/d_door_param2/getSwbit2__13door_param2_cFP10fopAc_ac_c.s deleted file mode 100644 index 28df4fcb301..00000000000 --- a/asm/d/d_door_param2/getSwbit2__13door_param2_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8003A1DC: -/* 8003A1DC A8 03 04 B8 */ lha r0, 0x4b8(r3) -/* 8003A1E0 54 03 C6 3E */ rlwinm r3, r0, 0x18, 0x18, 0x1f -/* 8003A1E4 4E 80 00 20 */ blr diff --git a/asm/d/d_door_param2/getSwbit3__13door_param2_cFP10fopAc_ac_c.s b/asm/d/d_door_param2/getSwbit3__13door_param2_cFP10fopAc_ac_c.s deleted file mode 100644 index ef67f40caad..00000000000 --- a/asm/d/d_door_param2/getSwbit3__13door_param2_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8003A1E8: -/* 8003A1E8 A8 03 04 B4 */ lha r0, 0x4b4(r3) -/* 8003A1EC 54 03 C6 3E */ rlwinm r3, r0, 0x18, 0x18, 0x1f -/* 8003A1F0 4E 80 00 20 */ blr diff --git a/asm/d/d_door_param2/getSwbit__13door_param2_cFP10fopAc_ac_c.s b/asm/d/d_door_param2/getSwbit__13door_param2_cFP10fopAc_ac_c.s deleted file mode 100644 index 7123f46d5fa..00000000000 --- a/asm/d/d_door_param2/getSwbit__13door_param2_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8003A1D0: -/* 8003A1D0 A8 03 04 B8 */ lha r0, 0x4b8(r3) -/* 8003A1D4 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8003A1D8 4E 80 00 20 */ blr diff --git a/asm/d/d_door_param2/isMsgDoor__13door_param2_cFP10fopAc_ac_c.s b/asm/d/d_door_param2/isMsgDoor__13door_param2_cFP10fopAc_ac_c.s deleted file mode 100644 index 260d9fd67b9..00000000000 --- a/asm/d/d_door_param2/isMsgDoor__13door_param2_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8003A1F4: -/* 8003A1F4 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 8003A1F8 54 03 0F FE */ srwi r3, r0, 0x1f -/* 8003A1FC 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/wipeIn__12dDlst_list_cFf.s b/asm/d/d_drawlist/wipeIn__12dDlst_list_cFf.s deleted file mode 100644 index 2914fb11d95..00000000000 --- a/asm/d/d_drawlist/wipeIn__12dDlst_list_cFf.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_800568D8: -/* 800568D8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800568DC 7C 08 02 A6 */ mflr r0 -/* 800568E0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800568E4 FC 20 08 50 */ fneg f1, f1 -/* 800568E8 38 6D 80 84 */ la r3, g_blackColor(r13) /* 80450604-_SDA_BASE_ */ -/* 800568EC 4B FF FF 31 */ bl wipeIn__12dDlst_list_cFfR8_GXColor -/* 800568F0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800568F4 7C 08 03 A6 */ mtlr r0 -/* 800568F8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800568FC 4E 80 00 20 */ blr diff --git a/asm/d/d_gameover/__ct__10dGov_HIO_cFv.s b/asm/d/d_gameover/__ct__10dGov_HIO_cFv.s deleted file mode 100644 index 1752a94e46e..00000000000 --- a/asm/d/d_gameover/__ct__10dGov_HIO_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8019AFE0: -/* 8019AFE0 3C 80 80 3B */ lis r4, __vt__14mDoHIO_entry_c@ha /* 0x803B61B4@ha */ -/* 8019AFE4 38 04 61 B4 */ addi r0, r4, __vt__14mDoHIO_entry_c@l /* 0x803B61B4@l */ -/* 8019AFE8 90 03 00 00 */ stw r0, 0(r3) -/* 8019AFEC 3C 80 80 3C */ lis r4, __vt__10dGov_HIO_c@ha /* 0x803BBD90@ha */ -/* 8019AFF0 38 04 BD 90 */ addi r0, r4, __vt__10dGov_HIO_c@l /* 0x803BBD90@l */ -/* 8019AFF4 90 03 00 00 */ stw r0, 0(r3) -/* 8019AFF8 C0 02 A1 8C */ lfs f0, lit_3878(r2) -/* 8019AFFC D0 03 00 08 */ stfs f0, 8(r3) -/* 8019B000 C0 02 A1 84 */ lfs f0, lit_3869(r2) -/* 8019B004 D0 03 00 0C */ stfs f0, 0xc(r3) -/* 8019B008 C0 02 A1 90 */ lfs f0, lit_3879(r2) -/* 8019B00C D0 03 00 10 */ stfs f0, 0x10(r3) -/* 8019B010 38 00 00 00 */ li r0, 0 -/* 8019B014 98 03 00 14 */ stb r0, 0x14(r3) -/* 8019B018 98 03 00 15 */ stb r0, 0x15(r3) -/* 8019B01C 98 03 00 16 */ stb r0, 0x16(r3) -/* 8019B020 98 03 00 17 */ stb r0, 0x17(r3) -/* 8019B024 38 80 00 FF */ li r4, 0xff -/* 8019B028 98 83 00 18 */ stb r4, 0x18(r3) -/* 8019B02C 38 00 00 DC */ li r0, 0xdc -/* 8019B030 98 03 00 19 */ stb r0, 0x19(r3) -/* 8019B034 38 00 00 7D */ li r0, 0x7d -/* 8019B038 98 03 00 1A */ stb r0, 0x1a(r3) -/* 8019B03C 98 83 00 1B */ stb r4, 0x1b(r3) -/* 8019B040 4E 80 00 20 */ blr diff --git a/asm/d/d_gameover/__dt__24dDlst_GameOverScrnDraw_cFv.s b/asm/d/d_gameover/__dt__24dDlst_GameOverScrnDraw_cFv.s deleted file mode 100644 index 243d4637b40..00000000000 --- a/asm/d/d_gameover/__dt__24dDlst_GameOverScrnDraw_cFv.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_8019BBFC: -/* 8019BBFC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8019BC00 7C 08 02 A6 */ mflr r0 -/* 8019BC04 90 01 00 14 */ stw r0, 0x14(r1) -/* 8019BC08 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8019BC0C 93 C1 00 08 */ stw r30, 8(r1) -/* 8019BC10 7C 7E 1B 79 */ or. r30, r3, r3 -/* 8019BC14 7C 9F 23 78 */ mr r31, r4 -/* 8019BC18 41 82 00 7C */ beq lbl_8019BC94 -/* 8019BC1C 3C 60 80 3C */ lis r3, __vt__24dDlst_GameOverScrnDraw_c@ha /* 0x803BBD68@ha */ -/* 8019BC20 38 03 BD 68 */ addi r0, r3, __vt__24dDlst_GameOverScrnDraw_c@l /* 0x803BBD68@l */ -/* 8019BC24 90 1E 00 00 */ stw r0, 0(r30) -/* 8019BC28 80 7E 00 08 */ lwz r3, 8(r30) -/* 8019BC2C 28 03 00 00 */ cmplwi r3, 0 -/* 8019BC30 41 82 00 18 */ beq lbl_8019BC48 -/* 8019BC34 38 80 00 01 */ li r4, 1 -/* 8019BC38 81 83 00 00 */ lwz r12, 0(r3) -/* 8019BC3C 81 8C 00 08 */ lwz r12, 8(r12) -/* 8019BC40 7D 89 03 A6 */ mtctr r12 -/* 8019BC44 4E 80 04 21 */ bctrl -lbl_8019BC48: -/* 8019BC48 80 7E 00 04 */ lwz r3, 4(r30) -/* 8019BC4C 28 03 00 00 */ cmplwi r3, 0 -/* 8019BC50 41 82 00 18 */ beq lbl_8019BC68 -/* 8019BC54 38 80 00 01 */ li r4, 1 -/* 8019BC58 81 83 00 00 */ lwz r12, 0(r3) -/* 8019BC5C 81 8C 00 08 */ lwz r12, 8(r12) -/* 8019BC60 7D 89 03 A6 */ mtctr r12 -/* 8019BC64 4E 80 04 21 */ bctrl -lbl_8019BC68: -/* 8019BC68 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8019BC6C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8019BC70 80 63 5D 30 */ lwz r3, 0x5d30(r3) -/* 8019BC74 81 83 00 00 */ lwz r12, 0(r3) -/* 8019BC78 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 8019BC7C 7D 89 03 A6 */ mtctr r12 -/* 8019BC80 4E 80 04 21 */ bctrl -/* 8019BC84 7F E0 07 35 */ extsh. r0, r31 -/* 8019BC88 40 81 00 0C */ ble lbl_8019BC94 -/* 8019BC8C 7F C3 F3 78 */ mr r3, r30 -/* 8019BC90 48 13 30 AD */ bl __dl__FPv -lbl_8019BC94: -/* 8019BC94 7F C3 F3 78 */ mr r3, r30 -/* 8019BC98 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8019BC9C 83 C1 00 08 */ lwz r30, 8(r1) -/* 8019BCA0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8019BCA4 7C 08 03 A6 */ mtlr r0 -/* 8019BCA8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8019BCAC 4E 80 00 20 */ blr diff --git a/asm/d/d_gameover/_delete__11dGameover_cFv.s b/asm/d/d_gameover/_delete__11dGameover_cFv.s deleted file mode 100644 index c3c788bd257..00000000000 --- a/asm/d/d_gameover/_delete__11dGameover_cFv.s +++ /dev/null @@ -1,60 +0,0 @@ -lbl_8019B864: -/* 8019B864 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8019B868 7C 08 02 A6 */ mflr r0 -/* 8019B86C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8019B870 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8019B874 93 C1 00 08 */ stw r30, 8(r1) -/* 8019B878 7C 7E 1B 78 */ mr r30, r3 -/* 8019B87C 80 63 01 10 */ lwz r3, 0x110(r3) -/* 8019B880 4B E7 39 4D */ bl mDoExt_setCurrentHeap__FP7JKRHeap -/* 8019B884 7C 7F 1B 78 */ mr r31, r3 -/* 8019B888 80 7E 01 00 */ lwz r3, 0x100(r30) -/* 8019B88C 28 03 00 00 */ cmplwi r3, 0 -/* 8019B890 41 82 00 24 */ beq lbl_8019B8B4 -/* 8019B894 41 82 00 18 */ beq lbl_8019B8AC -/* 8019B898 38 80 00 01 */ li r4, 1 -/* 8019B89C 81 83 00 00 */ lwz r12, 0(r3) -/* 8019B8A0 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 8019B8A4 7D 89 03 A6 */ mtctr r12 -/* 8019B8A8 4E 80 04 21 */ bctrl -lbl_8019B8AC: -/* 8019B8AC 38 00 00 00 */ li r0, 0 -/* 8019B8B0 90 1E 01 00 */ stw r0, 0x100(r30) -lbl_8019B8B4: -/* 8019B8B4 80 7E 00 FC */ lwz r3, 0xfc(r30) -/* 8019B8B8 48 05 52 71 */ bl _delete__12dMenu_save_cFv -/* 8019B8BC 80 7E 00 FC */ lwz r3, 0xfc(r30) -/* 8019B8C0 28 03 00 00 */ cmplwi r3, 0 -/* 8019B8C4 41 82 00 18 */ beq lbl_8019B8DC -/* 8019B8C8 38 80 00 01 */ li r4, 1 -/* 8019B8CC 81 83 00 00 */ lwz r12, 0(r3) -/* 8019B8D0 81 8C 00 08 */ lwz r12, 8(r12) -/* 8019B8D4 7D 89 03 A6 */ mtctr r12 -/* 8019B8D8 4E 80 04 21 */ bctrl -lbl_8019B8DC: -/* 8019B8DC 80 7E 01 04 */ lwz r3, 0x104(r30) -/* 8019B8E0 28 03 00 00 */ cmplwi r3, 0 -/* 8019B8E4 41 82 00 18 */ beq lbl_8019B8FC -/* 8019B8E8 38 80 00 01 */ li r4, 1 -/* 8019B8EC 81 83 00 00 */ lwz r12, 0(r3) -/* 8019B8F0 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 8019B8F4 7D 89 03 A6 */ mtctr r12 -/* 8019B8F8 4E 80 04 21 */ bctrl -lbl_8019B8FC: -/* 8019B8FC 80 7E 01 10 */ lwz r3, 0x110(r30) -/* 8019B900 48 13 2C CD */ bl freeAll__7JKRHeapFv -/* 8019B904 38 60 00 00 */ li r3, 0 -/* 8019B908 4B E9 28 81 */ bl dComIfGp_offHeapLockFlag__Fi -/* 8019B90C 7F E3 FB 78 */ mr r3, r31 -/* 8019B910 4B E7 38 BD */ bl mDoExt_setCurrentHeap__FP7JKRHeap -/* 8019B914 38 7E 01 08 */ addi r3, r30, 0x108 -/* 8019B918 3C 80 80 39 */ lis r4, d_d_gameover__stringBase0@ha /* 0x80394C28@ha */ -/* 8019B91C 38 84 4C 28 */ addi r4, r4, d_d_gameover__stringBase0@l /* 0x80394C28@l */ -/* 8019B920 4B E9 16 E9 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc -/* 8019B924 38 60 00 01 */ li r3, 1 -/* 8019B928 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8019B92C 83 C1 00 08 */ lwz r30, 8(r1) -/* 8019B930 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8019B934 7C 08 03 A6 */ mtlr r0 -/* 8019B938 38 21 00 10 */ addi r1, r1, 0x10 -/* 8019B93C 4E 80 00 20 */ blr diff --git a/asm/d/d_gameover/_draw__11dGameover_cFv.s b/asm/d/d_gameover/_draw__11dGameover_cFv.s deleted file mode 100644 index dd06684fb1b..00000000000 --- a/asm/d/d_gameover/_draw__11dGameover_cFv.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_8019B7C4: -/* 8019B7C4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8019B7C8 7C 08 02 A6 */ mflr r0 -/* 8019B7CC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8019B7D0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8019B7D4 7C 7F 1B 78 */ mr r31, r3 -/* 8019B7D8 80 C3 01 04 */ lwz r6, 0x104(r3) -/* 8019B7DC 28 06 00 00 */ cmplwi r6, 0 -/* 8019B7E0 41 82 00 28 */ beq lbl_8019B808 -/* 8019B7E4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8019B7E8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8019B7EC 88 03 5E B5 */ lbz r0, 0x5eb5(r3) -/* 8019B7F0 28 00 00 00 */ cmplwi r0, 0 -/* 8019B7F4 41 82 00 14 */ beq lbl_8019B808 -/* 8019B7F8 38 63 5F 64 */ addi r3, r3, 0x5f64 -/* 8019B7FC 38 83 01 B4 */ addi r4, r3, 0x1b4 -/* 8019B800 38 A3 01 B8 */ addi r5, r3, 0x1b8 -/* 8019B804 4B EB AF 91 */ bl set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c -lbl_8019B808: -/* 8019B808 88 1F 01 19 */ lbz r0, 0x119(r31) -/* 8019B80C 28 00 00 00 */ cmplwi r0, 0 -/* 8019B810 41 82 00 3C */ beq lbl_8019B84C -/* 8019B814 88 1F 01 18 */ lbz r0, 0x118(r31) -/* 8019B818 28 00 00 02 */ cmplwi r0, 2 -/* 8019B81C 41 80 00 30 */ blt lbl_8019B84C -/* 8019B820 80 DF 01 00 */ lwz r6, 0x100(r31) -/* 8019B824 28 06 00 00 */ cmplwi r6, 0 -/* 8019B828 41 82 00 1C */ beq lbl_8019B844 -/* 8019B82C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8019B830 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8019B834 38 63 5F 64 */ addi r3, r3, 0x5f64 -/* 8019B838 38 83 01 B4 */ addi r4, r3, 0x1b4 -/* 8019B83C 38 A3 01 B8 */ addi r5, r3, 0x1b8 -/* 8019B840 4B EB AF 55 */ bl set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c -lbl_8019B844: -/* 8019B844 80 7F 00 FC */ lwz r3, 0xfc(r31) -/* 8019B848 48 05 B1 B5 */ bl _draw2__12dMenu_save_cFv -lbl_8019B84C: -/* 8019B84C 38 60 00 01 */ li r3, 1 -/* 8019B850 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8019B854 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8019B858 7C 08 03 A6 */ mtlr r0 -/* 8019B85C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8019B860 4E 80 00 20 */ blr diff --git a/asm/d/d_gameover/dGameover_Create__FP9msg_class.s b/asm/d/d_gameover/dGameover_Create__FP9msg_class.s deleted file mode 100644 index 2e90a08f0d0..00000000000 --- a/asm/d/d_gameover/dGameover_Create__FP9msg_class.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8019BFA4: -/* 8019BFA4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8019BFA8 7C 08 02 A6 */ mflr r0 -/* 8019BFAC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8019BFB0 4B FF F0 95 */ bl _create__11dGameover_cFv -/* 8019BFB4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8019BFB8 7C 08 03 A6 */ mtlr r0 -/* 8019BFBC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8019BFC0 4E 80 00 20 */ blr diff --git a/asm/d/d_gameover/dGameover_Delete__FP11dGameover_c.s b/asm/d/d_gameover/dGameover_Delete__FP11dGameover_c.s deleted file mode 100644 index f0a4698e1fe..00000000000 --- a/asm/d/d_gameover/dGameover_Delete__FP11dGameover_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8019BF84: -/* 8019BF84 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8019BF88 7C 08 02 A6 */ mflr r0 -/* 8019BF8C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8019BF90 4B FF F8 D5 */ bl _delete__11dGameover_cFv -/* 8019BF94 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8019BF98 7C 08 03 A6 */ mtlr r0 -/* 8019BF9C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8019BFA0 4E 80 00 20 */ blr diff --git a/asm/d/d_gameover/dGameover_Draw__FP11dGameover_c.s b/asm/d/d_gameover/dGameover_Draw__FP11dGameover_c.s deleted file mode 100644 index 517526901f4..00000000000 --- a/asm/d/d_gameover/dGameover_Draw__FP11dGameover_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8019BF3C: -/* 8019BF3C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8019BF40 7C 08 02 A6 */ mflr r0 -/* 8019BF44 90 01 00 14 */ stw r0, 0x14(r1) -/* 8019BF48 4B FF F8 7D */ bl _draw__11dGameover_cFv -/* 8019BF4C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8019BF50 7C 08 03 A6 */ mtlr r0 -/* 8019BF54 38 21 00 10 */ addi r1, r1, 0x10 -/* 8019BF58 4E 80 00 20 */ blr diff --git a/asm/d/d_gameover/dGameover_Execute__FP11dGameover_c.s b/asm/d/d_gameover/dGameover_Execute__FP11dGameover_c.s deleted file mode 100644 index be5360dc9b1..00000000000 --- a/asm/d/d_gameover/dGameover_Execute__FP11dGameover_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8019BF5C: -/* 8019BF5C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8019BF60 7C 08 02 A6 */ mflr r0 -/* 8019BF64 90 01 00 14 */ stw r0, 0x14(r1) -/* 8019BF68 4B FF F3 8D */ bl _execute__11dGameover_cFv -/* 8019BF6C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8019BF70 7C 08 03 A6 */ mtlr r0 -/* 8019BF74 38 21 00 10 */ addi r1, r1, 0x10 -/* 8019BF78 4E 80 00 20 */ blr diff --git a/asm/d/d_gameover/d_GameOver_Create__FUc.s b/asm/d/d_gameover/d_GameOver_Create__FUc.s deleted file mode 100644 index a2287669758..00000000000 --- a/asm/d/d_gameover/d_GameOver_Create__FUc.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8019BFC4: -/* 8019BFC4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8019BFC8 7C 08 02 A6 */ mflr r0 -/* 8019BFCC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8019BFD0 3C 80 80 43 */ lis r4, g_meter2_info@ha /* 0x80430188@ha */ -/* 8019BFD4 38 84 01 88 */ addi r4, r4, g_meter2_info@l /* 0x80430188@l */ -/* 8019BFD8 98 64 00 C2 */ stb r3, 0xc2(r4) -/* 8019BFDC 38 60 03 17 */ li r3, 0x317 -/* 8019BFE0 38 80 00 00 */ li r4, 0 -/* 8019BFE4 38 A0 00 00 */ li r5, 0 -/* 8019BFE8 38 C0 00 00 */ li r6, 0 -/* 8019BFEC 38 E0 00 00 */ li r7, 0 -/* 8019BFF0 39 00 00 00 */ li r8, 0 -/* 8019BFF4 4B E8 3C 59 */ bl fopMsgM_create__FsP10fopAc_ac_cP4cXyzPUlPUlPFPv_i -/* 8019BFF8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8019BFFC 7C 08 03 A6 */ mtlr r0 -/* 8019C000 38 21 00 10 */ addi r1, r1, 0x10 -/* 8019C004 4E 80 00 20 */ blr diff --git a/asm/d/d_gameover/d_GameOver_Delete__FRUi.s b/asm/d/d_gameover/d_GameOver_Delete__FRUi.s deleted file mode 100644 index 4ddf60ade43..00000000000 --- a/asm/d/d_gameover/d_GameOver_Delete__FRUi.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_8019C008: -/* 8019C008 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8019C00C 7C 08 02 A6 */ mflr r0 -/* 8019C010 90 01 00 14 */ stw r0, 0x14(r1) -/* 8019C014 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8019C018 7C 7F 1B 78 */ mr r31, r3 -/* 8019C01C 80 63 00 00 */ lwz r3, 0(r3) -/* 8019C020 3C 03 00 01 */ addis r0, r3, 1 -/* 8019C024 28 00 FF FF */ cmplwi r0, 0xffff -/* 8019C028 41 82 00 2C */ beq lbl_8019C054 -/* 8019C02C 4B E8 39 F9 */ bl fopMsgM_SearchByID__FUi -/* 8019C030 4B E8 3A 1D */ bl fopMsgM_Delete__FPv -/* 8019C034 38 00 FF FF */ li r0, -1 -/* 8019C038 90 1F 00 00 */ stw r0, 0(r31) -/* 8019C03C 38 00 00 00 */ li r0, 0 -/* 8019C040 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8019C044 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8019C048 98 03 00 C2 */ stb r0, 0xc2(r3) -/* 8019C04C 38 60 00 01 */ li r3, 1 -/* 8019C050 48 00 00 08 */ b lbl_8019C058 -lbl_8019C054: -/* 8019C054 38 60 00 00 */ li r3, 0 -lbl_8019C058: -/* 8019C058 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8019C05C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8019C060 7C 08 03 A6 */ mtlr r0 -/* 8019C064 38 21 00 10 */ addi r1, r1, 0x10 -/* 8019C068 4E 80 00 20 */ blr diff --git a/asm/d/d_gameover/demoFadeIn_init__11dGameover_cFv.s b/asm/d/d_gameover/demoFadeIn_init__11dGameover_cFv.s deleted file mode 100644 index 662775281f8..00000000000 --- a/asm/d/d_gameover/demoFadeIn_init__11dGameover_cFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8019B478: -/* 8019B478 38 00 00 00 */ li r0, 0 -/* 8019B47C B0 03 01 14 */ sth r0, 0x114(r3) -/* 8019B480 4E 80 00 20 */ blr diff --git a/asm/d/d_gameover/demoFadeIn_proc__11dGameover_cFv.s b/asm/d/d_gameover/demoFadeIn_proc__11dGameover_cFv.s deleted file mode 100644 index 0f3316cfde0..00000000000 --- a/asm/d/d_gameover/demoFadeIn_proc__11dGameover_cFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8019B484: -/* 8019B484 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8019B488 7C 08 02 A6 */ mflr r0 -/* 8019B48C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8019B490 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8019B494 7C 7F 1B 78 */ mr r31, r3 -/* 8019B498 A8 63 01 14 */ lha r3, 0x114(r3) -/* 8019B49C 38 03 00 01 */ addi r0, r3, 1 -/* 8019B4A0 B0 1F 01 14 */ sth r0, 0x114(r31) -/* 8019B4A4 80 7F 01 00 */ lwz r3, 0x100(r31) -/* 8019B4A8 C0 22 A1 84 */ lfs f1, lit_3869(r2) -/* 8019B4AC 48 00 08 05 */ bl setBackAlpha__24dDlst_GameOverScrnDraw_cFf -/* 8019B4B0 A8 1F 01 14 */ lha r0, 0x114(r31) -/* 8019B4B4 2C 00 00 1E */ cmpwi r0, 0x1e -/* 8019B4B8 41 80 00 0C */ blt lbl_8019B4C4 -/* 8019B4BC 38 00 00 05 */ li r0, 5 -/* 8019B4C0 98 1F 01 18 */ stb r0, 0x118(r31) -lbl_8019B4C4: -/* 8019B4C4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8019B4C8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8019B4CC 7C 08 03 A6 */ mtlr r0 -/* 8019B4D0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8019B4D4 4E 80 00 20 */ blr diff --git a/asm/d/d_gameover/demoFadeOut_init__11dGameover_cFv.s b/asm/d/d_gameover/demoFadeOut_init__11dGameover_cFv.s deleted file mode 100644 index 5b2600d03c5..00000000000 --- a/asm/d/d_gameover/demoFadeOut_init__11dGameover_cFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8019B4D8: -/* 8019B4D8 38 00 00 1E */ li r0, 0x1e -/* 8019B4DC B0 03 01 14 */ sth r0, 0x114(r3) -/* 8019B4E0 4E 80 00 20 */ blr diff --git a/asm/d/d_gameover/demoFadeOut_proc__11dGameover_cFv.s b/asm/d/d_gameover/demoFadeOut_proc__11dGameover_cFv.s deleted file mode 100644 index 0e247c04c12..00000000000 --- a/asm/d/d_gameover/demoFadeOut_proc__11dGameover_cFv.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_8019B4E4: -/* 8019B4E4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8019B4E8 7C 08 02 A6 */ mflr r0 -/* 8019B4EC 90 01 00 24 */ stw r0, 0x24(r1) -/* 8019B4F0 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8019B4F4 7C 7F 1B 78 */ mr r31, r3 -/* 8019B4F8 A8 63 01 14 */ lha r3, 0x114(r3) -/* 8019B4FC 38 03 FF FF */ addi r0, r3, -1 -/* 8019B500 B0 1F 01 14 */ sth r0, 0x114(r31) -/* 8019B504 80 7F 01 00 */ lwz r3, 0x100(r31) -/* 8019B508 A8 1F 01 14 */ lha r0, 0x114(r31) -/* 8019B50C 7C 00 01 D6 */ mullw r0, r0, r0 -/* 8019B510 C8 22 A1 98 */ lfd f1, lit_4071(r2) -/* 8019B514 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8019B518 90 01 00 0C */ stw r0, 0xc(r1) -/* 8019B51C 3C 00 43 30 */ lis r0, 0x4330 -/* 8019B520 90 01 00 08 */ stw r0, 8(r1) -/* 8019B524 C8 01 00 08 */ lfd f0, 8(r1) -/* 8019B528 EC 20 08 28 */ fsubs f1, f0, f1 -/* 8019B52C C0 02 A1 94 */ lfs f0, lit_4069(r2) -/* 8019B530 EC 21 00 24 */ fdivs f1, f1, f0 -/* 8019B534 48 00 07 7D */ bl setBackAlpha__24dDlst_GameOverScrnDraw_cFf -/* 8019B538 A8 1F 01 14 */ lha r0, 0x114(r31) -/* 8019B53C 2C 00 00 00 */ cmpwi r0, 0 -/* 8019B540 41 81 00 0C */ bgt lbl_8019B54C -/* 8019B544 38 00 00 08 */ li r0, 8 -/* 8019B548 98 1F 01 18 */ stb r0, 0x118(r31) -lbl_8019B54C: -/* 8019B54C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8019B550 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8019B554 7C 08 03 A6 */ mtlr r0 -/* 8019B558 38 21 00 20 */ addi r1, r1, 0x20 -/* 8019B55C 4E 80 00 20 */ blr diff --git a/asm/d/d_gameover/dispFadeOut_init__11dGameover_cFv.s b/asm/d/d_gameover/dispFadeOut_init__11dGameover_cFv.s deleted file mode 100644 index ac92c976bf3..00000000000 --- a/asm/d/d_gameover/dispFadeOut_init__11dGameover_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8019B3A0: -/* 8019B3A0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8019B3A4 7C 08 02 A6 */ mflr r0 -/* 8019B3A8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8019B3AC 38 00 00 1E */ li r0, 0x1e -/* 8019B3B0 B0 03 01 14 */ sth r0, 0x114(r3) -/* 8019B3B4 80 6D 8C 40 */ lwz r3, sManager__10JFWDisplay(r13) -/* 8019B3B8 80 63 00 04 */ lwz r3, 4(r3) -/* 8019B3BC 28 03 00 00 */ cmplwi r3, 0 -/* 8019B3C0 41 82 00 18 */ beq lbl_8019B3D8 -/* 8019B3C4 38 80 00 0F */ li r4, 0xf -/* 8019B3C8 81 83 00 00 */ lwz r12, 0(r3) -/* 8019B3CC 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 8019B3D0 7D 89 03 A6 */ mtctr r12 -/* 8019B3D4 4E 80 04 21 */ bctrl -lbl_8019B3D8: -/* 8019B3D8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8019B3DC 7C 08 03 A6 */ mtlr r0 -/* 8019B3E0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8019B3E4 4E 80 00 20 */ blr diff --git a/asm/d/d_gameover/dispFadeOut_proc__11dGameover_cFv.s b/asm/d/d_gameover/dispFadeOut_proc__11dGameover_cFv.s deleted file mode 100644 index d27f5b35faf..00000000000 --- a/asm/d/d_gameover/dispFadeOut_proc__11dGameover_cFv.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8019B3E8: -/* 8019B3E8 A8 83 01 14 */ lha r4, 0x114(r3) -/* 8019B3EC 2C 04 00 00 */ cmpwi r4, 0 -/* 8019B3F0 41 82 00 10 */ beq lbl_8019B400 -/* 8019B3F4 38 04 FF FF */ addi r0, r4, -1 -/* 8019B3F8 B0 03 01 14 */ sth r0, 0x114(r3) -/* 8019B3FC 4E 80 00 20 */ blr -lbl_8019B400: -/* 8019B400 38 00 00 02 */ li r0, 2 -/* 8019B404 98 03 01 18 */ stb r0, 0x118(r3) -/* 8019B408 4E 80 00 20 */ blr diff --git a/asm/d/d_gameover/dispWait_init__11dGameover_cFv.s b/asm/d/d_gameover/dispWait_init__11dGameover_cFv.s deleted file mode 100644 index d360cbe1045..00000000000 --- a/asm/d/d_gameover/dispWait_init__11dGameover_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8019B40C: -/* 8019B40C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8019B410 7C 08 02 A6 */ mflr r0 -/* 8019B414 90 01 00 14 */ stw r0, 0x14(r1) -/* 8019B418 38 00 00 5A */ li r0, 0x5a -/* 8019B41C B0 03 01 14 */ sth r0, 0x114(r3) -/* 8019B420 80 6D 8C 40 */ lwz r3, sManager__10JFWDisplay(r13) -/* 8019B424 80 63 00 04 */ lwz r3, 4(r3) -/* 8019B428 28 03 00 00 */ cmplwi r3, 0 -/* 8019B42C 41 82 00 18 */ beq lbl_8019B444 -/* 8019B430 38 80 00 1E */ li r4, 0x1e -/* 8019B434 81 83 00 00 */ lwz r12, 0(r3) -/* 8019B438 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 8019B43C 7D 89 03 A6 */ mtctr r12 -/* 8019B440 4E 80 04 21 */ bctrl -lbl_8019B444: -/* 8019B444 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8019B448 7C 08 03 A6 */ mtlr r0 -/* 8019B44C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8019B450 4E 80 00 20 */ blr diff --git a/asm/d/d_gameover/dispWait_proc__11dGameover_cFv.s b/asm/d/d_gameover/dispWait_proc__11dGameover_cFv.s deleted file mode 100644 index 917b554b2f8..00000000000 --- a/asm/d/d_gameover/dispWait_proc__11dGameover_cFv.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8019B454: -/* 8019B454 A8 83 01 14 */ lha r4, 0x114(r3) -/* 8019B458 2C 04 00 00 */ cmpwi r4, 0 -/* 8019B45C 41 82 00 10 */ beq lbl_8019B46C -/* 8019B460 38 04 FF FF */ addi r0, r4, -1 -/* 8019B464 B0 03 01 14 */ sth r0, 0x114(r3) -/* 8019B468 4E 80 00 20 */ blr -lbl_8019B46C: -/* 8019B46C 38 00 00 05 */ li r0, 5 -/* 8019B470 98 03 01 18 */ stb r0, 0x118(r3) -/* 8019B474 4E 80 00 20 */ blr diff --git a/asm/d/d_gameover/playerAnmWait_proc__11dGameover_cFv.s b/asm/d/d_gameover/playerAnmWait_proc__11dGameover_cFv.s deleted file mode 100644 index b9b174ba474..00000000000 --- a/asm/d/d_gameover/playerAnmWait_proc__11dGameover_cFv.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_8019B388: -/* 8019B388 88 03 01 19 */ lbz r0, 0x119(r3) -/* 8019B38C 28 00 00 00 */ cmplwi r0, 0 -/* 8019B390 4D 82 00 20 */ beqlr -/* 8019B394 38 00 00 01 */ li r0, 1 -/* 8019B398 98 03 01 18 */ stb r0, 0x118(r3) -/* 8019B39C 4E 80 00 20 */ blr diff --git a/asm/d/d_gameover/saveClose_proc__11dGameover_cFv.s b/asm/d/d_gameover/saveClose_proc__11dGameover_cFv.s deleted file mode 100644 index 4f95aae2697..00000000000 --- a/asm/d/d_gameover/saveClose_proc__11dGameover_cFv.s +++ /dev/null @@ -1,124 +0,0 @@ -lbl_8019B5F4: -/* 8019B5F4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8019B5F8 7C 08 02 A6 */ mflr r0 -/* 8019B5FC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8019B600 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8019B604 93 C1 00 08 */ stw r30, 8(r1) -/* 8019B608 7C 7F 1B 78 */ mr r31, r3 -/* 8019B60C 80 63 00 FC */ lwz r3, 0xfc(r3) -/* 8019B610 88 03 01 BB */ lbz r0, 0x1bb(r3) -/* 8019B614 28 00 00 00 */ cmplwi r0, 0 -/* 8019B618 40 82 00 2C */ bne lbl_8019B644 -/* 8019B61C 38 00 00 03 */ li r0, 3 -/* 8019B620 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8019B624 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8019B628 98 03 5E 89 */ stb r0, 0x5e89(r3) -/* 8019B62C 38 00 00 00 */ li r0, 0 -/* 8019B630 98 03 5E B5 */ stb r0, 0x5eb5(r3) -/* 8019B634 38 00 00 01 */ li r0, 1 -/* 8019B638 80 6D 86 F8 */ lwz r3, mResetData__6mDoRst(r13) -/* 8019B63C 90 03 00 00 */ stw r0, 0(r3) -/* 8019B640 48 00 01 20 */ b lbl_8019B760 -lbl_8019B644: -/* 8019B644 28 00 00 01 */ cmplwi r0, 1 -/* 8019B648 40 82 01 18 */ bne lbl_8019B760 -/* 8019B64C 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8019B650 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8019B654 88 03 00 C2 */ lbz r0, 0xc2(r3) -/* 8019B658 28 00 00 01 */ cmplwi r0, 1 -/* 8019B65C 41 82 00 0C */ beq lbl_8019B668 -/* 8019B660 28 00 00 02 */ cmplwi r0, 2 -/* 8019B664 40 82 00 18 */ bne lbl_8019B67C -lbl_8019B668: -/* 8019B668 38 00 00 01 */ li r0, 1 -/* 8019B66C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8019B670 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8019B674 98 03 5E 89 */ stb r0, 0x5e89(r3) -/* 8019B678 48 00 00 14 */ b lbl_8019B68C -lbl_8019B67C: -/* 8019B67C 38 00 00 02 */ li r0, 2 -/* 8019B680 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8019B684 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8019B688 98 03 5E 89 */ stb r0, 0x5e89(r3) -lbl_8019B68C: -/* 8019B68C 38 00 00 00 */ li r0, 0 -/* 8019B690 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8019B694 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8019B698 98 03 5E B5 */ stb r0, 0x5eb5(r3) -/* 8019B69C 3B C3 07 F0 */ addi r30, r3, 0x7f0 -/* 8019B6A0 7F C3 F3 78 */ mr r3, r30 -/* 8019B6A4 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */ -/* 8019B6A8 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */ -/* 8019B6AC A0 84 01 C4 */ lhz r4, 0x1c4(r4) -/* 8019B6B0 4B E9 93 0D */ bl isEventBit__11dSv_event_cCFUs -/* 8019B6B4 2C 03 00 00 */ cmpwi r3, 0 -/* 8019B6B8 40 82 00 2C */ bne lbl_8019B6E4 -/* 8019B6BC 7F C3 F3 78 */ mr r3, r30 -/* 8019B6C0 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */ -/* 8019B6C4 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */ -/* 8019B6C8 A0 84 01 C0 */ lhz r4, 0x1c0(r4) -/* 8019B6CC 4B E9 92 D9 */ bl offEventBit__11dSv_event_cFUs -/* 8019B6D0 7F C3 F3 78 */ mr r3, r30 -/* 8019B6D4 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */ -/* 8019B6D8 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */ -/* 8019B6DC A0 84 01 C2 */ lhz r4, 0x1c2(r4) -/* 8019B6E0 4B E9 92 C5 */ bl offEventBit__11dSv_event_cFUs -lbl_8019B6E4: -/* 8019B6E4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8019B6E8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8019B6EC 38 63 00 CC */ addi r3, r3, 0xcc -/* 8019B6F0 38 80 00 48 */ li r4, 0x48 -/* 8019B6F4 4B E9 87 D5 */ bl isFirstBit__21dSv_player_get_item_cCFUc -/* 8019B6F8 2C 03 00 00 */ cmpwi r3, 0 -/* 8019B6FC 41 82 00 54 */ beq lbl_8019B750 -/* 8019B700 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8019B704 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8019B708 3B C3 00 9C */ addi r30, r3, 0x9c -/* 8019B70C 7F C3 F3 78 */ mr r3, r30 -/* 8019B710 38 80 00 01 */ li r4, 1 -/* 8019B714 38 A0 00 01 */ li r5, 1 -/* 8019B718 4B E9 79 19 */ bl getItem__17dSv_player_item_cCFib -/* 8019B71C 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8019B720 28 00 00 FF */ cmplwi r0, 0xff -/* 8019B724 40 82 00 2C */ bne lbl_8019B750 -/* 8019B728 7F C3 F3 78 */ mr r3, r30 -/* 8019B72C 38 80 00 01 */ li r4, 1 -/* 8019B730 38 A0 00 48 */ li r5, 0x48 -/* 8019B734 4B E9 78 85 */ bl setItem__17dSv_player_item_cFiUc -/* 8019B738 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8019B73C 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8019B740 A0 03 00 B6 */ lhz r0, 0xb6(r3) -/* 8019B744 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8019B748 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8019B74C B0 03 00 08 */ sth r0, 8(r3) -lbl_8019B750: -/* 8019B750 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8019B754 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8019B758 38 80 00 00 */ li r4, 0 -/* 8019B75C 48 08 29 69 */ bl resetMiniGameItem__13dMeter2Info_cFb -lbl_8019B760: -/* 8019B760 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8019B764 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8019B768 88 03 00 C2 */ lbz r0, 0xc2(r3) -/* 8019B76C 28 00 00 01 */ cmplwi r0, 1 -/* 8019B770 40 82 00 2C */ bne lbl_8019B79C -/* 8019B774 28 00 00 02 */ cmplwi r0, 2 -/* 8019B778 40 82 00 24 */ bne lbl_8019B79C -/* 8019B77C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8019B780 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8019B784 88 03 5E 89 */ lbz r0, 0x5e89(r3) -/* 8019B788 28 00 00 01 */ cmplwi r0, 1 -/* 8019B78C 40 82 00 10 */ bne lbl_8019B79C -/* 8019B790 38 00 00 04 */ li r0, 4 -/* 8019B794 98 1F 01 18 */ stb r0, 0x118(r31) -/* 8019B798 48 00 00 0C */ b lbl_8019B7A4 -lbl_8019B79C: -/* 8019B79C 38 00 00 08 */ li r0, 8 -/* 8019B7A0 98 1F 01 18 */ stb r0, 0x118(r31) -lbl_8019B7A4: -/* 8019B7A4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8019B7A8 83 C1 00 08 */ lwz r30, 8(r1) -/* 8019B7AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8019B7B0 7C 08 03 A6 */ mtlr r0 -/* 8019B7B4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8019B7B8 4E 80 00 20 */ blr diff --git a/asm/d/d_gameover/saveMove_proc__11dGameover_cFv.s b/asm/d/d_gameover/saveMove_proc__11dGameover_cFv.s deleted file mode 100644 index 2436cff1717..00000000000 --- a/asm/d/d_gameover/saveMove_proc__11dGameover_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8019B5A8: -/* 8019B5A8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8019B5AC 7C 08 02 A6 */ mflr r0 -/* 8019B5B0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8019B5B4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8019B5B8 7C 7F 1B 78 */ mr r31, r3 -/* 8019B5BC 80 63 00 FC */ lwz r3, 0xfc(r3) -/* 8019B5C0 48 05 5A 89 */ bl _move__12dMenu_save_cFv -/* 8019B5C4 80 7F 00 FC */ lwz r3, 0xfc(r31) -/* 8019B5C8 88 03 01 BA */ lbz r0, 0x1ba(r3) -/* 8019B5CC 28 00 00 03 */ cmplwi r0, 3 -/* 8019B5D0 40 82 00 0C */ bne lbl_8019B5DC -/* 8019B5D4 38 00 00 07 */ li r0, 7 -/* 8019B5D8 98 1F 01 18 */ stb r0, 0x118(r31) -lbl_8019B5DC: -/* 8019B5DC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8019B5E0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8019B5E4 7C 08 03 A6 */ mtlr r0 -/* 8019B5E8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8019B5EC 4E 80 00 20 */ blr diff --git a/asm/d/d_gameover/saveOpen_proc__11dGameover_cFv.s b/asm/d/d_gameover/saveOpen_proc__11dGameover_cFv.s deleted file mode 100644 index e990a4c8e87..00000000000 --- a/asm/d/d_gameover/saveOpen_proc__11dGameover_cFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8019B564: -/* 8019B564 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8019B568 7C 08 02 A6 */ mflr r0 -/* 8019B56C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8019B570 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8019B574 7C 7F 1B 78 */ mr r31, r3 -/* 8019B578 80 63 00 FC */ lwz r3, 0xfc(r3) -/* 8019B57C 48 05 54 31 */ bl _open__12dMenu_save_cFv -/* 8019B580 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8019B584 41 82 00 0C */ beq lbl_8019B590 -/* 8019B588 38 00 00 06 */ li r0, 6 -/* 8019B58C 98 1F 01 18 */ stb r0, 0x118(r31) -lbl_8019B590: -/* 8019B590 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8019B594 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8019B598 7C 08 03 A6 */ mtlr r0 -/* 8019B59C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8019B5A0 4E 80 00 20 */ blr diff --git a/asm/d/d_gameover/setBackAlpha__24dDlst_GameOverScrnDraw_cFf.s b/asm/d/d_gameover/setBackAlpha__24dDlst_GameOverScrnDraw_cFf.s deleted file mode 100644 index 3226c44c042..00000000000 --- a/asm/d/d_gameover/setBackAlpha__24dDlst_GameOverScrnDraw_cFf.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8019BCB0: -/* 8019BCB0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8019BCB4 7C 08 02 A6 */ mflr r0 -/* 8019BCB8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8019BCBC 80 63 00 08 */ lwz r3, 8(r3) -/* 8019BCC0 C0 02 A1 A8 */ lfs f0, lit_4316(r2) -/* 8019BCC4 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8019BCC8 FC 00 00 1E */ fctiwz f0, f0 -/* 8019BCCC D8 01 00 08 */ stfd f0, 8(r1) -/* 8019BCD0 80 81 00 0C */ lwz r4, 0xc(r1) -/* 8019BCD4 81 83 00 00 */ lwz r12, 0(r3) -/* 8019BCD8 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 8019BCDC 7D 89 03 A6 */ mtctr r12 -/* 8019BCE0 4E 80 04 21 */ bctrl -/* 8019BCE4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8019BCE8 7C 08 03 A6 */ mtlr r0 -/* 8019BCEC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8019BCF0 4E 80 00 20 */ blr diff --git a/asm/d/d_insect/CalcZBuffer__9dInsect_cFf.s b/asm/d/d_insect/CalcZBuffer__9dInsect_cFf.s deleted file mode 100644 index a0cc26c35e3..00000000000 --- a/asm/d/d_insect/CalcZBuffer__9dInsect_cFf.s +++ /dev/null @@ -1,105 +0,0 @@ -lbl_8015E26C: -/* 8015E26C 94 21 FF 90 */ stwu r1, -0x70(r1) -/* 8015E270 7C 08 02 A6 */ mflr r0 -/* 8015E274 90 01 00 74 */ stw r0, 0x74(r1) -/* 8015E278 DB E1 00 60 */ stfd f31, 0x60(r1) -/* 8015E27C F3 E1 00 68 */ psq_st f31, 104(r1), 0, 0 /* qr0 */ -/* 8015E280 DB C1 00 50 */ stfd f30, 0x50(r1) -/* 8015E284 F3 C1 00 58 */ psq_st f30, 88(r1), 0, 0 /* qr0 */ -/* 8015E288 DB A1 00 40 */ stfd f29, 0x40(r1) -/* 8015E28C F3 A1 00 48 */ psq_st f29, 72(r1), 0, 0 /* qr0 */ -/* 8015E290 93 E1 00 3C */ stw r31, 0x3c(r1) -/* 8015E294 7C 7F 1B 78 */ mr r31, r3 -/* 8015E298 FF A0 08 90 */ fmr f29, f1 -/* 8015E29C C0 03 04 D0 */ lfs f0, 0x4d0(r3) -/* 8015E2A0 D0 01 00 08 */ stfs f0, 8(r1) -/* 8015E2A4 C0 23 04 D4 */ lfs f1, 0x4d4(r3) -/* 8015E2A8 D0 21 00 0C */ stfs f1, 0xc(r1) -/* 8015E2AC C0 03 04 D8 */ lfs f0, 0x4d8(r3) -/* 8015E2B0 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 8015E2B4 C0 02 9B E0 */ lfs f0, lit_3871(r2) -/* 8015E2B8 EC 01 00 2A */ fadds f0, f1, f0 -/* 8015E2BC D0 01 00 0C */ stfs f0, 0xc(r1) -/* 8015E2C0 38 61 00 08 */ addi r3, r1, 8 -/* 8015E2C4 38 81 00 14 */ addi r4, r1, 0x14 -/* 8015E2C8 4B EB 70 49 */ bl mDoLib_project__FP3VecP3Vec -/* 8015E2CC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015E2D0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015E2D4 80 63 5D 74 */ lwz r3, 0x5d74(r3) -/* 8015E2D8 28 03 00 00 */ cmplwi r3, 0 -/* 8015E2DC 41 82 00 0C */ beq lbl_8015E2E8 -/* 8015E2E0 C0 63 0B 68 */ lfs f3, 0xb68(r3) -/* 8015E2E4 48 00 00 08 */ b lbl_8015E2EC -lbl_8015E2E8: -/* 8015E2E8 C0 62 9B E4 */ lfs f3, lit_3872(r2) -lbl_8015E2EC: -/* 8015E2EC C0 21 00 14 */ lfs f1, 0x14(r1) -/* 8015E2F0 C0 02 9B E4 */ lfs f0, lit_3872(r2) -/* 8015E2F4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8015E2F8 40 81 00 60 */ ble lbl_8015E358 -/* 8015E2FC C0 02 9B E8 */ lfs f0, lit_3873(r2) -/* 8015E300 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8015E304 40 80 00 54 */ bge lbl_8015E358 -/* 8015E308 C0 41 00 18 */ lfs f2, 0x18(r1) -/* 8015E30C FC 02 18 40 */ fcmpo cr0, f2, f3 -/* 8015E310 40 81 00 48 */ ble lbl_8015E358 -/* 8015E314 C0 02 9B EC */ lfs f0, lit_3874(r2) -/* 8015E318 EC 00 18 28 */ fsubs f0, f0, f3 -/* 8015E31C FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8015E320 40 80 00 38 */ bge lbl_8015E358 -/* 8015E324 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015E328 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015E32C 3C 63 00 02 */ addis r3, r3, 2 -/* 8015E330 FC 00 08 1E */ fctiwz f0, f1 -/* 8015E334 D8 01 00 20 */ stfd f0, 0x20(r1) -/* 8015E338 80 81 00 24 */ lwz r4, 0x24(r1) -/* 8015E33C FC 00 10 1E */ fctiwz f0, f2 -/* 8015E340 D8 01 00 28 */ stfd f0, 0x28(r1) -/* 8015E344 80 A1 00 2C */ lwz r5, 0x2c(r1) -/* 8015E348 38 DF 05 78 */ addi r6, r31, 0x578 -/* 8015E34C 38 63 C0 F4 */ addi r3, r3, -16140 -/* 8015E350 4B EF 7C C9 */ bl newData__13dDlst_peekZ_cFssPUl -/* 8015E354 48 00 00 0C */ b lbl_8015E360 -lbl_8015E358: -/* 8015E358 38 00 00 00 */ li r0, 0 -/* 8015E35C 90 1F 05 78 */ stw r0, 0x578(r31) -lbl_8015E360: -/* 8015E360 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015E364 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015E368 80 63 61 B0 */ lwz r3, 0x61b0(r3) -/* 8015E36C C3 E3 00 C8 */ lfs f31, 0xc8(r3) -/* 8015E370 C3 C3 00 CC */ lfs f30, 0xcc(r3) -/* 8015E374 38 61 00 08 */ addi r3, r1, 8 -/* 8015E378 38 81 00 14 */ addi r4, r1, 0x14 -/* 8015E37C 4B EB 71 71 */ bl mDoLib_pos2camera__FP3VecP3Vec -/* 8015E380 C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 8015E384 EC 20 E8 2A */ fadds f1, f0, f29 -/* 8015E388 D0 21 00 1C */ stfs f1, 0x1c(r1) -/* 8015E38C C0 02 9B E4 */ lfs f0, lit_3872(r2) -/* 8015E390 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 8015E394 40 82 00 0C */ bne lbl_8015E3A0 -/* 8015E398 C0 02 9B F0 */ lfs f0, lit_3875(r2) -/* 8015E39C D0 01 00 1C */ stfs f0, 0x1c(r1) -lbl_8015E3A0: -/* 8015E3A0 C0 62 9B F4 */ lfs f3, lit_3876(r2) -/* 8015E3A4 C0 42 9B F8 */ lfs f2, lit_3877(r2) -/* 8015E3A8 EC 3E 07 F2 */ fmuls f1, f30, f31 -/* 8015E3AC C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 8015E3B0 EC 01 00 24 */ fdivs f0, f1, f0 -/* 8015E3B4 EC 3F 00 2A */ fadds f1, f31, f0 -/* 8015E3B8 EC 1E F8 28 */ fsubs f0, f30, f31 -/* 8015E3BC EC 01 00 24 */ fdivs f0, f1, f0 -/* 8015E3C0 EC 02 00 2A */ fadds f0, f2, f0 -/* 8015E3C4 EC 03 00 32 */ fmuls f0, f3, f0 -/* 8015E3C8 D0 1F 05 7C */ stfs f0, 0x57c(r31) -/* 8015E3CC E3 E1 00 68 */ psq_l f31, 104(r1), 0, 0 /* qr0 */ -/* 8015E3D0 CB E1 00 60 */ lfd f31, 0x60(r1) -/* 8015E3D4 E3 C1 00 58 */ psq_l f30, 88(r1), 0, 0 /* qr0 */ -/* 8015E3D8 CB C1 00 50 */ lfd f30, 0x50(r1) -/* 8015E3DC E3 A1 00 48 */ psq_l f29, 72(r1), 0, 0 /* qr0 */ -/* 8015E3E0 CB A1 00 40 */ lfd f29, 0x40(r1) -/* 8015E3E4 83 E1 00 3C */ lwz r31, 0x3c(r1) -/* 8015E3E8 80 01 00 74 */ lwz r0, 0x74(r1) -/* 8015E3EC 7C 08 03 A6 */ mtlr r0 -/* 8015E3F0 38 21 00 70 */ addi r1, r1, 0x70 -/* 8015E3F4 4E 80 00 20 */ blr diff --git a/asm/d/d_insect/Insect_GetDemoMain__9dInsect_cFv.s b/asm/d/d_insect/Insect_GetDemoMain__9dInsect_cFv.s deleted file mode 100644 index 9593060edf9..00000000000 --- a/asm/d/d_insect/Insect_GetDemoMain__9dInsect_cFv.s +++ /dev/null @@ -1,136 +0,0 @@ -lbl_8015E078: -/* 8015E078 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015E07C 7C 08 02 A6 */ mflr r0 -/* 8015E080 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015E084 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015E088 93 C1 00 08 */ stw r30, 8(r1) -/* 8015E08C 7C 7F 1B 78 */ mr r31, r3 -/* 8015E090 80 03 05 8C */ lwz r0, 0x58c(r3) -/* 8015E094 2C 00 00 01 */ cmpwi r0, 1 -/* 8015E098 41 82 00 B0 */ beq lbl_8015E148 -/* 8015E09C 40 80 00 10 */ bge lbl_8015E0AC -/* 8015E0A0 2C 00 00 00 */ cmpwi r0, 0 -/* 8015E0A4 40 80 00 14 */ bge lbl_8015E0B8 -/* 8015E0A8 48 00 01 AC */ b lbl_8015E254 -lbl_8015E0AC: -/* 8015E0AC 2C 00 00 03 */ cmpwi r0, 3 -/* 8015E0B0 40 80 01 A4 */ bge lbl_8015E254 -/* 8015E0B4 48 00 00 F0 */ b lbl_8015E1A4 -lbl_8015E0B8: -/* 8015E0B8 80 1F 04 9C */ lwz r0, 0x49c(r31) -/* 8015E0BC 54 00 04 A5 */ rlwinm. r0, r0, 0, 0x12, 0x12 -/* 8015E0C0 41 82 00 78 */ beq lbl_8015E138 -/* 8015E0C4 80 1F 05 5C */ lwz r0, 0x55c(r31) -/* 8015E0C8 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a -/* 8015E0CC 90 1F 05 5C */ stw r0, 0x55c(r31) -/* 8015E0D0 4B EB EA D1 */ bl fopAcM_cancelCarryNow__FP10fopAc_ac_c -/* 8015E0D4 7F E3 FB 78 */ mr r3, r31 -/* 8015E0D8 38 80 00 00 */ li r4, 0 -/* 8015E0DC 38 A0 00 00 */ li r5, 0 -/* 8015E0E0 4B EB D8 F1 */ bl fopAcM_orderItemEvent__FP10fopAc_ac_cUsUs -/* 8015E0E4 A0 1F 00 FA */ lhz r0, 0xfa(r31) -/* 8015E0E8 60 00 00 08 */ ori r0, r0, 8 -/* 8015E0EC B0 1F 00 FA */ sth r0, 0xfa(r31) -/* 8015E0F0 38 7F 04 D0 */ addi r3, r31, 0x4d0 -/* 8015E0F4 88 9F 05 80 */ lbz r4, 0x580(r31) -/* 8015E0F8 38 A0 FF FF */ li r5, -1 -/* 8015E0FC 88 1F 04 E2 */ lbz r0, 0x4e2(r31) -/* 8015E100 7C 06 07 74 */ extsb r6, r0 -/* 8015E104 38 E0 00 00 */ li r7, 0 -/* 8015E108 39 00 00 00 */ li r8, 0 -/* 8015E10C 4B EB DB 69 */ bl fopAcM_createItemForTrBoxDemo__FPC4cXyziiiPC5csXyzPC4cXyz -/* 8015E110 90 7F 05 88 */ stw r3, 0x588(r31) -/* 8015E114 38 00 00 01 */ li r0, 1 -/* 8015E118 90 1F 05 8C */ stw r0, 0x58c(r31) -/* 8015E11C 88 7F 05 80 */ lbz r3, 0x580(r31) -/* 8015E120 48 07 BE 1D */ bl isCatchNotGiveInsect__14dMenu_Insect_cFUc -/* 8015E124 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8015E128 41 82 01 2C */ beq lbl_8015E254 -/* 8015E12C 38 00 00 01 */ li r0, 1 -/* 8015E130 98 1F 05 85 */ stb r0, 0x585(r31) -/* 8015E134 48 00 01 20 */ b lbl_8015E254 -lbl_8015E138: -/* 8015E138 80 1F 05 5C */ lwz r0, 0x55c(r31) -/* 8015E13C 60 00 00 10 */ ori r0, r0, 0x10 -/* 8015E140 90 1F 05 5C */ stw r0, 0x55c(r31) -/* 8015E144 48 00 01 10 */ b lbl_8015E254 -lbl_8015E148: -/* 8015E148 A0 1F 00 F8 */ lhz r0, 0xf8(r31) -/* 8015E14C 28 00 00 04 */ cmplwi r0, 4 -/* 8015E150 40 82 00 38 */ bne lbl_8015E188 -/* 8015E154 80 9F 05 88 */ lwz r4, 0x588(r31) -/* 8015E158 3C 04 00 01 */ addis r0, r4, 1 -/* 8015E15C 28 00 FF FF */ cmplwi r0, 0xffff -/* 8015E160 41 82 00 14 */ beq lbl_8015E174 -/* 8015E164 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015E168 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015E16C 38 63 4E C8 */ addi r3, r3, 0x4ec8 -/* 8015E170 4B EE 55 7D */ bl setPtI_Id__14dEvt_control_cFUi -lbl_8015E174: -/* 8015E174 38 00 00 00 */ li r0, 0 -/* 8015E178 98 1F 05 6D */ stb r0, 0x56d(r31) -/* 8015E17C 38 00 00 02 */ li r0, 2 -/* 8015E180 90 1F 05 8C */ stw r0, 0x58c(r31) -/* 8015E184 48 00 00 D0 */ b lbl_8015E254 -lbl_8015E188: -/* 8015E188 38 80 00 00 */ li r4, 0 -/* 8015E18C 38 A0 00 00 */ li r5, 0 -/* 8015E190 4B EB D8 41 */ bl fopAcM_orderItemEvent__FP10fopAc_ac_cUsUs -/* 8015E194 A0 1F 00 FA */ lhz r0, 0xfa(r31) -/* 8015E198 60 00 00 08 */ ori r0, r0, 8 -/* 8015E19C B0 1F 00 FA */ sth r0, 0xfa(r31) -/* 8015E1A0 48 00 00 B4 */ b lbl_8015E254 -lbl_8015E1A4: -/* 8015E1A4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015E1A8 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015E1AC 38 7E 4F F8 */ addi r3, r30, 0x4ff8 -/* 8015E1B0 3C 80 80 39 */ lis r4, d_d_insect__stringBase0@ha /* 0x80393D98@ha */ -/* 8015E1B4 38 84 3D 98 */ addi r4, r4, d_d_insect__stringBase0@l /* 0x80393D98@l */ -/* 8015E1B8 4B EE 99 25 */ bl endCheckOld__16dEvent_manager_cFPCc -/* 8015E1BC 2C 03 00 00 */ cmpwi r3, 0 -/* 8015E1C0 41 82 00 94 */ beq lbl_8015E254 -/* 8015E1C4 38 7E 4E C8 */ addi r3, r30, 0x4ec8 -/* 8015E1C8 4B EE 42 A1 */ bl reset__14dEvt_control_cFv -/* 8015E1CC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015E1D0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015E1D4 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 8015E1D8 A8 1F 05 82 */ lha r0, 0x582(r31) -/* 8015E1DC 54 00 08 3C */ slwi r0, r0, 1 -/* 8015E1E0 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */ -/* 8015E1E4 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */ -/* 8015E1E8 7C 84 02 2E */ lhzx r4, r4, r0 -/* 8015E1EC 4B ED 67 D1 */ bl isEventBit__11dSv_event_cCFUs -/* 8015E1F0 2C 03 00 00 */ cmpwi r3, 0 -/* 8015E1F4 40 82 00 10 */ bne lbl_8015E204 -/* 8015E1F8 88 1F 05 85 */ lbz r0, 0x585(r31) -/* 8015E1FC 28 00 00 00 */ cmplwi r0, 0 -/* 8015E200 41 82 00 4C */ beq lbl_8015E24C -lbl_8015E204: -/* 8015E204 38 00 00 01 */ li r0, 1 -/* 8015E208 98 1F 05 6D */ stb r0, 0x56d(r31) -/* 8015E20C 38 00 00 00 */ li r0, 0 -/* 8015E210 90 1F 05 8C */ stw r0, 0x58c(r31) -/* 8015E214 88 1F 05 84 */ lbz r0, 0x584(r31) -/* 8015E218 28 00 00 00 */ cmplwi r0, 0 -/* 8015E21C 40 82 00 38 */ bne lbl_8015E254 -/* 8015E220 38 7F 04 D0 */ addi r3, r31, 0x4d0 -/* 8015E224 38 80 00 00 */ li r4, 0 -/* 8015E228 38 A0 FF FF */ li r5, -1 -/* 8015E22C 38 C0 FF FF */ li r6, -1 -/* 8015E230 38 E0 00 00 */ li r7, 0 -/* 8015E234 39 00 00 00 */ li r8, 0 -/* 8015E238 39 20 00 00 */ li r9, 0 -/* 8015E23C 4B EB E0 05 */ bl fopAcM_createItem__FPC4cXyziiiPC5csXyzPC4cXyzi -/* 8015E240 38 00 00 01 */ li r0, 1 -/* 8015E244 98 1F 05 84 */ stb r0, 0x584(r31) -/* 8015E248 48 00 00 0C */ b lbl_8015E254 -lbl_8015E24C: -/* 8015E24C 7F E3 FB 78 */ mr r3, r31 -/* 8015E250 4B EB BA 2D */ bl fopAcM_delete__FP10fopAc_ac_c -lbl_8015E254: -/* 8015E254 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015E258 83 C1 00 08 */ lwz r30, 8(r1) -/* 8015E25C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015E260 7C 08 03 A6 */ mtlr r0 -/* 8015E264 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015E268 4E 80 00 20 */ blr diff --git a/asm/d/d_ky_thunder/dThunder_Create__FP12kankyo_class.s b/asm/d/d_ky_thunder/dThunder_Create__FP12kankyo_class.s deleted file mode 100644 index 3a57448b399..00000000000 --- a/asm/d/d_ky_thunder/dThunder_Create__FP12kankyo_class.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_801AE3FC: -/* 801AE3FC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801AE400 7C 08 02 A6 */ mflr r0 -/* 801AE404 90 01 00 14 */ stw r0, 0x14(r1) -/* 801AE408 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801AE40C 93 C1 00 08 */ stw r30, 8(r1) -/* 801AE410 7C 7F 1B 78 */ mr r31, r3 -/* 801AE414 4B FF FB 45 */ bl createHeap__10dThunder_cFv -/* 801AE418 2C 03 00 00 */ cmpwi r3, 0 -/* 801AE41C 40 82 00 0C */ bne lbl_801AE428 -/* 801AE420 38 60 00 05 */ li r3, 5 -/* 801AE424 48 00 00 1C */ b lbl_801AE440 -lbl_801AE428: -/* 801AE428 7F E3 FB 78 */ mr r3, r31 -/* 801AE42C 48 00 00 2D */ bl create__10dThunder_cFv -/* 801AE430 7C 7E 1B 78 */ mr r30, r3 -/* 801AE434 7F E3 FB 78 */ mr r3, r31 -/* 801AE438 4B FF FB 7D */ bl adjustHeap__10dThunder_cFv -/* 801AE43C 7F C3 F3 78 */ mr r3, r30 -lbl_801AE440: -/* 801AE440 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801AE444 83 C1 00 08 */ lwz r30, 8(r1) -/* 801AE448 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801AE44C 7C 08 03 A6 */ mtlr r0 -/* 801AE450 38 21 00 10 */ addi r1, r1, 0x10 -/* 801AE454 4E 80 00 20 */ blr diff --git a/asm/d/kankyo/d_kankyo_wether/dKyw_get_AllWind_vecpow__FP4cXyz.s b/asm/d/kankyo/d_kankyo_wether/dKyw_get_AllWind_vecpow__FP4cXyz.s index a93f161875d..78d6effbbaa 100644 --- a/asm/d/kankyo/d_kankyo_wether/dKyw_get_AllWind_vecpow__FP4cXyz.s +++ b/asm/d/kankyo/d_kankyo_wether/dKyw_get_AllWind_vecpow__FP4cXyz.s @@ -9,7 +9,7 @@ lbl_8005B530: /* 8005B54C 38 A1 00 08 */ addi r5, r1, 8 /* 8005B550 4B FF FC ED */ bl dKyw_pntwind_get_info__FP4cXyzP4cXyzPf /* 8005B554 38 61 00 24 */ addi r3, r1, 0x24 -/* 8005B558 3C 80 80 43 */ lis r4, g_env_light@ha /* 0x8042CA54@ha */ +/* 8005B558 3C 80 80 43 */ lis r4, g_env_light@ha /* 0x8042CEA54@ha */ /* 8005B55C 38 A4 CA 54 */ addi r5, r4, g_env_light@l /* 0x8042CA54@l */ /* 8005B560 38 85 0E 48 */ addi r4, r5, 0xe48 /* 8005B564 C0 45 0E 58 */ lfs f2, 0xe58(r5) diff --git a/asm/d/map/d_map/_draw__6dMap_cFv.s b/asm/d/map/d_map/_draw__6dMap_cFv.s index afba0191f0d..002afc80670 100644 --- a/asm/d/map/d_map/_draw__6dMap_cFv.s +++ b/asm/d/map/d_map/_draw__6dMap_cFv.s @@ -9,10 +9,10 @@ lbl_8002AB54: /* 8002AB70 28 00 00 00 */ cmplwi r0, 0 /* 8002AB74 41 82 00 28 */ beq lbl_8002AB9C /* 8002AB78 38 A0 00 00 */ li r5, 0 -/* 8002AB7C 88 0D 88 E0 */ lbz r0, data_80450E60(r13) +/* 8002AB7C 88 0D 88 E0 */ lbz r0, mNowStayFloorNoDecisionFlg__10dMapInfo_c(r13) /* 8002AB80 28 00 00 00 */ cmplwi r0, 0 /* 8002AB84 41 82 00 08 */ beq lbl_8002AB8C -/* 8002AB88 88 AD 88 D8 */ lbz r5, data_80450E58(r13) +/* 8002AB88 88 AD 88 D8 */ lbz r5, mNowStayFloorNo__10dMapInfo_c(r13) lbl_8002AB8C: /* 8002AB8C C0 23 00 50 */ lfs f1, 0x50(r3) /* 8002AB90 C0 43 00 54 */ lfs f2, 0x54(r3) diff --git a/asm/d/map/d_map_path_dmap/afterDrawPath__19renderingPlusDoor_cFv.s b/asm/d/map/d_map_path_dmap/afterDrawPath__19renderingPlusDoor_cFv.s deleted file mode 100644 index ab0ac60d765..00000000000 --- a/asm/d/map/d_map_path_dmap/afterDrawPath__19renderingPlusDoor_cFv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_80040518: -/* 80040518 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8004051C 7C 08 02 A6 */ mflr r0 -/* 80040520 90 01 00 14 */ stw r0, 0x14(r1) -/* 80040524 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80040528 7C 7F 1B 78 */ mr r31, r3 -/* 8004052C 80 03 00 2C */ lwz r0, 0x2c(r3) -/* 80040530 2C 00 00 00 */ cmpwi r0, 0 -/* 80040534 41 80 00 2C */ blt lbl_80040560 -/* 80040538 81 83 00 00 */ lwz r12, 0(r3) -/* 8004053C 81 8C 00 80 */ lwz r12, 0x80(r12) -/* 80040540 7D 89 03 A6 */ mtctr r12 -/* 80040544 4E 80 04 21 */ bctrl -/* 80040548 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8004054C 41 82 00 14 */ beq lbl_80040560 -/* 80040550 7F E3 FB 78 */ mr r3, r31 -/* 80040554 48 00 00 21 */ bl drawDoor1__19renderingPlusDoor_cFv -/* 80040558 7F E3 FB 78 */ mr r3, r31 -/* 8004055C 48 00 00 5D */ bl drawDoor2__19renderingPlusDoor_cFv -lbl_80040560: -/* 80040560 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80040564 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80040568 7C 08 03 A6 */ mtlr r0 -/* 8004056C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80040570 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/afterDrawPath__28renderingPlusDoorAndCursor_cFv.s b/asm/d/map/d_map_path_dmap/afterDrawPath__28renderingPlusDoorAndCursor_cFv.s deleted file mode 100644 index 94e63b4e1c0..00000000000 --- a/asm/d/map/d_map_path_dmap/afterDrawPath__28renderingPlusDoorAndCursor_cFv.s +++ /dev/null @@ -1,142 +0,0 @@ -lbl_800402FC: -/* 800402FC 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 80040300 7C 08 02 A6 */ mflr r0 -/* 80040304 90 01 00 54 */ stw r0, 0x54(r1) -/* 80040308 DB E1 00 40 */ stfd f31, 0x40(r1) -/* 8004030C F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 /* qr0 */ -/* 80040310 39 61 00 40 */ addi r11, r1, 0x40 -/* 80040314 48 32 1E C9 */ bl _savegpr_29 -/* 80040318 7C 7F 1B 78 */ mr r31, r3 -/* 8004031C 48 00 01 FD */ bl afterDrawPath__19renderingPlusDoor_cFv -/* 80040320 7F E3 FB 78 */ mr r3, r31 -/* 80040324 81 9F 00 00 */ lwz r12, 0(r31) -/* 80040328 81 8C 00 84 */ lwz r12, 0x84(r12) -/* 8004032C 7D 89 03 A6 */ mtctr r12 -/* 80040330 4E 80 04 21 */ bctrl -/* 80040334 7C 7E 1B 78 */ mr r30, r3 -/* 80040338 7F E3 FB 78 */ mr r3, r31 -/* 8004033C 81 9F 00 00 */ lwz r12, 0(r31) -/* 80040340 81 8C 00 9C */ lwz r12, 0x9c(r12) -/* 80040344 7D 89 03 A6 */ mtctr r12 -/* 80040348 4E 80 04 21 */ bctrl -/* 8004034C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80040350 41 82 00 D8 */ beq lbl_80040428 -/* 80040354 7F E3 FB 78 */ mr r3, r31 -/* 80040358 81 9F 00 00 */ lwz r12, 0(r31) -/* 8004035C 81 8C 00 98 */ lwz r12, 0x98(r12) -/* 80040360 7D 89 03 A6 */ mtctr r12 -/* 80040364 4E 80 04 21 */ bctrl -/* 80040368 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8004036C 41 82 00 BC */ beq lbl_80040428 -/* 80040370 3B A0 00 01 */ li r29, 1 -/* 80040374 57 C0 06 3F */ clrlwi. r0, r30, 0x18 -/* 80040378 41 82 00 44 */ beq lbl_800403BC -/* 8004037C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80040380 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80040384 88 03 0D B4 */ lbz r0, 0xdb4(r3) -/* 80040388 7C 1E 07 74 */ extsb r30, r0 -/* 8004038C 38 61 00 20 */ addi r3, r1, 0x20 -/* 80040390 4B FF EC 9D */ bl getMapRestartPos__10dMapInfo_nFv -/* 80040394 C0 21 00 24 */ lfs f1, 0x24(r1) -/* 80040398 38 60 00 01 */ li r3, 1 -/* 8004039C 7F C4 F3 78 */ mr r4, r30 -/* 800403A0 4B FF F0 6D */ bl calcFloorNo__10dMapInfo_cFfbi -/* 800403A4 7C 63 07 74 */ extsb r3, r3 -/* 800403A8 88 1F 00 30 */ lbz r0, 0x30(r31) -/* 800403AC 7C 00 07 74 */ extsb r0, r0 -/* 800403B0 7C 03 00 00 */ cmpw r3, r0 -/* 800403B4 41 82 00 08 */ beq lbl_800403BC -/* 800403B8 3B A0 00 00 */ li r29, 0 -lbl_800403BC: -/* 800403BC 57 A0 06 3F */ clrlwi. r0, r29, 0x18 -/* 800403C0 41 82 00 68 */ beq lbl_80040428 -/* 800403C4 3B A0 00 1F */ li r29, 0x1f -/* 800403C8 80 9F 00 2C */ lwz r4, 0x2c(r31) -/* 800403CC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800403D0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800403D4 88 03 0D B4 */ lbz r0, 0xdb4(r3) -/* 800403D8 7C 00 07 74 */ extsb r0, r0 -/* 800403DC 7C 04 00 00 */ cmpw r4, r0 -/* 800403E0 41 82 00 08 */ beq lbl_800403E8 -/* 800403E4 3B A0 00 20 */ li r29, 0x20 -lbl_800403E8: -/* 800403E8 7F E3 FB 78 */ mr r3, r31 -/* 800403EC 81 9F 00 00 */ lwz r12, 0(r31) -/* 800403F0 81 8C 00 B8 */ lwz r12, 0xb8(r12) -/* 800403F4 7D 89 03 A6 */ mtctr r12 -/* 800403F8 4E 80 04 21 */ bctrl -/* 800403FC FF E0 08 90 */ fmr f31, f1 -/* 80040400 4B FF EC F9 */ bl getMapRestartAngleY__10dMapInfo_nFv -/* 80040404 7C 7E 1B 78 */ mr r30, r3 -/* 80040408 38 61 00 14 */ addi r3, r1, 0x14 -/* 8004040C 4B FF EC 21 */ bl getMapRestartPos__10dMapInfo_nFv -/* 80040410 7F E3 FB 78 */ mr r3, r31 -/* 80040414 38 81 00 14 */ addi r4, r1, 0x14 -/* 80040418 7F C5 F3 78 */ mr r5, r30 -/* 8004041C 7F A6 EB 78 */ mr r6, r29 -/* 80040420 FC 20 F8 90 */ fmr f1, f31 -/* 80040424 48 00 0E 9D */ bl drawCursor__28renderingPlusDoorAndCursor_cFRC3Vecsif -lbl_80040428: -/* 80040428 80 1F 00 2C */ lwz r0, 0x2c(r31) -/* 8004042C 2C 00 00 00 */ cmpwi r0, 0 -/* 80040430 41 80 00 28 */ blt lbl_80040458 -/* 80040434 7F E3 FB 78 */ mr r3, r31 -/* 80040438 81 9F 00 00 */ lwz r12, 0(r31) -/* 8004043C 81 8C 00 A0 */ lwz r12, 0xa0(r12) -/* 80040440 7D 89 03 A6 */ mtctr r12 -/* 80040444 4E 80 04 21 */ bctrl -/* 80040448 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8004044C 41 82 00 0C */ beq lbl_80040458 -/* 80040450 7F E3 FB 78 */ mr r3, r31 -/* 80040454 48 00 06 AD */ bl drawTreasure__28renderingPlusDoorAndCursor_cFv -lbl_80040458: -/* 80040458 7F E3 FB 78 */ mr r3, r31 -/* 8004045C 81 9F 00 00 */ lwz r12, 0(r31) -/* 80040460 81 8C 00 9C */ lwz r12, 0x9c(r12) -/* 80040464 7D 89 03 A6 */ mtctr r12 -/* 80040468 4E 80 04 21 */ bctrl -/* 8004046C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80040470 41 82 00 58 */ beq lbl_800404C8 -/* 80040474 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80040478 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8004047C 80 03 5D AC */ lwz r0, 0x5dac(r3) -/* 80040480 28 00 00 00 */ cmplwi r0, 0 -/* 80040484 41 82 00 44 */ beq lbl_800404C8 -/* 80040488 7F E3 FB 78 */ mr r3, r31 -/* 8004048C 81 9F 00 00 */ lwz r12, 0(r31) -/* 80040490 81 8C 00 B4 */ lwz r12, 0xb4(r12) -/* 80040494 7D 89 03 A6 */ mtctr r12 -/* 80040498 4E 80 04 21 */ bctrl -/* 8004049C FF E0 08 90 */ fmr f31, f1 -/* 800404A0 4B FF EA 81 */ bl getMapPlayerAngleY__10dMapInfo_nFv -/* 800404A4 7C 7E 1B 78 */ mr r30, r3 -/* 800404A8 38 61 00 08 */ addi r3, r1, 8 -/* 800404AC 4B FF E9 B1 */ bl getMapPlayerPos__10dMapInfo_nFv -/* 800404B0 7F E3 FB 78 */ mr r3, r31 -/* 800404B4 38 81 00 08 */ addi r4, r1, 8 -/* 800404B8 7F C5 F3 78 */ mr r5, r30 -/* 800404BC 38 C0 00 1E */ li r6, 0x1e -/* 800404C0 FC 20 F8 90 */ fmr f1, f31 -/* 800404C4 48 00 0D FD */ bl drawCursor__28renderingPlusDoorAndCursor_cFRC3Vecsif -lbl_800404C8: -/* 800404C8 80 1F 00 2C */ lwz r0, 0x2c(r31) -/* 800404CC 2C 00 00 00 */ cmpwi r0, 0 -/* 800404D0 41 80 00 28 */ blt lbl_800404F8 -/* 800404D4 7F E3 FB 78 */ mr r3, r31 -/* 800404D8 81 9F 00 00 */ lwz r12, 0(r31) -/* 800404DC 81 8C 00 A0 */ lwz r12, 0xa0(r12) -/* 800404E0 7D 89 03 A6 */ mtctr r12 -/* 800404E4 4E 80 04 21 */ bctrl -/* 800404E8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800404EC 41 82 00 0C */ beq lbl_800404F8 -/* 800404F0 7F E3 FB 78 */ mr r3, r31 -/* 800404F4 48 00 09 91 */ bl drawTreasureAfterPlayer__28renderingPlusDoorAndCursor_cFv -lbl_800404F8: -/* 800404F8 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 /* qr0 */ -/* 800404FC CB E1 00 40 */ lfd f31, 0x40(r1) -/* 80040500 39 61 00 40 */ addi r11, r1, 0x40 -/* 80040504 48 32 1D 25 */ bl _restgpr_29 -/* 80040508 80 01 00 54 */ lwz r0, 0x54(r1) -/* 8004050C 7C 08 03 A6 */ mtlr r0 -/* 80040510 38 21 00 50 */ addi r1, r1, 0x50 -/* 80040514 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/calcFloorNoForObjectByMapPathRend__16renderingDAmap_cCFfi.s b/asm/d/map/d_map_path_dmap/calcFloorNoForObjectByMapPathRend__16renderingDAmap_cCFfi.s deleted file mode 100644 index 100ec1117ba..00000000000 --- a/asm/d/map/d_map_path_dmap/calcFloorNoForObjectByMapPathRend__16renderingDAmap_cCFfi.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8003FCA4: -/* 8003FCA4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003FCA8 7C 08 02 A6 */ mflr r0 -/* 8003FCAC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003FCB0 38 60 00 01 */ li r3, 1 -/* 8003FCB4 4B FF F7 59 */ bl calcFloorNo__10dMapInfo_cFfbi -/* 8003FCB8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003FCBC 7C 08 03 A6 */ mtlr r0 -/* 8003FCC0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003FCC4 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/calcFloorNo__10dMapInfo_cFfbi.s b/asm/d/map/d_map_path_dmap/calcFloorNo__10dMapInfo_cFfbi.s deleted file mode 100644 index 0e29053843d..00000000000 --- a/asm/d/map/d_map_path_dmap/calcFloorNo__10dMapInfo_cFfbi.s +++ /dev/null @@ -1,96 +0,0 @@ -lbl_8003F40C: -/* 8003F40C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8003F410 7C 08 02 A6 */ mflr r0 -/* 8003F414 90 01 00 34 */ stw r0, 0x34(r1) -/* 8003F418 DB E1 00 20 */ stfd f31, 0x20(r1) -/* 8003F41C F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 8003F420 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8003F424 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8003F428 FF E0 08 90 */ fmr f31, f1 -/* 8003F42C 7C 7E 1B 78 */ mr r30, r3 -/* 8003F430 7C 9F 23 78 */ mr r31, r4 -/* 8003F434 38 61 00 08 */ addi r3, r1, 8 -/* 8003F438 38 80 00 00 */ li r4, 0 -/* 8003F43C 38 A1 00 10 */ addi r5, r1, 0x10 -/* 8003F440 38 C1 00 0C */ addi r6, r1, 0xc -/* 8003F444 38 E0 00 00 */ li r7, 0 -/* 8003F448 4B FF FE 05 */ bl getFloorParameter__10dMapInfo_nFfPScPfPfPfPf -/* 8003F44C C0 01 00 10 */ lfs f0, 0x10(r1) -/* 8003F450 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8003F454 40 80 00 80 */ bge lbl_8003F4D4 -/* 8003F458 C0 41 00 0C */ lfs f2, 0xc(r1) -/* 8003F45C FC 1F 10 40 */ fcmpo cr0, f31, f2 -/* 8003F460 4C 41 13 82 */ cror 2, 1, 2 -/* 8003F464 40 82 00 7C */ bne lbl_8003F4E0 -/* 8003F468 80 0D 88 DC */ lwz r0, mNowStayRoomNo__10dMapInfo_c(r13) -/* 8003F46C 7C 1F 00 00 */ cmpw r31, r0 -/* 8003F470 40 82 00 3C */ bne lbl_8003F4AC -/* 8003F474 88 0D 88 E0 */ lbz r0, data_80450E60(r13) -/* 8003F478 28 00 00 00 */ cmplwi r0, 0 -/* 8003F47C 41 82 00 30 */ beq lbl_8003F4AC -/* 8003F480 88 AD 88 D8 */ lbz r5, data_80450E58(r13) -/* 8003F484 7C A4 07 74 */ extsb r4, r5 -/* 8003F488 88 01 00 08 */ lbz r0, 8(r1) -/* 8003F48C 7C 03 07 74 */ extsb r3, r0 -/* 8003F490 7C 04 18 00 */ cmpw r4, r3 -/* 8003F494 41 82 00 10 */ beq lbl_8003F4A4 -/* 8003F498 38 03 00 01 */ addi r0, r3, 1 -/* 8003F49C 7C 04 00 00 */ cmpw r4, r0 -/* 8003F4A0 40 82 00 0C */ bne lbl_8003F4AC -lbl_8003F4A4: -/* 8003F4A4 98 A1 00 08 */ stb r5, 8(r1) -/* 8003F4A8 48 00 00 38 */ b lbl_8003F4E0 -lbl_8003F4AC: -/* 8003F4AC C0 22 84 2C */ lfs f1, lit_3887(r2) -/* 8003F4B0 EC 02 00 2A */ fadds f0, f2, f0 -/* 8003F4B4 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8003F4B8 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8003F4BC 4C 41 13 82 */ cror 2, 1, 2 -/* 8003F4C0 40 82 00 20 */ bne lbl_8003F4E0 -/* 8003F4C4 88 61 00 08 */ lbz r3, 8(r1) -/* 8003F4C8 38 03 00 01 */ addi r0, r3, 1 -/* 8003F4CC 98 01 00 08 */ stb r0, 8(r1) -/* 8003F4D0 48 00 00 10 */ b lbl_8003F4E0 -lbl_8003F4D4: -/* 8003F4D4 88 61 00 08 */ lbz r3, 8(r1) -/* 8003F4D8 38 03 00 01 */ addi r0, r3, 1 -/* 8003F4DC 98 01 00 08 */ stb r0, 8(r1) -lbl_8003F4E0: -/* 8003F4E0 57 C0 06 3F */ clrlwi. r0, r30, 0x18 -/* 8003F4E4 41 82 00 68 */ beq lbl_8003F54C -/* 8003F4E8 2C 1F 00 00 */ cmpwi r31, 0 -/* 8003F4EC 41 80 00 60 */ blt lbl_8003F54C -/* 8003F4F0 2C 1F 00 40 */ cmpwi r31, 0x40 -/* 8003F4F4 40 80 00 58 */ bge lbl_8003F54C -/* 8003F4F8 3C 60 80 3F */ lis r3, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 8003F4FC 38 63 60 94 */ addi r3, r3, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 8003F500 1C 1F 04 04 */ mulli r0, r31, 0x404 -/* 8003F504 7C 63 02 14 */ add r3, r3, r0 -/* 8003F508 80 63 00 20 */ lwz r3, 0x20(r3) -/* 8003F50C 28 03 00 00 */ cmplwi r3, 0 -/* 8003F510 41 82 00 3C */ beq lbl_8003F54C -/* 8003F514 88 03 00 10 */ lbz r0, 0x10(r3) -/* 8003F518 7C 04 07 74 */ extsb r4, r0 -/* 8003F51C 88 03 00 11 */ lbz r0, 0x11(r3) -/* 8003F520 7C 03 07 74 */ extsb r3, r0 -/* 8003F524 88 01 00 08 */ lbz r0, 8(r1) -/* 8003F528 7C 00 07 74 */ extsb r0, r0 -/* 8003F52C 7C 00 20 00 */ cmpw r0, r4 -/* 8003F530 40 80 00 08 */ bge lbl_8003F538 -/* 8003F534 98 81 00 08 */ stb r4, 8(r1) -lbl_8003F538: -/* 8003F538 88 01 00 08 */ lbz r0, 8(r1) -/* 8003F53C 7C 00 07 74 */ extsb r0, r0 -/* 8003F540 7C 00 18 00 */ cmpw r0, r3 -/* 8003F544 40 81 00 08 */ ble lbl_8003F54C -/* 8003F548 98 61 00 08 */ stb r3, 8(r1) -lbl_8003F54C: -/* 8003F54C 88 61 00 08 */ lbz r3, 8(r1) -/* 8003F550 E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 8003F554 CB E1 00 20 */ lfd f31, 0x20(r1) -/* 8003F558 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8003F55C 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8003F560 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8003F564 7C 08 03 A6 */ mtlr r0 -/* 8003F568 38 21 00 30 */ addi r1, r1, 0x30 -/* 8003F56C 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/calcNowStayFloorNo__10dMapInfo_cFfb.s b/asm/d/map/d_map_path_dmap/calcNowStayFloorNo__10dMapInfo_cFfb.s deleted file mode 100644 index 7b443c0f787..00000000000 --- a/asm/d/map/d_map_path_dmap/calcNowStayFloorNo__10dMapInfo_cFfb.s +++ /dev/null @@ -1,93 +0,0 @@ -lbl_8003F570: -/* 8003F570 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8003F574 7C 08 02 A6 */ mflr r0 -/* 8003F578 90 01 00 34 */ stw r0, 0x34(r1) -/* 8003F57C DB E1 00 20 */ stfd f31, 0x20(r1) -/* 8003F580 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 8003F584 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8003F588 FF E0 08 90 */ fmr f31, f1 -/* 8003F58C 7C 7F 1B 78 */ mr r31, r3 -/* 8003F590 38 61 00 08 */ addi r3, r1, 8 -/* 8003F594 38 80 00 00 */ li r4, 0 -/* 8003F598 38 A1 00 10 */ addi r5, r1, 0x10 -/* 8003F59C 38 C1 00 0C */ addi r6, r1, 0xc -/* 8003F5A0 38 E0 00 00 */ li r7, 0 -/* 8003F5A4 4B FF FC A9 */ bl getFloorParameter__10dMapInfo_nFfPScPfPfPfPf -/* 8003F5A8 88 0D 88 E0 */ lbz r0, data_80450E60(r13) -/* 8003F5AC 28 00 00 00 */ cmplwi r0, 0 -/* 8003F5B0 41 82 00 5C */ beq lbl_8003F60C -/* 8003F5B4 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 8003F5B8 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8003F5BC 40 80 00 40 */ bge lbl_8003F5FC -/* 8003F5C0 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 8003F5C4 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8003F5C8 4C 41 13 82 */ cror 2, 1, 2 -/* 8003F5CC 40 82 00 6C */ bne lbl_8003F638 -/* 8003F5D0 88 AD 88 D8 */ lbz r5, data_80450E58(r13) -/* 8003F5D4 7C A4 07 74 */ extsb r4, r5 -/* 8003F5D8 88 01 00 08 */ lbz r0, 8(r1) -/* 8003F5DC 7C 03 07 74 */ extsb r3, r0 -/* 8003F5E0 7C 04 18 00 */ cmpw r4, r3 -/* 8003F5E4 41 82 00 10 */ beq lbl_8003F5F4 -/* 8003F5E8 38 03 00 01 */ addi r0, r3, 1 -/* 8003F5EC 7C 04 00 00 */ cmpw r4, r0 -/* 8003F5F0 40 82 00 48 */ bne lbl_8003F638 -lbl_8003F5F4: -/* 8003F5F4 98 A1 00 08 */ stb r5, 8(r1) -/* 8003F5F8 48 00 00 40 */ b lbl_8003F638 -lbl_8003F5FC: -/* 8003F5FC 88 61 00 08 */ lbz r3, 8(r1) -/* 8003F600 38 03 00 01 */ addi r0, r3, 1 -/* 8003F604 98 01 00 08 */ stb r0, 8(r1) -/* 8003F608 48 00 00 30 */ b lbl_8003F638 -lbl_8003F60C: -/* 8003F60C C0 42 84 2C */ lfs f2, lit_3887(r2) -/* 8003F610 C0 21 00 0C */ lfs f1, 0xc(r1) -/* 8003F614 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 8003F618 EC 01 00 2A */ fadds f0, f1, f0 -/* 8003F61C EC 02 00 32 */ fmuls f0, f2, f0 -/* 8003F620 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8003F624 4C 41 13 82 */ cror 2, 1, 2 -/* 8003F628 40 82 00 10 */ bne lbl_8003F638 -/* 8003F62C 88 61 00 08 */ lbz r3, 8(r1) -/* 8003F630 38 03 00 01 */ addi r0, r3, 1 -/* 8003F634 98 01 00 08 */ stb r0, 8(r1) -lbl_8003F638: -/* 8003F638 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 8003F63C 41 82 00 6C */ beq lbl_8003F6A8 -/* 8003F640 80 0D 88 DC */ lwz r0, mNowStayRoomNo__10dMapInfo_c(r13) -/* 8003F644 2C 00 00 00 */ cmpwi r0, 0 -/* 8003F648 41 80 00 60 */ blt lbl_8003F6A8 -/* 8003F64C 2C 00 00 40 */ cmpwi r0, 0x40 -/* 8003F650 40 80 00 58 */ bge lbl_8003F6A8 -/* 8003F654 3C 60 80 3F */ lis r3, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 8003F658 38 63 60 94 */ addi r3, r3, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 8003F65C 1C 00 04 04 */ mulli r0, r0, 0x404 -/* 8003F660 7C 63 02 14 */ add r3, r3, r0 -/* 8003F664 80 63 00 20 */ lwz r3, 0x20(r3) -/* 8003F668 28 03 00 00 */ cmplwi r3, 0 -/* 8003F66C 41 82 00 3C */ beq lbl_8003F6A8 -/* 8003F670 88 03 00 10 */ lbz r0, 0x10(r3) -/* 8003F674 7C 04 07 74 */ extsb r4, r0 -/* 8003F678 88 03 00 11 */ lbz r0, 0x11(r3) -/* 8003F67C 7C 03 07 74 */ extsb r3, r0 -/* 8003F680 88 01 00 08 */ lbz r0, 8(r1) -/* 8003F684 7C 00 07 74 */ extsb r0, r0 -/* 8003F688 7C 00 20 00 */ cmpw r0, r4 -/* 8003F68C 40 80 00 08 */ bge lbl_8003F694 -/* 8003F690 98 81 00 08 */ stb r4, 8(r1) -lbl_8003F694: -/* 8003F694 88 01 00 08 */ lbz r0, 8(r1) -/* 8003F698 7C 00 07 74 */ extsb r0, r0 -/* 8003F69C 7C 00 18 00 */ cmpw r0, r3 -/* 8003F6A0 40 81 00 08 */ ble lbl_8003F6A8 -/* 8003F6A4 98 61 00 08 */ stb r3, 8(r1) -lbl_8003F6A8: -/* 8003F6A8 88 61 00 08 */ lbz r3, 8(r1) -/* 8003F6AC E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 8003F6B0 CB E1 00 20 */ lfd f31, 0x20(r1) -/* 8003F6B4 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8003F6B8 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8003F6BC 7C 08 03 A6 */ mtlr r0 -/* 8003F6C0 38 21 00 30 */ addi r1, r1, 0x30 -/* 8003F6C4 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/checkDispDoorS__19renderingPlusDoor_cFiif.s b/asm/d/map/d_map_path_dmap/checkDispDoorS__19renderingPlusDoor_cFiif.s deleted file mode 100644 index c4b267e5f87..00000000000 --- a/asm/d/map/d_map_path_dmap/checkDispDoorS__19renderingPlusDoor_cFiif.s +++ /dev/null @@ -1,80 +0,0 @@ -lbl_80040710: -/* 80040710 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80040714 7C 08 02 A6 */ mflr r0 -/* 80040718 90 01 00 24 */ stw r0, 0x24(r1) -/* 8004071C DB E1 00 18 */ stfd f31, 0x18(r1) -/* 80040720 39 61 00 18 */ addi r11, r1, 0x18 -/* 80040724 48 32 1A B9 */ bl _savegpr_29 -/* 80040728 7C 7D 1B 78 */ mr r29, r3 -/* 8004072C 7C 9E 23 78 */ mr r30, r4 -/* 80040730 7C BF 2B 78 */ mr r31, r5 -/* 80040734 FF E0 08 90 */ fmr f31, f1 -/* 80040738 81 83 00 00 */ lwz r12, 0(r3) -/* 8004073C 81 8C 00 7C */ lwz r12, 0x7c(r12) -/* 80040740 7D 89 03 A6 */ mtctr r12 -/* 80040744 4E 80 04 21 */ bctrl -/* 80040748 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8004074C 41 82 00 60 */ beq lbl_800407AC -/* 80040750 7F A3 EB 78 */ mr r3, r29 -/* 80040754 81 9D 00 00 */ lwz r12, 0(r29) -/* 80040758 81 8C 00 78 */ lwz r12, 0x78(r12) -/* 8004075C 7D 89 03 A6 */ mtctr r12 -/* 80040760 4E 80 04 21 */ bctrl -/* 80040764 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80040768 40 82 00 60 */ bne lbl_800407C8 -/* 8004076C 7F C3 F3 78 */ mr r3, r30 -/* 80040770 4B FF E5 A1 */ bl isVisitedRoom__10dMapInfo_nFi -/* 80040774 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80040778 40 82 00 50 */ bne lbl_800407C8 -/* 8004077C 80 1D 00 2C */ lwz r0, 0x2c(r29) -/* 80040780 7C 1E 00 00 */ cmpw r30, r0 -/* 80040784 41 82 00 44 */ beq lbl_800407C8 -/* 80040788 7F E3 FB 78 */ mr r3, r31 -/* 8004078C 4B FF E5 85 */ bl isVisitedRoom__10dMapInfo_nFi -/* 80040790 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80040794 40 82 00 34 */ bne lbl_800407C8 -/* 80040798 80 1D 00 2C */ lwz r0, 0x2c(r29) -/* 8004079C 7C 1F 00 00 */ cmpw r31, r0 -/* 800407A0 41 82 00 28 */ beq lbl_800407C8 -/* 800407A4 38 60 00 00 */ li r3, 0 -/* 800407A8 48 00 00 74 */ b lbl_8004081C -lbl_800407AC: -/* 800407AC 80 1D 00 2C */ lwz r0, 0x2c(r29) -/* 800407B0 7C 1E 00 00 */ cmpw r30, r0 -/* 800407B4 41 82 00 14 */ beq lbl_800407C8 -/* 800407B8 7C 1F 00 00 */ cmpw r31, r0 -/* 800407BC 41 82 00 0C */ beq lbl_800407C8 -/* 800407C0 38 60 00 00 */ li r3, 0 -/* 800407C4 48 00 00 58 */ b lbl_8004081C -lbl_800407C8: -/* 800407C8 7F A3 EB 78 */ mr r3, r29 -/* 800407CC FC 20 F8 90 */ fmr f1, f31 -/* 800407D0 7F C4 F3 78 */ mr r4, r30 -/* 800407D4 4B FF F4 D1 */ bl calcFloorNoForObjectByMapPathRend__16renderingDAmap_cCFfi -/* 800407D8 7C 63 07 74 */ extsb r3, r3 -/* 800407DC 88 1D 00 30 */ lbz r0, 0x30(r29) -/* 800407E0 7C 00 07 74 */ extsb r0, r0 -/* 800407E4 7C 00 18 00 */ cmpw r0, r3 -/* 800407E8 41 82 00 28 */ beq lbl_80040810 -/* 800407EC 7F A3 EB 78 */ mr r3, r29 -/* 800407F0 FC 20 F8 90 */ fmr f1, f31 -/* 800407F4 7F E4 FB 78 */ mr r4, r31 -/* 800407F8 4B FF F4 AD */ bl calcFloorNoForObjectByMapPathRend__16renderingDAmap_cCFfi -/* 800407FC 7C 63 07 74 */ extsb r3, r3 -/* 80040800 88 1D 00 30 */ lbz r0, 0x30(r29) -/* 80040804 7C 00 07 74 */ extsb r0, r0 -/* 80040808 7C 00 18 00 */ cmpw r0, r3 -/* 8004080C 40 82 00 0C */ bne lbl_80040818 -lbl_80040810: -/* 80040810 38 60 00 01 */ li r3, 1 -/* 80040814 48 00 00 08 */ b lbl_8004081C -lbl_80040818: -/* 80040818 38 60 00 00 */ li r3, 0 -lbl_8004081C: -/* 8004081C CB E1 00 18 */ lfd f31, 0x18(r1) -/* 80040820 39 61 00 18 */ addi r11, r1, 0x18 -/* 80040824 48 32 1A 05 */ bl _restgpr_29 -/* 80040828 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8004082C 7C 08 03 A6 */ mtlr r0 -/* 80040830 38 21 00 20 */ addi r1, r1, 0x20 -/* 80040834 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/create__10dMapInfo_cFv.s b/asm/d/map/d_map_path_dmap/create__10dMapInfo_cFv.s deleted file mode 100644 index 43a29de8fc8..00000000000 --- a/asm/d/map/d_map_path_dmap/create__10dMapInfo_cFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8003F734: -/* 8003F734 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003F738 7C 08 02 A6 */ mflr r0 -/* 8003F73C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003F740 4B FF FF BD */ bl init__10dMapInfo_cFv -/* 8003F744 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003F748 7C 08 03 A6 */ mtlr r0 -/* 8003F74C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003F750 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/create__8dMpath_cFv.s b/asm/d/map/d_map_path_dmap/create__8dMpath_cFv.s deleted file mode 100644 index c78fa28cbb2..00000000000 --- a/asm/d/map/d_map_path_dmap/create__8dMpath_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8003FB70: -/* 8003FB70 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003FB74 7C 08 02 A6 */ mflr r0 -/* 8003FB78 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003FB7C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8003FB80 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8003FB84 85 83 4E 20 */ lwzu r12, 0x4e20(r3) -/* 8003FB88 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 8003FB8C 7D 89 03 A6 */ mtctr r12 -/* 8003FB90 4E 80 04 21 */ bctrl -/* 8003FB94 80 03 00 0C */ lwz r0, 0xc(r3) -/* 8003FB98 54 00 87 7E */ rlwinm r0, r0, 0x10, 0x1d, 0x1f -/* 8003FB9C 28 00 00 03 */ cmplwi r0, 3 -/* 8003FBA0 41 82 00 10 */ beq lbl_8003FBB0 -/* 8003FBA4 48 00 00 2D */ bl reset__8dMpath_cFv -/* 8003FBA8 38 00 00 00 */ li r0, 0 -/* 8003FBAC 98 0D 89 08 */ stb r0, data_80450E88(r13) -lbl_8003FBB0: -/* 8003FBB0 3C 60 80 42 */ lis r3, m_texObjAgg__8dMpath_n@ha /* 0x80424684@ha */ -/* 8003FBB4 38 63 46 84 */ addi r3, r3, m_texObjAgg__8dMpath_n@l /* 0x80424684@l */ -/* 8003FBB8 4B FF CC A5 */ bl create__Q28dMpath_n18dTexObjAggregate_cFv -/* 8003FBBC 4B FF FB 79 */ bl create__10dMapInfo_cFv -/* 8003FBC0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003FBC4 7C 08 03 A6 */ mtlr r0 -/* 8003FBC8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003FBCC 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/drawCursor__28renderingPlusDoorAndCursor_cFRC3Vecsif.s b/asm/d/map/d_map_path_dmap/drawCursor__28renderingPlusDoorAndCursor_cFRC3Vecsif.s deleted file mode 100644 index 42aa721681a..00000000000 --- a/asm/d/map/d_map_path_dmap/drawCursor__28renderingPlusDoorAndCursor_cFRC3Vecsif.s +++ /dev/null @@ -1,106 +0,0 @@ -lbl_800412C0: -/* 800412C0 94 21 FF 80 */ stwu r1, -0x80(r1) -/* 800412C4 7C 08 02 A6 */ mflr r0 -/* 800412C8 90 01 00 84 */ stw r0, 0x84(r1) -/* 800412CC DB E1 00 70 */ stfd f31, 0x70(r1) -/* 800412D0 F3 E1 00 78 */ psq_st f31, 120(r1), 0, 0 /* qr0 */ -/* 800412D4 DB C1 00 60 */ stfd f30, 0x60(r1) -/* 800412D8 F3 C1 00 68 */ psq_st f30, 104(r1), 0, 0 /* qr0 */ -/* 800412DC 39 61 00 60 */ addi r11, r1, 0x60 -/* 800412E0 48 32 0E F5 */ bl _savegpr_27 -/* 800412E4 7C BC 2B 78 */ mr r28, r5 -/* 800412E8 7C DB 33 78 */ mr r27, r6 -/* 800412EC C0 02 84 B8 */ lfs f0, lit_4731(r2) -/* 800412F0 EC 61 00 24 */ fdivs f3, f1, f0 -/* 800412F4 C0 23 00 08 */ lfs f1, 8(r3) -/* 800412F8 A0 03 00 20 */ lhz r0, 0x20(r3) -/* 800412FC C8 42 84 40 */ lfd f2, lit_4211(r2) -/* 80041300 90 01 00 34 */ stw r0, 0x34(r1) -/* 80041304 3C A0 43 30 */ lis r5, 0x4330 -/* 80041308 90 A1 00 30 */ stw r5, 0x30(r1) -/* 8004130C C8 01 00 30 */ lfd f0, 0x30(r1) -/* 80041310 EC 00 10 28 */ fsubs f0, f0, f2 -/* 80041314 EC 01 00 24 */ fdivs f0, f1, f0 -/* 80041318 EF E3 00 32 */ fmuls f31, f3, f0 -/* 8004131C C0 23 00 0C */ lfs f1, 0xc(r3) -/* 80041320 A0 03 00 22 */ lhz r0, 0x22(r3) -/* 80041324 90 01 00 3C */ stw r0, 0x3c(r1) -/* 80041328 90 A1 00 38 */ stw r5, 0x38(r1) -/* 8004132C C8 01 00 38 */ lfd f0, 0x38(r1) -/* 80041330 EC 00 10 28 */ fsubs f0, f0, f2 -/* 80041334 EC 01 00 24 */ fdivs f0, f1, f0 -/* 80041338 EF C3 00 32 */ fmuls f30, f3, f0 -/* 8004133C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80041340 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80041344 C0 24 00 00 */ lfs f1, 0(r4) -/* 80041348 C0 42 84 28 */ lfs f2, lit_3796(r2) -/* 8004134C C0 64 00 08 */ lfs f3, 8(r4) -/* 80041350 48 30 55 99 */ bl PSMTXTrans -/* 80041354 FC 20 F8 90 */ fmr f1, f31 -/* 80041358 C0 42 84 38 */ lfs f2, lit_4202(r2) -/* 8004135C FC 60 F0 90 */ fmr f3, f30 -/* 80041360 4B FC BA D9 */ bl scaleM__14mDoMtx_stack_cFfff -/* 80041364 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80041368 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8004136C 7F 84 E3 78 */ mr r4, r28 -/* 80041370 4B FC B0 C5 */ bl mDoMtx_YrotM__FPA4_fs -/* 80041374 3B 80 00 00 */ li r28, 0 -/* 80041378 3B E0 00 00 */ li r31, 0 -/* 8004137C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80041380 3B A3 D4 70 */ addi r29, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80041384 3C 60 80 38 */ lis r3, l_offset@ha /* 0x80379D5C@ha */ -/* 80041388 3B C3 9D 5C */ addi r30, r3, l_offset@l /* 0x80379D5C@l */ -lbl_8004138C: -/* 8004138C 7F A3 EB 78 */ mr r3, r29 -/* 80041390 7C 9E FA 14 */ add r4, r30, r31 -/* 80041394 38 A1 00 0C */ addi r5, r1, 0xc -/* 80041398 7C A5 FA 14 */ add r5, r5, r31 -/* 8004139C 48 30 59 D1 */ bl PSMTXMultVec -/* 800413A0 3B 9C 00 01 */ addi r28, r28, 1 -/* 800413A4 2C 1C 00 03 */ cmpwi r28, 3 -/* 800413A8 3B FF 00 0C */ addi r31, r31, 0xc -/* 800413AC 41 80 FF E0 */ blt lbl_8004138C -/* 800413B0 48 31 A1 DD */ bl GXClearVtxDesc -/* 800413B4 38 60 00 09 */ li r3, 9 -/* 800413B8 38 80 00 01 */ li r4, 1 -/* 800413BC 48 31 9A FD */ bl GXSetVtxDesc -/* 800413C0 38 60 00 00 */ li r3, 0 -/* 800413C4 38 80 00 09 */ li r4, 9 -/* 800413C8 38 A0 00 00 */ li r5, 0 -/* 800413CC 38 C0 00 04 */ li r6, 4 -/* 800413D0 38 E0 00 00 */ li r7, 0 -/* 800413D4 48 31 A1 F1 */ bl GXSetVtxAttrFmt -/* 800413D8 57 60 16 3A */ rlwinm r0, r27, 2, 0x18, 0x1d -/* 800413DC 98 0D 80 B8 */ stb r0, l_cursorColor(r13) -/* 800413E0 80 0D 80 B8 */ lwz r0, l_cursorColor(r13) -/* 800413E4 90 01 00 08 */ stw r0, 8(r1) -/* 800413E8 38 60 00 01 */ li r3, 1 -/* 800413EC 38 81 00 08 */ addi r4, r1, 8 -/* 800413F0 48 31 DF 8D */ bl GXSetTevColor -/* 800413F4 38 60 00 90 */ li r3, 0x90 -/* 800413F8 38 80 00 00 */ li r4, 0 -/* 800413FC 38 A0 00 03 */ li r5, 3 -/* 80041400 48 31 B3 65 */ bl GXBegin -/* 80041404 38 60 00 00 */ li r3, 0 -/* 80041408 3C 80 CC 01 */ lis r4, 0xCC01 /* 0xCC008000@ha */ -/* 8004140C 38 00 00 03 */ li r0, 3 -/* 80041410 7C 09 03 A6 */ mtctr r0 -lbl_80041414: -/* 80041414 38 A1 00 0C */ addi r5, r1, 0xc -/* 80041418 7C A5 1A 14 */ add r5, r5, r3 -/* 8004141C C0 05 00 00 */ lfs f0, 0(r5) -/* 80041420 D0 04 80 00 */ stfs f0, 0x8000(r4) /* 0xCC008000@l */ -/* 80041424 C0 05 00 08 */ lfs f0, 8(r5) -/* 80041428 D0 04 80 00 */ stfs f0, -0x8000(r4) -/* 8004142C 38 63 00 0C */ addi r3, r3, 0xc -/* 80041430 42 00 FF E4 */ bdnz lbl_80041414 -/* 80041434 E3 E1 00 78 */ psq_l f31, 120(r1), 0, 0 /* qr0 */ -/* 80041438 CB E1 00 70 */ lfd f31, 0x70(r1) -/* 8004143C E3 C1 00 68 */ psq_l f30, 104(r1), 0, 0 /* qr0 */ -/* 80041440 CB C1 00 60 */ lfd f30, 0x60(r1) -/* 80041444 39 61 00 60 */ addi r11, r1, 0x60 -/* 80041448 48 32 0D D9 */ bl _restgpr_27 -/* 8004144C 80 01 00 84 */ lwz r0, 0x84(r1) -/* 80041450 7C 08 03 A6 */ mtlr r0 -/* 80041454 38 21 00 80 */ addi r1, r1, 0x80 -/* 80041458 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/drawDoor1__19renderingPlusDoor_cFv.s b/asm/d/map/d_map_path_dmap/drawDoor1__19renderingPlusDoor_cFv.s deleted file mode 100644 index 46a9c4e79c2..00000000000 --- a/asm/d/map/d_map_path_dmap/drawDoor1__19renderingPlusDoor_cFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_80040574: -/* 80040574 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80040578 7C 08 02 A6 */ mflr r0 -/* 8004057C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80040580 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80040584 7C 7F 1B 78 */ mr r31, r3 -/* 80040588 4B FE 39 6D */ bl dStage_GetKeepDoorInfo__Fv -/* 8004058C 7C 65 1B 78 */ mr r5, r3 -/* 80040590 7F E3 FB 78 */ mr r3, r31 -/* 80040594 38 85 00 04 */ addi r4, r5, 4 -/* 80040598 80 A5 00 00 */ lwz r5, 0(r5) -/* 8004059C 38 C0 00 01 */ li r6, 1 -/* 800405A0 48 00 00 5D */ bl drawDoorCommon__19renderingPlusDoor_cFPC21stage_tgsc_data_classib -/* 800405A4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800405A8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800405AC 7C 08 03 A6 */ mtlr r0 -/* 800405B0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800405B4 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/drawDoor2__19renderingPlusDoor_cFv.s b/asm/d/map/d_map_path_dmap/drawDoor2__19renderingPlusDoor_cFv.s deleted file mode 100644 index 8dfc7febdd7..00000000000 --- a/asm/d/map/d_map_path_dmap/drawDoor2__19renderingPlusDoor_cFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_800405B8: -/* 800405B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800405BC 7C 08 02 A6 */ mflr r0 -/* 800405C0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800405C4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800405C8 7C 7F 1B 78 */ mr r31, r3 -/* 800405CC 4B FE 3A 91 */ bl dStage_GetRoomKeepDoorInfo__Fv -/* 800405D0 7C 65 1B 78 */ mr r5, r3 -/* 800405D4 7F E3 FB 78 */ mr r3, r31 -/* 800405D8 38 85 00 04 */ addi r4, r5, 4 -/* 800405DC 80 A5 00 00 */ lwz r5, 0(r5) -/* 800405E0 38 C0 00 00 */ li r6, 0 -/* 800405E4 48 00 00 19 */ bl drawDoorCommon__19renderingPlusDoor_cFPC21stage_tgsc_data_classib -/* 800405E8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800405EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800405F0 7C 08 03 A6 */ mtlr r0 -/* 800405F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800405F8 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/drawDoorCommon__19renderingPlusDoor_cFPC21stage_tgsc_data_classib.s b/asm/d/map/d_map_path_dmap/drawDoorCommon__19renderingPlusDoor_cFPC21stage_tgsc_data_classib.s deleted file mode 100644 index 1147930037f..00000000000 --- a/asm/d/map/d_map_path_dmap/drawDoorCommon__19renderingPlusDoor_cFPC21stage_tgsc_data_classib.s +++ /dev/null @@ -1,73 +0,0 @@ -lbl_800405FC: -/* 800405FC 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80040600 7C 08 02 A6 */ mflr r0 -/* 80040604 90 01 00 34 */ stw r0, 0x34(r1) -/* 80040608 39 61 00 30 */ addi r11, r1, 0x30 -/* 8004060C 48 32 1B C1 */ bl _savegpr_25 -/* 80040610 7C 79 1B 78 */ mr r25, r3 -/* 80040614 7C 9A 23 78 */ mr r26, r4 -/* 80040618 7C BB 2B 78 */ mr r27, r5 -/* 8004061C 7C DC 33 78 */ mr r28, r6 -/* 80040620 48 31 AF 6D */ bl GXClearVtxDesc -/* 80040624 38 60 00 09 */ li r3, 9 -/* 80040628 38 80 00 01 */ li r4, 1 -/* 8004062C 48 31 A8 8D */ bl GXSetVtxDesc -/* 80040630 38 60 00 0D */ li r3, 0xd -/* 80040634 38 80 00 02 */ li r4, 2 -/* 80040638 48 31 A8 81 */ bl GXSetVtxDesc -/* 8004063C 38 60 00 00 */ li r3, 0 -/* 80040640 38 80 00 09 */ li r4, 9 -/* 80040644 38 A0 00 01 */ li r5, 1 -/* 80040648 38 C0 00 04 */ li r6, 4 -/* 8004064C 38 E0 00 00 */ li r7, 0 -/* 80040650 48 31 AF 75 */ bl GXSetVtxAttrFmt -/* 80040654 38 60 00 00 */ li r3, 0 -/* 80040658 38 80 00 0D */ li r4, 0xd -/* 8004065C 38 A0 00 01 */ li r5, 1 -/* 80040660 38 C0 00 00 */ li r6, 0 -/* 80040664 38 E0 00 00 */ li r7, 0 -/* 80040668 48 31 AF 5D */ bl GXSetVtxAttrFmt -/* 8004066C 38 60 00 0D */ li r3, 0xd -/* 80040670 38 82 84 68 */ la r4, l_tex0(r2) /* 80451E68-_SDA2_BASE_ */ -/* 80040674 38 A0 00 02 */ li r5, 2 -/* 80040678 48 31 B4 B1 */ bl GXSetArray -/* 8004067C 7F 23 CB 78 */ mr r3, r25 -/* 80040680 4B FF C8 C1 */ bl setTevSettingIntensityTextureToCI__18dRenderingFDAmap_cCFv -/* 80040684 3B A0 00 00 */ li r29, 0 -/* 80040688 48 00 00 60 */ b lbl_800406E8 -lbl_8004068C: -/* 8004068C 80 1A 00 08 */ lwz r0, 8(r26) -/* 80040690 54 1F 9E BE */ rlwinm r31, r0, 0x13, 0x1a, 0x1f -/* 80040694 54 1E 6E BE */ rlwinm r30, r0, 0xd, 0x1a, 0x1f -/* 80040698 7F 23 CB 78 */ mr r3, r25 -/* 8004069C 7F E4 FB 78 */ mr r4, r31 -/* 800406A0 7F C5 F3 78 */ mr r5, r30 -/* 800406A4 C0 3A 00 10 */ lfs f1, 0x10(r26) -/* 800406A8 48 00 00 69 */ bl checkDispDoorS__19renderingPlusDoor_cFiif -/* 800406AC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800406B0 41 82 00 30 */ beq lbl_800406E0 -/* 800406B4 3C 60 80 42 */ lis r3, m_texObjAgg__8dMpath_n@ha /* 0x80424684@ha */ -/* 800406B8 38 63 46 84 */ addi r3, r3, m_texObjAgg__8dMpath_n@l /* 0x80424684@l */ -/* 800406BC 80 63 00 00 */ lwz r3, 0(r3) -/* 800406C0 38 80 00 00 */ li r4, 0 -/* 800406C4 48 31 DD 51 */ bl GXLoadTexObj -/* 800406C8 7F 23 CB 78 */ mr r3, r25 -/* 800406CC 7F 44 D3 78 */ mr r4, r26 -/* 800406D0 7F E5 FB 78 */ mr r5, r31 -/* 800406D4 7F C6 F3 78 */ mr r6, r30 -/* 800406D8 7F 87 E3 78 */ mr r7, r28 -/* 800406DC 48 00 01 5D */ bl drawNormalDoorS__19renderingPlusDoor_cFPC21stage_tgsc_data_classiib -lbl_800406E0: -/* 800406E0 3B BD 00 01 */ addi r29, r29, 1 -/* 800406E4 3B 5A 00 24 */ addi r26, r26, 0x24 -lbl_800406E8: -/* 800406E8 7C 1D D8 00 */ cmpw r29, r27 -/* 800406EC 41 80 FF A0 */ blt lbl_8004068C -/* 800406F0 7F 23 CB 78 */ mr r3, r25 -/* 800406F4 4B FF C7 85 */ bl setTevSettingNonTextureDirectColor__18dRenderingFDAmap_cCFv -/* 800406F8 39 61 00 30 */ addi r11, r1, 0x30 -/* 800406FC 48 32 1B 1D */ bl _restgpr_25 -/* 80040700 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80040704 7C 08 03 A6 */ mtlr r0 -/* 80040708 38 21 00 30 */ addi r1, r1, 0x30 -/* 8004070C 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/drawIconSingle__28renderingPlusDoorAndCursor_cFRC3Vecff.s b/asm/d/map/d_map_path_dmap/drawIconSingle__28renderingPlusDoorAndCursor_cFRC3Vecff.s deleted file mode 100644 index fd03f8c7e13..00000000000 --- a/asm/d/map/d_map_path_dmap/drawIconSingle__28renderingPlusDoorAndCursor_cFRC3Vecff.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_80041208: -/* 80041208 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8004120C 7C 08 02 A6 */ mflr r0 -/* 80041210 90 01 00 34 */ stw r0, 0x34(r1) -/* 80041214 DB E1 00 20 */ stfd f31, 0x20(r1) -/* 80041218 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 8004121C DB C1 00 10 */ stfd f30, 0x10(r1) -/* 80041220 F3 C1 00 18 */ psq_st f30, 24(r1), 0, 0 /* qr0 */ -/* 80041224 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80041228 7C 9F 23 78 */ mr r31, r4 -/* 8004122C FF C0 08 90 */ fmr f30, f1 -/* 80041230 FF E0 10 90 */ fmr f31, f2 -/* 80041234 38 60 00 80 */ li r3, 0x80 -/* 80041238 38 80 00 00 */ li r4, 0 -/* 8004123C 38 A0 00 04 */ li r5, 4 -/* 80041240 48 31 B5 25 */ bl GXBegin -/* 80041244 38 C0 00 00 */ li r6, 0 -/* 80041248 C0 5F 00 08 */ lfs f2, 8(r31) -/* 8004124C 3C 60 80 38 */ lis r3, l_iconPosData@ha /* 0x80379D3C@ha */ -/* 80041250 38 83 9D 3C */ addi r4, r3, l_iconPosData@l /* 0x80379D3C@l */ -/* 80041254 C0 3F 00 00 */ lfs f1, 0(r31) -/* 80041258 3C 60 CC 01 */ lis r3, 0xcc01 -/* 8004125C 48 00 00 34 */ b lbl_80041290 -lbl_80041260: -/* 80041260 54 C0 1D 78 */ rlwinm r0, r6, 3, 0x15, 0x1c -/* 80041264 7C A4 02 14 */ add r5, r4, r0 -/* 80041268 C0 05 00 04 */ lfs f0, 4(r5) -/* 8004126C EC 1F 00 32 */ fmuls f0, f31, f0 -/* 80041270 EC 62 00 2A */ fadds f3, f2, f0 -/* 80041274 C0 05 00 00 */ lfs f0, 0(r5) -/* 80041278 EC 1E 00 32 */ fmuls f0, f30, f0 -/* 8004127C EC 01 00 2A */ fadds f0, f1, f0 -/* 80041280 D0 03 80 00 */ stfs f0, -0x8000(r3) -/* 80041284 D0 63 80 00 */ stfs f3, -0x8000(r3) -/* 80041288 98 C3 80 00 */ stb r6, -0x8000(r3) -/* 8004128C 38 C6 00 01 */ addi r6, r6, 1 -lbl_80041290: -/* 80041290 54 C0 06 3E */ clrlwi r0, r6, 0x18 -/* 80041294 28 00 00 04 */ cmplwi r0, 4 -/* 80041298 41 80 FF C8 */ blt lbl_80041260 -/* 8004129C E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 800412A0 CB E1 00 20 */ lfd f31, 0x20(r1) -/* 800412A4 E3 C1 00 18 */ psq_l f30, 24(r1), 0, 0 /* qr0 */ -/* 800412A8 CB C1 00 10 */ lfd f30, 0x10(r1) -/* 800412AC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800412B0 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800412B4 7C 08 03 A6 */ mtlr r0 -/* 800412B8 38 21 00 30 */ addi r1, r1, 0x30 -/* 800412BC 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/drawNormalDoorS__19renderingPlusDoor_cFPC21stage_tgsc_data_classiib.s b/asm/d/map/d_map_path_dmap/drawNormalDoorS__19renderingPlusDoor_cFPC21stage_tgsc_data_classiib.s deleted file mode 100644 index 230f1175b4e..00000000000 --- a/asm/d/map/d_map_path_dmap/drawNormalDoorS__19renderingPlusDoor_cFPC21stage_tgsc_data_classiib.s +++ /dev/null @@ -1,102 +0,0 @@ -lbl_80040838: -/* 80040838 94 21 FF 90 */ stwu r1, -0x70(r1) -/* 8004083C 7C 08 02 A6 */ mflr r0 -/* 80040840 90 01 00 74 */ stw r0, 0x74(r1) -/* 80040844 39 61 00 70 */ addi r11, r1, 0x70 -/* 80040848 48 32 19 95 */ bl _savegpr_29 -/* 8004084C 7C 9D 23 78 */ mr r29, r4 -/* 80040850 7C BE 2B 78 */ mr r30, r5 -/* 80040854 7C FF 3B 78 */ mr r31, r7 -/* 80040858 88 0D 87 E4 */ lbz r0, mStayNo__20dStage_roomControl_c+0x0(r13) -/* 8004085C 7C 00 07 74 */ extsb r0, r0 -/* 80040860 7C 1E 00 00 */ cmpw r30, r0 -/* 80040864 41 82 00 0C */ beq lbl_80040870 -/* 80040868 7C 06 00 00 */ cmpw r6, r0 -/* 8004086C 40 82 00 30 */ bne lbl_8004089C -lbl_80040870: -/* 80040870 80 02 84 58 */ lwz r0, l_doorWhite(r2) -/* 80040874 90 01 00 14 */ stw r0, 0x14(r1) -/* 80040878 38 60 00 02 */ li r3, 2 -/* 8004087C 38 81 00 14 */ addi r4, r1, 0x14 -/* 80040880 48 31 EA FD */ bl GXSetTevColor -/* 80040884 80 02 84 60 */ lwz r0, l_doorWhite2(r2) -/* 80040888 90 01 00 10 */ stw r0, 0x10(r1) -/* 8004088C 38 60 00 03 */ li r3, 3 -/* 80040890 38 81 00 10 */ addi r4, r1, 0x10 -/* 80040894 48 31 EA E9 */ bl GXSetTevColor -/* 80040898 48 00 00 2C */ b lbl_800408C4 -lbl_8004089C: -/* 8004089C 80 02 84 5C */ lwz r0, l_doorWhiteNoStay(r2) -/* 800408A0 90 01 00 0C */ stw r0, 0xc(r1) -/* 800408A4 38 60 00 02 */ li r3, 2 -/* 800408A8 38 81 00 0C */ addi r4, r1, 0xc -/* 800408AC 48 31 EA D1 */ bl GXSetTevColor -/* 800408B0 80 02 84 64 */ lwz r0, l_doorWhiteNoStay2(r2) -/* 800408B4 90 01 00 08 */ stw r0, 8(r1) -/* 800408B8 38 60 00 03 */ li r3, 3 -/* 800408BC 38 81 00 08 */ addi r4, r1, 8 -/* 800408C0 48 31 EA BD */ bl GXSetTevColor -lbl_800408C4: -/* 800408C4 C0 1D 00 0C */ lfs f0, 0xc(r29) -/* 800408C8 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 800408CC C0 1D 00 10 */ lfs f0, 0x10(r29) -/* 800408D0 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 800408D4 C0 1D 00 14 */ lfs f0, 0x14(r29) -/* 800408D8 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 800408DC 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 800408E0 41 82 00 10 */ beq lbl_800408F0 -/* 800408E4 7F C3 07 74 */ extsb r3, r30 -/* 800408E8 38 81 00 18 */ addi r4, r1, 0x18 -/* 800408EC 4B FF E4 75 */ bl correctionOriginPos__10dMapInfo_nFScP3Vec -lbl_800408F0: -/* 800408F0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 800408F4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 800408F8 C0 21 00 18 */ lfs f1, 0x18(r1) -/* 800408FC C0 41 00 20 */ lfs f2, 0x20(r1) -/* 80040900 C0 62 84 28 */ lfs f3, lit_3796(r2) -/* 80040904 48 30 5F E5 */ bl PSMTXTrans -/* 80040908 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8004090C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80040910 A8 9D 00 1A */ lha r4, 0x1a(r29) -/* 80040914 4B FC BB B9 */ bl mDoMtx_ZrotM__FPA4_fs -/* 80040918 C0 22 84 70 */ lfs f1, lit_4484(r2) -/* 8004091C FC 40 08 90 */ fmr f2, f1 -/* 80040920 C0 62 84 38 */ lfs f3, lit_4202(r2) -/* 80040924 4B FC C5 15 */ bl scaleM__14mDoMtx_stack_cFfff -/* 80040928 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8004092C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80040930 3C 80 80 38 */ lis r4, l_100x100BoxVertexList@ha /* 0x80379C58@ha */ -/* 80040934 38 84 9C 58 */ addi r4, r4, l_100x100BoxVertexList@l /* 0x80379C58@l */ -/* 80040938 38 A1 00 24 */ addi r5, r1, 0x24 -/* 8004093C 38 C0 00 04 */ li r6, 4 -/* 80040940 48 30 64 81 */ bl PSMTXMultVecArray -/* 80040944 38 60 00 80 */ li r3, 0x80 -/* 80040948 38 80 00 00 */ li r4, 0 -/* 8004094C 38 A0 00 04 */ li r5, 4 -/* 80040950 48 31 BE 15 */ bl GXBegin -/* 80040954 38 A0 00 00 */ li r5, 0 -/* 80040958 3C 60 CC 01 */ lis r3, 0xcc01 -/* 8004095C 48 00 00 34 */ b lbl_80040990 -lbl_80040960: -/* 80040960 54 A0 06 3E */ clrlwi r0, r5, 0x18 -/* 80040964 1C 00 00 0C */ mulli r0, r0, 0xc -/* 80040968 38 81 00 24 */ addi r4, r1, 0x24 -/* 8004096C 7C 84 02 14 */ add r4, r4, r0 -/* 80040970 C0 04 00 00 */ lfs f0, 0(r4) -/* 80040974 D0 03 80 00 */ stfs f0, -0x8000(r3) -/* 80040978 C0 04 00 04 */ lfs f0, 4(r4) -/* 8004097C D0 03 80 00 */ stfs f0, -0x8000(r3) -/* 80040980 C0 04 00 08 */ lfs f0, 8(r4) -/* 80040984 D0 03 80 00 */ stfs f0, -0x8000(r3) -/* 80040988 98 A3 80 00 */ stb r5, -0x8000(r3) -/* 8004098C 38 A5 00 01 */ addi r5, r5, 1 -lbl_80040990: -/* 80040990 54 A0 06 3E */ clrlwi r0, r5, 0x18 -/* 80040994 28 00 00 04 */ cmplwi r0, 4 -/* 80040998 41 80 FF C8 */ blt lbl_80040960 -/* 8004099C 39 61 00 70 */ addi r11, r1, 0x70 -/* 800409A0 48 32 18 89 */ bl _restgpr_29 -/* 800409A4 80 01 00 74 */ lwz r0, 0x74(r1) -/* 800409A8 7C 08 03 A6 */ mtlr r0 -/* 800409AC 38 21 00 70 */ addi r1, r1, 0x70 -/* 800409B0 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/draw__16renderingDAmap_cFv.s b/asm/d/map/d_map_path_dmap/draw__16renderingDAmap_cFv.s deleted file mode 100644 index 9c6aabc0827..00000000000 --- a/asm/d/map/d_map_path_dmap/draw__16renderingDAmap_cFv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8003FE18: -/* 8003FE18 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003FE1C 7C 08 02 A6 */ mflr r0 -/* 8003FE20 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003FE24 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8003FE28 7C 7F 1B 78 */ mr r31, r3 -/* 8003FE2C 4B FF CF 81 */ bl renderingMap__15dRenderingMap_cFv -/* 8003FE30 38 00 00 01 */ li r0, 1 -/* 8003FE34 98 1F 00 31 */ stb r0, 0x31(r31) -/* 8003FE38 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8003FE3C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003FE40 7C 08 03 A6 */ mtlr r0 -/* 8003FE44 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003FE48 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/entry__16renderingDAmap_cFfffiSc.s b/asm/d/map/d_map_path_dmap/entry__16renderingDAmap_cFfffiSc.s deleted file mode 100644 index 42599a787d5..00000000000 --- a/asm/d/map/d_map_path_dmap/entry__16renderingDAmap_cFfffiSc.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_8003FD08: -/* 8003FD08 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8003FD0C 7C 08 02 A6 */ mflr r0 -/* 8003FD10 90 01 00 24 */ stw r0, 0x24(r1) -/* 8003FD14 7C 66 1B 78 */ mr r6, r3 -/* 8003FD18 D0 23 00 10 */ stfs f1, 0x10(r3) -/* 8003FD1C D0 43 00 14 */ stfs f2, 0x14(r3) -/* 8003FD20 D0 63 00 18 */ stfs f3, 0x18(r3) -/* 8003FD24 C0 23 00 18 */ lfs f1, 0x18(r3) -/* 8003FD28 A0 03 00 20 */ lhz r0, 0x20(r3) -/* 8003FD2C C8 42 84 40 */ lfd f2, lit_4211(r2) -/* 8003FD30 90 01 00 0C */ stw r0, 0xc(r1) -/* 8003FD34 3C 60 43 30 */ lis r3, 0x4330 -/* 8003FD38 90 61 00 08 */ stw r3, 8(r1) -/* 8003FD3C C8 01 00 08 */ lfd f0, 8(r1) -/* 8003FD40 EC 00 10 28 */ fsubs f0, f0, f2 -/* 8003FD44 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8003FD48 D0 06 00 08 */ stfs f0, 8(r6) -/* 8003FD4C C0 26 00 18 */ lfs f1, 0x18(r6) -/* 8003FD50 A0 06 00 22 */ lhz r0, 0x22(r6) -/* 8003FD54 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003FD58 90 61 00 10 */ stw r3, 0x10(r1) -/* 8003FD5C C8 01 00 10 */ lfd f0, 0x10(r1) -/* 8003FD60 EC 00 10 28 */ fsubs f0, f0, f2 -/* 8003FD64 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8003FD68 D0 06 00 0C */ stfs f0, 0xc(r6) -/* 8003FD6C 90 86 00 2C */ stw r4, 0x2c(r6) -/* 8003FD70 98 A6 00 30 */ stb r5, 0x30(r6) -/* 8003FD74 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8003FD78 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8003FD7C 38 63 5F 64 */ addi r3, r3, 0x5f64 -/* 8003FD80 38 83 00 64 */ addi r4, r3, 0x64 -/* 8003FD84 38 A3 00 68 */ addi r5, r3, 0x68 -/* 8003FD88 48 01 6A 0D */ bl set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c -/* 8003FD8C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8003FD90 7C 08 03 A6 */ mtlr r0 -/* 8003FD94 38 21 00 20 */ addi r1, r1, 0x20 -/* 8003FD98 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getBackColor__16renderingDAmap_cCFv.s b/asm/d/map/d_map_path_dmap/getBackColor__16renderingDAmap_cCFv.s deleted file mode 100644 index 61d84e5fb6d..00000000000 --- a/asm/d/map/d_map_path_dmap/getBackColor__16renderingDAmap_cCFv.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8003FE4C: -/* 8003FE4C 38 62 84 48 */ la r3, l_mapBaseColor(r2) /* 80451E48-_SDA2_BASE_ */ -/* 8003FE50 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getConstRestartIconPointer__10dMapInfo_nFv.s b/asm/d/map/d_map_path_dmap/getConstRestartIconPointer__10dMapInfo_nFv.s deleted file mode 100644 index 426e719a175..00000000000 --- a/asm/d/map/d_map_path_dmap/getConstRestartIconPointer__10dMapInfo_nFv.s +++ /dev/null @@ -1,52 +0,0 @@ -lbl_8003EF70: -/* 8003EF70 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8003EF74 7C 08 02 A6 */ mflr r0 -/* 8003EF78 90 01 00 24 */ stw r0, 0x24(r1) -/* 8003EF7C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8003EF80 48 32 32 59 */ bl _savegpr_28 -/* 8003EF84 3C 60 80 42 */ lis r3, mTypeGroupListAll__7dTres_c@ha /* 0x80425438@ha */ -/* 8003EF88 38 63 54 38 */ addi r3, r3, mTypeGroupListAll__7dTres_c@l /* 0x80425438@l */ -/* 8003EF8C 8B C3 00 5C */ lbz r30, 0x5c(r3) -/* 8003EF90 38 60 00 07 */ li r3, 7 -/* 8003EF94 48 05 D3 CD */ bl getFirstData__7dTres_cFUc -/* 8003EF98 7C 7D 1B 78 */ mr r29, r3 -/* 8003EF9C 3B 80 00 00 */ li r28, 0 -/* 8003EFA0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8003EFA4 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8003EFA8 48 00 00 58 */ b lbl_8003F000 -lbl_8003EFAC: -/* 8003EFAC 88 1D 00 01 */ lbz r0, 1(r29) -/* 8003EFB0 7C 05 07 74 */ extsb r5, r0 -/* 8003EFB4 88 1F 0D B4 */ lbz r0, 0xdb4(r31) -/* 8003EFB8 7C 00 07 74 */ extsb r0, r0 -/* 8003EFBC 7C 05 00 00 */ cmpw r5, r0 -/* 8003EFC0 40 82 00 30 */ bne lbl_8003EFF0 -/* 8003EFC4 88 1D 00 10 */ lbz r0, 0x10(r29) -/* 8003EFC8 28 00 00 FF */ cmplwi r0, 0xff -/* 8003EFCC 41 82 00 44 */ beq lbl_8003F010 -/* 8003EFD0 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 8003EFD4 28 04 00 FF */ cmplwi r4, 0xff -/* 8003EFD8 41 82 00 18 */ beq lbl_8003EFF0 -/* 8003EFDC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8003EFE0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8003EFE4 4B FF 63 7D */ bl isSwitch__10dSv_info_cCFii -/* 8003EFE8 2C 03 00 00 */ cmpwi r3, 0 -/* 8003EFEC 40 82 00 24 */ bne lbl_8003F010 -lbl_8003EFF0: -/* 8003EFF0 7F A3 EB 78 */ mr r3, r29 -/* 8003EFF4 48 05 D3 C1 */ bl getNextData__7dTres_cFPCQ27dTres_c15typeGroupData_c -/* 8003EFF8 7C 7D 1B 78 */ mr r29, r3 -/* 8003EFFC 3B 9C 00 01 */ addi r28, r28, 1 -lbl_8003F000: -/* 8003F000 7C 1C F0 00 */ cmpw r28, r30 -/* 8003F004 40 80 00 0C */ bge lbl_8003F010 -/* 8003F008 28 1D 00 00 */ cmplwi r29, 0 -/* 8003F00C 40 82 FF A0 */ bne lbl_8003EFAC -lbl_8003F010: -/* 8003F010 7F A3 EB 78 */ mr r3, r29 -/* 8003F014 39 61 00 20 */ addi r11, r1, 0x20 -/* 8003F018 48 32 32 0D */ bl _restgpr_28 -/* 8003F01C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8003F020 7C 08 03 A6 */ mtlr r0 -/* 8003F024 38 21 00 20 */ addi r1, r1, 0x20 -/* 8003F028 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getFirstData__28renderingPlusDoorAndCursor_cFUc.s b/asm/d/map/d_map_path_dmap/getFirstData__28renderingPlusDoorAndCursor_cFUc.s deleted file mode 100644 index 19d8d41db8e..00000000000 --- a/asm/d/map/d_map_path_dmap/getFirstData__28renderingPlusDoorAndCursor_cFUc.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80040A94: -/* 80040A94 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80040A98 7C 08 02 A6 */ mflr r0 -/* 80040A9C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80040AA0 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 80040AA4 48 05 B8 BD */ bl getFirstData__7dTres_cFUc -/* 80040AA8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80040AAC 7C 08 03 A6 */ mtlr r0 -/* 80040AB0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80040AB4 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getFirstDrawRoomNo__16renderingDAmap_cFv.s b/asm/d/map/d_map_path_dmap/getFirstDrawRoomNo__16renderingDAmap_cFv.s deleted file mode 100644 index 87768452672..00000000000 --- a/asm/d/map/d_map_path_dmap/getFirstDrawRoomNo__16renderingDAmap_cFv.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_8003FFF4: -/* 8003FFF4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003FFF8 7C 08 02 A6 */ mflr r0 -/* 8003FFFC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80040000 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80040004 93 C1 00 08 */ stw r30, 8(r1) -/* 80040008 7C 7E 1B 78 */ mr r30, r3 -/* 8004000C 3B E0 00 00 */ li r31, 0 -/* 80040010 81 83 00 00 */ lwz r12, 0(r3) -/* 80040014 81 8C 00 7C */ lwz r12, 0x7c(r12) -/* 80040018 7D 89 03 A6 */ mtctr r12 -/* 8004001C 4E 80 04 21 */ bctrl -/* 80040020 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80040024 41 82 00 3C */ beq lbl_80040060 -/* 80040028 7F C3 F3 78 */ mr r3, r30 -/* 8004002C 38 80 00 00 */ li r4, 0 -/* 80040030 80 BE 00 2C */ lwz r5, 0x2c(r30) -/* 80040034 81 9E 00 00 */ lwz r12, 0(r30) -/* 80040038 81 8C 00 90 */ lwz r12, 0x90(r12) -/* 8004003C 7D 89 03 A6 */ mtctr r12 -/* 80040040 4E 80 04 21 */ bctrl -/* 80040044 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80040048 40 82 00 30 */ bne lbl_80040078 -/* 8004004C 7F C3 F3 78 */ mr r3, r30 -/* 80040050 38 80 00 00 */ li r4, 0 -/* 80040054 48 00 00 41 */ bl getNextDrawRoomNo__16renderingDAmap_cFi -/* 80040058 7C 7F 1B 78 */ mr r31, r3 -/* 8004005C 48 00 00 1C */ b lbl_80040078 -lbl_80040060: -/* 80040060 7F C3 F3 78 */ mr r3, r30 -/* 80040064 81 9E 00 00 */ lwz r12, 0(r30) -/* 80040068 81 8C 00 8C */ lwz r12, 0x8c(r12) -/* 8004006C 7D 89 03 A6 */ mtctr r12 -/* 80040070 4E 80 04 21 */ bctrl -/* 80040074 7C 7F 1B 78 */ mr r31, r3 -lbl_80040078: -/* 80040078 7F E3 FB 78 */ mr r3, r31 -/* 8004007C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80040080 83 C1 00 08 */ lwz r30, 8(r1) -/* 80040084 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80040088 7C 08 03 A6 */ mtlr r0 -/* 8004008C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80040090 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getFloorParameter__10dMapInfo_nFfPScPfPfPfPf.s b/asm/d/map/d_map_path_dmap/getFloorParameter__10dMapInfo_nFfPScPfPfPfPf.s deleted file mode 100644 index 468d48a871b..00000000000 --- a/asm/d/map/d_map_path_dmap/getFloorParameter__10dMapInfo_nFfPScPfPfPfPf.s +++ /dev/null @@ -1,118 +0,0 @@ -lbl_8003F24C: -/* 8003F24C 94 21 FF 80 */ stwu r1, -0x80(r1) -/* 8003F250 7C 08 02 A6 */ mflr r0 -/* 8003F254 90 01 00 84 */ stw r0, 0x84(r1) -/* 8003F258 DB E1 00 70 */ stfd f31, 0x70(r1) -/* 8003F25C F3 E1 00 78 */ psq_st f31, 120(r1), 0, 0 /* qr0 */ -/* 8003F260 DB C1 00 60 */ stfd f30, 0x60(r1) -/* 8003F264 F3 C1 00 68 */ psq_st f30, 104(r1), 0, 0 /* qr0 */ -/* 8003F268 DB A1 00 50 */ stfd f29, 0x50(r1) -/* 8003F26C F3 A1 00 58 */ psq_st f29, 88(r1), 0, 0 /* qr0 */ -/* 8003F270 DB 81 00 40 */ stfd f28, 0x40(r1) -/* 8003F274 F3 81 00 48 */ psq_st f28, 72(r1), 0, 0 /* qr0 */ -/* 8003F278 39 61 00 40 */ addi r11, r1, 0x40 -/* 8003F27C 48 32 2F 55 */ bl _savegpr_26 -/* 8003F280 FF 80 08 90 */ fmr f28, f1 -/* 8003F284 7C 7B 1B 78 */ mr r27, r3 -/* 8003F288 7C 9C 23 78 */ mr r28, r4 -/* 8003F28C 7C BD 2B 78 */ mr r29, r5 -/* 8003F290 7C DE 33 78 */ mr r30, r6 -/* 8003F294 7C FF 3B 78 */ mr r31, r7 -/* 8003F298 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8003F29C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8003F2A0 3B 43 4E 20 */ addi r26, r3, 0x4e20 -/* 8003F2A4 7F 43 D3 78 */ mr r3, r26 -/* 8003F2A8 81 9A 00 00 */ lwz r12, 0(r26) -/* 8003F2AC 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 8003F2B0 7D 89 03 A6 */ mtctr r12 -/* 8003F2B4 4E 80 04 21 */ bctrl -/* 8003F2B8 A8 03 00 1A */ lha r0, 0x1a(r3) -/* 8003F2BC C8 22 84 30 */ lfd f1, lit_3957(r2) -/* 8003F2C0 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8003F2C4 90 01 00 0C */ stw r0, 0xc(r1) -/* 8003F2C8 3C 00 43 30 */ lis r0, 0x4330 -/* 8003F2CC 90 01 00 08 */ stw r0, 8(r1) -/* 8003F2D0 C8 01 00 08 */ lfd f0, 8(r1) -/* 8003F2D4 EF E0 08 28 */ fsubs f31, f0, f1 -/* 8003F2D8 7F 43 D3 78 */ mr r3, r26 -/* 8003F2DC 81 9A 00 00 */ lwz r12, 0(r26) -/* 8003F2E0 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 8003F2E4 7D 89 03 A6 */ mtctr r12 -/* 8003F2E8 4E 80 04 21 */ bctrl -/* 8003F2EC A8 03 00 1C */ lha r0, 0x1c(r3) -/* 8003F2F0 C8 22 84 30 */ lfd f1, lit_3957(r2) -/* 8003F2F4 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8003F2F8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003F2FC 3C 00 43 30 */ lis r0, 0x4330 -/* 8003F300 90 01 00 10 */ stw r0, 0x10(r1) -/* 8003F304 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 8003F308 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8003F30C FC 00 02 10 */ fabs f0, f0 -/* 8003F310 FF C0 00 18 */ frsp f30, f0 -/* 8003F314 7F 43 D3 78 */ mr r3, r26 -/* 8003F318 81 9A 00 00 */ lwz r12, 0(r26) -/* 8003F31C 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 8003F320 7D 89 03 A6 */ mtctr r12 -/* 8003F324 4E 80 04 21 */ bctrl -/* 8003F328 A8 03 00 1E */ lha r0, 0x1e(r3) -/* 8003F32C C8 22 84 30 */ lfd f1, lit_3957(r2) -/* 8003F330 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8003F334 90 01 00 1C */ stw r0, 0x1c(r1) -/* 8003F338 3C 00 43 30 */ lis r0, 0x4330 -/* 8003F33C 90 01 00 18 */ stw r0, 0x18(r1) -/* 8003F340 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 8003F344 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8003F348 FC 00 02 10 */ fabs f0, f0 -/* 8003F34C FF A0 00 18 */ frsp f29, f0 -/* 8003F350 EC 3C F8 24 */ fdivs f1, f28, f31 -/* 8003F354 48 32 CD A9 */ bl floor -/* 8003F358 FC 00 08 18 */ frsp f0, f1 -/* 8003F35C FC 00 00 1E */ fctiwz f0, f0 -/* 8003F360 D8 01 00 20 */ stfd f0, 0x20(r1) -/* 8003F364 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8003F368 28 1B 00 00 */ cmplwi r27, 0 -/* 8003F36C 41 82 00 08 */ beq lbl_8003F374 -/* 8003F370 98 1B 00 00 */ stb r0, 0(r27) -lbl_8003F374: -/* 8003F374 7C 00 07 74 */ extsb r0, r0 -/* 8003F378 C8 22 84 30 */ lfd f1, lit_3957(r2) -/* 8003F37C 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8003F380 90 01 00 24 */ stw r0, 0x24(r1) -/* 8003F384 3C 00 43 30 */ lis r0, 0x4330 -/* 8003F388 90 01 00 20 */ stw r0, 0x20(r1) -/* 8003F38C C8 01 00 20 */ lfd f0, 0x20(r1) -/* 8003F390 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8003F394 EC 20 07 F2 */ fmuls f1, f0, f31 -/* 8003F398 28 1C 00 00 */ cmplwi r28, 0 -/* 8003F39C 41 82 00 08 */ beq lbl_8003F3A4 -/* 8003F3A0 D0 3C 00 00 */ stfs f1, 0(r28) -lbl_8003F3A4: -/* 8003F3A4 28 1D 00 00 */ cmplwi r29, 0 -/* 8003F3A8 41 82 00 0C */ beq lbl_8003F3B4 -/* 8003F3AC EC 01 F0 2A */ fadds f0, f1, f30 -/* 8003F3B0 D0 1D 00 00 */ stfs f0, 0(r29) -lbl_8003F3B4: -/* 8003F3B4 28 1E 00 00 */ cmplwi r30, 0 -/* 8003F3B8 41 82 00 10 */ beq lbl_8003F3C8 -/* 8003F3BC EC 01 F8 2A */ fadds f0, f1, f31 -/* 8003F3C0 EC 00 E8 28 */ fsubs f0, f0, f29 -/* 8003F3C4 D0 1E 00 00 */ stfs f0, 0(r30) -lbl_8003F3C8: -/* 8003F3C8 28 1F 00 00 */ cmplwi r31, 0 -/* 8003F3CC 41 82 00 08 */ beq lbl_8003F3D4 -/* 8003F3D0 D3 FF 00 00 */ stfs f31, 0(r31) -lbl_8003F3D4: -/* 8003F3D4 E3 E1 00 78 */ psq_l f31, 120(r1), 0, 0 /* qr0 */ -/* 8003F3D8 CB E1 00 70 */ lfd f31, 0x70(r1) -/* 8003F3DC E3 C1 00 68 */ psq_l f30, 104(r1), 0, 0 /* qr0 */ -/* 8003F3E0 CB C1 00 60 */ lfd f30, 0x60(r1) -/* 8003F3E4 E3 A1 00 58 */ psq_l f29, 88(r1), 0, 0 /* qr0 */ -/* 8003F3E8 CB A1 00 50 */ lfd f29, 0x50(r1) -/* 8003F3EC E3 81 00 48 */ psq_l f28, 72(r1), 0, 0 /* qr0 */ -/* 8003F3F0 CB 81 00 40 */ lfd f28, 0x40(r1) -/* 8003F3F4 39 61 00 40 */ addi r11, r1, 0x40 -/* 8003F3F8 48 32 2E 25 */ bl _restgpr_26 -/* 8003F3FC 80 01 00 84 */ lwz r0, 0x84(r1) -/* 8003F400 7C 08 03 A6 */ mtlr r0 -/* 8003F404 38 21 00 80 */ addi r1, r1, 0x80 -/* 8003F408 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getIconGroupNumber__16renderingDAmap_cCFUc.s b/asm/d/map/d_map_path_dmap/getIconGroupNumber__16renderingDAmap_cCFUc.s deleted file mode 100644 index 540a9d4c6d5..00000000000 --- a/asm/d/map/d_map_path_dmap/getIconGroupNumber__16renderingDAmap_cCFUc.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_80040AE4: -/* 80040AE4 3C 60 80 42 */ lis r3, mTypeGroupListAll__7dTres_c@ha /* 0x80425438@ha */ -/* 80040AE8 38 63 54 38 */ addi r3, r3, mTypeGroupListAll__7dTres_c@l /* 0x80425438@l */ -/* 80040AEC 54 80 06 3E */ clrlwi r0, r4, 0x18 -/* 80040AF0 1C 00 00 0C */ mulli r0, r0, 0xc -/* 80040AF4 7C 63 02 14 */ add r3, r3, r0 -/* 80040AF8 88 63 00 08 */ lbz r3, 8(r3) -/* 80040AFC 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getIconPosition__28renderingPlusDoorAndCursor_cCFPQ27dTres_c15typeGroupData_c.s b/asm/d/map/d_map_path_dmap/getIconPosition__28renderingPlusDoorAndCursor_cCFPQ27dTres_c15typeGroupData_c.s deleted file mode 100644 index e788feb03df..00000000000 --- a/asm/d/map/d_map_path_dmap/getIconPosition__28renderingPlusDoorAndCursor_cCFPQ27dTres_c15typeGroupData_c.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_80040ADC: -/* 80040ADC 38 64 00 04 */ addi r3, r4, 4 -/* 80040AE0 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getMapPlayerAngleY__10dMapInfo_nFv.s b/asm/d/map/d_map_path_dmap/getMapPlayerAngleY__10dMapInfo_nFv.s deleted file mode 100644 index 93c09b19657..00000000000 --- a/asm/d/map/d_map_path_dmap/getMapPlayerAngleY__10dMapInfo_nFv.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_8003EF20: -/* 8003EF20 88 0D 87 E4 */ lbz r0, mStayNo__20dStage_roomControl_c+0x0(r13) -/* 8003EF24 7C 00 07 74 */ extsb r0, r0 -/* 8003EF28 38 60 00 00 */ li r3, 0 -/* 8003EF2C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8003EF30 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8003EF34 80 84 5D AC */ lwz r4, 0x5dac(r4) -/* 8003EF38 28 04 00 00 */ cmplwi r4, 0 -/* 8003EF3C 41 82 00 08 */ beq lbl_8003EF44 -/* 8003EF40 A8 64 04 E6 */ lha r3, 0x4e6(r4) -lbl_8003EF44: -/* 8003EF44 3C 80 80 3F */ lis r4, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 8003EF48 38 84 60 94 */ addi r4, r4, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 8003EF4C 1C 00 04 04 */ mulli r0, r0, 0x404 -/* 8003EF50 7C 84 02 14 */ add r4, r4, r0 -/* 8003EF54 80 84 00 20 */ lwz r4, 0x20(r4) -/* 8003EF58 28 04 00 00 */ cmplwi r4, 0 -/* 8003EF5C 4D 82 00 20 */ beqlr -/* 8003EF60 A8 04 00 1C */ lha r0, 0x1c(r4) -/* 8003EF64 7C 03 02 14 */ add r0, r3, r0 -/* 8003EF68 7C 03 07 34 */ extsh r3, r0 -/* 8003EF6C 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getMapPlayerPos__10dMapInfo_nFv.s b/asm/d/map/d_map_path_dmap/getMapPlayerPos__10dMapInfo_nFv.s deleted file mode 100644 index c03c664b501..00000000000 --- a/asm/d/map/d_map_path_dmap/getMapPlayerPos__10dMapInfo_nFv.s +++ /dev/null @@ -1,53 +0,0 @@ -lbl_8003EE5C: -/* 8003EE5C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8003EE60 7C 08 02 A6 */ mflr r0 -/* 8003EE64 90 01 00 24 */ stw r0, 0x24(r1) -/* 8003EE68 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8003EE6C 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8003EE70 7C 7E 1B 78 */ mr r30, r3 -/* 8003EE74 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8003EE78 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8003EE7C 80 63 5D AC */ lwz r3, 0x5dac(r3) -/* 8003EE80 28 03 00 00 */ cmplwi r3, 0 -/* 8003EE84 41 82 00 20 */ beq lbl_8003EEA4 -/* 8003EE88 C0 03 04 D0 */ lfs f0, 0x4d0(r3) -/* 8003EE8C D0 01 00 08 */ stfs f0, 8(r1) -/* 8003EE90 C0 03 04 D4 */ lfs f0, 0x4d4(r3) -/* 8003EE94 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 8003EE98 C0 03 04 D8 */ lfs f0, 0x4d8(r3) -/* 8003EE9C D0 01 00 10 */ stfs f0, 0x10(r1) -/* 8003EEA0 48 00 00 14 */ b lbl_8003EEB4 -lbl_8003EEA4: -/* 8003EEA4 C0 02 84 28 */ lfs f0, lit_3796(r2) -/* 8003EEA8 D0 01 00 08 */ stfs f0, 8(r1) -/* 8003EEAC D0 01 00 0C */ stfs f0, 0xc(r1) -/* 8003EEB0 D0 01 00 10 */ stfs f0, 0x10(r1) -lbl_8003EEB4: -/* 8003EEB4 88 0D 87 E4 */ lbz r0, mStayNo__20dStage_roomControl_c+0x0(r13) -/* 8003EEB8 7C 00 07 74 */ extsb r0, r0 -/* 8003EEBC 3C 60 80 3F */ lis r3, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 8003EEC0 38 63 60 94 */ addi r3, r3, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 8003EEC4 1C 00 04 04 */ mulli r0, r0, 0x404 -/* 8003EEC8 7C 63 02 14 */ add r3, r3, r0 -/* 8003EECC 83 E3 00 20 */ lwz r31, 0x20(r3) -/* 8003EED0 28 1F 00 00 */ cmplwi r31, 0 -/* 8003EED4 41 82 00 1C */ beq lbl_8003EEF0 -/* 8003EED8 7F E3 FB 78 */ mr r3, r31 -/* 8003EEDC 38 81 00 08 */ addi r4, r1, 8 -/* 8003EEE0 4B FF FF 0D */ bl rotAngle__10dMapInfo_nFPC21dStage_FileList2_dt_cP3Vec -/* 8003EEE4 7F E3 FB 78 */ mr r3, r31 -/* 8003EEE8 38 81 00 08 */ addi r4, r1, 8 -/* 8003EEEC 4B FF FE D5 */ bl offsetPlus__10dMapInfo_nFPC21dStage_FileList2_dt_cP3Vec -lbl_8003EEF0: -/* 8003EEF0 80 61 00 08 */ lwz r3, 8(r1) -/* 8003EEF4 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8003EEF8 90 7E 00 00 */ stw r3, 0(r30) -/* 8003EEFC 90 1E 00 04 */ stw r0, 4(r30) -/* 8003EF00 80 01 00 10 */ lwz r0, 0x10(r1) -/* 8003EF04 90 1E 00 08 */ stw r0, 8(r30) -/* 8003EF08 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8003EF0C 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8003EF10 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8003EF14 7C 08 03 A6 */ mtlr r0 -/* 8003EF18 38 21 00 20 */ addi r1, r1, 0x20 -/* 8003EF1C 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getMapRestartPos__10dMapInfo_nFv.s b/asm/d/map/d_map_path_dmap/getMapRestartPos__10dMapInfo_nFv.s deleted file mode 100644 index 22ded1a6f04..00000000000 --- a/asm/d/map/d_map_path_dmap/getMapRestartPos__10dMapInfo_nFv.s +++ /dev/null @@ -1,54 +0,0 @@ -lbl_8003F02C: -/* 8003F02C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8003F030 7C 08 02 A6 */ mflr r0 -/* 8003F034 90 01 00 24 */ stw r0, 0x24(r1) -/* 8003F038 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8003F03C 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8003F040 7C 7E 1B 78 */ mr r30, r3 -/* 8003F044 4B FF FF 2D */ bl getConstRestartIconPointer__10dMapInfo_nFv -/* 8003F048 28 03 00 00 */ cmplwi r3, 0 -/* 8003F04C 41 82 00 20 */ beq lbl_8003F06C -/* 8003F050 C0 03 00 04 */ lfs f0, 4(r3) -/* 8003F054 D0 01 00 08 */ stfs f0, 8(r1) -/* 8003F058 C0 03 00 08 */ lfs f0, 8(r3) -/* 8003F05C D0 01 00 0C */ stfs f0, 0xc(r1) -/* 8003F060 C0 03 00 0C */ lfs f0, 0xc(r3) -/* 8003F064 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 8003F068 48 00 00 24 */ b lbl_8003F08C -lbl_8003F06C: -/* 8003F06C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8003F070 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8003F074 C0 03 0D BC */ lfs f0, 0xdbc(r3) -/* 8003F078 D0 01 00 08 */ stfs f0, 8(r1) -/* 8003F07C C0 03 0D C0 */ lfs f0, 0xdc0(r3) -/* 8003F080 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 8003F084 C0 03 0D C4 */ lfs f0, 0xdc4(r3) -/* 8003F088 D0 01 00 10 */ stfs f0, 0x10(r1) -lbl_8003F08C: -/* 8003F08C 3C 60 80 3F */ lis r3, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 8003F090 38 83 60 94 */ addi r4, r3, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 8003F094 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8003F098 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8003F09C 88 03 0D B4 */ lbz r0, 0xdb4(r3) -/* 8003F0A0 7C 00 07 74 */ extsb r0, r0 -/* 8003F0A4 1C 00 04 04 */ mulli r0, r0, 0x404 -/* 8003F0A8 7C 64 02 14 */ add r3, r4, r0 -/* 8003F0AC 83 E3 00 20 */ lwz r31, 0x20(r3) -/* 8003F0B0 7F E3 FB 78 */ mr r3, r31 -/* 8003F0B4 38 81 00 08 */ addi r4, r1, 8 -/* 8003F0B8 4B FF FD 35 */ bl rotAngle__10dMapInfo_nFPC21dStage_FileList2_dt_cP3Vec -/* 8003F0BC 7F E3 FB 78 */ mr r3, r31 -/* 8003F0C0 38 81 00 08 */ addi r4, r1, 8 -/* 8003F0C4 4B FF FC FD */ bl offsetPlus__10dMapInfo_nFPC21dStage_FileList2_dt_cP3Vec -/* 8003F0C8 80 61 00 08 */ lwz r3, 8(r1) -/* 8003F0CC 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8003F0D0 90 7E 00 00 */ stw r3, 0(r30) -/* 8003F0D4 90 1E 00 04 */ stw r0, 4(r30) -/* 8003F0D8 80 01 00 10 */ lwz r0, 0x10(r1) -/* 8003F0DC 90 1E 00 08 */ stw r0, 8(r30) -/* 8003F0E0 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8003F0E4 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8003F0E8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8003F0EC 7C 08 03 A6 */ mtlr r0 -/* 8003F0F0 38 21 00 20 */ addi r1, r1, 0x20 -/* 8003F0F4 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getNextData__28renderingPlusDoorAndCursor_cFPQ27dTres_c15typeGroupData_c.s b/asm/d/map/d_map_path_dmap/getNextData__28renderingPlusDoorAndCursor_cFPQ27dTres_c15typeGroupData_c.s deleted file mode 100644 index 9e63d0f973e..00000000000 --- a/asm/d/map/d_map_path_dmap/getNextData__28renderingPlusDoorAndCursor_cFPQ27dTres_c15typeGroupData_c.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80040AB8: -/* 80040AB8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80040ABC 7C 08 02 A6 */ mflr r0 -/* 80040AC0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80040AC4 7C 83 23 78 */ mr r3, r4 -/* 80040AC8 48 05 B8 D5 */ bl getNextData__7dTres_cFPQ27dTres_c15typeGroupData_c -/* 80040ACC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80040AD0 7C 08 03 A6 */ mtlr r0 -/* 80040AD4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80040AD8 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getNextDrawLayerNo__16renderingDAmap_cFi.s b/asm/d/map/d_map_path_dmap/getNextDrawLayerNo__16renderingDAmap_cFi.s deleted file mode 100644 index aa2497b144c..00000000000 --- a/asm/d/map/d_map_path_dmap/getNextDrawLayerNo__16renderingDAmap_cFi.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_800402E8: -/* 800402E8 38 64 00 01 */ addi r3, r4, 1 -/* 800402EC 2C 03 00 02 */ cmpwi r3, 2 -/* 800402F0 4D 80 00 20 */ bltlr -/* 800402F4 38 60 FF FF */ li r3, -1 -/* 800402F8 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getRoomCenter__10dMapInfo_nFiPfPf.s b/asm/d/map/d_map_path_dmap/getRoomCenter__10dMapInfo_nFiPfPf.s deleted file mode 100644 index c43d86dda17..00000000000 --- a/asm/d/map/d_map_path_dmap/getRoomCenter__10dMapInfo_nFiPfPf.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_8003F19C: -/* 8003F19C 3C C0 80 3F */ lis r6, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 8003F1A0 38 C6 60 94 */ addi r6, r6, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 8003F1A4 1C 03 04 04 */ mulli r0, r3, 0x404 -/* 8003F1A8 7C 66 02 14 */ add r3, r6, r0 -/* 8003F1AC 80 63 00 20 */ lwz r3, 0x20(r3) -/* 8003F1B0 28 04 00 00 */ cmplwi r4, 0 -/* 8003F1B4 41 82 00 1C */ beq lbl_8003F1D0 -/* 8003F1B8 C0 42 84 2C */ lfs f2, lit_3887(r2) -/* 8003F1BC C0 23 00 08 */ lfs f1, 8(r3) -/* 8003F1C0 C0 03 00 00 */ lfs f0, 0(r3) -/* 8003F1C4 EC 01 00 2A */ fadds f0, f1, f0 -/* 8003F1C8 EC 02 00 32 */ fmuls f0, f2, f0 -/* 8003F1CC D0 04 00 00 */ stfs f0, 0(r4) -lbl_8003F1D0: -/* 8003F1D0 28 05 00 00 */ cmplwi r5, 0 -/* 8003F1D4 4D 82 00 20 */ beqlr -/* 8003F1D8 C0 42 84 2C */ lfs f2, lit_3887(r2) -/* 8003F1DC C0 23 00 0C */ lfs f1, 0xc(r3) -/* 8003F1E0 C0 03 00 04 */ lfs f0, 4(r3) -/* 8003F1E4 EC 01 00 2A */ fadds f0, f1, f0 -/* 8003F1E8 EC 02 00 32 */ fmuls f0, f2, f0 -/* 8003F1EC D0 05 00 00 */ stfs f0, 0(r5) -/* 8003F1F0 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getRoomMinMaxXZ__10dMapInfo_nFiPfPfPfPf.s b/asm/d/map/d_map_path_dmap/getRoomMinMaxXZ__10dMapInfo_nFiPfPfPfPf.s deleted file mode 100644 index 091ce27e1e4..00000000000 --- a/asm/d/map/d_map_path_dmap/getRoomMinMaxXZ__10dMapInfo_nFiPfPfPfPf.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8003F1F4: -/* 8003F1F4 3D 00 80 3F */ lis r8, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 8003F1F8 39 08 60 94 */ addi r8, r8, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 8003F1FC 1C 03 04 04 */ mulli r0, r3, 0x404 -/* 8003F200 7C 68 02 14 */ add r3, r8, r0 -/* 8003F204 80 63 00 20 */ lwz r3, 0x20(r3) -/* 8003F208 28 04 00 00 */ cmplwi r4, 0 -/* 8003F20C 41 82 00 0C */ beq lbl_8003F218 -/* 8003F210 C0 03 00 00 */ lfs f0, 0(r3) -/* 8003F214 D0 04 00 00 */ stfs f0, 0(r4) -lbl_8003F218: -/* 8003F218 28 06 00 00 */ cmplwi r6, 0 -/* 8003F21C 41 82 00 0C */ beq lbl_8003F228 -/* 8003F220 C0 03 00 08 */ lfs f0, 8(r3) -/* 8003F224 D0 06 00 00 */ stfs f0, 0(r6) -lbl_8003F228: -/* 8003F228 28 05 00 00 */ cmplwi r5, 0 -/* 8003F22C 41 82 00 0C */ beq lbl_8003F238 -/* 8003F230 C0 03 00 04 */ lfs f0, 4(r3) -/* 8003F234 D0 05 00 00 */ stfs f0, 0(r5) -lbl_8003F238: -/* 8003F238 28 07 00 00 */ cmplwi r7, 0 -/* 8003F23C 4D 82 00 20 */ beqlr -/* 8003F240 C0 03 00 0C */ lfs f0, 0xc(r3) -/* 8003F244 D0 07 00 00 */ stfs f0, 0(r7) -/* 8003F248 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getRoomNoSingle__16renderingDAmap_cFv.s b/asm/d/map/d_map_path_dmap/getRoomNoSingle__16renderingDAmap_cFv.s deleted file mode 100644 index 009a6543c71..00000000000 --- a/asm/d/map/d_map_path_dmap/getRoomNoSingle__16renderingDAmap_cFv.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8003FFEC: -/* 8003FFEC 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 8003FFF0 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getTopBottomFloorNo__8dMpath_cFPScPSc.s b/asm/d/map/d_map_path_dmap/getTopBottomFloorNo__8dMpath_cFPScPSc.s deleted file mode 100644 index c6160b2b789..00000000000 --- a/asm/d/map/d_map_path_dmap/getTopBottomFloorNo__8dMpath_cFPScPSc.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_8003F760: -/* 8003F760 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003F764 7C 08 02 A6 */ mflr r0 -/* 8003F768 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003F76C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8003F770 93 C1 00 08 */ stw r30, 8(r1) -/* 8003F774 7C 7E 1B 78 */ mr r30, r3 -/* 8003F778 7C 9F 23 78 */ mr r31, r4 -/* 8003F77C 4B FF FF DD */ bl isExistMapPathData__8dMpath_cFv -/* 8003F780 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8003F784 41 82 00 28 */ beq lbl_8003F7AC -/* 8003F788 28 1E 00 00 */ cmplwi r30, 0 -/* 8003F78C 41 82 00 0C */ beq lbl_8003F798 -/* 8003F790 88 0D 80 B5 */ lbz r0, struct_80450634+0x1(r13) -/* 8003F794 98 1E 00 00 */ stb r0, 0(r30) -lbl_8003F798: -/* 8003F798 28 1F 00 00 */ cmplwi r31, 0 -/* 8003F79C 41 82 00 30 */ beq lbl_8003F7CC -/* 8003F7A0 88 0D 80 B4 */ lbz r0, struct_80450634+0x0(r13) -/* 8003F7A4 98 1F 00 00 */ stb r0, 0(r31) -/* 8003F7A8 48 00 00 24 */ b lbl_8003F7CC -lbl_8003F7AC: -/* 8003F7AC 28 1E 00 00 */ cmplwi r30, 0 -/* 8003F7B0 41 82 00 0C */ beq lbl_8003F7BC -/* 8003F7B4 38 00 00 00 */ li r0, 0 -/* 8003F7B8 98 1E 00 00 */ stb r0, 0(r30) -lbl_8003F7BC: -/* 8003F7BC 28 1F 00 00 */ cmplwi r31, 0 -/* 8003F7C0 41 82 00 0C */ beq lbl_8003F7CC -/* 8003F7C4 38 00 00 00 */ li r0, 0 -/* 8003F7C8 98 1F 00 00 */ stb r0, 0(r31) -lbl_8003F7CC: -/* 8003F7CC 38 60 00 01 */ li r3, 1 -/* 8003F7D0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8003F7D4 83 C1 00 08 */ lwz r30, 8(r1) -/* 8003F7D8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003F7DC 7C 08 03 A6 */ mtlr r0 -/* 8003F7E0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003F7E4 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/init__10dMapInfo_cFv.s b/asm/d/map/d_map_path_dmap/init__10dMapInfo_cFv.s deleted file mode 100644 index 0b3bf375cb9..00000000000 --- a/asm/d/map/d_map_path_dmap/init__10dMapInfo_cFv.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_8003F6FC: -/* 8003F6FC 38 00 00 00 */ li r0, 0 -/* 8003F700 98 0D 88 D8 */ stb r0, data_80450E58(r13) -/* 8003F704 98 0D 88 E0 */ stb r0, data_80450E60(r13) -/* 8003F708 38 00 FF FF */ li r0, -1 -/* 8003F70C 90 0D 88 DC */ stw r0, mNowStayRoomNo__10dMapInfo_c(r13) -/* 8003F710 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/init__16renderingDAmap_cFPUcUsUsUsUs.s b/asm/d/map/d_map_path_dmap/init__16renderingDAmap_cFPUcUsUsUsUs.s deleted file mode 100644 index e8cd545ebc5..00000000000 --- a/asm/d/map/d_map_path_dmap/init__16renderingDAmap_cFPUcUsUsUsUs.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8003FCC8: -/* 8003FCC8 38 00 00 00 */ li r0, 0 -/* 8003FCCC 98 03 00 31 */ stb r0, 0x31(r3) -/* 8003FCD0 90 83 00 04 */ stw r4, 4(r3) -/* 8003FCD4 B0 A3 00 1C */ sth r5, 0x1c(r3) -/* 8003FCD8 B0 C3 00 1E */ sth r6, 0x1e(r3) -/* 8003FCDC B0 E3 00 20 */ sth r7, 0x20(r3) -/* 8003FCE0 B1 03 00 22 */ sth r8, 0x22(r3) -/* 8003FCE4 C0 02 84 28 */ lfs f0, lit_3796(r2) -/* 8003FCE8 D0 03 00 10 */ stfs f0, 0x10(r3) -/* 8003FCEC D0 03 00 14 */ stfs f0, 0x14(r3) -/* 8003FCF0 C0 02 84 38 */ lfs f0, lit_4202(r2) -/* 8003FCF4 D0 03 00 08 */ stfs f0, 8(r3) -/* 8003FCF8 D0 03 00 0C */ stfs f0, 0xc(r3) -/* 8003FCFC 90 03 00 2C */ stw r0, 0x2c(r3) -/* 8003FD00 98 03 00 30 */ stb r0, 0x30(r3) -/* 8003FD04 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/isDrawIconSingle__16renderingDAmap_cCFPCQ27dTres_c6data_siibbPC3Vec.s b/asm/d/map/d_map_path_dmap/isDrawIconSingle__16renderingDAmap_cCFPCQ27dTres_c6data_siibbPC3Vec.s deleted file mode 100644 index fc932f05097..00000000000 --- a/asm/d/map/d_map_path_dmap/isDrawIconSingle__16renderingDAmap_cCFPCQ27dTres_c6data_siibbPC3Vec.s +++ /dev/null @@ -1,47 +0,0 @@ -lbl_800409E0: -/* 800409E0 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 800409E4 7C 08 02 A6 */ mflr r0 -/* 800409E8 90 01 00 34 */ stw r0, 0x34(r1) -/* 800409EC 39 61 00 30 */ addi r11, r1, 0x30 -/* 800409F0 48 32 17 D9 */ bl _savegpr_24 -/* 800409F4 7C 78 1B 78 */ mr r24, r3 -/* 800409F8 7C 99 23 78 */ mr r25, r4 -/* 800409FC 7C BA 2B 78 */ mr r26, r5 -/* 80040A00 7C DB 33 78 */ mr r27, r6 -/* 80040A04 7D 1C 43 78 */ mr r28, r8 -/* 80040A08 7D 3D 4B 78 */ mr r29, r9 -/* 80040A0C 88 84 00 01 */ lbz r4, 1(r4) -/* 80040A10 7C 84 07 74 */ extsb r4, r4 -/* 80040A14 81 83 00 00 */ lwz r12, 0(r3) -/* 80040A18 81 8C 00 94 */ lwz r12, 0x94(r12) -/* 80040A1C 7D 89 03 A6 */ mtctr r12 -/* 80040A20 4E 80 04 21 */ bctrl -/* 80040A24 7C 7F 1B 78 */ mr r31, r3 -/* 80040A28 3B C0 00 00 */ li r30, 0 -/* 80040A2C 57 80 06 3F */ clrlwi. r0, r28, 0x18 -/* 80040A30 41 82 00 28 */ beq lbl_80040A58 -/* 80040A34 7F 03 C3 78 */ mr r3, r24 -/* 80040A38 C0 3D 00 04 */ lfs f1, 4(r29) -/* 80040A3C 88 99 00 01 */ lbz r4, 1(r25) -/* 80040A40 7C 84 07 74 */ extsb r4, r4 -/* 80040A44 4B FF F2 61 */ bl calcFloorNoForObjectByMapPathRend__16renderingDAmap_cCFfi -/* 80040A48 7C 60 07 74 */ extsb r0, r3 -/* 80040A4C 7C 00 D8 00 */ cmpw r0, r27 -/* 80040A50 40 82 00 08 */ bne lbl_80040A58 -/* 80040A54 3B C0 00 01 */ li r30, 1 -lbl_80040A58: -/* 80040A58 7F 03 C3 78 */ mr r3, r24 -/* 80040A5C 7F 24 CB 78 */ mr r4, r25 -/* 80040A60 7F C5 F3 78 */ mr r5, r30 -/* 80040A64 7F E6 FB 78 */ mr r6, r31 -/* 80040A68 7F 47 D3 78 */ mr r7, r26 -/* 80040A6C 81 98 00 00 */ lwz r12, 0(r24) -/* 80040A70 81 8C 00 88 */ lwz r12, 0x88(r12) -/* 80040A74 7D 89 03 A6 */ mtctr r12 -/* 80040A78 4E 80 04 21 */ bctrl -/* 80040A7C 39 61 00 30 */ addi r11, r1, 0x30 -/* 80040A80 48 32 17 95 */ bl _restgpr_24 -/* 80040A84 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80040A88 7C 08 03 A6 */ mtlr r0 -/* 80040A8C 38 21 00 30 */ addi r1, r1, 0x30 -/* 80040A90 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/isDrawPath__16renderingDAmap_cFv.s b/asm/d/map/d_map_path_dmap/isDrawPath__16renderingDAmap_cFv.s deleted file mode 100644 index 368e623c413..00000000000 --- a/asm/d/map/d_map_path_dmap/isDrawPath__16renderingDAmap_cFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_800402C0: -/* 800402C0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800402C4 7C 08 02 A6 */ mflr r0 -/* 800402C8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800402CC 4B FF F4 8D */ bl isExistMapPathData__8dMpath_cFv -/* 800402D0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800402D4 7C 08 03 A6 */ mtlr r0 -/* 800402D8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800402DC 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/isDrawRoomIcon__16renderingDAmap_cCFii.s b/asm/d/map/d_map_path_dmap/isDrawRoomIcon__16renderingDAmap_cCFii.s deleted file mode 100644 index 8ec3ec63269..00000000000 --- a/asm/d/map/d_map_path_dmap/isDrawRoomIcon__16renderingDAmap_cCFii.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_800409B4: -/* 800409B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800409B8 7C 08 02 A6 */ mflr r0 -/* 800409BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800409C0 81 83 00 00 */ lwz r12, 0(r3) -/* 800409C4 81 8C 00 90 */ lwz r12, 0x90(r12) -/* 800409C8 7D 89 03 A6 */ mtctr r12 -/* 800409CC 4E 80 04 21 */ bctrl -/* 800409D0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800409D4 7C 08 03 A6 */ mtlr r0 -/* 800409D8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800409DC 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/isRenderingFloor__16renderingDAmap_cFi.s b/asm/d/map/d_map_path_dmap/isRenderingFloor__16renderingDAmap_cFi.s deleted file mode 100644 index 11ebe68be02..00000000000 --- a/asm/d/map/d_map_path_dmap/isRenderingFloor__16renderingDAmap_cFi.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_8003FE54: -/* 8003FE54 88 03 00 30 */ lbz r0, 0x30(r3) -/* 8003FE58 7C 00 07 74 */ extsb r0, r0 -/* 8003FE5C 7C 04 00 50 */ subf r0, r4, r0 -/* 8003FE60 7C 00 00 34 */ cntlzw r0, r0 -/* 8003FE64 54 03 D9 7E */ srwi r3, r0, 5 -/* 8003FE68 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/isSwitch__16renderingDAmap_cFPCQ211dDrawPath_c11group_class.s b/asm/d/map/d_map_path_dmap/isSwitch__16renderingDAmap_cFPCQ211dDrawPath_c11group_class.s deleted file mode 100644 index 61d070d4e8a..00000000000 --- a/asm/d/map/d_map_path_dmap/isSwitch__16renderingDAmap_cFPCQ211dDrawPath_c11group_class.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_8003FD9C: -/* 8003FD9C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003FDA0 7C 08 02 A6 */ mflr r0 -/* 8003FDA4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003FDA8 7C 66 1B 78 */ mr r6, r3 -/* 8003FDAC 88 A4 00 00 */ lbz r5, 0(r4) -/* 8003FDB0 28 05 00 FF */ cmplwi r5, 0xff -/* 8003FDB4 40 82 00 0C */ bne lbl_8003FDC0 -/* 8003FDB8 38 60 00 01 */ li r3, 1 -/* 8003FDBC 48 00 00 4C */ b lbl_8003FE08 -lbl_8003FDC0: -/* 8003FDC0 88 04 00 01 */ lbz r0, 1(r4) -/* 8003FDC4 28 00 00 00 */ cmplwi r0, 0 -/* 8003FDC8 40 82 00 24 */ bne lbl_8003FDEC -/* 8003FDCC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8003FDD0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8003FDD4 7C A4 2B 78 */ mr r4, r5 -/* 8003FDD8 80 A6 00 24 */ lwz r5, 0x24(r6) -/* 8003FDDC 4B FF 55 85 */ bl isSwitch__10dSv_info_cCFii -/* 8003FDE0 7C 60 00 34 */ cntlzw r0, r3 -/* 8003FDE4 54 03 D9 7E */ srwi r3, r0, 5 -/* 8003FDE8 48 00 00 20 */ b lbl_8003FE08 -lbl_8003FDEC: -/* 8003FDEC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8003FDF0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8003FDF4 7C A4 2B 78 */ mr r4, r5 -/* 8003FDF8 80 A6 00 24 */ lwz r5, 0x24(r6) -/* 8003FDFC 4B FF 55 65 */ bl isSwitch__10dSv_info_cCFii -/* 8003FE00 30 03 FF FF */ addic r0, r3, -1 -/* 8003FE04 7C 60 19 10 */ subfe r3, r0, r3 -lbl_8003FE08: -/* 8003FE08 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003FE0C 7C 08 03 A6 */ mtlr r0 -/* 8003FE10 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003FE14 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/move__10dMapInfo_cFif.s b/asm/d/map/d_map_path_dmap/move__10dMapInfo_cFif.s deleted file mode 100644 index 1167fbfee32..00000000000 --- a/asm/d/map/d_map_path_dmap/move__10dMapInfo_cFif.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8003F6C8: -/* 8003F6C8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003F6CC 7C 08 02 A6 */ mflr r0 -/* 8003F6D0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003F6D4 90 6D 88 DC */ stw r3, mNowStayRoomNo__10dMapInfo_c(r13) -/* 8003F6D8 38 60 00 01 */ li r3, 1 -/* 8003F6DC 4B FF FE 95 */ bl calcNowStayFloorNo__10dMapInfo_cFfb -/* 8003F6E0 98 6D 88 D8 */ stb r3, data_80450E58(r13) -/* 8003F6E4 38 00 00 01 */ li r0, 1 -/* 8003F6E8 98 0D 88 E0 */ stb r0, data_80450E60(r13) -/* 8003F6EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003F6F0 7C 08 03 A6 */ mtlr r0 -/* 8003F6F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003F6F8 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/postDrawPath__16renderingDAmap_cFv.s b/asm/d/map/d_map_path_dmap/postDrawPath__16renderingDAmap_cFv.s deleted file mode 100644 index 1f91db08d03..00000000000 --- a/asm/d/map/d_map_path_dmap/postDrawPath__16renderingDAmap_cFv.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8003FFC4: -/* 8003FFC4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003FFC8 7C 08 02 A6 */ mflr r0 -/* 8003FFCC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003FFD0 38 60 00 01 */ li r3, 1 -/* 8003FFD4 38 80 00 00 */ li r4, 0 -/* 8003FFD8 48 31 BE 61 */ bl GXSetMisc -/* 8003FFDC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003FFE0 7C 08 03 A6 */ mtlr r0 -/* 8003FFE4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003FFE8 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/preDrawPath__16renderingDAmap_cFv.s b/asm/d/map/d_map_path_dmap/preDrawPath__16renderingDAmap_cFv.s deleted file mode 100644 index d4436bf989e..00000000000 --- a/asm/d/map/d_map_path_dmap/preDrawPath__16renderingDAmap_cFv.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_8003FF14: -/* 8003FF14 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 8003FF18 7C 08 02 A6 */ mflr r0 -/* 8003FF1C 90 01 00 64 */ stw r0, 0x64(r1) -/* 8003FF20 C0 43 00 10 */ lfs f2, 0x10(r3) -/* 8003FF24 D0 41 00 20 */ stfs f2, 0x20(r1) -/* 8003FF28 C0 23 00 14 */ lfs f1, 0x14(r3) -/* 8003FF2C D0 21 00 24 */ stfs f1, 0x24(r1) -/* 8003FF30 C0 02 84 4C */ lfs f0, lit_4264(r2) -/* 8003FF34 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 8003FF38 D0 41 00 14 */ stfs f2, 0x14(r1) -/* 8003FF3C D0 21 00 18 */ stfs f1, 0x18(r1) -/* 8003FF40 C0 02 84 50 */ lfs f0, lit_4265(r2) -/* 8003FF44 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 8003FF48 C0 22 84 28 */ lfs f1, lit_3796(r2) -/* 8003FF4C D0 21 00 08 */ stfs f1, 8(r1) -/* 8003FF50 C0 02 84 54 */ lfs f0, lit_4266(r2) -/* 8003FF54 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 8003FF58 D0 21 00 10 */ stfs f1, 0x10(r1) -/* 8003FF5C 38 61 00 2C */ addi r3, r1, 0x2c -/* 8003FF60 38 81 00 20 */ addi r4, r1, 0x20 -/* 8003FF64 38 A1 00 14 */ addi r5, r1, 0x14 -/* 8003FF68 38 C1 00 08 */ addi r6, r1, 8 -/* 8003FF6C 38 E0 00 00 */ li r7, 0 -/* 8003FF70 4B FC C7 A1 */ bl mDoMtx_lookAt__FPA4_fPC3VecPC3VecPC3Vecs -/* 8003FF74 38 61 00 2C */ addi r3, r1, 0x2c -/* 8003FF78 38 80 00 00 */ li r4, 0 -/* 8003FF7C 48 32 02 D1 */ bl GXLoadPosMtxImm -/* 8003FF80 48 31 B6 0D */ bl GXClearVtxDesc -/* 8003FF84 38 60 00 09 */ li r3, 9 -/* 8003FF88 38 80 00 03 */ li r4, 3 -/* 8003FF8C 48 31 AF 2D */ bl GXSetVtxDesc -/* 8003FF90 38 60 00 00 */ li r3, 0 -/* 8003FF94 38 80 00 09 */ li r4, 9 -/* 8003FF98 38 A0 00 00 */ li r5, 0 -/* 8003FF9C 38 C0 00 04 */ li r6, 4 -/* 8003FFA0 38 E0 00 00 */ li r7, 0 -/* 8003FFA4 48 31 B6 21 */ bl GXSetVtxAttrFmt -/* 8003FFA8 38 60 00 01 */ li r3, 1 -/* 8003FFAC 38 80 00 08 */ li r4, 8 -/* 8003FFB0 48 31 BE 89 */ bl GXSetMisc -/* 8003FFB4 80 01 00 64 */ lwz r0, 0x64(r1) -/* 8003FFB8 7C 08 03 A6 */ mtlr r0 -/* 8003FFBC 38 21 00 60 */ addi r1, r1, 0x60 -/* 8003FFC0 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/remove__8dMpath_cFv.s b/asm/d/map/d_map_path_dmap/remove__8dMpath_cFv.s deleted file mode 100644 index 98146ce379c..00000000000 --- a/asm/d/map/d_map_path_dmap/remove__8dMpath_cFv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8003FC70: -/* 8003FC70 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003FC74 7C 08 02 A6 */ mflr r0 -/* 8003FC78 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003FC7C 38 00 00 01 */ li r0, 1 -/* 8003FC80 98 0D 80 B6 */ stb r0, data_80450636(r13) -/* 8003FC84 3C 60 80 42 */ lis r3, m_texObjAgg__8dMpath_n@ha /* 0x80424684@ha */ -/* 8003FC88 38 63 46 84 */ addi r3, r3, m_texObjAgg__8dMpath_n@l /* 0x80424684@l */ -/* 8003FC8C 4B FF CC 69 */ bl remove__Q28dMpath_n18dTexObjAggregate_cFv -/* 8003FC90 4B FF FA C5 */ bl remove__10dMapInfo_cFv -/* 8003FC94 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003FC98 7C 08 03 A6 */ mtlr r0 -/* 8003FC9C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003FCA0 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/reset__10dMapInfo_cFv.s b/asm/d/map/d_map_path_dmap/reset__10dMapInfo_cFv.s deleted file mode 100644 index edb37bf7dac..00000000000 --- a/asm/d/map/d_map_path_dmap/reset__10dMapInfo_cFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8003F714: -/* 8003F714 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003F718 7C 08 02 A6 */ mflr r0 -/* 8003F71C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003F720 4B FF FF DD */ bl init__10dMapInfo_cFv -/* 8003F724 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003F728 7C 08 03 A6 */ mtlr r0 -/* 8003F72C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003F730 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/reset__8dMpath_cFv.s b/asm/d/map/d_map_path_dmap/reset__8dMpath_cFv.s index c78ea2e9d2b..81aced90965 100644 --- a/asm/d/map/d_map_path_dmap/reset__8dMpath_cFv.s +++ b/asm/d/map/d_map_path_dmap/reset__8dMpath_cFv.s @@ -30,9 +30,9 @@ lbl_8003FC00: /* 8003FC38 D0 2D 88 F0 */ stfs f1, mMinZ__8dMpath_c(r13) /* 8003FC3C D0 0D 88 F4 */ stfs f0, mMaxZ__8dMpath_c(r13) /* 8003FC40 38 00 00 7F */ li r0, 0x7f -/* 8003FC44 98 0D 80 B4 */ stb r0, struct_80450634+0x0(r13) +/* 8003FC44 98 0D 80 B4 */ stb r0, mBottomFloorNo__8dMpath_c+0x0(r13) /* 8003FC48 38 00 FF 80 */ li r0, -128 -/* 8003FC4C 98 0D 80 B5 */ stb r0, struct_80450634+0x1(r13) +/* 8003FC4C 98 0D 80 B5 */ stb r0, mBottomFloorNo__8dMpath_c+0x1(r13) /* 8003FC50 38 00 00 00 */ li r0, 0 /* 8003FC54 98 0D 80 B6 */ stb r0, data_80450636(r13) /* 8003FC58 98 0D 89 08 */ stb r0, data_80450E88(r13) diff --git a/asm/d/map/d_map_path_dmap/setPointer__8dMpath_cFScPvi.s b/asm/d/map/d_map_path_dmap/setPointer__8dMpath_cFScPvi.s deleted file mode 100644 index f06f59567c1..00000000000 --- a/asm/d/map/d_map_path_dmap/setPointer__8dMpath_cFScPvi.s +++ /dev/null @@ -1,82 +0,0 @@ -lbl_8003FA40: -/* 8003FA40 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8003FA44 7C 08 02 A6 */ mflr r0 -/* 8003FA48 90 01 00 34 */ stw r0, 0x34(r1) -/* 8003FA4C 39 61 00 30 */ addi r11, r1, 0x30 -/* 8003FA50 48 32 27 89 */ bl _savegpr_28 -/* 8003FA54 7C 7C 1B 78 */ mr r28, r3 -/* 8003FA58 7C BD 2B 78 */ mr r29, r5 -/* 8003FA5C 83 C4 00 04 */ lwz r30, 4(r4) -/* 8003FA60 28 1E 00 00 */ cmplwi r30, 0 -/* 8003FA64 41 82 00 F4 */ beq lbl_8003FB58 -/* 8003FA68 7F 9F 07 74 */ extsb r31, r28 -/* 8003FA6C 48 00 01 65 */ bl reset__8dMpath_cFv -/* 8003FA70 38 00 00 01 */ li r0, 1 -/* 8003FA74 98 0D 89 08 */ stb r0, data_80450E88(r13) -/* 8003FA78 7F C3 F3 78 */ mr r3, r30 -/* 8003FA7C 38 8D 80 B4 */ la r4, struct_80450634+0x0(r13) /* 80450634-_SDA_BASE_ */ -/* 8003FA80 38 AD 80 B5 */ la r5, struct_80450634+0x1(r13) /* 80450635-_SDA_BASE_ */ -/* 8003FA84 4B FF FD 8D */ bl setPointer__8dMpath_cFPQ211dDrawPath_c10room_classPScPSc -/* 8003FA88 C0 02 84 28 */ lfs f0, lit_3796(r2) -/* 8003FA8C D0 01 00 14 */ stfs f0, 0x14(r1) -/* 8003FA90 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 8003FA94 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 8003FA98 D0 01 00 08 */ stfs f0, 8(r1) -/* 8003FA9C 7F E3 FB 78 */ mr r3, r31 -/* 8003FAA0 38 81 00 14 */ addi r4, r1, 0x14 -/* 8003FAA4 38 A1 00 0C */ addi r5, r1, 0xc -/* 8003FAA8 38 C1 00 10 */ addi r6, r1, 0x10 -/* 8003FAAC 38 E1 00 08 */ addi r7, r1, 8 -/* 8003FAB0 4B FF F7 45 */ bl getRoomMinMaxXZ__10dMapInfo_nFiPfPfPfPf -/* 8003FAB4 C0 21 00 14 */ lfs f1, 0x14(r1) -/* 8003FAB8 C0 0D 88 E8 */ lfs f0, mMinX__8dMpath_c(r13) -/* 8003FABC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8003FAC0 40 80 00 08 */ bge lbl_8003FAC8 -/* 8003FAC4 D0 2D 88 E8 */ stfs f1, mMinX__8dMpath_c(r13) -lbl_8003FAC8: -/* 8003FAC8 C0 21 00 10 */ lfs f1, 0x10(r1) -/* 8003FACC C0 0D 88 EC */ lfs f0, mMaxX__8dMpath_c(r13) -/* 8003FAD0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8003FAD4 40 81 00 08 */ ble lbl_8003FADC -/* 8003FAD8 D0 2D 88 EC */ stfs f1, mMaxX__8dMpath_c(r13) -lbl_8003FADC: -/* 8003FADC C0 21 00 0C */ lfs f1, 0xc(r1) -/* 8003FAE0 C0 0D 88 F0 */ lfs f0, mMinZ__8dMpath_c(r13) -/* 8003FAE4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8003FAE8 40 80 00 08 */ bge lbl_8003FAF0 -/* 8003FAEC D0 2D 88 F0 */ stfs f1, mMinZ__8dMpath_c(r13) -lbl_8003FAF0: -/* 8003FAF0 C0 21 00 08 */ lfs f1, 8(r1) -/* 8003FAF4 C0 0D 88 F4 */ lfs f0, mMaxZ__8dMpath_c(r13) -/* 8003FAF8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8003FAFC 40 81 00 08 */ ble lbl_8003FB04 -/* 8003FB00 D0 2D 88 F4 */ stfs f1, mMaxZ__8dMpath_c(r13) -lbl_8003FB04: -/* 8003FB04 C0 22 84 2C */ lfs f1, lit_3887(r2) -/* 8003FB08 C0 6D 88 EC */ lfs f3, mMaxX__8dMpath_c(r13) -/* 8003FB0C C0 4D 88 E8 */ lfs f2, mMinX__8dMpath_c(r13) -/* 8003FB10 EC 03 10 2A */ fadds f0, f3, f2 -/* 8003FB14 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8003FB18 D0 0D 88 F8 */ stfs f0, mAllCenterX__8dMpath_c(r13) -/* 8003FB1C C0 AD 88 F4 */ lfs f5, mMaxZ__8dMpath_c(r13) -/* 8003FB20 C0 8D 88 F0 */ lfs f4, mMinZ__8dMpath_c(r13) -/* 8003FB24 EC 05 20 2A */ fadds f0, f5, f4 -/* 8003FB28 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8003FB2C D0 0D 88 FC */ stfs f0, mAllCenterZ__8dMpath_c(r13) -/* 8003FB30 EC 03 10 28 */ fsubs f0, f3, f2 -/* 8003FB34 D0 0D 89 00 */ stfs f0, mAllSizeX__8dMpath_c(r13) -/* 8003FB38 EC 05 20 28 */ fsubs f0, f5, f4 -/* 8003FB3C D0 0D 89 04 */ stfs f0, mAllSizeZ__8dMpath_c(r13) -/* 8003FB40 80 8D 88 E4 */ lwz r4, mLayerList__8dMpath_c(r13) -/* 8003FB44 57 A3 40 2E */ slwi r3, r29, 8 -/* 8003FB48 7F 80 07 74 */ extsb r0, r28 -/* 8003FB4C 54 00 10 3A */ slwi r0, r0, 2 -/* 8003FB50 7C 03 02 14 */ add r0, r3, r0 -/* 8003FB54 7F C4 01 2E */ stwx r30, r4, r0 -lbl_8003FB58: -/* 8003FB58 39 61 00 30 */ addi r11, r1, 0x30 -/* 8003FB5C 48 32 26 C9 */ bl _restgpr_28 -/* 8003FB60 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8003FB64 7C 08 03 A6 */ mtlr r0 -/* 8003FB68 38 21 00 30 */ addi r1, r1, 0x30 -/* 8003FB6C 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_fmap/addTypeGroupData__26fmpTresTypeGroupDataList_cFUcPCQ27dTres_c6data_s.s b/asm/d/map/d_map_path_fmap/addTypeGroupData__26fmpTresTypeGroupDataList_cFUcPCQ27dTres_c6data_s.s deleted file mode 100644 index 436b62a51a3..00000000000 --- a/asm/d/map/d_map_path_fmap/addTypeGroupData__26fmpTresTypeGroupDataList_cFUcPCQ27dTres_c6data_s.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_8003D790: -/* 8003D790 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8003D794 7C 08 02 A6 */ mflr r0 -/* 8003D798 90 01 00 24 */ stw r0, 0x24(r1) -/* 8003D79C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8003D7A0 48 32 4A 39 */ bl _savegpr_28 -/* 8003D7A4 7C 7C 1B 78 */ mr r28, r3 -/* 8003D7A8 7C 9D 23 78 */ mr r29, r4 -/* 8003D7AC 7C BE 2B 78 */ mr r30, r5 -/* 8003D7B0 83 E3 00 04 */ lwz r31, 4(r3) -/* 8003D7B4 38 60 00 0C */ li r3, 0xc -/* 8003D7B8 48 29 14 95 */ bl __nw__FUl -/* 8003D7BC 28 03 00 00 */ cmplwi r3, 0 -/* 8003D7C0 41 82 00 10 */ beq lbl_8003D7D0 -/* 8003D7C4 38 00 00 00 */ li r0, 0 -/* 8003D7C8 90 03 00 00 */ stw r0, 0(r3) -/* 8003D7CC 90 03 00 04 */ stw r0, 4(r3) -lbl_8003D7D0: -/* 8003D7D0 80 1C 00 00 */ lwz r0, 0(r28) -/* 8003D7D4 28 00 00 00 */ cmplwi r0, 0 -/* 8003D7D8 40 82 00 08 */ bne lbl_8003D7E0 -/* 8003D7DC 90 7C 00 00 */ stw r3, 0(r28) -lbl_8003D7E0: -/* 8003D7E0 93 C3 00 00 */ stw r30, 0(r3) -/* 8003D7E4 38 00 00 00 */ li r0, 0 -/* 8003D7E8 90 03 00 04 */ stw r0, 4(r3) -/* 8003D7EC 9B A3 00 08 */ stb r29, 8(r3) -/* 8003D7F0 28 1F 00 00 */ cmplwi r31, 0 -/* 8003D7F4 41 82 00 08 */ beq lbl_8003D7FC -/* 8003D7F8 90 7F 00 04 */ stw r3, 4(r31) -lbl_8003D7FC: -/* 8003D7FC 90 7C 00 04 */ stw r3, 4(r28) -/* 8003D800 39 61 00 20 */ addi r11, r1, 0x20 -/* 8003D804 48 32 4A 21 */ bl _restgpr_28 -/* 8003D808 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8003D80C 7C 08 03 A6 */ mtlr r0 -/* 8003D810 38 21 00 20 */ addi r1, r1, 0x20 -/* 8003D814 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_fmap/buildFmapRoomData__22dMenu_Fmap_room_data_cFiiffff.s b/asm/d/map/d_map_path_fmap/buildFmapRoomData__22dMenu_Fmap_room_data_cFiiffff.s deleted file mode 100644 index 891d487da09..00000000000 --- a/asm/d/map/d_map_path_fmap/buildFmapRoomData__22dMenu_Fmap_room_data_cFiiffff.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8003D92C: -/* 8003D92C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003D930 7C 08 02 A6 */ mflr r0 -/* 8003D934 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003D938 88 C3 00 10 */ lbz r6, 0x10(r3) -/* 8003D93C 80 03 00 00 */ lwz r0, 0(r3) -/* 8003D940 28 00 00 00 */ cmplwi r0, 0 -/* 8003D944 41 82 00 08 */ beq lbl_8003D94C -/* 8003D948 4B FF FF 21 */ bl buildTresTypeGroup__22dMenu_Fmap_room_data_cFiii -lbl_8003D94C: -/* 8003D94C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003D950 7C 08 03 A6 */ mtlr r0 -/* 8003D954 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003D958 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_fmap/buildFmapStageData__23dMenu_Fmap_stage_data_cFiff.s b/asm/d/map/d_map_path_fmap/buildFmapStageData__23dMenu_Fmap_stage_data_cFiff.s deleted file mode 100644 index 22401dcc2c9..00000000000 --- a/asm/d/map/d_map_path_fmap/buildFmapStageData__23dMenu_Fmap_stage_data_cFiff.s +++ /dev/null @@ -1,101 +0,0 @@ -lbl_8003D9D8: -/* 8003D9D8 94 21 FF 80 */ stwu r1, -0x80(r1) -/* 8003D9DC 7C 08 02 A6 */ mflr r0 -/* 8003D9E0 90 01 00 84 */ stw r0, 0x84(r1) -/* 8003D9E4 DB E1 00 70 */ stfd f31, 0x70(r1) -/* 8003D9E8 F3 E1 00 78 */ psq_st f31, 120(r1), 0, 0 /* qr0 */ -/* 8003D9EC DB C1 00 60 */ stfd f30, 0x60(r1) -/* 8003D9F0 F3 C1 00 68 */ psq_st f30, 104(r1), 0, 0 /* qr0 */ -/* 8003D9F4 DB A1 00 50 */ stfd f29, 0x50(r1) -/* 8003D9F8 F3 A1 00 58 */ psq_st f29, 88(r1), 0, 0 /* qr0 */ -/* 8003D9FC DB 81 00 40 */ stfd f28, 0x40(r1) -/* 8003DA00 F3 81 00 48 */ psq_st f28, 72(r1), 0, 0 /* qr0 */ -/* 8003DA04 DB 61 00 30 */ stfd f27, 0x30(r1) -/* 8003DA08 F3 61 00 38 */ psq_st f27, 56(r1), 0, 0 /* qr0 */ -/* 8003DA0C DB 41 00 20 */ stfd f26, 0x20(r1) -/* 8003DA10 F3 41 00 28 */ psq_st f26, 40(r1), 0, 0 /* qr0 */ -/* 8003DA14 39 61 00 20 */ addi r11, r1, 0x20 -/* 8003DA18 48 32 47 C1 */ bl _savegpr_28 -/* 8003DA1C 7C 7C 1B 78 */ mr r28, r3 -/* 8003DA20 7C 9D 23 78 */ mr r29, r4 -/* 8003DA24 FF 40 08 90 */ fmr f26, f1 -/* 8003DA28 FF 60 10 90 */ fmr f27, f2 -/* 8003DA2C 83 E3 00 0C */ lwz r31, 0xc(r3) -/* 8003DA30 3C 60 80 45 */ lis r3, __float_max@ha /* 0x80450AE8@ha */ -/* 8003DA34 C0 03 0A E8 */ lfs f0, __float_max@l(r3) /* 0x80450AE8@l */ -/* 8003DA38 FF E0 00 90 */ fmr f31, f0 -/* 8003DA3C FF C0 00 90 */ fmr f30, f0 -/* 8003DA40 FC 00 00 50 */ fneg f0, f0 -/* 8003DA44 FF A0 00 90 */ fmr f29, f0 -/* 8003DA48 FF 80 00 90 */ fmr f28, f0 -/* 8003DA4C 3B C0 00 00 */ li r30, 0 -/* 8003DA50 48 00 00 74 */ b lbl_8003DAC4 -lbl_8003DA54: -/* 8003DA54 7F E3 FB 78 */ mr r3, r31 -/* 8003DA58 7F A4 EB 78 */ mr r4, r29 -/* 8003DA5C 7F C5 F3 78 */ mr r5, r30 -/* 8003DA60 FC 20 D0 90 */ fmr f1, f26 -/* 8003DA64 FC 40 D8 90 */ fmr f2, f27 -/* 8003DA68 C0 7C 00 14 */ lfs f3, 0x14(r28) -/* 8003DA6C C0 9C 00 18 */ lfs f4, 0x18(r28) -/* 8003DA70 4B FF FE BD */ bl buildFmapRoomData__22dMenu_Fmap_room_data_cFiiffff -/* 8003DA74 80 7F 00 00 */ lwz r3, 0(r31) -/* 8003DA78 80 63 00 04 */ lwz r3, 4(r3) -/* 8003DA7C C0 03 00 00 */ lfs f0, 0(r3) -/* 8003DA80 C0 23 00 04 */ lfs f1, 4(r3) -/* 8003DA84 C0 43 00 08 */ lfs f2, 8(r3) -/* 8003DA88 C0 63 00 0C */ lfs f3, 0xc(r3) -/* 8003DA8C FC 00 F8 40 */ fcmpo cr0, f0, f31 -/* 8003DA90 40 80 00 08 */ bge lbl_8003DA98 -/* 8003DA94 FF E0 00 90 */ fmr f31, f0 -lbl_8003DA98: -/* 8003DA98 FC 01 F0 40 */ fcmpo cr0, f1, f30 -/* 8003DA9C 40 80 00 08 */ bge lbl_8003DAA4 -/* 8003DAA0 FF C0 08 90 */ fmr f30, f1 -lbl_8003DAA4: -/* 8003DAA4 FC 02 E8 40 */ fcmpo cr0, f2, f29 -/* 8003DAA8 40 81 00 08 */ ble lbl_8003DAB0 -/* 8003DAAC FF A0 10 90 */ fmr f29, f2 -lbl_8003DAB0: -/* 8003DAB0 FC 03 E0 40 */ fcmpo cr0, f3, f28 -/* 8003DAB4 40 81 00 08 */ ble lbl_8003DABC -/* 8003DAB8 FF 80 18 90 */ fmr f28, f3 -lbl_8003DABC: -/* 8003DABC 83 FF 00 08 */ lwz r31, 8(r31) -/* 8003DAC0 3B DE 00 01 */ addi r30, r30, 1 -lbl_8003DAC4: -/* 8003DAC4 28 1F 00 00 */ cmplwi r31, 0 -/* 8003DAC8 40 82 FF 8C */ bne lbl_8003DA54 -/* 8003DACC 2C 1E 00 00 */ cmpwi r30, 0 -/* 8003DAD0 40 81 00 18 */ ble lbl_8003DAE8 -/* 8003DAD4 D3 FC 00 1C */ stfs f31, 0x1c(r28) -/* 8003DAD8 D3 DC 00 20 */ stfs f30, 0x20(r28) -/* 8003DADC D3 BC 00 24 */ stfs f29, 0x24(r28) -/* 8003DAE0 D3 9C 00 28 */ stfs f28, 0x28(r28) -/* 8003DAE4 48 00 00 18 */ b lbl_8003DAFC -lbl_8003DAE8: -/* 8003DAE8 C0 02 84 20 */ lfs f0, lit_3894(r2) -/* 8003DAEC D0 1C 00 1C */ stfs f0, 0x1c(r28) -/* 8003DAF0 D0 1C 00 20 */ stfs f0, 0x20(r28) -/* 8003DAF4 D0 1C 00 24 */ stfs f0, 0x24(r28) -/* 8003DAF8 D0 1C 00 28 */ stfs f0, 0x28(r28) -lbl_8003DAFC: -/* 8003DAFC 7F C3 F3 78 */ mr r3, r30 -/* 8003DB00 E3 E1 00 78 */ psq_l f31, 120(r1), 0, 0 /* qr0 */ -/* 8003DB04 CB E1 00 70 */ lfd f31, 0x70(r1) -/* 8003DB08 E3 C1 00 68 */ psq_l f30, 104(r1), 0, 0 /* qr0 */ -/* 8003DB0C CB C1 00 60 */ lfd f30, 0x60(r1) -/* 8003DB10 E3 A1 00 58 */ psq_l f29, 88(r1), 0, 0 /* qr0 */ -/* 8003DB14 CB A1 00 50 */ lfd f29, 0x50(r1) -/* 8003DB18 E3 81 00 48 */ psq_l f28, 72(r1), 0, 0 /* qr0 */ -/* 8003DB1C CB 81 00 40 */ lfd f28, 0x40(r1) -/* 8003DB20 E3 61 00 38 */ psq_l f27, 56(r1), 0, 0 /* qr0 */ -/* 8003DB24 CB 61 00 30 */ lfd f27, 0x30(r1) -/* 8003DB28 E3 41 00 28 */ psq_l f26, 40(r1), 0, 0 /* qr0 */ -/* 8003DB2C CB 41 00 20 */ lfd f26, 0x20(r1) -/* 8003DB30 39 61 00 20 */ addi r11, r1, 0x20 -/* 8003DB34 48 32 46 F1 */ bl _restgpr_28 -/* 8003DB38 80 01 00 84 */ lwz r0, 0x84(r1) -/* 8003DB3C 7C 08 03 A6 */ mtlr r0 -/* 8003DB40 38 21 00 80 */ addi r1, r1, 0x80 -/* 8003DB44 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_fmap/buildTresTypeGroup__22dMenu_Fmap_room_data_cFiii.s b/asm/d/map/d_map_path_fmap/buildTresTypeGroup__22dMenu_Fmap_room_data_cFiii.s deleted file mode 100644 index 98bd757d019..00000000000 --- a/asm/d/map/d_map_path_fmap/buildTresTypeGroup__22dMenu_Fmap_room_data_cFiii.s +++ /dev/null @@ -1,55 +0,0 @@ -lbl_8003D868: -/* 8003D868 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8003D86C 7C 08 02 A6 */ mflr r0 -/* 8003D870 90 01 00 24 */ stw r0, 0x24(r1) -/* 8003D874 39 61 00 20 */ addi r11, r1, 0x20 -/* 8003D878 48 32 49 5D */ bl _savegpr_27 -/* 8003D87C 7C 7B 1B 78 */ mr r27, r3 -/* 8003D880 7C DC 33 78 */ mr r28, r6 -/* 8003D884 80 63 00 00 */ lwz r3, 0(r3) -/* 8003D888 80 63 00 00 */ lwz r3, 0(r3) -/* 8003D88C 28 03 00 00 */ cmplwi r3, 0 -/* 8003D890 41 82 00 84 */ beq lbl_8003D914 -/* 8003D894 83 C3 00 00 */ lwz r30, 0(r3) -/* 8003D898 83 A3 00 04 */ lwz r29, 4(r3) -/* 8003D89C 80 1B 00 04 */ lwz r0, 4(r27) -/* 8003D8A0 28 00 00 00 */ cmplwi r0, 0 -/* 8003D8A4 40 82 00 34 */ bne lbl_8003D8D8 -/* 8003D8A8 38 60 00 88 */ li r3, 0x88 -/* 8003D8AC 48 29 13 A1 */ bl __nw__FUl -/* 8003D8B0 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8003D8B4 41 82 00 20 */ beq lbl_8003D8D4 -/* 8003D8B8 3C 80 80 04 */ lis r4, __ct__26fmpTresTypeGroupDataList_cFv@ha /* 0x8003EC90@ha */ -/* 8003D8BC 38 84 EC 90 */ addi r4, r4, __ct__26fmpTresTypeGroupDataList_cFv@l /* 0x8003EC90@l */ -/* 8003D8C0 3C A0 80 04 */ lis r5, __dt__26fmpTresTypeGroupDataList_cFv@ha /* 0x8003EB10@ha */ -/* 8003D8C4 38 A5 EB 10 */ addi r5, r5, __dt__26fmpTresTypeGroupDataList_cFv@l /* 0x8003EB10@l */ -/* 8003D8C8 38 C0 00 08 */ li r6, 8 -/* 8003D8CC 38 E0 00 11 */ li r7, 0x11 -/* 8003D8D0 48 32 44 91 */ bl __construct_array -lbl_8003D8D4: -/* 8003D8D4 93 FB 00 04 */ stw r31, 4(r27) -lbl_8003D8D8: -/* 8003D8D8 3B E0 00 00 */ li r31, 0 -/* 8003D8DC 48 00 00 30 */ b lbl_8003D90C -lbl_8003D8E0: -/* 8003D8E0 9B 9D 00 01 */ stb r28, 1(r29) -/* 8003D8E4 88 7D 00 11 */ lbz r3, 0x11(r29) -/* 8003D8E8 48 05 EB C9 */ bl getTypeToTypeGroupNo__7dTres_cFUc -/* 8003D8EC 7C 64 1B 78 */ mr r4, r3 -/* 8003D8F0 80 7B 00 04 */ lwz r3, 4(r27) -/* 8003D8F4 54 80 1D 78 */ rlwinm r0, r4, 3, 0x15, 0x1c -/* 8003D8F8 7C 63 02 14 */ add r3, r3, r0 -/* 8003D8FC 7F A5 EB 78 */ mr r5, r29 -/* 8003D900 4B FF FE 91 */ bl addTypeGroupData__26fmpTresTypeGroupDataList_cFUcPCQ27dTres_c6data_s -/* 8003D904 3B BD 00 14 */ addi r29, r29, 0x14 -/* 8003D908 3B FF 00 01 */ addi r31, r31, 1 -lbl_8003D90C: -/* 8003D90C 7C 1F F0 00 */ cmpw r31, r30 -/* 8003D910 41 80 FF D0 */ blt lbl_8003D8E0 -lbl_8003D914: -/* 8003D914 39 61 00 20 */ addi r11, r1, 0x20 -/* 8003D918 48 32 49 09 */ bl _restgpr_27 -/* 8003D91C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8003D920 7C 08 03 A6 */ mtlr r0 -/* 8003D924 38 21 00 20 */ addi r1, r1, 0x20 -/* 8003D928 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_fmap/getMenuFmapStageData__24dMenu_Fmap_region_data_cFi.s b/asm/d/map/d_map_path_fmap/getMenuFmapStageData__24dMenu_Fmap_region_data_cFi.s deleted file mode 100644 index 5410f11f6bf..00000000000 --- a/asm/d/map/d_map_path_fmap/getMenuFmapStageData__24dMenu_Fmap_region_data_cFi.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8003DB48: -/* 8003DB48 80 63 00 00 */ lwz r3, 0(r3) -/* 8003DB4C 38 A0 00 00 */ li r5, 0 -/* 8003DB50 48 00 00 0C */ b lbl_8003DB5C -lbl_8003DB54: -/* 8003DB54 80 63 00 10 */ lwz r3, 0x10(r3) -/* 8003DB58 38 A5 00 01 */ addi r5, r5, 1 -lbl_8003DB5C: -/* 8003DB5C 28 03 00 00 */ cmplwi r3, 0 -/* 8003DB60 4D 82 00 20 */ beqlr -/* 8003DB64 7C 05 20 00 */ cmpw r5, r4 -/* 8003DB68 41 80 FF EC */ blt lbl_8003DB54 -/* 8003DB6C 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_dmap_map/_create__20dMenu_StageMapCtrl_cFUsUsUsUsPv.s b/asm/d/menu/d_menu_dmap_map/_create__20dMenu_StageMapCtrl_cFUsUsUsUsPv.s index 8be1378bfe1..92e0dda7799 100644 --- a/asm/d/menu/d_menu_dmap_map/_create__20dMenu_StageMapCtrl_cFUsUsUsUsPv.s +++ b/asm/d/menu/d_menu_dmap_map/_create__20dMenu_StageMapCtrl_cFUsUsUsUsPv.s @@ -3,12 +3,12 @@ lbl_801C231C: /* 801C2320 7C 08 02 A6 */ mflr r0 /* 801C2324 90 01 00 14 */ stw r0, 0x14(r1) /* 801C2328 7D 09 43 78 */ mr r9, r8 -/* 801C232C 88 0D 88 E0 */ lbz r0, data_80450E60(r13) +/* 801C232C 88 0D 88 E0 */ lbz r0, mNowStayFloorNoDecisionFlg__10dMapInfo_c(r13) /* 801C2330 28 00 00 00 */ cmplwi r0, 0 /* 801C2334 41 82 00 14 */ beq lbl_801C2348 /* 801C2338 38 00 00 00 */ li r0, 0 /* 801C233C 41 82 00 08 */ beq lbl_801C2344 -/* 801C2340 88 0D 88 D8 */ lbz r0, data_80450E58(r13) +/* 801C2340 88 0D 88 D8 */ lbz r0, mNowStayFloorNo__10dMapInfo_c(r13) lbl_801C2344: /* 801C2344 7C 08 03 78 */ mr r8, r0 lbl_801C2348: diff --git a/asm/d/menu/d_menu_dmap_map/getPlayerStayFloorNo__20dMenu_StageMapCtrl_cCFv.s b/asm/d/menu/d_menu_dmap_map/getPlayerStayFloorNo__20dMenu_StageMapCtrl_cCFv.s index c66be794cad..9f4b8dd8124 100644 --- a/asm/d/menu/d_menu_dmap_map/getPlayerStayFloorNo__20dMenu_StageMapCtrl_cCFv.s +++ b/asm/d/menu/d_menu_dmap_map/getPlayerStayFloorNo__20dMenu_StageMapCtrl_cCFv.s @@ -1,11 +1,11 @@ lbl_801C22F8: /* 801C22F8 38 60 00 00 */ li r3, 0 -/* 801C22FC 88 0D 88 E0 */ lbz r0, data_80450E60(r13) +/* 801C22FC 88 0D 88 E0 */ lbz r0, mNowStayFloorNoDecisionFlg__10dMapInfo_c(r13) /* 801C2300 28 00 00 00 */ cmplwi r0, 0 /* 801C2304 4D 82 00 20 */ beqlr /* 801C2308 38 00 00 00 */ li r0, 0 /* 801C230C 41 82 00 08 */ beq lbl_801C2314 -/* 801C2310 88 0D 88 D8 */ lbz r0, data_80450E58(r13) +/* 801C2310 88 0D 88 D8 */ lbz r0, mNowStayFloorNo__10dMapInfo_c(r13) lbl_801C2314: /* 801C2314 7C 03 03 78 */ mr r3, r0 /* 801C2318 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter2_draw/setAlphaKanteraChange__13dMeter2Draw_cFb.s b/asm/d/meter/d_meter2_draw/setAlphaKanteraChange__13dMeter2Draw_cFb.s deleted file mode 100644 index 3255be50aec..00000000000 --- a/asm/d/meter/d_meter2_draw/setAlphaKanteraChange__13dMeter2Draw_cFb.s +++ /dev/null @@ -1,85 +0,0 @@ -lbl_802155B8: -/* 802155B8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802155BC 7C 08 02 A6 */ mflr r0 -/* 802155C0 90 01 00 24 */ stw r0, 0x24(r1) -/* 802155C4 39 61 00 20 */ addi r11, r1, 0x20 -/* 802155C8 48 14 CC 0D */ bl _savegpr_27 -/* 802155CC 7C 7B 1B 78 */ mr r27, r3 -/* 802155D0 7C 9C 23 78 */ mr r28, r4 -/* 802155D4 3B E0 00 00 */ li r31, 0 -/* 802155D8 3B C0 00 00 */ li r30, 0 -/* 802155DC 3B A0 00 00 */ li r29, 0 -/* 802155E0 80 63 01 CC */ lwz r3, 0x1cc(r3) -/* 802155E4 48 04 02 45 */ bl getAlphaRate__13CPaneMgrAlphaFv -/* 802155E8 C0 1B 07 B0 */ lfs f0, 0x7b0(r27) -/* 802155EC FC 00 08 00 */ fcmpu cr0, f0, f1 -/* 802155F0 40 82 00 0C */ bne lbl_802155FC -/* 802155F4 57 80 06 3F */ clrlwi. r0, r28, 0x18 -/* 802155F8 41 82 00 14 */ beq lbl_8021560C -lbl_802155FC: -/* 802155FC 80 7B 01 CC */ lwz r3, 0x1cc(r27) -/* 80215600 48 04 02 29 */ bl getAlphaRate__13CPaneMgrAlphaFv -/* 80215604 D0 3B 07 B0 */ stfs f1, 0x7b0(r27) -/* 80215608 3B E0 00 01 */ li r31, 1 -lbl_8021560C: -/* 8021560C C0 1B 07 B4 */ lfs f0, 0x7b4(r27) -/* 80215610 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 80215614 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 80215618 C0 23 00 58 */ lfs f1, 0x58(r3) -/* 8021561C FC 00 08 00 */ fcmpu cr0, f0, f1 -/* 80215620 40 82 00 0C */ bne lbl_8021562C -/* 80215624 57 80 06 3F */ clrlwi. r0, r28, 0x18 -/* 80215628 41 82 00 0C */ beq lbl_80215634 -lbl_8021562C: -/* 8021562C D0 3B 07 B4 */ stfs f1, 0x7b4(r27) -/* 80215630 3B C0 00 01 */ li r30, 1 -lbl_80215634: -/* 80215634 C0 1B 07 B8 */ lfs f0, 0x7b8(r27) -/* 80215638 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 8021563C 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 80215640 C0 23 00 5C */ lfs f1, 0x5c(r3) -/* 80215644 FC 00 08 00 */ fcmpu cr0, f0, f1 -/* 80215648 40 82 00 0C */ bne lbl_80215654 -/* 8021564C 57 80 06 3F */ clrlwi. r0, r28, 0x18 -/* 80215650 41 82 00 0C */ beq lbl_8021565C -lbl_80215654: -/* 80215654 D0 3B 07 B8 */ stfs f1, 0x7b8(r27) -/* 80215658 3B A0 00 01 */ li r29, 1 -lbl_8021565C: -/* 8021565C 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 80215660 40 82 00 14 */ bne lbl_80215674 -/* 80215664 57 C0 06 3F */ clrlwi. r0, r30, 0x18 -/* 80215668 40 82 00 0C */ bne lbl_80215674 -/* 8021566C 57 80 06 3F */ clrlwi. r0, r28, 0x18 -/* 80215670 41 82 00 18 */ beq lbl_80215688 -lbl_80215674: -/* 80215674 80 7B 01 D8 */ lwz r3, 0x1d8(r27) -/* 80215678 C0 3B 07 B4 */ lfs f1, 0x7b4(r27) -/* 8021567C C0 1B 07 B0 */ lfs f0, 0x7b0(r27) -/* 80215680 EC 21 00 32 */ fmuls f1, f1, f0 -/* 80215684 48 04 01 4D */ bl setAlphaRate__13CPaneMgrAlphaFf -lbl_80215688: -/* 80215688 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 8021568C 40 82 00 14 */ bne lbl_802156A0 -/* 80215690 57 A0 06 3F */ clrlwi. r0, r29, 0x18 -/* 80215694 40 82 00 0C */ bne lbl_802156A0 -/* 80215698 57 80 06 3F */ clrlwi. r0, r28, 0x18 -/* 8021569C 41 82 00 2C */ beq lbl_802156C8 -lbl_802156A0: -/* 802156A0 80 7B 01 D4 */ lwz r3, 0x1d4(r27) -/* 802156A4 C0 3B 07 B8 */ lfs f1, 0x7b8(r27) -/* 802156A8 C0 1B 07 B0 */ lfs f0, 0x7b0(r27) -/* 802156AC EC 21 00 32 */ fmuls f1, f1, f0 -/* 802156B0 48 04 01 21 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 802156B4 80 7B 01 DC */ lwz r3, 0x1dc(r27) -/* 802156B8 C0 3B 07 B8 */ lfs f1, 0x7b8(r27) -/* 802156BC C0 1B 07 B0 */ lfs f0, 0x7b0(r27) -/* 802156C0 EC 21 00 32 */ fmuls f1, f1, f0 -/* 802156C4 48 04 01 0D */ bl setAlphaRate__13CPaneMgrAlphaFf -lbl_802156C8: -/* 802156C8 39 61 00 20 */ addi r11, r1, 0x20 -/* 802156CC 48 14 CB 55 */ bl _restgpr_27 -/* 802156D0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802156D4 7C 08 03 A6 */ mtlr r0 -/* 802156D8 38 21 00 20 */ addi r1, r1, 0x20 -/* 802156DC 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter2_draw/setAlphaMagicChange__13dMeter2Draw_cFb.s b/asm/d/meter/d_meter2_draw/setAlphaMagicChange__13dMeter2Draw_cFb.s deleted file mode 100644 index a8ca105d7ff..00000000000 --- a/asm/d/meter/d_meter2_draw/setAlphaMagicChange__13dMeter2Draw_cFb.s +++ /dev/null @@ -1,85 +0,0 @@ -lbl_80215380: -/* 80215380 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80215384 7C 08 02 A6 */ mflr r0 -/* 80215388 90 01 00 24 */ stw r0, 0x24(r1) -/* 8021538C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80215390 48 14 CE 45 */ bl _savegpr_27 -/* 80215394 7C 7B 1B 78 */ mr r27, r3 -/* 80215398 7C 9C 23 78 */ mr r28, r4 -/* 8021539C 3B E0 00 00 */ li r31, 0 -/* 802153A0 3B C0 00 00 */ li r30, 0 -/* 802153A4 3B A0 00 00 */ li r29, 0 -/* 802153A8 80 63 01 CC */ lwz r3, 0x1cc(r3) -/* 802153AC 48 04 04 7D */ bl getAlphaRate__13CPaneMgrAlphaFv -/* 802153B0 C0 1B 07 A4 */ lfs f0, 0x7a4(r27) -/* 802153B4 FC 00 08 00 */ fcmpu cr0, f0, f1 -/* 802153B8 40 82 00 0C */ bne lbl_802153C4 -/* 802153BC 57 80 06 3F */ clrlwi. r0, r28, 0x18 -/* 802153C0 41 82 00 14 */ beq lbl_802153D4 -lbl_802153C4: -/* 802153C4 80 7B 01 CC */ lwz r3, 0x1cc(r27) -/* 802153C8 48 04 04 61 */ bl getAlphaRate__13CPaneMgrAlphaFv -/* 802153CC D0 3B 07 A4 */ stfs f1, 0x7a4(r27) -/* 802153D0 3B E0 00 01 */ li r31, 1 -lbl_802153D4: -/* 802153D4 C0 1B 07 A8 */ lfs f0, 0x7a8(r27) -/* 802153D8 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 802153DC 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 802153E0 C0 23 00 44 */ lfs f1, 0x44(r3) -/* 802153E4 FC 00 08 00 */ fcmpu cr0, f0, f1 -/* 802153E8 40 82 00 0C */ bne lbl_802153F4 -/* 802153EC 57 80 06 3F */ clrlwi. r0, r28, 0x18 -/* 802153F0 41 82 00 0C */ beq lbl_802153FC -lbl_802153F4: -/* 802153F4 D0 3B 07 A8 */ stfs f1, 0x7a8(r27) -/* 802153F8 3B C0 00 01 */ li r30, 1 -lbl_802153FC: -/* 802153FC C0 1B 07 AC */ lfs f0, 0x7ac(r27) -/* 80215400 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 80215404 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 80215408 C0 23 00 48 */ lfs f1, 0x48(r3) -/* 8021540C FC 00 08 00 */ fcmpu cr0, f0, f1 -/* 80215410 40 82 00 0C */ bne lbl_8021541C -/* 80215414 57 80 06 3F */ clrlwi. r0, r28, 0x18 -/* 80215418 41 82 00 0C */ beq lbl_80215424 -lbl_8021541C: -/* 8021541C D0 3B 07 AC */ stfs f1, 0x7ac(r27) -/* 80215420 3B A0 00 01 */ li r29, 1 -lbl_80215424: -/* 80215424 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 80215428 40 82 00 14 */ bne lbl_8021543C -/* 8021542C 57 C0 06 3F */ clrlwi. r0, r30, 0x18 -/* 80215430 40 82 00 0C */ bne lbl_8021543C -/* 80215434 57 80 06 3F */ clrlwi. r0, r28, 0x18 -/* 80215438 41 82 00 18 */ beq lbl_80215450 -lbl_8021543C: -/* 8021543C 80 7B 01 D8 */ lwz r3, 0x1d8(r27) -/* 80215440 C0 3B 07 A8 */ lfs f1, 0x7a8(r27) -/* 80215444 C0 1B 07 A4 */ lfs f0, 0x7a4(r27) -/* 80215448 EC 21 00 32 */ fmuls f1, f1, f0 -/* 8021544C 48 04 03 85 */ bl setAlphaRate__13CPaneMgrAlphaFf -lbl_80215450: -/* 80215450 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 80215454 40 82 00 14 */ bne lbl_80215468 -/* 80215458 57 A0 06 3F */ clrlwi. r0, r29, 0x18 -/* 8021545C 40 82 00 0C */ bne lbl_80215468 -/* 80215460 57 80 06 3F */ clrlwi. r0, r28, 0x18 -/* 80215464 41 82 00 2C */ beq lbl_80215490 -lbl_80215468: -/* 80215468 80 7B 01 D4 */ lwz r3, 0x1d4(r27) -/* 8021546C C0 3B 07 AC */ lfs f1, 0x7ac(r27) -/* 80215470 C0 1B 07 A4 */ lfs f0, 0x7a4(r27) -/* 80215474 EC 21 00 32 */ fmuls f1, f1, f0 -/* 80215478 48 04 03 59 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 8021547C 80 7B 01 DC */ lwz r3, 0x1dc(r27) -/* 80215480 C0 3B 07 AC */ lfs f1, 0x7ac(r27) -/* 80215484 C0 1B 07 A4 */ lfs f0, 0x7a4(r27) -/* 80215488 EC 21 00 32 */ fmuls f1, f1, f0 -/* 8021548C 48 04 03 45 */ bl setAlphaRate__13CPaneMgrAlphaFf -lbl_80215490: -/* 80215490 39 61 00 20 */ addi r11, r1, 0x20 -/* 80215494 48 14 CD 8D */ bl _restgpr_27 -/* 80215498 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8021549C 7C 08 03 A6 */ mtlr r0 -/* 802154A0 38 21 00 20 */ addi r1, r1, 0x20 -/* 802154A4 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter2_draw/setAlphaOxygenChange__13dMeter2Draw_cFb.s b/asm/d/meter/d_meter2_draw/setAlphaOxygenChange__13dMeter2Draw_cFb.s deleted file mode 100644 index 24c26168682..00000000000 --- a/asm/d/meter/d_meter2_draw/setAlphaOxygenChange__13dMeter2Draw_cFb.s +++ /dev/null @@ -1,85 +0,0 @@ -lbl_802158F0: -/* 802158F0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802158F4 7C 08 02 A6 */ mflr r0 -/* 802158F8 90 01 00 24 */ stw r0, 0x24(r1) -/* 802158FC 39 61 00 20 */ addi r11, r1, 0x20 -/* 80215900 48 14 C8 D5 */ bl _savegpr_27 -/* 80215904 7C 7B 1B 78 */ mr r27, r3 -/* 80215908 7C 9C 23 78 */ mr r28, r4 -/* 8021590C 3B E0 00 00 */ li r31, 0 -/* 80215910 3B C0 00 00 */ li r30, 0 -/* 80215914 3B A0 00 00 */ li r29, 0 -/* 80215918 80 63 01 CC */ lwz r3, 0x1cc(r3) -/* 8021591C 48 03 FF 0D */ bl getAlphaRate__13CPaneMgrAlphaFv -/* 80215920 C0 1B 07 BC */ lfs f0, 0x7bc(r27) -/* 80215924 FC 00 08 00 */ fcmpu cr0, f0, f1 -/* 80215928 40 82 00 0C */ bne lbl_80215934 -/* 8021592C 57 80 06 3F */ clrlwi. r0, r28, 0x18 -/* 80215930 41 82 00 14 */ beq lbl_80215944 -lbl_80215934: -/* 80215934 80 7B 01 CC */ lwz r3, 0x1cc(r27) -/* 80215938 48 03 FE F1 */ bl getAlphaRate__13CPaneMgrAlphaFv -/* 8021593C D0 3B 07 BC */ stfs f1, 0x7bc(r27) -/* 80215940 3B E0 00 01 */ li r31, 1 -lbl_80215944: -/* 80215944 C0 1B 07 C0 */ lfs f0, 0x7c0(r27) -/* 80215948 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 8021594C 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 80215950 C0 23 00 6C */ lfs f1, 0x6c(r3) -/* 80215954 FC 00 08 00 */ fcmpu cr0, f0, f1 -/* 80215958 40 82 00 0C */ bne lbl_80215964 -/* 8021595C 57 80 06 3F */ clrlwi. r0, r28, 0x18 -/* 80215960 41 82 00 0C */ beq lbl_8021596C -lbl_80215964: -/* 80215964 D0 3B 07 C0 */ stfs f1, 0x7c0(r27) -/* 80215968 3B C0 00 01 */ li r30, 1 -lbl_8021596C: -/* 8021596C C0 1B 07 C4 */ lfs f0, 0x7c4(r27) -/* 80215970 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */ -/* 80215974 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */ -/* 80215978 C0 23 00 70 */ lfs f1, 0x70(r3) -/* 8021597C FC 00 08 00 */ fcmpu cr0, f0, f1 -/* 80215980 40 82 00 0C */ bne lbl_8021598C -/* 80215984 57 80 06 3F */ clrlwi. r0, r28, 0x18 -/* 80215988 41 82 00 0C */ beq lbl_80215994 -lbl_8021598C: -/* 8021598C D0 3B 07 C4 */ stfs f1, 0x7c4(r27) -/* 80215990 3B A0 00 01 */ li r29, 1 -lbl_80215994: -/* 80215994 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 80215998 40 82 00 14 */ bne lbl_802159AC -/* 8021599C 57 C0 06 3F */ clrlwi. r0, r30, 0x18 -/* 802159A0 40 82 00 0C */ bne lbl_802159AC -/* 802159A4 57 80 06 3F */ clrlwi. r0, r28, 0x18 -/* 802159A8 41 82 00 18 */ beq lbl_802159C0 -lbl_802159AC: -/* 802159AC 80 7B 01 D8 */ lwz r3, 0x1d8(r27) -/* 802159B0 C0 3B 07 C0 */ lfs f1, 0x7c0(r27) -/* 802159B4 C0 1B 07 BC */ lfs f0, 0x7bc(r27) -/* 802159B8 EC 21 00 32 */ fmuls f1, f1, f0 -/* 802159BC 48 03 FE 15 */ bl setAlphaRate__13CPaneMgrAlphaFf -lbl_802159C0: -/* 802159C0 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 802159C4 40 82 00 14 */ bne lbl_802159D8 -/* 802159C8 57 A0 06 3F */ clrlwi. r0, r29, 0x18 -/* 802159CC 40 82 00 0C */ bne lbl_802159D8 -/* 802159D0 57 80 06 3F */ clrlwi. r0, r28, 0x18 -/* 802159D4 41 82 00 2C */ beq lbl_80215A00 -lbl_802159D8: -/* 802159D8 80 7B 01 D4 */ lwz r3, 0x1d4(r27) -/* 802159DC C0 3B 07 C4 */ lfs f1, 0x7c4(r27) -/* 802159E0 C0 1B 07 BC */ lfs f0, 0x7bc(r27) -/* 802159E4 EC 21 00 32 */ fmuls f1, f1, f0 -/* 802159E8 48 03 FD E9 */ bl setAlphaRate__13CPaneMgrAlphaFf -/* 802159EC 80 7B 01 DC */ lwz r3, 0x1dc(r27) -/* 802159F0 C0 3B 07 C4 */ lfs f1, 0x7c4(r27) -/* 802159F4 C0 1B 07 BC */ lfs f0, 0x7bc(r27) -/* 802159F8 EC 21 00 32 */ fmuls f1, f1, f0 -/* 802159FC 48 03 FD D5 */ bl setAlphaRate__13CPaneMgrAlphaFf -lbl_80215A00: -/* 80215A00 39 61 00 20 */ addi r11, r1, 0x20 -/* 80215A04 48 14 C8 1D */ bl _restgpr_27 -/* 80215A08 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80215A0C 7C 08 03 A6 */ mtlr r0 -/* 80215A10 38 21 00 20 */ addi r1, r1, 0x20 -/* 80215A14 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_flow/query008__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s b/asm/d/msg/d_msg_flow/query008__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s deleted file mode 100644 index 948b55daa1d..00000000000 --- a/asm/d/msg/d_msg_flow/query008__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8024B45C: -/* 8024B45C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8024B460 7C 08 02 A6 */ mflr r0 -/* 8024B464 90 01 00 14 */ stw r0, 0x14(r1) -/* 8024B468 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8024B46C A3 E4 00 04 */ lhz r31, 4(r4) -/* 8024B470 4B DE 62 71 */ bl daNpcKakashi_getSwdTutorialStep__Fv -/* 8024B474 54 63 06 3E */ clrlwi r3, r3, 0x18 -/* 8024B478 38 63 FF FF */ addi r3, r3, -1 -/* 8024B47C 57 E0 04 3E */ clrlwi r0, r31, 0x10 -/* 8024B480 7C 60 18 50 */ subf r3, r0, r3 -/* 8024B484 30 03 FF FF */ addic r0, r3, -1 -/* 8024B488 7C 00 19 10 */ subfe r0, r0, r3 -/* 8024B48C 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8024B490 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8024B494 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8024B498 7C 08 03 A6 */ mtlr r0 -/* 8024B49C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8024B4A0 4E 80 00 20 */ blr diff --git a/asm/d/shop/d_shop_system/dShopSystem_searchItemActor__FPvPv.s b/asm/d/shop/d_shop_system/dShopSystem_searchItemActor__FPvPv.s deleted file mode 100644 index 841d1f2b6e3..00000000000 --- a/asm/d/shop/d_shop_system/dShopSystem_searchItemActor__FPvPv.s +++ /dev/null @@ -1,125 +0,0 @@ -lbl_80197098: -/* 80197098 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8019709C 7C 08 02 A6 */ mflr r0 -/* 801970A0 90 01 00 24 */ stw r0, 0x24(r1) -/* 801970A4 39 61 00 20 */ addi r11, r1, 0x20 -/* 801970A8 48 1C B1 2D */ bl _savegpr_27 -/* 801970AC 7C 7D 1B 78 */ mr r29, r3 -/* 801970B0 7C 9B 23 78 */ mr r27, r4 -/* 801970B4 4B E8 1C 2D */ bl fopAc_IsActor__FPv -/* 801970B8 2C 03 00 00 */ cmpwi r3, 0 -/* 801970BC 41 82 01 98 */ beq lbl_80197254 -/* 801970C0 A8 1D 00 08 */ lha r0, 8(r29) -/* 801970C4 2C 00 01 27 */ cmpwi r0, 0x127 -/* 801970C8 40 82 01 8C */ bne lbl_80197254 -/* 801970CC 80 1B 00 B0 */ lwz r0, 0xb0(r27) -/* 801970D0 54 03 00 06 */ rlwinm r3, r0, 0, 0, 3 -/* 801970D4 80 9D 00 B0 */ lwz r4, 0xb0(r29) -/* 801970D8 54 80 00 06 */ rlwinm r0, r4, 0, 0, 3 -/* 801970DC 7C 03 00 40 */ cmplw r3, r0 -/* 801970E0 40 82 01 74 */ bne lbl_80197254 -/* 801970E4 80 6D 8A DC */ lwz r3, dShopSystem_item_count(r13) -/* 801970E8 88 0D 8A D8 */ lbz r0, data_80451058(r13) -/* 801970EC 7C 03 00 00 */ cmpw r3, r0 -/* 801970F0 40 80 01 64 */ bge lbl_80197254 -/* 801970F4 54 9F 47 3E */ rlwinm r31, r4, 8, 0x1c, 0x1f -/* 801970F8 3C 60 80 3C */ lis r3, dShopSystem_itemActor@ha /* 0x803BB8A4@ha */ -/* 801970FC 84 03 B8 A4 */ lwzu r0, dShopSystem_itemActor@l(r3) /* 0x803BB8A4@l */ -/* 80197100 7C 00 E8 40 */ cmplw r0, r29 -/* 80197104 41 82 01 50 */ beq lbl_80197254 -/* 80197108 80 03 00 04 */ lwz r0, 4(r3) -/* 8019710C 7C 00 E8 40 */ cmplw r0, r29 -/* 80197110 41 82 01 44 */ beq lbl_80197254 -/* 80197114 80 03 00 08 */ lwz r0, 8(r3) -/* 80197118 7C 00 E8 40 */ cmplw r0, r29 -/* 8019711C 41 82 01 38 */ beq lbl_80197254 -/* 80197120 80 03 00 0C */ lwz r0, 0xc(r3) -/* 80197124 7C 00 E8 40 */ cmplw r0, r29 -/* 80197128 41 82 01 2C */ beq lbl_80197254 -/* 8019712C 80 03 00 10 */ lwz r0, 0x10(r3) -/* 80197130 7C 00 E8 40 */ cmplw r0, r29 -/* 80197134 41 82 01 20 */ beq lbl_80197254 -/* 80197138 80 03 00 14 */ lwz r0, 0x14(r3) -/* 8019713C 7C 00 E8 40 */ cmplw r0, r29 -/* 80197140 41 82 01 14 */ beq lbl_80197254 -/* 80197144 80 03 00 18 */ lwz r0, 0x18(r3) -/* 80197148 7C 00 E8 40 */ cmplw r0, r29 -/* 8019714C 41 82 01 08 */ beq lbl_80197254 -/* 80197150 A8 1D 04 B8 */ lha r0, 0x4b8(r29) -/* 80197154 54 1B 06 3E */ clrlwi r27, r0, 0x18 -/* 80197158 54 1C C6 3E */ rlwinm r28, r0, 0x18, 0x18, 0x1f -/* 8019715C 54 80 06 3E */ clrlwi r0, r4, 0x18 -/* 80197160 7C 1E 03 78 */ mr r30, r0 -/* 80197164 28 1B 00 FF */ cmplwi r27, 0xff -/* 80197168 41 82 00 20 */ beq lbl_80197188 -/* 8019716C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80197170 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80197174 38 63 09 58 */ addi r3, r3, 0x958 -/* 80197178 7F 64 DB 78 */ mr r4, r27 -/* 8019717C 4B E9 D6 E5 */ bl isSwitch__12dSv_memBit_cCFi -/* 80197180 2C 03 00 00 */ cmpwi r3, 0 -/* 80197184 40 82 00 D0 */ bne lbl_80197254 -lbl_80197188: -/* 80197188 28 1C 00 FF */ cmplwi r28, 0xff -/* 8019718C 41 82 00 20 */ beq lbl_801971AC -/* 80197190 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80197194 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80197198 38 63 09 58 */ addi r3, r3, 0x958 -/* 8019719C 7F 84 E3 78 */ mr r4, r28 -/* 801971A0 4B E9 D6 C1 */ bl isSwitch__12dSv_memBit_cCFi -/* 801971A4 2C 03 00 00 */ cmpwi r3, 0 -/* 801971A8 41 82 00 AC */ beq lbl_80197254 -lbl_801971AC: -/* 801971AC 28 1B 00 FF */ cmplwi r27, 0xff -/* 801971B0 41 82 00 3C */ beq lbl_801971EC -/* 801971B4 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 801971B8 28 00 00 2C */ cmplwi r0, 0x2c -/* 801971BC 40 82 00 30 */ bne lbl_801971EC -/* 801971C0 7F C3 F3 78 */ mr r3, r30 -/* 801971C4 38 80 00 01 */ li r4, 1 -/* 801971C8 4B F0 0D 19 */ bl checkItemGet__FUci -/* 801971CC 2C 03 00 00 */ cmpwi r3, 0 -/* 801971D0 41 82 00 1C */ beq lbl_801971EC -/* 801971D4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801971D8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801971DC 38 63 09 58 */ addi r3, r3, 0x958 -/* 801971E0 7F 64 DB 78 */ mr r4, r27 -/* 801971E4 4B E9 D6 2D */ bl onSwitch__12dSv_memBit_cFi -/* 801971E8 48 00 00 6C */ b lbl_80197254 -lbl_801971EC: -/* 801971EC 28 1F 00 00 */ cmplwi r31, 0 -/* 801971F0 40 82 00 2C */ bne lbl_8019721C -/* 801971F4 38 00 00 01 */ li r0, 1 -/* 801971F8 98 0D 8A E0 */ stb r0, data_80451060(r13) -/* 801971FC 80 8D 8A DC */ lwz r4, dShopSystem_item_count(r13) -/* 80197200 54 80 10 3A */ slwi r0, r4, 2 -/* 80197204 3C 60 80 3C */ lis r3, dShopSystem_itemActor@ha /* 0x803BB8A4@ha */ -/* 80197208 38 63 B8 A4 */ addi r3, r3, dShopSystem_itemActor@l /* 0x803BB8A4@l */ -/* 8019720C 7F A3 01 2E */ stwx r29, r3, r0 -/* 80197210 38 6D 81 68 */ la r3, dShopSystem_itemNo(r13) /* 804506E8-_SDA_BASE_ */ -/* 80197214 7F C3 21 AE */ stbx r30, r3, r4 -/* 80197218 48 00 00 30 */ b lbl_80197248 -lbl_8019721C: -/* 8019721C 3C 60 80 3C */ lis r3, dShopSystem_itemActor@ha /* 0x803BB8A4@ha */ -/* 80197220 38 63 B8 A4 */ addi r3, r3, dShopSystem_itemActor@l /* 0x803BB8A4@l */ -/* 80197224 57 E0 15 BA */ rlwinm r0, r31, 2, 0x16, 0x1d -/* 80197228 7C 63 02 14 */ add r3, r3, r0 -/* 8019722C 84 03 FF FC */ lwzu r0, -4(r3) -/* 80197230 28 00 00 00 */ cmplwi r0, 0 -/* 80197234 40 82 00 14 */ bne lbl_80197248 -/* 80197238 93 A3 00 00 */ stw r29, 0(r3) -/* 8019723C 38 0D 81 68 */ la r0, dShopSystem_itemNo(r13) /* 804506E8-_SDA_BASE_ */ -/* 80197240 7C 60 FA 14 */ add r3, r0, r31 -/* 80197244 9B C3 FF FF */ stb r30, -1(r3) -lbl_80197248: -/* 80197248 80 6D 8A DC */ lwz r3, dShopSystem_item_count(r13) -/* 8019724C 38 03 00 01 */ addi r0, r3, 1 -/* 80197250 90 0D 8A DC */ stw r0, dShopSystem_item_count(r13) -lbl_80197254: -/* 80197254 38 60 00 00 */ li r3, 0 -/* 80197258 39 61 00 20 */ addi r11, r1, 0x20 -/* 8019725C 48 1C AF C5 */ bl _restgpr_27 -/* 80197260 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80197264 7C 08 03 A6 */ mtlr r0 -/* 80197268 38 21 00 20 */ addi r1, r1, 0x20 -/* 8019726C 4E 80 00 20 */ blr diff --git a/asm/dolphin/ai/ai/AIInit.s b/asm/dolphin/ai/ai/AIInit.s deleted file mode 100644 index 3cd46ae7250..00000000000 --- a/asm/dolphin/ai/ai/AIInit.s +++ /dev/null @@ -1,93 +0,0 @@ -lbl_80350084: -/* 80350084 7C 08 02 A6 */ mflr r0 -/* 80350088 90 01 00 04 */ stw r0, 4(r1) -/* 8035008C 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 80350090 93 E1 00 14 */ stw r31, 0x14(r1) -/* 80350094 93 C1 00 10 */ stw r30, 0x10(r1) -/* 80350098 3B C3 00 00 */ addi r30, r3, 0 -/* 8035009C 80 0D 93 08 */ lwz r0, __AI_init_flag(r13) -/* 803500A0 2C 00 00 01 */ cmpwi r0, 1 -/* 803500A4 41 82 01 34 */ beq lbl_803501D8 -/* 803500A8 80 6D 84 C0 */ lwz r3, __AIVersion(r13) -/* 803500AC 4B FE A7 C9 */ bl OSRegisterVersion -/* 803500B0 3C 60 80 00 */ lis r3, 0x8000 /* 0x800000F8@ha */ -/* 803500B4 80 03 00 F8 */ lwz r0, 0x00F8(r3) /* 0x800000F8@l */ -/* 803500B8 3C 60 43 1C */ lis r3, 0x431C /* 0x431BDE83@ha */ -/* 803500BC 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000A428@ha */ -/* 803500C0 54 00 F0 BE */ srwi r0, r0, 2 -/* 803500C4 38 63 DE 83 */ addi r3, r3, 0xDE83 /* 0x431BDE83@l */ -/* 803500C8 7C 03 00 16 */ mulhwu r0, r3, r0 -/* 803500CC 54 09 8B FE */ srwi r9, r0, 0xf -/* 803500D0 38 A4 A4 28 */ addi r5, r4, 0xA428 /* 0x0000A428@l */ -/* 803500D4 38 64 A4 10 */ addi r3, r4, -23536 -/* 803500D8 38 04 F6 18 */ addi r0, r4, -2536 -/* 803500DC 3C 80 10 62 */ lis r4, 0x1062 /* 0x10624DD3@ha */ -/* 803500E0 7C E9 29 D6 */ mullw r7, r9, r5 -/* 803500E4 39 44 4D D3 */ addi r10, r4, 0x4DD3 /* 0x10624DD3@l */ -/* 803500E8 7C A9 19 D6 */ mullw r5, r9, r3 -/* 803500EC 7C 89 01 D6 */ mullw r4, r9, r0 -/* 803500F0 1D 09 7B 24 */ mulli r8, r9, 0x7b24 -/* 803500F4 1C 69 0B B8 */ mulli r3, r9, 0xbb8 -/* 803500F8 7D 0A 40 16 */ mulhwu r8, r10, r8 -/* 803500FC 7C EA 38 16 */ mulhwu r7, r10, r7 -/* 80350100 7C AA 28 16 */ mulhwu r5, r10, r5 -/* 80350104 7C 8A 20 16 */ mulhwu r4, r10, r4 -/* 80350108 7C 6A 18 16 */ mulhwu r3, r10, r3 -/* 8035010C 55 08 BA 7E */ srwi r8, r8, 9 -/* 80350110 54 E7 BA 7E */ srwi r7, r7, 9 -/* 80350114 91 0D 93 14 */ stw r8, bound_32KHz+0x4(r13) -/* 80350118 54 A5 BA 7E */ srwi r5, r5, 9 -/* 8035011C 54 84 BA 7E */ srwi r4, r4, 9 -/* 80350120 90 ED 93 1C */ stw r7, bound_48KHz+0x4(r13) -/* 80350124 3B E0 00 00 */ li r31, 0 -/* 80350128 54 63 BA 7E */ srwi r3, r3, 9 -/* 8035012C 90 AD 93 24 */ stw r5, min_wait+0x4(r13) -/* 80350130 3C C0 CC 00 */ lis r6, 0xCC00 /* 0xCC006C00@ha */ -/* 80350134 90 6D 93 34 */ stw r3, buffer+0x4(r13) -/* 80350138 38 60 00 01 */ li r3, 1 -/* 8035013C 80 06 6C 00 */ lwz r0, 0x6C00(r6) /* 0xCC006C00@l */ -/* 80350140 90 8D 93 2C */ stw r4, max_wait+0x4(r13) -/* 80350144 54 00 06 F2 */ rlwinm r0, r0, 0, 0x1b, 0x19 -/* 80350148 60 00 00 20 */ ori r0, r0, 0x20 -/* 8035014C 93 ED 93 10 */ stw r31, bound_32KHz(r13) -/* 80350150 93 ED 93 18 */ stw r31, bound_48KHz(r13) -/* 80350154 93 ED 93 20 */ stw r31, min_wait(r13) -/* 80350158 93 ED 93 28 */ stw r31, max_wait(r13) -/* 8035015C 93 ED 93 30 */ stw r31, buffer(r13) -/* 80350160 80 A6 6C 04 */ lwz r5, 0x6c04(r6) -/* 80350164 90 06 6C 00 */ stw r0, 0x6c00(r6) -/* 80350168 54 A0 06 1E */ rlwinm r0, r5, 0, 0x18, 0xf -/* 8035016C 60 00 00 00 */ nop -/* 80350170 90 06 6C 04 */ stw r0, 0x6c04(r6) -/* 80350174 80 06 6C 04 */ lwz r0, 0x6c04(r6) -/* 80350178 54 00 00 2E */ rlwinm r0, r0, 0, 0, 0x17 -/* 8035017C 60 00 00 00 */ nop -/* 80350180 90 06 6C 04 */ stw r0, 0x6c04(r6) -/* 80350184 93 E6 6C 0C */ stw r31, 0x6c0c(r6) -/* 80350188 4B FF FD C1 */ bl __AI_set_stream_sample_rate -/* 8035018C 38 60 00 00 */ li r3, 0 -/* 80350190 4B FF FC C5 */ bl AISetDSPSampleRate -/* 80350194 3C 60 80 35 */ lis r3, __AIDHandler@ha /* 0x8035026C@ha */ -/* 80350198 93 ED 92 F8 */ stw r31, __AIS_Callback(r13) -/* 8035019C 38 83 02 6C */ addi r4, r3, __AIDHandler@l /* 0x8035026C@l */ -/* 803501A0 93 ED 92 FC */ stw r31, __AID_Callback(r13) -/* 803501A4 38 60 00 05 */ li r3, 5 -/* 803501A8 93 CD 93 00 */ stw r30, __CallbackStack(r13) -/* 803501AC 4B FE D5 95 */ bl __OSSetInterruptHandler -/* 803501B0 3C 60 04 00 */ lis r3, 0x400 -/* 803501B4 4B FE D9 91 */ bl __OSUnmaskInterrupts -/* 803501B8 3C 60 80 35 */ lis r3, __AISHandler@ha /* 0x803501F0@ha */ -/* 803501BC 38 83 01 F0 */ addi r4, r3, __AISHandler@l /* 0x803501F0@l */ -/* 803501C0 38 60 00 08 */ li r3, 8 -/* 803501C4 4B FE D5 7D */ bl __OSSetInterruptHandler -/* 803501C8 3C 60 00 80 */ lis r3, 0x80 -/* 803501CC 4B FE D9 79 */ bl __OSUnmaskInterrupts -/* 803501D0 38 00 00 01 */ li r0, 1 -/* 803501D4 90 0D 93 08 */ stw r0, __AI_init_flag(r13) -lbl_803501D8: -/* 803501D8 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 803501DC 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 803501E0 83 C1 00 10 */ lwz r30, 0x10(r1) -/* 803501E4 38 21 00 18 */ addi r1, r1, 0x18 -/* 803501E8 7C 08 03 A6 */ mtlr r0 -/* 803501EC 4E 80 00 20 */ blr diff --git a/asm/dolphin/ai/ai/AIRegisterDMACallback.s b/asm/dolphin/ai/ai/AIRegisterDMACallback.s deleted file mode 100644 index 50799d1f853..00000000000 --- a/asm/dolphin/ai/ai/AIRegisterDMACallback.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8034FC70: -/* 8034FC70 7C 08 02 A6 */ mflr r0 -/* 8034FC74 90 01 00 04 */ stw r0, 4(r1) -/* 8034FC78 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 8034FC7C 93 E1 00 14 */ stw r31, 0x14(r1) -/* 8034FC80 93 C1 00 10 */ stw r30, 0x10(r1) -/* 8034FC84 7C 7E 1B 78 */ mr r30, r3 -/* 8034FC88 83 ED 92 FC */ lwz r31, __AID_Callback(r13) -/* 8034FC8C 4B FE DA 69 */ bl OSDisableInterrupts -/* 8034FC90 93 CD 92 FC */ stw r30, __AID_Callback(r13) -/* 8034FC94 4B FE DA 89 */ bl OSRestoreInterrupts -/* 8034FC98 7F E3 FB 78 */ mr r3, r31 -/* 8034FC9C 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 8034FCA0 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 8034FCA4 83 C1 00 10 */ lwz r30, 0x10(r1) -/* 8034FCA8 38 21 00 18 */ addi r1, r1, 0x18 -/* 8034FCAC 7C 08 03 A6 */ mtlr r0 -/* 8034FCB0 4E 80 00 20 */ blr diff --git a/asm/dolphin/card/CARDBios/__CARDEraseSector.s b/asm/dolphin/card/CARDBios/__CARDEraseSector.s deleted file mode 100644 index c5fe25889b1..00000000000 --- a/asm/dolphin/card/CARDBios/__CARDEraseSector.s +++ /dev/null @@ -1,76 +0,0 @@ -lbl_803539B8: -/* 803539B8 7C 08 02 A6 */ mflr r0 -/* 803539BC 90 01 00 04 */ stw r0, 4(r1) -/* 803539C0 94 21 FF D8 */ stwu r1, -0x28(r1) -/* 803539C4 93 E1 00 24 */ stw r31, 0x24(r1) -/* 803539C8 93 C1 00 20 */ stw r30, 0x20(r1) -/* 803539CC 93 A1 00 1C */ stw r29, 0x1c(r1) -/* 803539D0 3B A3 00 00 */ addi r29, r3, 0 -/* 803539D4 1C DD 01 10 */ mulli r6, r29, 0x110 -/* 803539D8 3C 60 80 45 */ lis r3, __CARDBlock@ha /* 0x8044CBC0@ha */ -/* 803539DC 38 03 CB C0 */ addi r0, r3, __CARDBlock@l /* 0x8044CBC0@l */ -/* 803539E0 7F E0 32 14 */ add r31, r0, r6 -/* 803539E4 A0 1F 00 0A */ lhz r0, 0xa(r31) -/* 803539E8 28 00 00 80 */ cmplwi r0, 0x80 -/* 803539EC 40 81 00 28 */ ble lbl_80353A14 -/* 803539F0 28 05 00 00 */ cmplwi r5, 0 -/* 803539F4 41 82 00 18 */ beq lbl_80353A0C -/* 803539F8 39 85 00 00 */ addi r12, r5, 0 -/* 803539FC 7D 88 03 A6 */ mtlr r12 -/* 80353A00 38 7D 00 00 */ addi r3, r29, 0 -/* 80353A04 38 80 00 00 */ li r4, 0 -/* 80353A08 4E 80 00 21 */ blrl -lbl_80353A0C: -/* 80353A0C 38 60 00 00 */ li r3, 0 -/* 80353A10 48 00 00 9C */ b lbl_80353AAC -lbl_80353A14: -/* 80353A14 38 00 00 F1 */ li r0, 0xf1 -/* 80353A18 98 1F 00 94 */ stb r0, 0x94(r31) -/* 80353A1C 54 80 7E 7E */ rlwinm r0, r4, 0xf, 0x19, 0x1f -/* 80353A20 54 83 BE 3E */ rlwinm r3, r4, 0x17, 0x18, 0x1f -/* 80353A24 98 1F 00 95 */ stb r0, 0x95(r31) -/* 80353A28 38 C0 00 03 */ li r6, 3 -/* 80353A2C 38 00 FF FF */ li r0, -1 -/* 80353A30 98 7F 00 96 */ stb r3, 0x96(r31) -/* 80353A34 7F A3 EB 78 */ mr r3, r29 -/* 80353A38 38 80 00 00 */ li r4, 0 -/* 80353A3C 90 DF 00 A0 */ stw r6, 0xa0(r31) -/* 80353A40 90 1F 00 A4 */ stw r0, 0xa4(r31) -/* 80353A44 90 DF 00 A8 */ stw r6, 0xa8(r31) -/* 80353A48 4B FF FA DD */ bl __CARDStart -/* 80353A4C 3B C3 00 00 */ addi r30, r3, 0 -/* 80353A50 2C 1E FF FF */ cmpwi r30, -1 -/* 80353A54 40 82 00 0C */ bne lbl_80353A60 -/* 80353A58 3B C0 00 00 */ li r30, 0 -/* 80353A5C 48 00 00 4C */ b lbl_80353AA8 -lbl_80353A60: -/* 80353A60 2C 1E 00 00 */ cmpwi r30, 0 -/* 80353A64 41 80 00 44 */ blt lbl_80353AA8 -/* 80353A68 80 BF 00 A0 */ lwz r5, 0xa0(r31) -/* 80353A6C 38 7D 00 00 */ addi r3, r29, 0 -/* 80353A70 38 9F 00 94 */ addi r4, r31, 0x94 -/* 80353A74 38 C0 00 01 */ li r6, 1 -/* 80353A78 4B FE F4 E5 */ bl EXIImmEx -/* 80353A7C 2C 03 00 00 */ cmpwi r3, 0 -/* 80353A80 40 82 00 14 */ bne lbl_80353A94 -/* 80353A84 38 00 00 00 */ li r0, 0 -/* 80353A88 90 1F 00 CC */ stw r0, 0xcc(r31) -/* 80353A8C 3B C0 FF FD */ li r30, -3 -/* 80353A90 48 00 00 08 */ b lbl_80353A98 -lbl_80353A94: -/* 80353A94 3B C0 00 00 */ li r30, 0 -lbl_80353A98: -/* 80353A98 7F A3 EB 78 */ mr r3, r29 -/* 80353A9C 4B FE FE F9 */ bl EXIDeselect -/* 80353AA0 7F A3 EB 78 */ mr r3, r29 -/* 80353AA4 4B FF 06 79 */ bl EXIUnlock -lbl_80353AA8: -/* 80353AA8 7F C3 F3 78 */ mr r3, r30 -lbl_80353AAC: -/* 80353AAC 80 01 00 2C */ lwz r0, 0x2c(r1) -/* 80353AB0 83 E1 00 24 */ lwz r31, 0x24(r1) -/* 80353AB4 83 C1 00 20 */ lwz r30, 0x20(r1) -/* 80353AB8 83 A1 00 1C */ lwz r29, 0x1c(r1) -/* 80353ABC 38 21 00 28 */ addi r1, r1, 0x28 -/* 80353AC0 7C 08 03 A6 */ mtlr r0 -/* 80353AC4 4E 80 00 20 */ blr diff --git a/asm/dolphin/card/CARDBios/__CARDSync.s b/asm/dolphin/card/CARDBios/__CARDSync.s deleted file mode 100644 index 6cd72ae2949..00000000000 --- a/asm/dolphin/card/CARDBios/__CARDSync.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_80353E20: -/* 80353E20 7C 08 02 A6 */ mflr r0 -/* 80353E24 90 01 00 04 */ stw r0, 4(r1) -/* 80353E28 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80353E2C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80353E30 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80353E34 93 A1 00 14 */ stw r29, 0x14(r1) -/* 80353E38 93 81 00 10 */ stw r28, 0x10(r1) -/* 80353E3C 3B 83 00 00 */ addi r28, r3, 0 -/* 80353E40 1C 9C 01 10 */ mulli r4, r28, 0x110 -/* 80353E44 3C 60 80 45 */ lis r3, __CARDBlock@ha /* 0x8044CBC0@ha */ -/* 80353E48 38 03 CB C0 */ addi r0, r3, __CARDBlock@l /* 0x8044CBC0@l */ -/* 80353E4C 7F E0 22 14 */ add r31, r0, r4 -/* 80353E50 4B FE 98 A5 */ bl OSDisableInterrupts -/* 80353E54 7C 7D 1B 78 */ mr r29, r3 -/* 80353E58 48 00 00 0C */ b lbl_80353E64 -lbl_80353E5C: -/* 80353E5C 38 7F 00 8C */ addi r3, r31, 0x8c -/* 80353E60 4B FE DD 4D */ bl OSSleepThread -lbl_80353E64: -/* 80353E64 2C 1C 00 00 */ cmpwi r28, 0 -/* 80353E68 41 80 00 0C */ blt lbl_80353E74 -/* 80353E6C 2C 1C 00 02 */ cmpwi r28, 2 -/* 80353E70 41 80 00 0C */ blt lbl_80353E7C -lbl_80353E74: -/* 80353E74 38 00 FF 80 */ li r0, -128 -/* 80353E78 48 00 00 08 */ b lbl_80353E80 -lbl_80353E7C: -/* 80353E7C 80 1F 00 04 */ lwz r0, 4(r31) -lbl_80353E80: -/* 80353E80 7C 1E 03 78 */ mr r30, r0 -/* 80353E84 2C 1E FF FF */ cmpwi r30, -1 -/* 80353E88 41 82 FF D4 */ beq lbl_80353E5C -/* 80353E8C 7F A3 EB 78 */ mr r3, r29 -/* 80353E90 4B FE 98 8D */ bl OSRestoreInterrupts -/* 80353E94 7F C3 F3 78 */ mr r3, r30 -/* 80353E98 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80353E9C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80353EA0 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80353EA4 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 80353EA8 83 81 00 10 */ lwz r28, 0x10(r1) -/* 80353EAC 38 21 00 20 */ addi r1, r1, 0x20 -/* 80353EB0 7C 08 03 A6 */ mtlr r0 -/* 80353EB4 4E 80 00 20 */ blr diff --git a/asm/dolphin/dvd/dvdlow/AlarmHandler.s b/asm/dolphin/dvd/dvdlow/AlarmHandler.s deleted file mode 100644 index 02f295f423b..00000000000 --- a/asm/dolphin/dvd/dvdlow/AlarmHandler.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_80347994: -/* 80347994 7C 08 02 A6 */ mflr r0 -/* 80347998 3C 60 80 45 */ lis r3, CommandList@ha /* 0x8044C830@ha */ -/* 8034799C 90 01 00 04 */ stw r0, 4(r1) -/* 803479A0 38 83 C8 30 */ addi r4, r3, CommandList@l /* 0x8044C830@l */ -/* 803479A4 94 21 FF F8 */ stwu r1, -8(r1) -/* 803479A8 80 0D 91 D4 */ lwz r0, NextCommandNumber(r13) -/* 803479AC 1C 00 00 14 */ mulli r0, r0, 0x14 -/* 803479B0 7C 64 00 2E */ lwzx r3, r4, r0 -/* 803479B4 2C 03 00 01 */ cmpwi r3, 1 -/* 803479B8 40 82 00 2C */ bne lbl_803479E4 -/* 803479BC 80 6D 91 D4 */ lwz r3, NextCommandNumber(r13) -/* 803479C0 7C C4 02 14 */ add r6, r4, r0 -/* 803479C4 38 03 00 01 */ addi r0, r3, 1 -/* 803479C8 90 0D 91 D4 */ stw r0, NextCommandNumber(r13) -/* 803479CC 80 66 00 04 */ lwz r3, 4(r6) -/* 803479D0 80 86 00 08 */ lwz r4, 8(r6) -/* 803479D4 80 A6 00 0C */ lwz r5, 0xc(r6) -/* 803479D8 80 C6 00 10 */ lwz r6, 0x10(r6) -/* 803479DC 48 00 00 AD */ bl Read -/* 803479E0 48 00 00 28 */ b lbl_80347A08 -lbl_803479E4: -/* 803479E4 2C 03 00 02 */ cmpwi r3, 2 -/* 803479E8 40 82 00 20 */ bne lbl_80347A08 -/* 803479EC 80 6D 91 D4 */ lwz r3, NextCommandNumber(r13) -/* 803479F0 7C 84 02 14 */ add r4, r4, r0 -/* 803479F4 38 03 00 01 */ addi r0, r3, 1 -/* 803479F8 90 0D 91 D4 */ stw r0, NextCommandNumber(r13) -/* 803479FC 80 64 00 0C */ lwz r3, 0xc(r4) -/* 80347A00 80 84 00 10 */ lwz r4, 0x10(r4) -/* 80347A04 48 00 04 AD */ bl DVDLowSeek -lbl_80347A08: -/* 80347A08 80 01 00 0C */ lwz r0, 0xc(r1) -/* 80347A0C 38 21 00 08 */ addi r1, r1, 8 -/* 80347A10 7C 08 03 A6 */ mtlr r0 -/* 80347A14 4E 80 00 20 */ blr diff --git a/asm/dolphin/dvd/dvdlow/AlarmHandlerForTimeout.s b/asm/dolphin/dvd/dvdlow/AlarmHandlerForTimeout.s deleted file mode 100644 index a150e9ebb56..00000000000 --- a/asm/dolphin/dvd/dvdlow/AlarmHandlerForTimeout.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_80347A18: -/* 80347A18 7C 08 02 A6 */ mflr r0 -/* 80347A1C 38 60 04 00 */ li r3, 0x400 -/* 80347A20 90 01 00 04 */ stw r0, 4(r1) -/* 80347A24 94 21 FD 20 */ stwu r1, -0x2e0(r1) -/* 80347A28 93 E1 02 DC */ stw r31, 0x2dc(r1) -/* 80347A2C 3B E4 00 00 */ addi r31, r4, 0 -/* 80347A30 4B FF 60 8D */ bl __OSMaskInterrupts -/* 80347A34 38 61 00 10 */ addi r3, r1, 0x10 -/* 80347A38 4B FF 45 C9 */ bl OSClearContext -/* 80347A3C 38 61 00 10 */ addi r3, r1, 0x10 -/* 80347A40 4B FF 43 F9 */ bl OSSetCurrentContext -/* 80347A44 81 8D 91 98 */ lwz r12, Callback(r13) -/* 80347A48 38 00 00 00 */ li r0, 0 -/* 80347A4C 28 0C 00 00 */ cmplwi r12, 0 -/* 80347A50 90 0D 91 98 */ stw r0, Callback(r13) -/* 80347A54 41 82 00 10 */ beq lbl_80347A64 -/* 80347A58 7D 88 03 A6 */ mtlr r12 -/* 80347A5C 38 60 00 10 */ li r3, 0x10 -/* 80347A60 4E 80 00 21 */ blrl -lbl_80347A64: -/* 80347A64 38 61 00 10 */ addi r3, r1, 0x10 -/* 80347A68 4B FF 45 99 */ bl OSClearContext -/* 80347A6C 7F E3 FB 78 */ mr r3, r31 -/* 80347A70 4B FF 43 C9 */ bl OSSetCurrentContext -/* 80347A74 80 01 02 E4 */ lwz r0, 0x2e4(r1) -/* 80347A78 83 E1 02 DC */ lwz r31, 0x2dc(r1) -/* 80347A7C 38 21 02 E0 */ addi r1, r1, 0x2e0 -/* 80347A80 7C 08 03 A6 */ mtlr r0 -/* 80347A84 4E 80 00 20 */ blr diff --git a/asm/dolphin/dvd/dvdlow/DVDLowAudioBufferConfig.s b/asm/dolphin/dvd/dvdlow/DVDLowAudioBufferConfig.s deleted file mode 100644 index 429cdb0aef8..00000000000 --- a/asm/dolphin/dvd/dvdlow/DVDLowAudioBufferConfig.s +++ /dev/null @@ -1,41 +0,0 @@ -lbl_803482EC: -/* 803482EC 7C 08 02 A6 */ mflr r0 -/* 803482F0 2C 03 00 00 */ cmpwi r3, 0 -/* 803482F4 90 01 00 04 */ stw r0, 4(r1) -/* 803482F8 38 00 00 00 */ li r0, 0 -/* 803482FC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80348300 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80348304 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80348308 90 AD 91 98 */ stw r5, Callback(r13) -/* 8034830C 90 0D 91 90 */ stw r0, StopAtNextInt(r13) -/* 80348310 41 82 00 08 */ beq lbl_80348318 -/* 80348314 3C 00 00 01 */ lis r0, 1 -lbl_80348318: -/* 80348318 64 00 E4 00 */ oris r0, r0, 0xe400 -/* 8034831C 3C 60 CC 00 */ lis r3, 0xCC00 /* 0xCC006000@ha */ -/* 80348320 7C 80 03 78 */ or r0, r4, r0 -/* 80348324 38 63 60 00 */ addi r3, r3, 0x6000 /* 0xCC006000@l */ -/* 80348328 90 03 00 08 */ stw r0, 8(r3) -/* 8034832C 38 00 00 01 */ li r0, 1 -/* 80348330 3C 80 80 00 */ lis r4, 0x8000 /* 0x800000F8@ha */ -/* 80348334 90 03 00 1C */ stw r0, 0x1c(r3) -/* 80348338 3C 60 80 45 */ lis r3, AlarmForTimeout@ha /* 0x8044C898@ha */ -/* 8034833C 3B E3 C8 98 */ addi r31, r3, AlarmForTimeout@l /* 0x8044C898@l */ -/* 80348340 80 04 00 F8 */ lwz r0, 0x00F8(r4) /* 0x800000F8@l */ -/* 80348344 38 7F 00 00 */ addi r3, r31, 0 -/* 80348348 54 00 F0 BE */ srwi r0, r0, 2 -/* 8034834C 1F C0 00 0A */ mulli r30, r0, 0xa -/* 80348350 4B FF 25 A9 */ bl OSCreateAlarm -/* 80348354 3C 60 80 34 */ lis r3, AlarmHandlerForTimeout@ha /* 0x80347A18@ha */ -/* 80348358 38 E3 7A 18 */ addi r7, r3, AlarmHandlerForTimeout@l /* 0x80347A18@l */ -/* 8034835C 38 7F 00 00 */ addi r3, r31, 0 -/* 80348360 38 DE 00 00 */ addi r6, r30, 0 -/* 80348364 38 A0 00 00 */ li r5, 0 -/* 80348368 4B FF 27 F1 */ bl OSSetAlarm -/* 8034836C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80348370 38 60 00 01 */ li r3, 1 -/* 80348374 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80348378 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8034837C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80348380 7C 08 03 A6 */ mtlr r0 -/* 80348384 4E 80 00 20 */ blr diff --git a/asm/dolphin/dvd/dvdlow/DVDLowAudioStream.s b/asm/dolphin/dvd/dvdlow/DVDLowAudioStream.s deleted file mode 100644 index c834a9193df..00000000000 --- a/asm/dolphin/dvd/dvdlow/DVDLowAudioStream.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_803481C8: -/* 803481C8 7C 08 02 A6 */ mflr r0 -/* 803481CC 90 01 00 04 */ stw r0, 4(r1) -/* 803481D0 38 00 00 00 */ li r0, 0 -/* 803481D4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 803481D8 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 803481DC 93 C1 00 18 */ stw r30, 0x18(r1) -/* 803481E0 90 CD 91 98 */ stw r6, Callback(r13) -/* 803481E4 3C C0 CC 00 */ lis r6, 0xCC00 /* 0xCC006000@ha */ -/* 803481E8 38 C6 60 00 */ addi r6, r6, 0x6000 /* 0xCC006000@l */ -/* 803481EC 90 0D 91 90 */ stw r0, StopAtNextInt(r13) -/* 803481F0 64 60 E1 00 */ oris r0, r3, 0xe100 -/* 803481F4 3C 60 80 45 */ lis r3, AlarmForTimeout@ha /* 0x8044C898@ha */ -/* 803481F8 90 06 00 08 */ stw r0, 8(r6) -/* 803481FC 54 A0 F0 BE */ srwi r0, r5, 2 -/* 80348200 3B E3 C8 98 */ addi r31, r3, AlarmForTimeout@l /* 0x8044C898@l */ -/* 80348204 90 06 00 0C */ stw r0, 0xc(r6) -/* 80348208 38 00 00 01 */ li r0, 1 -/* 8034820C 38 7F 00 00 */ addi r3, r31, 0 -/* 80348210 90 86 00 10 */ stw r4, 0x10(r6) -/* 80348214 3C 80 80 00 */ lis r4, 0x8000 /* 0x800000F8@ha */ -/* 80348218 90 06 00 1C */ stw r0, 0x1c(r6) -/* 8034821C 80 04 00 F8 */ lwz r0, 0x00F8(r4) /* 0x800000F8@l */ -/* 80348220 54 00 F0 BE */ srwi r0, r0, 2 -/* 80348224 1F C0 00 0A */ mulli r30, r0, 0xa -/* 80348228 4B FF 26 D1 */ bl OSCreateAlarm -/* 8034822C 3C 60 80 34 */ lis r3, AlarmHandlerForTimeout@ha /* 0x80347A18@ha */ -/* 80348230 38 E3 7A 18 */ addi r7, r3, AlarmHandlerForTimeout@l /* 0x80347A18@l */ -/* 80348234 38 7F 00 00 */ addi r3, r31, 0 -/* 80348238 38 DE 00 00 */ addi r6, r30, 0 -/* 8034823C 38 A0 00 00 */ li r5, 0 -/* 80348240 4B FF 29 19 */ bl OSSetAlarm -/* 80348244 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80348248 38 60 00 01 */ li r3, 1 -/* 8034824C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80348250 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80348254 38 21 00 20 */ addi r1, r1, 0x20 -/* 80348258 7C 08 03 A6 */ mtlr r0 -/* 8034825C 4E 80 00 20 */ blr diff --git a/asm/dolphin/dvd/dvdlow/DVDLowBreak.s b/asm/dolphin/dvd/dvdlow/DVDLowBreak.s deleted file mode 100644 index c7931c7a5b8..00000000000 --- a/asm/dolphin/dvd/dvdlow/DVDLowBreak.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80348444: -/* 80348444 38 00 00 01 */ li r0, 1 -/* 80348448 90 0D 91 90 */ stw r0, StopAtNextInt(r13) -/* 8034844C 38 60 00 01 */ li r3, 1 -/* 80348450 90 0D 91 B0 */ stw r0, Breaking(r13) -/* 80348454 4E 80 00 20 */ blr diff --git a/asm/dolphin/dvd/dvdlow/DVDLowInquiry.s b/asm/dolphin/dvd/dvdlow/DVDLowInquiry.s deleted file mode 100644 index 55deb044063..00000000000 --- a/asm/dolphin/dvd/dvdlow/DVDLowInquiry.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_8034812C: -/* 8034812C 7C 08 02 A6 */ mflr r0 -/* 80348130 38 C0 00 20 */ li r6, 0x20 -/* 80348134 90 01 00 04 */ stw r0, 4(r1) -/* 80348138 38 00 00 00 */ li r0, 0 -/* 8034813C 3C A0 80 00 */ lis r5, 0x8000 /* 0x800000F8@ha */ -/* 80348140 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 80348144 93 E1 00 14 */ stw r31, 0x14(r1) -/* 80348148 93 C1 00 10 */ stw r30, 0x10(r1) -/* 8034814C 90 8D 91 98 */ stw r4, Callback(r13) -/* 80348150 3C 80 CC 00 */ lis r4, 0xCC00 /* 0xCC006000@ha */ -/* 80348154 38 E4 60 00 */ addi r7, r4, 0x6000 /* 0xCC006000@l */ -/* 80348158 90 0D 91 90 */ stw r0, StopAtNextInt(r13) -/* 8034815C 3C 00 12 00 */ lis r0, 0x1200 -/* 80348160 90 04 60 08 */ stw r0, 0x6008(r4) -/* 80348164 3C 80 80 45 */ lis r4, AlarmForTimeout@ha /* 0x8044C898@ha */ -/* 80348168 38 00 00 03 */ li r0, 3 -/* 8034816C 90 C7 00 10 */ stw r6, 0x10(r7) -/* 80348170 3B E4 C8 98 */ addi r31, r4, AlarmForTimeout@l /* 0x8044C898@l */ -/* 80348174 90 67 00 14 */ stw r3, 0x14(r7) -/* 80348178 38 7F 00 00 */ addi r3, r31, 0 -/* 8034817C 90 C7 00 18 */ stw r6, 0x18(r7) -/* 80348180 90 07 00 1C */ stw r0, 0x1c(r7) -/* 80348184 80 05 00 F8 */ lwz r0, 0x00F8(r5) /* 0x800000F8@l */ -/* 80348188 54 00 F0 BE */ srwi r0, r0, 2 -/* 8034818C 1F C0 00 0A */ mulli r30, r0, 0xa -/* 80348190 4B FF 27 69 */ bl OSCreateAlarm -/* 80348194 3C 60 80 34 */ lis r3, AlarmHandlerForTimeout@ha /* 0x80347A18@ha */ -/* 80348198 38 E3 7A 18 */ addi r7, r3, AlarmHandlerForTimeout@l /* 0x80347A18@l */ -/* 8034819C 38 7F 00 00 */ addi r3, r31, 0 -/* 803481A0 38 DE 00 00 */ addi r6, r30, 0 -/* 803481A4 38 A0 00 00 */ li r5, 0 -/* 803481A8 4B FF 29 B1 */ bl OSSetAlarm -/* 803481AC 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 803481B0 38 60 00 01 */ li r3, 1 -/* 803481B4 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 803481B8 83 C1 00 10 */ lwz r30, 0x10(r1) -/* 803481BC 38 21 00 18 */ addi r1, r1, 0x18 -/* 803481C0 7C 08 03 A6 */ mtlr r0 -/* 803481C4 4E 80 00 20 */ blr diff --git a/asm/dolphin/dvd/dvdlow/DVDLowRead.s b/asm/dolphin/dvd/dvdlow/DVDLowRead.s index 5da6d3f2ee3..c25fd8d4028 100644 --- a/asm/dolphin/dvd/dvdlow/DVDLowRead.s +++ b/asm/dolphin/dvd/dvdlow/DVDLowRead.s @@ -112,7 +112,7 @@ lbl_80347D9C: /* 80347DA4 81 0D 91 C0 */ lwz r8, LastReadFinished(r13) /* 80347DA8 80 05 00 F8 */ lwz r0, 0x00F8(r5) /* 0x800000F8@l */ /* 80347DAC 3C A0 10 62 */ lis r5, 0x1062 /* 0x10624DD3@ha */ -/* 80347DB0 81 2D 91 C4 */ lwz r9, data_80451744(r13) +/* 80347DB0 81 2D 91 C4 */ lwz r9, LastReadFinished+0x4(r13) /* 80347DB4 38 C0 00 00 */ li r6, 0 /* 80347DB8 54 07 F0 BE */ srwi r7, r0, 2 /* 80347DBC 38 05 4D D3 */ addi r0, r5, 0x4DD3 /* 0x10624DD3@l */ diff --git a/asm/dolphin/dvd/dvdlow/DVDLowReadDiskID.s b/asm/dolphin/dvd/dvdlow/DVDLowReadDiskID.s deleted file mode 100644 index 8ad6896b32f..00000000000 --- a/asm/dolphin/dvd/dvdlow/DVDLowReadDiskID.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_80347F70: -/* 80347F70 7C 08 02 A6 */ mflr r0 -/* 80347F74 39 00 00 00 */ li r8, 0 -/* 80347F78 90 01 00 04 */ stw r0, 4(r1) -/* 80347F7C 3C A0 A8 00 */ lis r5, 0xA800 /* 0xA8000040@ha */ -/* 80347F80 38 05 00 40 */ addi r0, r5, 0x0040 /* 0xA8000040@l */ -/* 80347F84 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 80347F88 38 C0 00 20 */ li r6, 0x20 -/* 80347F8C 3C A0 80 00 */ lis r5, 0x8000 /* 0x800000F8@ha */ -/* 80347F90 93 E1 00 14 */ stw r31, 0x14(r1) -/* 80347F94 93 C1 00 10 */ stw r30, 0x10(r1) -/* 80347F98 90 8D 91 98 */ stw r4, Callback(r13) -/* 80347F9C 3C 80 CC 00 */ lis r4, 0xCC00 /* 0xCC006000@ha */ -/* 80347FA0 38 E4 60 00 */ addi r7, r4, 0x6000 /* 0xCC006000@l */ -/* 80347FA4 91 0D 91 90 */ stw r8, StopAtNextInt(r13) -/* 80347FA8 90 04 60 08 */ stw r0, 0x6008(r4) -/* 80347FAC 3C 80 80 45 */ lis r4, AlarmForTimeout@ha /* 0x8044C898@ha */ -/* 80347FB0 38 00 00 03 */ li r0, 3 -/* 80347FB4 91 07 00 0C */ stw r8, 0xc(r7) -/* 80347FB8 3B E4 C8 98 */ addi r31, r4, AlarmForTimeout@l /* 0x8044C898@l */ -/* 80347FBC 90 C7 00 10 */ stw r6, 0x10(r7) -/* 80347FC0 90 67 00 14 */ stw r3, 0x14(r7) -/* 80347FC4 7F E3 FB 78 */ mr r3, r31 -/* 80347FC8 90 C7 00 18 */ stw r6, 0x18(r7) -/* 80347FCC 90 07 00 1C */ stw r0, 0x1c(r7) -/* 80347FD0 80 05 00 F8 */ lwz r0, 0x00F8(r5) /* 0x800000F8@l */ -/* 80347FD4 54 00 F0 BE */ srwi r0, r0, 2 -/* 80347FD8 1F C0 00 0A */ mulli r30, r0, 0xa -/* 80347FDC 4B FF 29 1D */ bl OSCreateAlarm -/* 80347FE0 3C 60 80 34 */ lis r3, AlarmHandlerForTimeout@ha /* 0x80347A18@ha */ -/* 80347FE4 38 E3 7A 18 */ addi r7, r3, AlarmHandlerForTimeout@l /* 0x80347A18@l */ -/* 80347FE8 38 7F 00 00 */ addi r3, r31, 0 -/* 80347FEC 38 DE 00 00 */ addi r6, r30, 0 -/* 80347FF0 38 A0 00 00 */ li r5, 0 -/* 80347FF4 4B FF 2B 65 */ bl OSSetAlarm -/* 80347FF8 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 80347FFC 38 60 00 01 */ li r3, 1 -/* 80348000 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 80348004 83 C1 00 10 */ lwz r30, 0x10(r1) -/* 80348008 38 21 00 18 */ addi r1, r1, 0x18 -/* 8034800C 7C 08 03 A6 */ mtlr r0 -/* 80348010 4E 80 00 20 */ blr diff --git a/asm/dolphin/dvd/dvdlow/DVDLowRequestAudioStatus.s b/asm/dolphin/dvd/dvdlow/DVDLowRequestAudioStatus.s deleted file mode 100644 index af44ff89124..00000000000 --- a/asm/dolphin/dvd/dvdlow/DVDLowRequestAudioStatus.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_80348260: -/* 80348260 7C 08 02 A6 */ mflr r0 -/* 80348264 90 01 00 04 */ stw r0, 4(r1) -/* 80348268 38 00 00 00 */ li r0, 0 -/* 8034826C 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 80348270 93 E1 00 14 */ stw r31, 0x14(r1) -/* 80348274 93 C1 00 10 */ stw r30, 0x10(r1) -/* 80348278 90 8D 91 98 */ stw r4, Callback(r13) -/* 8034827C 3C 80 CC 00 */ lis r4, 0xCC00 /* 0xCC006000@ha */ -/* 80348280 38 84 60 00 */ addi r4, r4, 0x6000 /* 0xCC006000@l */ -/* 80348284 90 0D 91 90 */ stw r0, StopAtNextInt(r13) -/* 80348288 64 60 E2 00 */ oris r0, r3, 0xe200 -/* 8034828C 3C 60 80 45 */ lis r3, AlarmForTimeout@ha /* 0x8044C898@ha */ -/* 80348290 90 04 00 08 */ stw r0, 8(r4) -/* 80348294 38 00 00 01 */ li r0, 1 -/* 80348298 3B E3 C8 98 */ addi r31, r3, AlarmForTimeout@l /* 0x8044C898@l */ -/* 8034829C 90 04 00 1C */ stw r0, 0x1c(r4) -/* 803482A0 3C 80 80 00 */ lis r4, 0x8000 /* 0x800000F8@ha */ -/* 803482A4 38 7F 00 00 */ addi r3, r31, 0 -/* 803482A8 80 04 00 F8 */ lwz r0, 0x00F8(r4) /* 0x800000F8@l */ -/* 803482AC 54 00 F0 BE */ srwi r0, r0, 2 -/* 803482B0 1F C0 00 0A */ mulli r30, r0, 0xa -/* 803482B4 4B FF 26 45 */ bl OSCreateAlarm -/* 803482B8 3C 60 80 34 */ lis r3, AlarmHandlerForTimeout@ha /* 0x80347A18@ha */ -/* 803482BC 38 E3 7A 18 */ addi r7, r3, AlarmHandlerForTimeout@l /* 0x80347A18@l */ -/* 803482C0 38 7F 00 00 */ addi r3, r31, 0 -/* 803482C4 38 DE 00 00 */ addi r6, r30, 0 -/* 803482C8 38 A0 00 00 */ li r5, 0 -/* 803482CC 4B FF 28 8D */ bl OSSetAlarm -/* 803482D0 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 803482D4 38 60 00 01 */ li r3, 1 -/* 803482D8 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 803482DC 83 C1 00 10 */ lwz r30, 0x10(r1) -/* 803482E0 38 21 00 18 */ addi r1, r1, 0x18 -/* 803482E4 7C 08 03 A6 */ mtlr r0 -/* 803482E8 4E 80 00 20 */ blr diff --git a/asm/dolphin/dvd/dvdlow/DVDLowRequestError.s b/asm/dolphin/dvd/dvdlow/DVDLowRequestError.s deleted file mode 100644 index 72333332740..00000000000 --- a/asm/dolphin/dvd/dvdlow/DVDLowRequestError.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_803480A0: -/* 803480A0 7C 08 02 A6 */ mflr r0 -/* 803480A4 90 01 00 04 */ stw r0, 4(r1) -/* 803480A8 38 00 00 00 */ li r0, 0 -/* 803480AC 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 803480B0 93 E1 00 14 */ stw r31, 0x14(r1) -/* 803480B4 93 C1 00 10 */ stw r30, 0x10(r1) -/* 803480B8 90 6D 91 98 */ stw r3, Callback(r13) -/* 803480BC 3C 60 CC 00 */ lis r3, 0xCC00 /* 0xCC006000@ha */ -/* 803480C0 38 83 60 00 */ addi r4, r3, 0x6000 /* 0xCC006000@l */ -/* 803480C4 90 0D 91 90 */ stw r0, StopAtNextInt(r13) -/* 803480C8 3C 00 E0 00 */ lis r0, 0xe000 -/* 803480CC 90 03 60 08 */ stw r0, 0x6008(r3) -/* 803480D0 38 00 00 01 */ li r0, 1 -/* 803480D4 3C 60 80 45 */ lis r3, AlarmForTimeout@ha /* 0x8044C898@ha */ -/* 803480D8 90 04 00 1C */ stw r0, 0x1c(r4) -/* 803480DC 3C 80 80 00 */ lis r4, 0x8000 /* 0x800000F8@ha */ -/* 803480E0 3B E3 C8 98 */ addi r31, r3, AlarmForTimeout@l /* 0x8044C898@l */ -/* 803480E4 80 04 00 F8 */ lwz r0, 0x00F8(r4) /* 0x800000F8@l */ -/* 803480E8 38 7F 00 00 */ addi r3, r31, 0 -/* 803480EC 54 00 F0 BE */ srwi r0, r0, 2 -/* 803480F0 1F C0 00 0A */ mulli r30, r0, 0xa -/* 803480F4 4B FF 28 05 */ bl OSCreateAlarm -/* 803480F8 3C 60 80 34 */ lis r3, AlarmHandlerForTimeout@ha /* 0x80347A18@ha */ -/* 803480FC 38 E3 7A 18 */ addi r7, r3, AlarmHandlerForTimeout@l /* 0x80347A18@l */ -/* 80348100 38 7F 00 00 */ addi r3, r31, 0 -/* 80348104 38 DE 00 00 */ addi r6, r30, 0 -/* 80348108 38 A0 00 00 */ li r5, 0 -/* 8034810C 4B FF 2A 4D */ bl OSSetAlarm -/* 80348110 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 80348114 38 60 00 01 */ li r3, 1 -/* 80348118 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 8034811C 83 C1 00 10 */ lwz r30, 0x10(r1) -/* 80348120 38 21 00 18 */ addi r1, r1, 0x18 -/* 80348124 7C 08 03 A6 */ mtlr r0 -/* 80348128 4E 80 00 20 */ blr diff --git a/asm/dolphin/dvd/dvdlow/DVDLowReset.s b/asm/dolphin/dvd/dvdlow/DVDLowReset.s deleted file mode 100644 index 20bdb91d837..00000000000 --- a/asm/dolphin/dvd/dvdlow/DVDLowReset.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_80348388: -/* 80348388 7C 08 02 A6 */ mflr r0 -/* 8034838C 3C 80 CC 00 */ lis r4, 0xCC00 /* 0xCC003000@ha */ -/* 80348390 90 01 00 04 */ stw r0, 4(r1) -/* 80348394 38 00 00 02 */ li r0, 2 -/* 80348398 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8034839C BF 41 00 08 */ stmw r26, 8(r1) -/* 803483A0 3B E4 30 00 */ addi r31, r4, 0x3000 /* 0xCC003000@l */ -/* 803483A4 90 04 60 04 */ stw r0, 0x6004(r4) -/* 803483A8 83 C4 30 24 */ lwz r30, 0x3024(r4) -/* 803483AC 57 C0 07 B8 */ rlwinm r0, r30, 0, 0x1e, 0x1c -/* 803483B0 60 00 00 01 */ ori r0, r0, 1 -/* 803483B4 94 1F 00 24 */ stwu r0, 0x24(r31) -/* 803483B8 4B FF A3 65 */ bl __OSGetSystemTime -/* 803483BC 3C A0 80 00 */ lis r5, 0x8000 /* 0x800000F8@ha */ -/* 803483C0 80 05 00 F8 */ lwz r0, 0x00F8(r5) /* 0x800000F8@l */ -/* 803483C4 3C A0 43 1C */ lis r5, 0x431C /* 0x431BDE83@ha */ -/* 803483C8 38 A5 DE 83 */ addi r5, r5, 0xDE83 /* 0x431BDE83@l */ -/* 803483CC 54 00 F0 BE */ srwi r0, r0, 2 -/* 803483D0 7C 05 00 16 */ mulhwu r0, r5, r0 -/* 803483D4 54 00 8B FE */ srwi r0, r0, 0xf -/* 803483D8 1C 00 00 0C */ mulli r0, r0, 0xc -/* 803483DC 3B 44 00 00 */ addi r26, r4, 0 -/* 803483E0 3B 63 00 00 */ addi r27, r3, 0 -/* 803483E4 54 1C E8 FE */ srwi r28, r0, 3 -/* 803483E8 3B A0 00 00 */ li r29, 0 -lbl_803483EC: -/* 803483EC 4B FF A3 31 */ bl __OSGetSystemTime -/* 803483F0 7C BA 20 10 */ subfc r5, r26, r4 -/* 803483F4 7C 1B 19 10 */ subfe r0, r27, r3 -/* 803483F8 6C 04 80 00 */ xoris r4, r0, 0x8000 -/* 803483FC 6F A3 80 00 */ xoris r3, r29, 0x8000 -/* 80348400 7C 1C 28 10 */ subfc r0, r28, r5 -/* 80348404 7C 63 21 10 */ subfe r3, r3, r4 -/* 80348408 7C 64 21 10 */ subfe r3, r4, r4 -/* 8034840C 7C 63 00 D1 */ neg. r3, r3 -/* 80348410 40 82 FF DC */ bne lbl_803483EC -/* 80348414 63 C0 00 05 */ ori r0, r30, 5 -/* 80348418 90 1F 00 00 */ stw r0, 0(r31) -/* 8034841C 38 00 00 01 */ li r0, 1 -/* 80348420 90 0D 91 A8 */ stw r0, ResetOccurred(r13) -/* 80348424 4B FF A2 F9 */ bl __OSGetSystemTime -/* 80348428 90 8D 91 A4 */ stw r4, data_80451724(r13) -/* 8034842C 90 6D 91 A0 */ stw r3, LastResetEnd(r13) -/* 80348430 BB 41 00 08 */ lmw r26, 8(r1) -/* 80348434 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80348438 38 21 00 20 */ addi r1, r1, 0x20 -/* 8034843C 7C 08 03 A6 */ mtlr r0 -/* 80348440 4E 80 00 20 */ blr diff --git a/asm/dolphin/dvd/dvdlow/DVDLowSeek.s b/asm/dolphin/dvd/dvdlow/DVDLowSeek.s deleted file mode 100644 index 77f831eac32..00000000000 --- a/asm/dolphin/dvd/dvdlow/DVDLowSeek.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_80347EB0: -/* 80347EB0 7C 08 02 A6 */ mflr r0 -/* 80347EB4 90 01 00 04 */ stw r0, 4(r1) -/* 80347EB8 38 00 00 00 */ li r0, 0 -/* 80347EBC 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 80347EC0 93 E1 00 14 */ stw r31, 0x14(r1) -/* 80347EC4 93 C1 00 10 */ stw r30, 0x10(r1) -/* 80347EC8 90 8D 91 98 */ stw r4, Callback(r13) -/* 80347ECC 3C 80 CC 00 */ lis r4, 0xCC00 /* 0xCC006000@ha */ -/* 80347ED0 38 84 60 00 */ addi r4, r4, 0x6000 /* 0xCC006000@l */ -/* 80347ED4 90 0D 91 90 */ stw r0, StopAtNextInt(r13) -/* 80347ED8 3C 00 AB 00 */ lis r0, 0xab00 -/* 80347EDC 90 04 00 08 */ stw r0, 8(r4) -/* 80347EE0 54 60 F0 BE */ srwi r0, r3, 2 -/* 80347EE4 3C 60 80 45 */ lis r3, AlarmForTimeout@ha /* 0x8044C898@ha */ -/* 80347EE8 90 04 00 0C */ stw r0, 0xc(r4) -/* 80347EEC 38 00 00 01 */ li r0, 1 -/* 80347EF0 3B E3 C8 98 */ addi r31, r3, AlarmForTimeout@l /* 0x8044C898@l */ -/* 80347EF4 90 04 00 1C */ stw r0, 0x1c(r4) -/* 80347EF8 3C 80 80 00 */ lis r4, 0x8000 /* 0x800000F8@ha */ -/* 80347EFC 38 7F 00 00 */ addi r3, r31, 0 -/* 80347F00 80 04 00 F8 */ lwz r0, 0x00F8(r4) /* 0x800000F8@l */ -/* 80347F04 54 00 F0 BE */ srwi r0, r0, 2 -/* 80347F08 1F C0 00 0A */ mulli r30, r0, 0xa -/* 80347F0C 4B FF 29 ED */ bl OSCreateAlarm -/* 80347F10 3C 60 80 34 */ lis r3, AlarmHandlerForTimeout@ha /* 0x80347A18@ha */ -/* 80347F14 38 E3 7A 18 */ addi r7, r3, AlarmHandlerForTimeout@l /* 0x80347A18@l */ -/* 80347F18 38 7F 00 00 */ addi r3, r31, 0 -/* 80347F1C 38 DE 00 00 */ addi r6, r30, 0 -/* 80347F20 38 A0 00 00 */ li r5, 0 -/* 80347F24 4B FF 2C 35 */ bl OSSetAlarm -/* 80347F28 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 80347F2C 38 60 00 01 */ li r3, 1 -/* 80347F30 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 80347F34 83 C1 00 10 */ lwz r30, 0x10(r1) -/* 80347F38 38 21 00 18 */ addi r1, r1, 0x18 -/* 80347F3C 7C 08 03 A6 */ mtlr r0 -/* 80347F40 4E 80 00 20 */ blr diff --git a/asm/dolphin/dvd/dvdlow/DVDLowStopMotor.s b/asm/dolphin/dvd/dvdlow/DVDLowStopMotor.s deleted file mode 100644 index bd949116882..00000000000 --- a/asm/dolphin/dvd/dvdlow/DVDLowStopMotor.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_80348014: -/* 80348014 7C 08 02 A6 */ mflr r0 -/* 80348018 90 01 00 04 */ stw r0, 4(r1) -/* 8034801C 38 00 00 00 */ li r0, 0 -/* 80348020 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 80348024 93 E1 00 14 */ stw r31, 0x14(r1) -/* 80348028 93 C1 00 10 */ stw r30, 0x10(r1) -/* 8034802C 90 6D 91 98 */ stw r3, Callback(r13) -/* 80348030 3C 60 CC 00 */ lis r3, 0xCC00 /* 0xCC006000@ha */ -/* 80348034 38 83 60 00 */ addi r4, r3, 0x6000 /* 0xCC006000@l */ -/* 80348038 90 0D 91 90 */ stw r0, StopAtNextInt(r13) -/* 8034803C 3C 00 E3 00 */ lis r0, 0xe300 -/* 80348040 90 03 60 08 */ stw r0, 0x6008(r3) -/* 80348044 38 00 00 01 */ li r0, 1 -/* 80348048 3C 60 80 45 */ lis r3, AlarmForTimeout@ha /* 0x8044C898@ha */ -/* 8034804C 90 04 00 1C */ stw r0, 0x1c(r4) -/* 80348050 3C 80 80 00 */ lis r4, 0x8000 /* 0x800000F8@ha */ -/* 80348054 3B E3 C8 98 */ addi r31, r3, AlarmForTimeout@l /* 0x8044C898@l */ -/* 80348058 80 04 00 F8 */ lwz r0, 0x00F8(r4) /* 0x800000F8@l */ -/* 8034805C 38 7F 00 00 */ addi r3, r31, 0 -/* 80348060 54 00 F0 BE */ srwi r0, r0, 2 -/* 80348064 1F C0 00 0A */ mulli r30, r0, 0xa -/* 80348068 4B FF 28 91 */ bl OSCreateAlarm -/* 8034806C 3C 60 80 34 */ lis r3, AlarmHandlerForTimeout@ha /* 0x80347A18@ha */ -/* 80348070 38 E3 7A 18 */ addi r7, r3, AlarmHandlerForTimeout@l /* 0x80347A18@l */ -/* 80348074 38 7F 00 00 */ addi r3, r31, 0 -/* 80348078 38 DE 00 00 */ addi r6, r30, 0 -/* 8034807C 38 A0 00 00 */ li r5, 0 -/* 80348080 4B FF 2A D9 */ bl OSSetAlarm -/* 80348084 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 80348088 38 60 00 01 */ li r3, 1 -/* 8034808C 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 80348090 83 C1 00 10 */ lwz r30, 0x10(r1) -/* 80348094 38 21 00 18 */ addi r1, r1, 0x18 -/* 80348098 7C 08 03 A6 */ mtlr r0 -/* 8034809C 4E 80 00 20 */ blr diff --git a/asm/dolphin/dvd/dvdlow/DVDLowWaitCoverClose.s b/asm/dolphin/dvd/dvdlow/DVDLowWaitCoverClose.s deleted file mode 100644 index 52d15755c38..00000000000 --- a/asm/dolphin/dvd/dvdlow/DVDLowWaitCoverClose.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80347F44: -/* 80347F44 38 00 00 01 */ li r0, 1 -/* 80347F48 90 6D 91 98 */ stw r3, Callback(r13) -/* 80347F4C 3C 60 CC 00 */ lis r3, 0xCC00 /* 0xCC006000@ha */ -/* 80347F50 90 0D 91 AC */ stw r0, WaitingCoverClose(r13) -/* 80347F54 38 00 00 00 */ li r0, 0 -/* 80347F58 38 83 60 00 */ addi r4, r3, 0x6000 /* 0xCC006000@l */ -/* 80347F5C 90 0D 91 90 */ stw r0, StopAtNextInt(r13) -/* 80347F60 38 00 00 02 */ li r0, 2 -/* 80347F64 38 60 00 01 */ li r3, 1 -/* 80347F68 90 04 00 04 */ stw r0, 4(r4) -/* 80347F6C 4E 80 00 20 */ blr diff --git a/asm/dolphin/dvd/dvdlow/Read.s b/asm/dolphin/dvd/dvdlow/Read.s deleted file mode 100644 index 3a9fd2df2ec..00000000000 --- a/asm/dolphin/dvd/dvdlow/Read.s +++ /dev/null @@ -1,71 +0,0 @@ -lbl_80347A88: -/* 80347A88 7C 08 02 A6 */ mflr r0 -/* 80347A8C 90 01 00 04 */ stw r0, 4(r1) -/* 80347A90 38 00 00 00 */ li r0, 0 -/* 80347A94 94 21 FF D8 */ stwu r1, -0x28(r1) -/* 80347A98 93 E1 00 24 */ stw r31, 0x24(r1) -/* 80347A9C 93 C1 00 20 */ stw r30, 0x20(r1) -/* 80347AA0 3B C5 00 00 */ addi r30, r5, 0 -/* 80347AA4 93 A1 00 1C */ stw r29, 0x1c(r1) -/* 80347AA8 3B A4 00 00 */ addi r29, r4, 0 -/* 80347AAC 93 81 00 18 */ stw r28, 0x18(r1) -/* 80347AB0 3B 83 00 00 */ addi r28, r3, 0 -/* 80347AB4 90 0D 91 90 */ stw r0, StopAtNextInt(r13) -/* 80347AB8 38 00 00 01 */ li r0, 1 -/* 80347ABC 90 CD 91 98 */ stw r6, Callback(r13) -/* 80347AC0 3C C0 80 45 */ lis r6, CommandList@ha /* 0x8044C830@ha */ -/* 80347AC4 3B E6 C8 30 */ addi r31, r6, CommandList@l /* 0x8044C830@l */ -/* 80347AC8 90 0D 91 D0 */ stw r0, LastCommandWasRead(r13) -/* 80347ACC 4B FF AC 51 */ bl __OSGetSystemTime -/* 80347AD0 90 8D 91 CC */ stw r4, data_8045174C(r13) -/* 80347AD4 3C 80 CC 00 */ lis r4, 0xCC00 /* 0xCC006000@ha */ -/* 80347AD8 3C 00 00 A0 */ lis r0, 0xa0 -/* 80347ADC 90 6D 91 C8 */ stw r3, LastReadIssued(r13) -/* 80347AE0 38 84 60 00 */ addi r4, r4, 0x6000 /* 0xCC006000@l */ -/* 80347AE4 3C 60 A8 00 */ lis r3, 0xa800 -/* 80347AE8 90 64 00 08 */ stw r3, 8(r4) -/* 80347AEC 57 C3 F0 BE */ srwi r3, r30, 2 -/* 80347AF0 7C 1D 00 40 */ cmplw r29, r0 -/* 80347AF4 90 64 00 0C */ stw r3, 0xc(r4) -/* 80347AF8 38 00 00 03 */ li r0, 3 -/* 80347AFC 93 A4 00 10 */ stw r29, 0x10(r4) -/* 80347B00 93 84 00 14 */ stw r28, 0x14(r4) -/* 80347B04 93 A4 00 18 */ stw r29, 0x18(r4) -/* 80347B08 93 AD 91 94 */ stw r29, LastLength(r13) -/* 80347B0C 90 04 00 1C */ stw r0, 0x1c(r4) -/* 80347B10 40 81 00 38 */ ble lbl_80347B48 -/* 80347B14 3C 60 80 00 */ lis r3, 0x8000 /* 0x800000F8@ha */ -/* 80347B18 80 03 00 F8 */ lwz r0, 0x00F8(r3) /* 0x800000F8@l */ -/* 80347B1C 38 7F 00 68 */ addi r3, r31, 0x68 -/* 80347B20 54 00 F0 BE */ srwi r0, r0, 2 -/* 80347B24 1F C0 00 14 */ mulli r30, r0, 0x14 -/* 80347B28 4B FF 2D D1 */ bl OSCreateAlarm -/* 80347B2C 3C 60 80 34 */ lis r3, AlarmHandlerForTimeout@ha /* 0x80347A18@ha */ -/* 80347B30 38 E3 7A 18 */ addi r7, r3, AlarmHandlerForTimeout@l /* 0x80347A18@l */ -/* 80347B34 38 DE 00 00 */ addi r6, r30, 0 -/* 80347B38 38 7F 00 68 */ addi r3, r31, 0x68 -/* 80347B3C 38 A0 00 00 */ li r5, 0 -/* 80347B40 4B FF 30 19 */ bl OSSetAlarm -/* 80347B44 48 00 00 34 */ b lbl_80347B78 -lbl_80347B48: -/* 80347B48 3C 60 80 00 */ lis r3, 0x8000 /* 0x800000F8@ha */ -/* 80347B4C 80 03 00 F8 */ lwz r0, 0x00F8(r3) /* 0x800000F8@l */ -/* 80347B50 38 7F 00 68 */ addi r3, r31, 0x68 -/* 80347B54 54 00 F0 BE */ srwi r0, r0, 2 -/* 80347B58 1F C0 00 0A */ mulli r30, r0, 0xa -/* 80347B5C 4B FF 2D 9D */ bl OSCreateAlarm -/* 80347B60 3C 60 80 34 */ lis r3, AlarmHandlerForTimeout@ha /* 0x80347A18@ha */ -/* 80347B64 38 E3 7A 18 */ addi r7, r3, AlarmHandlerForTimeout@l /* 0x80347A18@l */ -/* 80347B68 38 DE 00 00 */ addi r6, r30, 0 -/* 80347B6C 38 7F 00 68 */ addi r3, r31, 0x68 -/* 80347B70 38 A0 00 00 */ li r5, 0 -/* 80347B74 4B FF 2F E5 */ bl OSSetAlarm -lbl_80347B78: -/* 80347B78 80 01 00 2C */ lwz r0, 0x2c(r1) -/* 80347B7C 83 E1 00 24 */ lwz r31, 0x24(r1) -/* 80347B80 83 C1 00 20 */ lwz r30, 0x20(r1) -/* 80347B84 83 A1 00 1C */ lwz r29, 0x1c(r1) -/* 80347B88 83 81 00 18 */ lwz r28, 0x18(r1) -/* 80347B8C 38 21 00 28 */ addi r1, r1, 0x28 -/* 80347B90 7C 08 03 A6 */ mtlr r0 -/* 80347B94 4E 80 00 20 */ blr diff --git a/asm/dolphin/dvd/dvdlow/SeekTwiceBeforeRead.s b/asm/dolphin/dvd/dvdlow/SeekTwiceBeforeRead.s deleted file mode 100644 index 8916051946e..00000000000 --- a/asm/dolphin/dvd/dvdlow/SeekTwiceBeforeRead.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_80347B98: -/* 80347B98 7C 08 02 A6 */ mflr r0 -/* 80347B9C 3C E0 80 45 */ lis r7, CommandList@ha /* 0x8044C830@ha */ -/* 80347BA0 90 01 00 04 */ stw r0, 4(r1) -/* 80347BA4 54 A8 00 21 */ rlwinm. r8, r5, 0, 0, 0x10 -/* 80347BA8 39 27 C8 30 */ addi r9, r7, CommandList@l /* 0x8044C830@l */ -/* 80347BAC 94 21 FF F8 */ stwu r1, -8(r1) -/* 80347BB0 40 82 00 0C */ bne lbl_80347BBC -/* 80347BB4 39 40 00 00 */ li r10, 0 -/* 80347BB8 48 00 00 0C */ b lbl_80347BC4 -lbl_80347BBC: -/* 80347BBC 80 0D 91 B8 */ lwz r0, WorkAroundSeekLocation(r13) -/* 80347BC0 7D 48 02 14 */ add r10, r8, r0 -lbl_80347BC4: -/* 80347BC4 38 00 00 02 */ li r0, 2 -/* 80347BC8 90 09 00 00 */ stw r0, 0(r9) -/* 80347BCC 39 00 00 01 */ li r8, 1 -/* 80347BD0 38 E0 FF FF */ li r7, -1 -/* 80347BD4 91 49 00 0C */ stw r10, 0xc(r9) -/* 80347BD8 38 00 00 00 */ li r0, 0 -/* 80347BDC 90 C9 00 10 */ stw r6, 0x10(r9) -/* 80347BE0 91 09 00 14 */ stw r8, 0x14(r9) -/* 80347BE4 90 69 00 18 */ stw r3, 0x18(r9) -/* 80347BE8 7D 43 53 78 */ mr r3, r10 -/* 80347BEC 90 89 00 1C */ stw r4, 0x1c(r9) -/* 80347BF0 7C C4 33 78 */ mr r4, r6 -/* 80347BF4 90 A9 00 20 */ stw r5, 0x20(r9) -/* 80347BF8 90 C9 00 24 */ stw r6, 0x24(r9) -/* 80347BFC 90 E9 00 28 */ stw r7, 0x28(r9) -/* 80347C00 90 0D 91 D4 */ stw r0, NextCommandNumber(r13) -/* 80347C04 48 00 02 AD */ bl DVDLowSeek -/* 80347C08 80 01 00 0C */ lwz r0, 0xc(r1) -/* 80347C0C 38 21 00 08 */ addi r1, r1, 8 -/* 80347C10 7C 08 03 A6 */ mtlr r0 -/* 80347C14 4E 80 00 20 */ blr diff --git a/asm/dolphin/dvd/dvdlow/__DVDInitWA.s b/asm/dolphin/dvd/dvdlow/__DVDInitWA.s deleted file mode 100644 index 9af34c66914..00000000000 --- a/asm/dolphin/dvd/dvdlow/__DVDInitWA.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80347674: -/* 80347674 7C 08 02 A6 */ mflr r0 -/* 80347678 3C 60 80 45 */ lis r3, CommandList@ha /* 0x8044C830@ha */ -/* 8034767C 90 01 00 04 */ stw r0, 4(r1) -/* 80347680 38 00 00 00 */ li r0, 0 -/* 80347684 38 80 00 00 */ li r4, 0 -/* 80347688 94 21 FF F8 */ stwu r1, -8(r1) -/* 8034768C 90 0D 91 D4 */ stw r0, NextCommandNumber(r13) -/* 80347690 38 00 FF FF */ li r0, -1 -/* 80347694 90 03 C8 30 */ stw r0, CommandList@l(r3) /* 0x8044C830@l */ -/* 80347698 38 60 00 00 */ li r3, 0 -/* 8034769C 48 00 0D D9 */ bl __DVDLowSetWAType -/* 803476A0 4B FF 32 01 */ bl OSInitAlarm -/* 803476A4 80 01 00 0C */ lwz r0, 0xc(r1) -/* 803476A8 38 21 00 08 */ addi r1, r1, 8 -/* 803476AC 7C 08 03 A6 */ mtlr r0 -/* 803476B0 4E 80 00 20 */ blr diff --git a/asm/dolphin/dvd/dvdlow/__DVDInterruptHandler.s b/asm/dolphin/dvd/dvdlow/__DVDInterruptHandler.s deleted file mode 100644 index 1f81f7fc1d0..00000000000 --- a/asm/dolphin/dvd/dvdlow/__DVDInterruptHandler.s +++ /dev/null @@ -1,205 +0,0 @@ -lbl_803476B4: -/* 803476B4 7C 08 02 A6 */ mflr r0 -/* 803476B8 3C 60 80 45 */ lis r3, CommandList@ha /* 0x8044C830@ha */ -/* 803476BC 90 01 00 04 */ stw r0, 4(r1) -/* 803476C0 94 21 FD 10 */ stwu r1, -0x2f0(r1) -/* 803476C4 BF 61 02 DC */ stmw r27, 0x2dc(r1) -/* 803476C8 3B 84 00 00 */ addi r28, r4, 0 -/* 803476CC 3B C3 C8 30 */ addi r30, r3, CommandList@l /* 0x8044C830@l */ -/* 803476D0 3B A0 00 00 */ li r29, 0 -/* 803476D4 80 0D 91 D0 */ lwz r0, LastCommandWasRead(r13) -/* 803476D8 2C 00 00 00 */ cmpwi r0, 0 -/* 803476DC 41 82 00 40 */ beq lbl_8034771C -/* 803476E0 4B FF B0 3D */ bl __OSGetSystemTime -/* 803476E4 90 8D 91 C4 */ stw r4, data_80451744(r13) -/* 803476E8 38 00 00 00 */ li r0, 0 -/* 803476EC 90 6D 91 C0 */ stw r3, LastReadFinished(r13) -/* 803476F0 90 0D 84 58 */ stw r0, FirstRead(r13) -/* 803476F4 80 1E 00 C4 */ lwz r0, 0xc4(r30) -/* 803476F8 90 1E 00 B8 */ stw r0, 0xb8(r30) -/* 803476FC 80 1E 00 C8 */ lwz r0, 0xc8(r30) -/* 80347700 90 1E 00 BC */ stw r0, 0xbc(r30) -/* 80347704 80 1E 00 CC */ lwz r0, 0xcc(r30) -/* 80347708 90 1E 00 C0 */ stw r0, 0xc0(r30) -/* 8034770C 80 0D 91 90 */ lwz r0, StopAtNextInt(r13) -/* 80347710 2C 00 00 01 */ cmpwi r0, 1 -/* 80347714 40 82 00 08 */ bne lbl_8034771C -/* 80347718 63 BD 00 08 */ ori r29, r29, 8 -lbl_8034771C: -/* 8034771C 38 00 00 00 */ li r0, 0 -/* 80347720 90 0D 91 D0 */ stw r0, LastCommandWasRead(r13) -/* 80347724 3C 60 CC 00 */ lis r3, 0xCC00 /* 0xCC006000@ha */ -/* 80347728 90 0D 91 90 */ stw r0, StopAtNextInt(r13) -/* 8034772C 80 03 60 00 */ lwz r0, 0x6000(r3) /* 0xCC006000@l */ -/* 80347730 70 1F 00 2A */ andi. r31, r0, 0x2a -/* 80347734 70 03 00 54 */ andi. r3, r0, 0x54 -/* 80347738 57 E0 08 3C */ slwi r0, r31, 1 -/* 8034773C 7C 7B 00 38 */ and r27, r3, r0 -/* 80347740 57 60 06 73 */ rlwinm. r0, r27, 0, 0x19, 0x19 -/* 80347744 41 82 00 08 */ beq lbl_8034774C -/* 80347748 63 BD 00 08 */ ori r29, r29, 8 -lbl_8034774C: -/* 8034774C 57 60 06 F7 */ rlwinm. r0, r27, 0, 0x1b, 0x1b -/* 80347750 41 82 00 08 */ beq lbl_80347758 -/* 80347754 63 BD 00 01 */ ori r29, r29, 1 -lbl_80347758: -/* 80347758 57 60 07 7B */ rlwinm. r0, r27, 0, 0x1d, 0x1d -/* 8034775C 41 82 00 08 */ beq lbl_80347764 -/* 80347760 63 BD 00 02 */ ori r29, r29, 2 -lbl_80347764: -/* 80347764 28 1D 00 00 */ cmplwi r29, 0 -/* 80347768 41 82 00 14 */ beq lbl_8034777C -/* 8034776C 38 00 00 00 */ li r0, 0 -/* 80347770 90 0D 91 A8 */ stw r0, ResetOccurred(r13) -/* 80347774 38 7E 00 68 */ addi r3, r30, 0x68 -/* 80347778 4B FF 34 C5 */ bl OSCancelAlarm -lbl_8034777C: -/* 8034777C 7F 60 FB 78 */ or r0, r27, r31 -/* 80347780 3F E0 CC 00 */ lis r31, 0xCC00 /* 0xCC006000@ha */ -/* 80347784 90 1F 60 00 */ stw r0, 0x6000(r31) /* 0xCC006000@l */ -/* 80347788 80 0D 91 A8 */ lwz r0, ResetOccurred(r13) -/* 8034778C 28 00 00 00 */ cmplwi r0, 0 -/* 80347790 41 82 00 A0 */ beq lbl_80347830 -/* 80347794 4B FF AF 89 */ bl __OSGetSystemTime -/* 80347798 3C A0 80 00 */ lis r5, 0x8000 /* 0x800000F8@ha */ -/* 8034779C 80 ED 91 A0 */ lwz r7, LastResetEnd(r13) -/* 803477A0 80 C5 00 F8 */ lwz r6, 0x00F8(r5) /* 0x800000F8@l */ -/* 803477A4 3C A0 10 62 */ lis r5, 0x1062 /* 0x10624DD3@ha */ -/* 803477A8 38 A5 4D D3 */ addi r5, r5, 0x4DD3 /* 0x10624DD3@l */ -/* 803477AC 81 0D 91 A4 */ lwz r8, data_80451724(r13) -/* 803477B0 54 C6 F0 BE */ srwi r6, r6, 2 -/* 803477B4 7C A5 30 16 */ mulhwu r5, r5, r6 -/* 803477B8 54 A5 D1 BE */ srwi r5, r5, 6 -/* 803477BC 1C A5 00 C8 */ mulli r5, r5, 0xc8 -/* 803477C0 7C C8 20 10 */ subfc r6, r8, r4 -/* 803477C4 7C 67 19 10 */ subfe r3, r7, r3 -/* 803477C8 38 00 00 00 */ li r0, 0 -/* 803477CC 6C 64 80 00 */ xoris r4, r3, 0x8000 -/* 803477D0 6C 03 80 00 */ xoris r3, r0, 0x8000 -/* 803477D4 7C 05 30 10 */ subfc r0, r5, r6 -/* 803477D8 7C 63 21 10 */ subfe r3, r3, r4 -/* 803477DC 7C 64 21 10 */ subfe r3, r4, r4 -/* 803477E0 7C 63 00 D1 */ neg. r3, r3 -/* 803477E4 41 82 00 4C */ beq lbl_80347830 -/* 803477E8 3B 7F 60 00 */ addi r27, r31, 0x6000 -/* 803477EC 84 1B 00 04 */ lwzu r0, 4(r27) -/* 803477F0 54 03 07 7A */ rlwinm r3, r0, 0, 0x1d, 0x1d -/* 803477F4 54 00 0F 7A */ rlwinm r0, r0, 1, 0x1d, 0x1d -/* 803477F8 7C 60 00 38 */ and r0, r3, r0 -/* 803477FC 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 80347800 41 82 00 24 */ beq lbl_80347824 -/* 80347804 81 8D 91 9C */ lwz r12, ResetCoverCallback(r13) -/* 80347808 28 0C 00 00 */ cmplwi r12, 0 -/* 8034780C 41 82 00 10 */ beq lbl_8034781C -/* 80347810 7D 88 03 A6 */ mtlr r12 -/* 80347814 38 60 00 04 */ li r3, 4 -/* 80347818 4E 80 00 21 */ blrl -lbl_8034781C: -/* 8034781C 38 00 00 00 */ li r0, 0 -/* 80347820 90 0D 91 9C */ stw r0, ResetCoverCallback(r13) -lbl_80347824: -/* 80347824 80 1B 00 00 */ lwz r0, 0(r27) -/* 80347828 90 1B 00 00 */ stw r0, 0(r27) -/* 8034782C 48 00 00 58 */ b lbl_80347884 -lbl_80347830: -/* 80347830 80 0D 91 AC */ lwz r0, WaitingCoverClose(r13) -/* 80347834 2C 00 00 00 */ cmpwi r0, 0 -/* 80347838 41 82 00 40 */ beq lbl_80347878 -/* 8034783C 3C 60 CC 00 */ lis r3, 0xCC00 /* 0xCC006000@ha */ -/* 80347840 38 A3 60 00 */ addi r5, r3, 0x6000 /* 0xCC006000@l */ -/* 80347844 84 05 00 04 */ lwzu r0, 4(r5) -/* 80347848 54 04 07 BC */ rlwinm r4, r0, 0, 0x1e, 0x1e -/* 8034784C 54 03 07 7A */ rlwinm r3, r0, 0, 0x1d, 0x1d -/* 80347850 54 00 0F 7A */ rlwinm r0, r0, 1, 0x1d, 0x1d -/* 80347854 7C 63 00 38 */ and r3, r3, r0 -/* 80347858 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d -/* 8034785C 41 82 00 08 */ beq lbl_80347864 -/* 80347860 63 BD 00 04 */ ori r29, r29, 4 -lbl_80347864: -/* 80347864 7C 60 23 78 */ or r0, r3, r4 -/* 80347868 90 05 00 00 */ stw r0, 0(r5) -/* 8034786C 38 00 00 00 */ li r0, 0 -/* 80347870 90 0D 91 AC */ stw r0, WaitingCoverClose(r13) -/* 80347874 48 00 00 10 */ b lbl_80347884 -lbl_80347878: -/* 80347878 3C 60 CC 00 */ lis r3, 0xCC00 /* 0xCC006004@ha */ -/* 8034787C 38 00 00 00 */ li r0, 0 -/* 80347880 90 03 60 04 */ stw r0, 0x6004(r3) /* 0xCC006004@l */ -lbl_80347884: -/* 80347884 57 A0 07 39 */ rlwinm. r0, r29, 0, 0x1c, 0x1c -/* 80347888 41 82 00 14 */ beq lbl_8034789C -/* 8034788C 80 0D 91 B0 */ lwz r0, Breaking(r13) -/* 80347890 2C 00 00 00 */ cmpwi r0, 0 -/* 80347894 40 82 00 08 */ bne lbl_8034789C -/* 80347898 57 BD 07 76 */ rlwinm r29, r29, 0, 0x1d, 0x1b -lbl_8034789C: -/* 8034789C 57 A0 07 FF */ clrlwi. r0, r29, 0x1f -/* 803478A0 41 82 00 80 */ beq lbl_80347920 -/* 803478A4 80 0D 91 D4 */ lwz r0, NextCommandNumber(r13) -/* 803478A8 1C 00 00 14 */ mulli r0, r0, 0x14 -/* 803478AC 7C 7E 00 2E */ lwzx r3, r30, r0 -/* 803478B0 2C 03 00 01 */ cmpwi r3, 1 -/* 803478B4 40 82 00 30 */ bne lbl_803478E4 -/* 803478B8 80 6D 91 D4 */ lwz r3, NextCommandNumber(r13) -/* 803478BC 7C DE 02 14 */ add r6, r30, r0 -/* 803478C0 38 03 00 01 */ addi r0, r3, 1 -/* 803478C4 90 0D 91 D4 */ stw r0, NextCommandNumber(r13) -/* 803478C8 80 66 00 04 */ lwz r3, 4(r6) -/* 803478CC 80 86 00 08 */ lwz r4, 8(r6) -/* 803478D0 80 A6 00 0C */ lwz r5, 0xc(r6) -/* 803478D4 80 C6 00 10 */ lwz r6, 0x10(r6) -/* 803478D8 48 00 01 B1 */ bl Read -/* 803478DC 38 00 00 01 */ li r0, 1 -/* 803478E0 48 00 00 34 */ b lbl_80347914 -lbl_803478E4: -/* 803478E4 2C 03 00 02 */ cmpwi r3, 2 -/* 803478E8 40 82 00 28 */ bne lbl_80347910 -/* 803478EC 80 6D 91 D4 */ lwz r3, NextCommandNumber(r13) -/* 803478F0 7C 9E 02 14 */ add r4, r30, r0 -/* 803478F4 38 03 00 01 */ addi r0, r3, 1 -/* 803478F8 90 0D 91 D4 */ stw r0, NextCommandNumber(r13) -/* 803478FC 80 64 00 0C */ lwz r3, 0xc(r4) -/* 80347900 80 84 00 10 */ lwz r4, 0x10(r4) -/* 80347904 48 00 05 AD */ bl DVDLowSeek -/* 80347908 38 00 00 01 */ li r0, 1 -/* 8034790C 48 00 00 08 */ b lbl_80347914 -lbl_80347910: -/* 80347910 38 00 00 00 */ li r0, 0 -lbl_80347914: -/* 80347914 2C 00 00 00 */ cmpwi r0, 0 -/* 80347918 41 82 00 18 */ beq lbl_80347930 -/* 8034791C 48 00 00 64 */ b lbl_80347980 -lbl_80347920: -/* 80347920 38 00 FF FF */ li r0, -1 -/* 80347924 90 1E 00 00 */ stw r0, 0(r30) -/* 80347928 38 00 00 00 */ li r0, 0 -/* 8034792C 90 0D 91 D4 */ stw r0, NextCommandNumber(r13) -lbl_80347930: -/* 80347930 38 61 00 10 */ addi r3, r1, 0x10 -/* 80347934 4B FF 46 CD */ bl OSClearContext -/* 80347938 38 61 00 10 */ addi r3, r1, 0x10 -/* 8034793C 4B FF 44 FD */ bl OSSetCurrentContext -/* 80347940 28 1D 00 00 */ cmplwi r29, 0 -/* 80347944 41 82 00 2C */ beq lbl_80347970 -/* 80347948 81 8D 91 98 */ lwz r12, Callback(r13) -/* 8034794C 38 00 00 00 */ li r0, 0 -/* 80347950 28 0C 00 00 */ cmplwi r12, 0 -/* 80347954 90 0D 91 98 */ stw r0, Callback(r13) -/* 80347958 41 82 00 10 */ beq lbl_80347968 -/* 8034795C 7D 88 03 A6 */ mtlr r12 -/* 80347960 38 7D 00 00 */ addi r3, r29, 0 -/* 80347964 4E 80 00 21 */ blrl -lbl_80347968: -/* 80347968 38 00 00 00 */ li r0, 0 -/* 8034796C 90 0D 91 B0 */ stw r0, Breaking(r13) -lbl_80347970: -/* 80347970 38 61 00 10 */ addi r3, r1, 0x10 -/* 80347974 4B FF 46 8D */ bl OSClearContext -/* 80347978 7F 83 E3 78 */ mr r3, r28 -/* 8034797C 4B FF 44 BD */ bl OSSetCurrentContext -lbl_80347980: -/* 80347980 BB 61 02 DC */ lmw r27, 0x2dc(r1) -/* 80347984 80 01 02 F4 */ lwz r0, 0x2f4(r1) -/* 80347988 38 21 02 F0 */ addi r1, r1, 0x2f0 -/* 8034798C 7C 08 03 A6 */ mtlr r0 -/* 80347990 4E 80 00 20 */ blr diff --git a/asm/dolphin/dvd/dvdlow/__DVDLowSetWAType.s b/asm/dolphin/dvd/dvdlow/__DVDLowSetWAType.s deleted file mode 100644 index 087b038b3cb..00000000000 --- a/asm/dolphin/dvd/dvdlow/__DVDLowSetWAType.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_80348474: -/* 80348474 7C 08 02 A6 */ mflr r0 -/* 80348478 90 01 00 04 */ stw r0, 4(r1) -/* 8034847C 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 80348480 93 E1 00 14 */ stw r31, 0x14(r1) -/* 80348484 3B E4 00 00 */ addi r31, r4, 0 -/* 80348488 93 C1 00 10 */ stw r30, 0x10(r1) -/* 8034848C 3B C3 00 00 */ addi r30, r3, 0 -/* 80348490 4B FF 52 65 */ bl OSDisableInterrupts -/* 80348494 93 CD 91 B4 */ stw r30, WorkAroundType(r13) -/* 80348498 93 ED 91 B8 */ stw r31, WorkAroundSeekLocation(r13) -/* 8034849C 4B FF 52 81 */ bl OSRestoreInterrupts -/* 803484A0 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 803484A4 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 803484A8 83 C1 00 10 */ lwz r30, 0x10(r1) -/* 803484AC 38 21 00 18 */ addi r1, r1, 0x18 -/* 803484B0 7C 08 03 A6 */ mtlr r0 -/* 803484B4 4E 80 00 20 */ blr diff --git a/asm/dolphin/dvd/dvdlow/__DVDLowTestAlarm.s b/asm/dolphin/dvd/dvdlow/__DVDLowTestAlarm.s deleted file mode 100644 index d5557c9e9b7..00000000000 --- a/asm/dolphin/dvd/dvdlow/__DVDLowTestAlarm.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_803484B8: -/* 803484B8 3C 80 80 45 */ lis r4, AlarmForBreak@ha /* 0x8044C8C0@ha */ -/* 803484BC 38 04 C8 C0 */ addi r0, r4, AlarmForBreak@l /* 0x8044C8C0@l */ -/* 803484C0 7C 03 00 40 */ cmplw r3, r0 -/* 803484C4 40 82 00 0C */ bne lbl_803484D0 -/* 803484C8 38 60 00 01 */ li r3, 1 -/* 803484CC 4E 80 00 20 */ blr -lbl_803484D0: -/* 803484D0 3C 80 80 45 */ lis r4, AlarmForTimeout@ha /* 0x8044C898@ha */ -/* 803484D4 38 04 C8 98 */ addi r0, r4, AlarmForTimeout@l /* 0x8044C898@l */ -/* 803484D8 7C 03 00 40 */ cmplw r3, r0 -/* 803484DC 40 82 00 0C */ bne lbl_803484E8 -/* 803484E0 38 60 00 01 */ li r3, 1 -/* 803484E4 4E 80 00 20 */ blr -lbl_803484E8: -/* 803484E8 38 60 00 00 */ li r3, 0 -/* 803484EC 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXFrameBuf/GXClearBoundingBox.s b/asm/dolphin/gx/GXFrameBuf/GXClearBoundingBox.s deleted file mode 100644 index efbbffec3cb..00000000000 --- a/asm/dolphin/gx/GXFrameBuf/GXClearBoundingBox.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8035D5F8: -/* 8035D5F8 38 C0 00 61 */ li r6, 0x61 -/* 8035D5FC 80 62 CB 80 */ lwz r3, __GXData(r2) -/* 8035D600 3C A0 CC 01 */ lis r5, 0xCC01 /* 0xCC008000@ha */ -/* 8035D604 3C 80 55 00 */ lis r4, 0x5500 /* 0x550003FF@ha */ -/* 8035D608 98 C5 80 00 */ stb r6, 0x8000(r5) /* 0xCC008000@l */ -/* 8035D60C 38 04 03 FF */ addi r0, r4, 0x03FF /* 0x550003FF@l */ -/* 8035D610 90 05 80 00 */ stw r0, -0x8000(r5) -/* 8035D614 3C 80 56 00 */ lis r4, 0x5600 /* 0x560003FF@ha */ -/* 8035D618 38 84 03 FF */ addi r4, r4, 0x03FF /* 0x560003FF@l */ -/* 8035D61C 98 C5 80 00 */ stb r6, -0x8000(r5) -/* 8035D620 38 00 00 00 */ li r0, 0 -/* 8035D624 90 85 80 00 */ stw r4, -0x8000(r5) -/* 8035D628 B0 03 00 02 */ sth r0, 2(r3) -/* 8035D62C 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXFrameBuf/GXSetCopyClamp.s b/asm/dolphin/gx/GXFrameBuf/GXSetCopyClamp.s deleted file mode 100644 index 4bb4ff3506b..00000000000 --- a/asm/dolphin/gx/GXFrameBuf/GXSetCopyClamp.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8035CC84: -/* 8035CC84 54 65 07 FE */ clrlwi r5, r3, 0x1f -/* 8035CC88 80 82 CB 80 */ lwz r4, __GXData(r2) -/* 8035CC8C 38 05 FF FF */ addi r0, r5, -1 -/* 8035CC90 7C 05 00 34 */ cntlzw r5, r0 -/* 8035CC94 80 04 01 EC */ lwz r0, 0x1ec(r4) -/* 8035CC98 54 A5 DE 3E */ rlwinm r5, r5, 0x1b, 0x18, 0x1f -/* 8035CC9C 54 63 07 BC */ rlwinm r3, r3, 0, 0x1e, 0x1e -/* 8035CCA0 50 A0 07 FE */ rlwimi r0, r5, 0, 0x1f, 0x1f -/* 8035CCA4 38 63 FF FE */ addi r3, r3, -2 -/* 8035CCA8 90 04 01 EC */ stw r0, 0x1ec(r4) -/* 8035CCAC 7C 60 00 34 */ cntlzw r0, r3 -/* 8035CCB0 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f -/* 8035CCB4 80 04 01 EC */ lwz r0, 0x1ec(r4) -/* 8035CCB8 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e -/* 8035CCBC 90 04 01 EC */ stw r0, 0x1ec(r4) -/* 8035CCC0 80 04 01 FC */ lwz r0, 0x1fc(r4) -/* 8035CCC4 50 A0 07 FE */ rlwimi r0, r5, 0, 0x1f, 0x1f -/* 8035CCC8 90 04 01 FC */ stw r0, 0x1fc(r4) -/* 8035CCCC 80 04 01 FC */ lwz r0, 0x1fc(r4) -/* 8035CCD0 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e -/* 8035CCD4 90 04 01 FC */ stw r0, 0x1fc(r4) -/* 8035CCD8 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXFrameBuf/GXSetCopyClear.s b/asm/dolphin/gx/GXFrameBuf/GXSetCopyClear.s deleted file mode 100644 index 020a2b36863..00000000000 --- a/asm/dolphin/gx/GXFrameBuf/GXSetCopyClear.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_8035D070: -/* 8035D070 88 A3 00 00 */ lbz r5, 0(r3) -/* 8035D074 38 C0 00 00 */ li r6, 0 -/* 8035D078 88 03 00 03 */ lbz r0, 3(r3) -/* 8035D07C 39 20 00 61 */ li r9, 0x61 -/* 8035D080 50 A6 06 3E */ rlwimi r6, r5, 0, 0x18, 0x1f -/* 8035D084 3D 00 CC 01 */ lis r8, 0xCC01 /* 0xCC008000@ha */ -/* 8035D088 80 A2 CB 80 */ lwz r5, __GXData(r2) -/* 8035D08C 50 06 44 2E */ rlwimi r6, r0, 8, 0x10, 0x17 -/* 8035D090 99 28 80 00 */ stb r9, 0x8000(r8) /* 0xCC008000@l */ -/* 8035D094 38 00 00 4F */ li r0, 0x4f -/* 8035D098 50 06 C0 0E */ rlwimi r6, r0, 0x18, 0, 7 -/* 8035D09C 90 C8 80 00 */ stw r6, -0x8000(r8) -/* 8035D0A0 39 40 00 00 */ li r10, 0 -/* 8035D0A4 38 C0 00 50 */ li r6, 0x50 -/* 8035D0A8 88 E3 00 02 */ lbz r7, 2(r3) -/* 8035D0AC 39 60 00 00 */ li r11, 0 -/* 8035D0B0 88 63 00 01 */ lbz r3, 1(r3) -/* 8035D0B4 38 00 00 51 */ li r0, 0x51 -/* 8035D0B8 50 EB 06 3E */ rlwimi r11, r7, 0, 0x18, 0x1f -/* 8035D0BC 50 6B 44 2E */ rlwimi r11, r3, 8, 0x10, 0x17 -/* 8035D0C0 99 28 80 00 */ stb r9, -0x8000(r8) -/* 8035D0C4 50 CB C0 0E */ rlwimi r11, r6, 0x18, 0, 7 -/* 8035D0C8 91 68 80 00 */ stw r11, -0x8000(r8) -/* 8035D0CC 50 8A 02 3E */ rlwimi r10, r4, 0, 8, 0x1f -/* 8035D0D0 50 0A C0 0E */ rlwimi r10, r0, 0x18, 0, 7 -/* 8035D0D4 99 28 80 00 */ stb r9, -0x8000(r8) -/* 8035D0D8 38 00 00 00 */ li r0, 0 -/* 8035D0DC 91 48 80 00 */ stw r10, -0x8000(r8) -/* 8035D0E0 B0 05 00 02 */ sth r0, 2(r5) -/* 8035D0E4 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXFrameBuf/GXSetDispCopyDst.s b/asm/dolphin/gx/GXFrameBuf/GXSetDispCopyDst.s deleted file mode 100644 index db78a5f62ae..00000000000 --- a/asm/dolphin/gx/GXFrameBuf/GXSetDispCopyDst.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8035CAFC: -/* 8035CAFC 80 82 CB 80 */ lwz r4, __GXData(r2) -/* 8035CB00 38 00 00 00 */ li r0, 0 -/* 8035CB04 90 04 01 E8 */ stw r0, 0x1e8(r4) -/* 8035CB08 54 60 0C 3C */ rlwinm r0, r3, 1, 0x10, 0x1e -/* 8035CB0C 7C 00 2E 70 */ srawi r0, r0, 5 -/* 8035CB10 80 64 01 E8 */ lwz r3, 0x1e8(r4) -/* 8035CB14 50 03 05 BE */ rlwimi r3, r0, 0, 0x16, 0x1f -/* 8035CB18 38 00 00 4D */ li r0, 0x4d -/* 8035CB1C 90 64 01 E8 */ stw r3, 0x1e8(r4) -/* 8035CB20 80 64 01 E8 */ lwz r3, 0x1e8(r4) -/* 8035CB24 50 03 C0 0E */ rlwimi r3, r0, 0x18, 0, 7 -/* 8035CB28 90 64 01 E8 */ stw r3, 0x1e8(r4) -/* 8035CB2C 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXFrameBuf/GXSetDispCopyFrame2Field.s b/asm/dolphin/gx/GXFrameBuf/GXSetDispCopyFrame2Field.s deleted file mode 100644 index a02b8f8ec89..00000000000 --- a/asm/dolphin/gx/GXFrameBuf/GXSetDispCopyFrame2Field.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8035CC60: -/* 8035CC60 80 A2 CB 80 */ lwz r5, __GXData(r2) -/* 8035CC64 38 00 00 00 */ li r0, 0 -/* 8035CC68 80 85 01 EC */ lwz r4, 0x1ec(r5) -/* 8035CC6C 50 64 64 A6 */ rlwimi r4, r3, 0xc, 0x12, 0x13 -/* 8035CC70 90 85 01 EC */ stw r4, 0x1ec(r5) -/* 8035CC74 80 65 01 FC */ lwz r3, 0x1fc(r5) -/* 8035CC78 50 03 64 A6 */ rlwimi r3, r0, 0xc, 0x12, 0x13 -/* 8035CC7C 90 65 01 FC */ stw r3, 0x1fc(r5) -/* 8035CC80 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXFrameBuf/GXSetDispCopyGamma.s b/asm/dolphin/gx/GXFrameBuf/GXSetDispCopyGamma.s deleted file mode 100644 index 549372f7958..00000000000 --- a/asm/dolphin/gx/GXFrameBuf/GXSetDispCopyGamma.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8035D2F0: -/* 8035D2F0 80 82 CB 80 */ lwz r4, __GXData(r2) -/* 8035D2F4 80 04 01 EC */ lwz r0, 0x1ec(r4) -/* 8035D2F8 50 60 3D F0 */ rlwimi r0, r3, 7, 0x17, 0x18 -/* 8035D2FC 90 04 01 EC */ stw r0, 0x1ec(r4) -/* 8035D300 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXFrameBuf/GXSetDispCopySrc.s b/asm/dolphin/gx/GXFrameBuf/GXSetDispCopySrc.s deleted file mode 100644 index 88806a13f11..00000000000 --- a/asm/dolphin/gx/GXFrameBuf/GXSetDispCopySrc.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_8035CA04: -/* 8035CA04 81 02 CB 80 */ lwz r8, __GXData(r2) -/* 8035CA08 39 20 00 00 */ li r9, 0 -/* 8035CA0C 54 A7 04 3E */ clrlwi r7, r5, 0x10 -/* 8035CA10 91 28 01 E0 */ stw r9, 0x1e0(r8) -/* 8035CA14 54 C5 04 3E */ clrlwi r5, r6, 0x10 -/* 8035CA18 54 60 04 3E */ clrlwi r0, r3, 0x10 -/* 8035CA1C 80 68 01 E0 */ lwz r3, 0x1e0(r8) -/* 8035CA20 50 03 05 BE */ rlwimi r3, r0, 0, 0x16, 0x1f -/* 8035CA24 54 80 04 3E */ clrlwi r0, r4, 0x10 -/* 8035CA28 90 68 01 E0 */ stw r3, 0x1e0(r8) -/* 8035CA2C 38 C0 00 49 */ li r6, 0x49 -/* 8035CA30 38 87 FF FF */ addi r4, r7, -1 -/* 8035CA34 80 E8 01 E0 */ lwz r7, 0x1e0(r8) -/* 8035CA38 50 07 53 2A */ rlwimi r7, r0, 0xa, 0xc, 0x15 -/* 8035CA3C 38 65 FF FF */ addi r3, r5, -1 -/* 8035CA40 90 E8 01 E0 */ stw r7, 0x1e0(r8) -/* 8035CA44 38 00 00 4A */ li r0, 0x4a -/* 8035CA48 80 A8 01 E0 */ lwz r5, 0x1e0(r8) -/* 8035CA4C 50 C5 C0 0E */ rlwimi r5, r6, 0x18, 0, 7 -/* 8035CA50 90 A8 01 E0 */ stw r5, 0x1e0(r8) -/* 8035CA54 91 28 01 E4 */ stw r9, 0x1e4(r8) -/* 8035CA58 80 A8 01 E4 */ lwz r5, 0x1e4(r8) -/* 8035CA5C 50 85 05 BE */ rlwimi r5, r4, 0, 0x16, 0x1f -/* 8035CA60 90 A8 01 E4 */ stw r5, 0x1e4(r8) -/* 8035CA64 80 88 01 E4 */ lwz r4, 0x1e4(r8) -/* 8035CA68 50 64 53 2A */ rlwimi r4, r3, 0xa, 0xc, 0x15 -/* 8035CA6C 90 88 01 E4 */ stw r4, 0x1e4(r8) -/* 8035CA70 80 68 01 E4 */ lwz r3, 0x1e4(r8) -/* 8035CA74 50 03 C0 0E */ rlwimi r3, r0, 0x18, 0, 7 -/* 8035CA78 90 68 01 E4 */ stw r3, 0x1e4(r8) -/* 8035CA7C 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXFrameBuf/GXSetTexCopySrc.s b/asm/dolphin/gx/GXFrameBuf/GXSetTexCopySrc.s deleted file mode 100644 index 77cdf647aef..00000000000 --- a/asm/dolphin/gx/GXFrameBuf/GXSetTexCopySrc.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_8035CA80: -/* 8035CA80 81 02 CB 80 */ lwz r8, __GXData(r2) -/* 8035CA84 39 20 00 00 */ li r9, 0 -/* 8035CA88 54 A7 04 3E */ clrlwi r7, r5, 0x10 -/* 8035CA8C 91 28 01 F0 */ stw r9, 0x1f0(r8) -/* 8035CA90 54 C5 04 3E */ clrlwi r5, r6, 0x10 -/* 8035CA94 54 60 04 3E */ clrlwi r0, r3, 0x10 -/* 8035CA98 80 68 01 F0 */ lwz r3, 0x1f0(r8) -/* 8035CA9C 50 03 05 BE */ rlwimi r3, r0, 0, 0x16, 0x1f -/* 8035CAA0 54 80 04 3E */ clrlwi r0, r4, 0x10 -/* 8035CAA4 90 68 01 F0 */ stw r3, 0x1f0(r8) -/* 8035CAA8 38 C0 00 49 */ li r6, 0x49 -/* 8035CAAC 38 87 FF FF */ addi r4, r7, -1 -/* 8035CAB0 80 E8 01 F0 */ lwz r7, 0x1f0(r8) -/* 8035CAB4 50 07 53 2A */ rlwimi r7, r0, 0xa, 0xc, 0x15 -/* 8035CAB8 38 65 FF FF */ addi r3, r5, -1 -/* 8035CABC 90 E8 01 F0 */ stw r7, 0x1f0(r8) -/* 8035CAC0 38 00 00 4A */ li r0, 0x4a -/* 8035CAC4 80 A8 01 F0 */ lwz r5, 0x1f0(r8) -/* 8035CAC8 50 C5 C0 0E */ rlwimi r5, r6, 0x18, 0, 7 -/* 8035CACC 90 A8 01 F0 */ stw r5, 0x1f0(r8) -/* 8035CAD0 91 28 01 F4 */ stw r9, 0x1f4(r8) -/* 8035CAD4 80 A8 01 F4 */ lwz r5, 0x1f4(r8) -/* 8035CAD8 50 85 05 BE */ rlwimi r5, r4, 0, 0x16, 0x1f -/* 8035CADC 90 A8 01 F4 */ stw r5, 0x1f4(r8) -/* 8035CAE0 80 88 01 F4 */ lwz r4, 0x1f4(r8) -/* 8035CAE4 50 64 53 2A */ rlwimi r4, r3, 0xa, 0xc, 0x15 -/* 8035CAE8 90 88 01 F4 */ stw r4, 0x1f4(r8) -/* 8035CAEC 80 68 01 F4 */ lwz r3, 0x1f4(r8) -/* 8035CAF0 50 03 C0 0E */ rlwimi r3, r0, 0x18, 0, 7 -/* 8035CAF4 90 68 01 F4 */ stw r3, 0x1f4(r8) -/* 8035CAF8 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXGeometry/GXSetCullMode.s b/asm/dolphin/gx/GXGeometry/GXSetCullMode.s deleted file mode 100644 index 8aac8caa8bc..00000000000 --- a/asm/dolphin/gx/GXGeometry/GXSetCullMode.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8035C984: -/* 8035C984 80 82 CB 80 */ lwz r4, __GXData(r2) -/* 8035C988 54 65 FF FE */ rlwinm r5, r3, 0x1f, 0x1f, 0x1f -/* 8035C98C 50 65 0F BC */ rlwimi r5, r3, 1, 0x1e, 0x1e -/* 8035C990 80 04 02 04 */ lwz r0, 0x204(r4) -/* 8035C994 50 A0 74 22 */ rlwimi r0, r5, 0xe, 0x10, 0x11 -/* 8035C998 90 04 02 04 */ stw r0, 0x204(r4) -/* 8035C99C 80 04 05 AC */ lwz r0, 0x5ac(r4) -/* 8035C9A0 60 00 00 04 */ ori r0, r0, 4 -/* 8035C9A4 90 04 05 AC */ stw r0, 0x5ac(r4) -/* 8035C9A8 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXInit/__GXDefaultTlutRegionCallback.s b/asm/dolphin/gx/GXInit/__GXDefaultTlutRegionCallback.s deleted file mode 100644 index a824382aeee..00000000000 --- a/asm/dolphin/gx/GXInit/__GXDefaultTlutRegionCallback.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80359318: -/* 80359318 28 03 00 14 */ cmplwi r3, 0x14 -/* 8035931C 41 80 00 0C */ blt lbl_80359328 -/* 80359320 38 60 00 00 */ li r3, 0 -/* 80359324 48 00 00 14 */ b lbl_80359338 -lbl_80359328: -/* 80359328 54 63 20 36 */ slwi r3, r3, 4 -/* 8035932C 80 02 CB 80 */ lwz r0, __GXData(r2) -/* 80359330 38 63 03 88 */ addi r3, r3, 0x388 -/* 80359334 7C 60 1A 14 */ add r3, r0, r3 -lbl_80359338: -/* 80359338 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSError/OSSetErrorHandler.s b/asm/dolphin/os/OSError/OSSetErrorHandler.s deleted file mode 100644 index 8f820572110..00000000000 --- a/asm/dolphin/os/OSError/OSSetErrorHandler.s +++ /dev/null @@ -1,144 +0,0 @@ -lbl_8033C580: -/* 8033C580 7C 08 02 A6 */ mflr r0 -/* 8033C584 90 01 00 04 */ stw r0, 4(r1) -/* 8033C588 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8033C58C 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 8033C590 93 C1 00 28 */ stw r30, 0x28(r1) -/* 8033C594 93 A1 00 24 */ stw r29, 0x24(r1) -/* 8033C598 3B A3 00 00 */ addi r29, r3, 0 -/* 8033C59C 93 81 00 20 */ stw r28, 0x20(r1) -/* 8033C5A0 3B 84 00 00 */ addi r28, r4, 0 -/* 8033C5A4 48 00 11 51 */ bl OSDisableInterrupts -/* 8033C5A8 3C 80 80 45 */ lis r4, __OSErrorTable@ha /* 0x8044BAD0@ha */ -/* 8033C5AC 57 A5 13 BA */ rlwinm r5, r29, 2, 0xe, 0x1d -/* 8033C5B0 38 04 BA D0 */ addi r0, r4, __OSErrorTable@l /* 0x8044BAD0@l */ -/* 8033C5B4 57 A6 04 3E */ clrlwi r6, r29, 0x10 -/* 8033C5B8 7C 80 2A 14 */ add r4, r0, r5 -/* 8033C5BC 83 C4 00 00 */ lwz r30, 0(r4) -/* 8033C5C0 28 06 00 10 */ cmplwi r6, 0x10 -/* 8033C5C4 7C 7D 1B 78 */ mr r29, r3 -/* 8033C5C8 93 84 00 00 */ stw r28, 0(r4) -/* 8033C5CC 40 82 01 A0 */ bne lbl_8033C76C -/* 8033C5D0 4B FF D6 F1 */ bl PPCMfmsr -/* 8033C5D4 3B E3 00 00 */ addi r31, r3, 0 -/* 8033C5D8 63 E3 20 00 */ ori r3, r31, 0x2000 -/* 8033C5DC 4B FF D6 ED */ bl PPCMtmsr -/* 8033C5E0 4B FF D7 65 */ bl PPCMffpscr -/* 8033C5E4 28 1C 00 00 */ cmplwi r28, 0 -/* 8033C5E8 41 82 01 18 */ beq lbl_8033C700 -/* 8033C5EC 3C A0 80 00 */ lis r5, 0x8000 /* 0x800000DC@ha */ -/* 8033C5F0 3C 80 60 06 */ lis r4, 0x6006 /* 0x6005F8FF@ha */ -/* 8033C5F4 80 C5 00 DC */ lwz r6, 0x00DC(r5) /* 0x800000DC@l */ -/* 8033C5F8 38 84 F8 FF */ addi r4, r4, 0xF8FF /* 0x6005F8FF@l */ -/* 8033C5FC 48 00 00 E8 */ b lbl_8033C6E4 -lbl_8033C600: -/* 8033C600 80 06 01 9C */ lwz r0, 0x19c(r6) -/* 8033C604 60 00 09 00 */ ori r0, r0, 0x900 -/* 8033C608 90 06 01 9C */ stw r0, 0x19c(r6) -/* 8033C60C A0 A6 01 A2 */ lhz r5, 0x1a2(r6) -/* 8033C610 54 A0 07 FF */ clrlwi. r0, r5, 0x1f -/* 8033C614 40 82 00 AC */ bne lbl_8033C6C0 -/* 8033C618 60 A5 00 01 */ ori r5, r5, 1 -/* 8033C61C 38 00 00 04 */ li r0, 4 -/* 8033C620 B0 A6 01 A2 */ sth r5, 0x1a2(r6) -/* 8033C624 7C 09 03 A6 */ mtctr r0 -/* 8033C628 38 A6 00 00 */ addi r5, r6, 0 -lbl_8033C62C: -/* 8033C62C 38 00 FF FF */ li r0, -1 -/* 8033C630 90 05 00 94 */ stw r0, 0x94(r5) -/* 8033C634 90 05 00 90 */ stw r0, 0x90(r5) -/* 8033C638 90 05 01 CC */ stw r0, 0x1cc(r5) -/* 8033C63C 90 05 01 C8 */ stw r0, 0x1c8(r5) -/* 8033C640 90 05 00 9C */ stw r0, 0x9c(r5) -/* 8033C644 90 05 00 98 */ stw r0, 0x98(r5) -/* 8033C648 90 05 01 D4 */ stw r0, 0x1d4(r5) -/* 8033C64C 90 05 01 D0 */ stw r0, 0x1d0(r5) -/* 8033C650 90 05 00 A4 */ stw r0, 0xa4(r5) -/* 8033C654 90 05 00 A0 */ stw r0, 0xa0(r5) -/* 8033C658 90 05 01 DC */ stw r0, 0x1dc(r5) -/* 8033C65C 90 05 01 D8 */ stw r0, 0x1d8(r5) -/* 8033C660 90 05 00 AC */ stw r0, 0xac(r5) -/* 8033C664 90 05 00 A8 */ stw r0, 0xa8(r5) -/* 8033C668 90 05 01 E4 */ stw r0, 0x1e4(r5) -/* 8033C66C 90 05 01 E0 */ stw r0, 0x1e0(r5) -/* 8033C670 90 05 00 B4 */ stw r0, 0xb4(r5) -/* 8033C674 90 05 00 B0 */ stw r0, 0xb0(r5) -/* 8033C678 90 05 01 EC */ stw r0, 0x1ec(r5) -/* 8033C67C 90 05 01 E8 */ stw r0, 0x1e8(r5) -/* 8033C680 90 05 00 BC */ stw r0, 0xbc(r5) -/* 8033C684 90 05 00 B8 */ stw r0, 0xb8(r5) -/* 8033C688 90 05 01 F4 */ stw r0, 0x1f4(r5) -/* 8033C68C 90 05 01 F0 */ stw r0, 0x1f0(r5) -/* 8033C690 90 05 00 C4 */ stw r0, 0xc4(r5) -/* 8033C694 90 05 00 C0 */ stw r0, 0xc0(r5) -/* 8033C698 90 05 01 FC */ stw r0, 0x1fc(r5) -/* 8033C69C 90 05 01 F8 */ stw r0, 0x1f8(r5) -/* 8033C6A0 90 05 00 CC */ stw r0, 0xcc(r5) -/* 8033C6A4 90 05 00 C8 */ stw r0, 0xc8(r5) -/* 8033C6A8 90 05 02 04 */ stw r0, 0x204(r5) -/* 8033C6AC 90 05 02 00 */ stw r0, 0x200(r5) -/* 8033C6B0 38 A5 00 40 */ addi r5, r5, 0x40 -/* 8033C6B4 42 00 FF 78 */ bdnz lbl_8033C62C -/* 8033C6B8 38 00 00 04 */ li r0, 4 -/* 8033C6BC 90 06 01 94 */ stw r0, 0x194(r6) -lbl_8033C6C0: -/* 8033C6C0 80 0D 84 20 */ lwz r0, __OSFpscrEnableBits(r13) -/* 8033C6C4 80 A6 01 94 */ lwz r5, 0x194(r6) -/* 8033C6C8 54 00 06 38 */ rlwinm r0, r0, 0, 0x18, 0x1c -/* 8033C6CC 7C A0 03 78 */ or r0, r5, r0 -/* 8033C6D0 90 06 01 94 */ stw r0, 0x194(r6) -/* 8033C6D4 80 06 01 94 */ lwz r0, 0x194(r6) -/* 8033C6D8 7C 00 20 38 */ and r0, r0, r4 -/* 8033C6DC 90 06 01 94 */ stw r0, 0x194(r6) -/* 8033C6E0 80 C6 02 FC */ lwz r6, 0x2fc(r6) -lbl_8033C6E4: -/* 8033C6E4 28 06 00 00 */ cmplwi r6, 0 -/* 8033C6E8 40 82 FF 18 */ bne lbl_8033C600 -/* 8033C6EC 80 0D 84 20 */ lwz r0, __OSFpscrEnableBits(r13) -/* 8033C6F0 63 FF 09 00 */ ori r31, r31, 0x900 -/* 8033C6F4 54 00 06 38 */ rlwinm r0, r0, 0, 0x18, 0x1c -/* 8033C6F8 7C 63 03 78 */ or r3, r3, r0 -/* 8033C6FC 48 00 00 58 */ b lbl_8033C754 -lbl_8033C700: -/* 8033C700 3C A0 80 00 */ lis r5, 0x8000 /* 0x800000DC@ha */ -/* 8033C704 3C 80 60 06 */ lis r4, 0x6006 /* 0x6005F8FF@ha */ -/* 8033C708 80 C5 00 DC */ lwz r6, 0x00DC(r5) /* 0x800000DC@l */ -/* 8033C70C 38 84 F8 FF */ addi r4, r4, 0xF8FF /* 0x6005F8FF@l */ -/* 8033C710 38 A0 F6 FF */ li r5, -2305 -/* 8033C714 48 00 00 2C */ b lbl_8033C740 -lbl_8033C718: -/* 8033C718 80 06 01 9C */ lwz r0, 0x19c(r6) -/* 8033C71C 7C 00 28 38 */ and r0, r0, r5 -/* 8033C720 90 06 01 9C */ stw r0, 0x19c(r6) -/* 8033C724 80 06 01 94 */ lwz r0, 0x194(r6) -/* 8033C728 54 00 07 6E */ rlwinm r0, r0, 0, 0x1d, 0x17 -/* 8033C72C 90 06 01 94 */ stw r0, 0x194(r6) -/* 8033C730 80 06 01 94 */ lwz r0, 0x194(r6) -/* 8033C734 7C 00 20 38 */ and r0, r0, r4 -/* 8033C738 90 06 01 94 */ stw r0, 0x194(r6) -/* 8033C73C 80 C6 02 FC */ lwz r6, 0x2fc(r6) -lbl_8033C740: -/* 8033C740 28 06 00 00 */ cmplwi r6, 0 -/* 8033C744 40 82 FF D4 */ bne lbl_8033C718 -/* 8033C748 38 00 F6 FF */ li r0, -2305 -/* 8033C74C 54 63 07 6E */ rlwinm r3, r3, 0, 0x1d, 0x17 -/* 8033C750 7F FF 00 38 */ and r31, r31, r0 -lbl_8033C754: -/* 8033C754 3C 80 60 06 */ lis r4, 0x6006 /* 0x6005F8FF@ha */ -/* 8033C758 38 04 F8 FF */ addi r0, r4, 0xF8FF /* 0x6005F8FF@l */ -/* 8033C75C 7C 63 00 38 */ and r3, r3, r0 -/* 8033C760 4B FF D6 05 */ bl PPCMtfpscr -/* 8033C764 7F E3 FB 78 */ mr r3, r31 -/* 8033C768 4B FF D5 61 */ bl PPCMtmsr -lbl_8033C76C: -/* 8033C76C 7F A3 EB 78 */ mr r3, r29 -/* 8033C770 48 00 0F AD */ bl OSRestoreInterrupts -/* 8033C774 7F C3 F3 78 */ mr r3, r30 -/* 8033C778 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8033C77C 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 8033C780 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 8033C784 83 A1 00 24 */ lwz r29, 0x24(r1) -/* 8033C788 83 81 00 20 */ lwz r28, 0x20(r1) -/* 8033C78C 38 21 00 30 */ addi r1, r1, 0x30 -/* 8033C790 7C 08 03 A6 */ mtlr r0 -/* 8033C794 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSInterrupt/__OSDispatchInterrupt.s b/asm/dolphin/os/OSInterrupt/__OSDispatchInterrupt.s deleted file mode 100644 index 57410c3a73a..00000000000 --- a/asm/dolphin/os/OSInterrupt/__OSDispatchInterrupt.s +++ /dev/null @@ -1,245 +0,0 @@ -lbl_8033DBCC: -/* 8033DBCC 7C 08 02 A6 */ mflr r0 -/* 8033DBD0 90 01 00 04 */ stw r0, 4(r1) -/* 8033DBD4 94 21 FF D8 */ stwu r1, -0x28(r1) -/* 8033DBD8 93 E1 00 24 */ stw r31, 0x24(r1) -/* 8033DBDC 93 C1 00 20 */ stw r30, 0x20(r1) -/* 8033DBE0 93 A1 00 1C */ stw r29, 0x1c(r1) -/* 8033DBE4 7C 9E 23 78 */ mr r30, r4 -/* 8033DBE8 3C 60 CC 00 */ lis r3, 0xCC00 /* 0xCC003000@ha */ -/* 8033DBEC 83 E3 30 00 */ lwz r31, 0x3000(r3) /* 0xCC003000@l */ -/* 8033DBF0 57 FF 04 1C */ rlwinm r31, r31, 0, 0x10, 0xe -/* 8033DBF4 28 1F 00 00 */ cmplwi r31, 0 -/* 8033DBF8 41 82 00 18 */ beq lbl_8033DC10 -/* 8033DBFC 38 63 30 00 */ addi r3, r3, 0x3000 -/* 8033DC00 80 03 00 04 */ lwz r0, 4(r3) -/* 8033DC04 7F E0 00 38 */ and r0, r31, r0 -/* 8033DC08 28 00 00 00 */ cmplwi r0, 0 -/* 8033DC0C 40 82 00 0C */ bne lbl_8033DC18 -lbl_8033DC10: -/* 8033DC10 7F C3 F3 78 */ mr r3, r30 -/* 8033DC14 4B FF E3 0D */ bl OSLoadContext -lbl_8033DC18: -/* 8033DC18 57 E0 06 30 */ rlwinm r0, r31, 0, 0x18, 0x18 -/* 8033DC1C 28 00 00 00 */ cmplwi r0, 0 -/* 8033DC20 38 00 00 00 */ li r0, 0 -/* 8033DC24 41 82 00 60 */ beq lbl_8033DC84 -/* 8033DC28 3C 60 CC 00 */ lis r3, 0xCC00 /* 0xCC004000@ha */ -/* 8033DC2C 38 63 40 00 */ addi r3, r3, 0x4000 /* 0xCC004000@l */ -/* 8033DC30 A0 83 00 1E */ lhz r4, 0x1e(r3) -/* 8033DC34 54 83 07 FE */ clrlwi r3, r4, 0x1f -/* 8033DC38 28 03 00 00 */ cmplwi r3, 0 -/* 8033DC3C 41 82 00 08 */ beq lbl_8033DC44 -/* 8033DC40 64 00 80 00 */ oris r0, r0, 0x8000 -lbl_8033DC44: -/* 8033DC44 54 83 07 BC */ rlwinm r3, r4, 0, 0x1e, 0x1e -/* 8033DC48 28 03 00 00 */ cmplwi r3, 0 -/* 8033DC4C 41 82 00 08 */ beq lbl_8033DC54 -/* 8033DC50 64 00 40 00 */ oris r0, r0, 0x4000 -lbl_8033DC54: -/* 8033DC54 54 83 07 7A */ rlwinm r3, r4, 0, 0x1d, 0x1d -/* 8033DC58 28 03 00 00 */ cmplwi r3, 0 -/* 8033DC5C 41 82 00 08 */ beq lbl_8033DC64 -/* 8033DC60 64 00 20 00 */ oris r0, r0, 0x2000 -lbl_8033DC64: -/* 8033DC64 54 83 07 38 */ rlwinm r3, r4, 0, 0x1c, 0x1c -/* 8033DC68 28 03 00 00 */ cmplwi r3, 0 -/* 8033DC6C 41 82 00 08 */ beq lbl_8033DC74 -/* 8033DC70 64 00 10 00 */ oris r0, r0, 0x1000 -lbl_8033DC74: -/* 8033DC74 54 83 06 F6 */ rlwinm r3, r4, 0, 0x1b, 0x1b -/* 8033DC78 28 03 00 00 */ cmplwi r3, 0 -/* 8033DC7C 41 82 00 08 */ beq lbl_8033DC84 -/* 8033DC80 64 00 08 00 */ oris r0, r0, 0x800 -lbl_8033DC84: -/* 8033DC84 57 E3 06 72 */ rlwinm r3, r31, 0, 0x19, 0x19 -/* 8033DC88 28 03 00 00 */ cmplwi r3, 0 -/* 8033DC8C 41 82 00 40 */ beq lbl_8033DCCC -/* 8033DC90 3C 60 CC 00 */ lis r3, 0xCC00 /* 0xCC005000@ha */ -/* 8033DC94 38 63 50 00 */ addi r3, r3, 0x5000 /* 0xCC005000@l */ -/* 8033DC98 A0 83 00 0A */ lhz r4, 0xa(r3) -/* 8033DC9C 54 83 07 38 */ rlwinm r3, r4, 0, 0x1c, 0x1c -/* 8033DCA0 28 03 00 00 */ cmplwi r3, 0 -/* 8033DCA4 41 82 00 08 */ beq lbl_8033DCAC -/* 8033DCA8 64 00 04 00 */ oris r0, r0, 0x400 -lbl_8033DCAC: -/* 8033DCAC 54 83 06 B4 */ rlwinm r3, r4, 0, 0x1a, 0x1a -/* 8033DCB0 28 03 00 00 */ cmplwi r3, 0 -/* 8033DCB4 41 82 00 08 */ beq lbl_8033DCBC -/* 8033DCB8 64 00 02 00 */ oris r0, r0, 0x200 -lbl_8033DCBC: -/* 8033DCBC 54 83 06 30 */ rlwinm r3, r4, 0, 0x18, 0x18 -/* 8033DCC0 28 03 00 00 */ cmplwi r3, 0 -/* 8033DCC4 41 82 00 08 */ beq lbl_8033DCCC -/* 8033DCC8 64 00 01 00 */ oris r0, r0, 0x100 -lbl_8033DCCC: -/* 8033DCCC 57 E3 06 B4 */ rlwinm r3, r31, 0, 0x1a, 0x1a -/* 8033DCD0 28 03 00 00 */ cmplwi r3, 0 -/* 8033DCD4 41 82 00 1C */ beq lbl_8033DCF0 -/* 8033DCD8 3C 60 CC 00 */ lis r3, 0xCC00 /* 0xCC006C00@ha */ -/* 8033DCDC 80 63 6C 00 */ lwz r3, 0x6C00(r3) /* 0xCC006C00@l */ -/* 8033DCE0 54 63 07 38 */ rlwinm r3, r3, 0, 0x1c, 0x1c -/* 8033DCE4 28 03 00 00 */ cmplwi r3, 0 -/* 8033DCE8 41 82 00 08 */ beq lbl_8033DCF0 -/* 8033DCEC 64 00 00 80 */ oris r0, r0, 0x80 -lbl_8033DCF0: -/* 8033DCF0 57 E3 06 F6 */ rlwinm r3, r31, 0, 0x1b, 0x1b -/* 8033DCF4 28 03 00 00 */ cmplwi r3, 0 -/* 8033DCF8 41 82 00 A4 */ beq lbl_8033DD9C -/* 8033DCFC 3C 60 CC 00 */ lis r3, 0xCC00 /* 0xCC006800@ha */ -/* 8033DD00 80 83 68 00 */ lwz r4, 0x6800(r3) /* 0xCC006800@l */ -/* 8033DD04 54 83 07 BC */ rlwinm r3, r4, 0, 0x1e, 0x1e -/* 8033DD08 28 03 00 00 */ cmplwi r3, 0 -/* 8033DD0C 41 82 00 08 */ beq lbl_8033DD14 -/* 8033DD10 64 00 00 40 */ oris r0, r0, 0x40 -lbl_8033DD14: -/* 8033DD14 54 83 07 38 */ rlwinm r3, r4, 0, 0x1c, 0x1c -/* 8033DD18 28 03 00 00 */ cmplwi r3, 0 -/* 8033DD1C 41 82 00 08 */ beq lbl_8033DD24 -/* 8033DD20 64 00 00 20 */ oris r0, r0, 0x20 -lbl_8033DD24: -/* 8033DD24 54 83 05 28 */ rlwinm r3, r4, 0, 0x14, 0x14 -/* 8033DD28 28 03 00 00 */ cmplwi r3, 0 -/* 8033DD2C 41 82 00 08 */ beq lbl_8033DD34 -/* 8033DD30 64 00 00 10 */ oris r0, r0, 0x10 -lbl_8033DD34: -/* 8033DD34 3C 60 CC 00 */ lis r3, 0xCC00 /* 0xCC006800@ha */ -/* 8033DD38 38 63 68 00 */ addi r3, r3, 0x6800 /* 0xCC006800@l */ -/* 8033DD3C 80 83 00 14 */ lwz r4, 0x14(r3) -/* 8033DD40 54 83 07 BC */ rlwinm r3, r4, 0, 0x1e, 0x1e -/* 8033DD44 28 03 00 00 */ cmplwi r3, 0 -/* 8033DD48 41 82 00 08 */ beq lbl_8033DD50 -/* 8033DD4C 64 00 00 08 */ oris r0, r0, 8 -lbl_8033DD50: -/* 8033DD50 54 83 07 38 */ rlwinm r3, r4, 0, 0x1c, 0x1c -/* 8033DD54 28 03 00 00 */ cmplwi r3, 0 -/* 8033DD58 41 82 00 08 */ beq lbl_8033DD60 -/* 8033DD5C 64 00 00 04 */ oris r0, r0, 4 -lbl_8033DD60: -/* 8033DD60 54 83 05 28 */ rlwinm r3, r4, 0, 0x14, 0x14 -/* 8033DD64 28 03 00 00 */ cmplwi r3, 0 -/* 8033DD68 41 82 00 08 */ beq lbl_8033DD70 -/* 8033DD6C 64 00 00 02 */ oris r0, r0, 2 -lbl_8033DD70: -/* 8033DD70 3C 60 CC 00 */ lis r3, 0xCC00 /* 0xCC006800@ha */ -/* 8033DD74 38 63 68 00 */ addi r3, r3, 0x6800 /* 0xCC006800@l */ -/* 8033DD78 80 83 00 28 */ lwz r4, 0x28(r3) -/* 8033DD7C 54 83 07 BC */ rlwinm r3, r4, 0, 0x1e, 0x1e -/* 8033DD80 28 03 00 00 */ cmplwi r3, 0 -/* 8033DD84 41 82 00 08 */ beq lbl_8033DD8C -/* 8033DD88 64 00 00 01 */ oris r0, r0, 1 -lbl_8033DD8C: -/* 8033DD8C 54 83 07 38 */ rlwinm r3, r4, 0, 0x1c, 0x1c -/* 8033DD90 28 03 00 00 */ cmplwi r3, 0 -/* 8033DD94 41 82 00 08 */ beq lbl_8033DD9C -/* 8033DD98 60 00 80 00 */ ori r0, r0, 0x8000 -lbl_8033DD9C: -/* 8033DD9C 57 E3 04 A4 */ rlwinm r3, r31, 0, 0x12, 0x12 -/* 8033DDA0 28 03 00 00 */ cmplwi r3, 0 -/* 8033DDA4 41 82 00 08 */ beq lbl_8033DDAC -/* 8033DDA8 60 00 00 20 */ ori r0, r0, 0x20 -lbl_8033DDAC: -/* 8033DDAC 57 E3 04 E6 */ rlwinm r3, r31, 0, 0x13, 0x13 -/* 8033DDB0 28 03 00 00 */ cmplwi r3, 0 -/* 8033DDB4 41 82 00 08 */ beq lbl_8033DDBC -/* 8033DDB8 60 00 00 40 */ ori r0, r0, 0x40 -lbl_8033DDBC: -/* 8033DDBC 57 E3 05 6A */ rlwinm r3, r31, 0, 0x15, 0x15 -/* 8033DDC0 28 03 00 00 */ cmplwi r3, 0 -/* 8033DDC4 41 82 00 08 */ beq lbl_8033DDCC -/* 8033DDC8 60 00 10 00 */ ori r0, r0, 0x1000 -lbl_8033DDCC: -/* 8033DDCC 57 E3 05 AC */ rlwinm r3, r31, 0, 0x16, 0x16 -/* 8033DDD0 28 03 00 00 */ cmplwi r3, 0 -/* 8033DDD4 41 82 00 08 */ beq lbl_8033DDDC -/* 8033DDD8 60 00 20 00 */ ori r0, r0, 0x2000 -lbl_8033DDDC: -/* 8033DDDC 57 E3 05 EE */ rlwinm r3, r31, 0, 0x17, 0x17 -/* 8033DDE0 28 03 00 00 */ cmplwi r3, 0 -/* 8033DDE4 41 82 00 08 */ beq lbl_8033DDEC -/* 8033DDE8 60 00 00 80 */ ori r0, r0, 0x80 -lbl_8033DDEC: -/* 8033DDEC 57 E3 07 38 */ rlwinm r3, r31, 0, 0x1c, 0x1c -/* 8033DDF0 28 03 00 00 */ cmplwi r3, 0 -/* 8033DDF4 41 82 00 08 */ beq lbl_8033DDFC -/* 8033DDF8 60 00 08 00 */ ori r0, r0, 0x800 -lbl_8033DDFC: -/* 8033DDFC 57 E3 07 7A */ rlwinm r3, r31, 0, 0x1d, 0x1d -/* 8033DE00 28 03 00 00 */ cmplwi r3, 0 -/* 8033DE04 41 82 00 08 */ beq lbl_8033DE0C -/* 8033DE08 60 00 04 00 */ ori r0, r0, 0x400 -lbl_8033DE0C: -/* 8033DE0C 57 E3 07 BC */ rlwinm r3, r31, 0, 0x1e, 0x1e -/* 8033DE10 28 03 00 00 */ cmplwi r3, 0 -/* 8033DE14 41 82 00 08 */ beq lbl_8033DE1C -/* 8033DE18 60 00 02 00 */ ori r0, r0, 0x200 -lbl_8033DE1C: -/* 8033DE1C 57 E3 05 28 */ rlwinm r3, r31, 0, 0x14, 0x14 -/* 8033DE20 28 03 00 00 */ cmplwi r3, 0 -/* 8033DE24 41 82 00 08 */ beq lbl_8033DE2C -/* 8033DE28 60 00 40 00 */ ori r0, r0, 0x4000 -lbl_8033DE2C: -/* 8033DE2C 57 E3 07 FE */ clrlwi r3, r31, 0x1f -/* 8033DE30 28 03 00 00 */ cmplwi r3, 0 -/* 8033DE34 41 82 00 08 */ beq lbl_8033DE3C -/* 8033DE38 60 00 01 00 */ ori r0, r0, 0x100 -lbl_8033DE3C: -/* 8033DE3C 3C 60 80 00 */ lis r3, 0x8000 /* 0x800000C4@ha */ -/* 8033DE40 80 83 00 C4 */ lwz r4, 0x00C4(r3) /* 0x800000C4@l */ -/* 8033DE44 80 63 00 C8 */ lwz r3, 0xc8(r3) -/* 8033DE48 7C 83 1B 78 */ or r3, r4, r3 -/* 8033DE4C 7C 04 18 78 */ andc r4, r0, r3 -/* 8033DE50 28 04 00 00 */ cmplwi r4, 0 -/* 8033DE54 41 82 00 98 */ beq lbl_8033DEEC -/* 8033DE58 3C 60 80 3D */ lis r3, InterruptPrioTable@ha /* 0x803D0758@ha */ -/* 8033DE5C 38 03 07 58 */ addi r0, r3, InterruptPrioTable@l /* 0x803D0758@l */ -/* 8033DE60 7C 03 03 78 */ mr r3, r0 -/* 8033DE64 48 00 00 04 */ b lbl_8033DE68 -lbl_8033DE68: -/* 8033DE68 48 00 00 04 */ b lbl_8033DE6C -lbl_8033DE6C: -/* 8033DE6C 80 03 00 00 */ lwz r0, 0(r3) -/* 8033DE70 7C 80 00 38 */ and r0, r4, r0 -/* 8033DE74 28 00 00 00 */ cmplwi r0, 0 -/* 8033DE78 41 82 00 10 */ beq lbl_8033DE88 -/* 8033DE7C 7C 00 00 34 */ cntlzw r0, r0 -/* 8033DE80 7C 1D 07 34 */ extsh r29, r0 -/* 8033DE84 48 00 00 0C */ b lbl_8033DE90 -lbl_8033DE88: -/* 8033DE88 38 63 00 04 */ addi r3, r3, 4 -/* 8033DE8C 4B FF FF E0 */ b lbl_8033DE6C -lbl_8033DE90: -/* 8033DE90 80 6D 90 F0 */ lwz r3, InterruptHandlerTable(r13) -/* 8033DE94 57 A0 10 3A */ slwi r0, r29, 2 -/* 8033DE98 7F E3 00 2E */ lwzx r31, r3, r0 -/* 8033DE9C 28 1F 00 00 */ cmplwi r31, 0 -/* 8033DEA0 41 82 00 4C */ beq lbl_8033DEEC -/* 8033DEA4 2C 1D 00 04 */ cmpwi r29, 4 -/* 8033DEA8 40 81 00 1C */ ble lbl_8033DEC4 -/* 8033DEAC B3 AD 90 F8 */ sth r29, __OSLastInterrupt(r13) -/* 8033DEB0 48 00 48 4D */ bl OSGetTime -/* 8033DEB4 90 8D 91 04 */ stw r4, __OSLastInterruptTime+0x4(r13) -/* 8033DEB8 90 6D 91 00 */ stw r3, __OSLastInterruptTime(r13) -/* 8033DEBC 80 1E 01 98 */ lwz r0, 0x198(r30) -/* 8033DEC0 90 0D 90 F4 */ stw r0, __OSLastInterruptSrr0(r13) -lbl_8033DEC4: -/* 8033DEC4 48 00 2E 01 */ bl OSDisableScheduler -/* 8033DEC8 7F A3 EB 78 */ mr r3, r29 -/* 8033DECC 7F C4 F3 78 */ mr r4, r30 -/* 8033DED0 7F EC FB 78 */ mr r12, r31 -/* 8033DED4 7D 88 03 A6 */ mtlr r12 -/* 8033DED8 4E 80 00 21 */ blrl -/* 8033DEDC 48 00 2E 29 */ bl OSEnableScheduler -/* 8033DEE0 48 00 33 41 */ bl __OSReschedule -/* 8033DEE4 7F C3 F3 78 */ mr r3, r30 -/* 8033DEE8 4B FF E0 39 */ bl OSLoadContext -lbl_8033DEEC: -/* 8033DEEC 7F C3 F3 78 */ mr r3, r30 -/* 8033DEF0 4B FF E0 31 */ bl OSLoadContext -/* 8033DEF4 80 01 00 2C */ lwz r0, 0x2c(r1) -/* 8033DEF8 83 E1 00 24 */ lwz r31, 0x24(r1) -/* 8033DEFC 83 C1 00 20 */ lwz r30, 0x20(r1) -/* 8033DF00 83 A1 00 1C */ lwz r29, 0x1c(r1) -/* 8033DF04 38 21 00 28 */ addi r1, r1, 0x28 -/* 8033DF08 7C 08 03 A6 */ mtlr r0 -/* 8033DF0C 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSMemory/MEMIntrruptHandler.s b/asm/dolphin/os/OSMemory/MEMIntrruptHandler.s deleted file mode 100644 index b353011ed1d..00000000000 --- a/asm/dolphin/os/OSMemory/MEMIntrruptHandler.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_8033ECA8: -/* 8033ECA8 7C 08 02 A6 */ mflr r0 -/* 8033ECAC 3C 60 CC 00 */ lis r3, 0xCC00 /* 0xCC004000@ha */ -/* 8033ECB0 90 01 00 04 */ stw r0, 4(r1) -/* 8033ECB4 39 03 40 00 */ addi r8, r3, 0x4000 /* 0xCC004000@l */ -/* 8033ECB8 38 00 00 00 */ li r0, 0 -/* 8033ECBC 94 21 FF F8 */ stwu r1, -8(r1) -/* 8033ECC0 A0 E3 40 24 */ lhz r7, 0x4024(r3) -/* 8033ECC4 3C 60 80 45 */ lis r3, __OSErrorTable@ha /* 0x8044BAD0@ha */ -/* 8033ECC8 A0 C8 00 22 */ lhz r6, 0x22(r8) -/* 8033ECCC 38 63 BA D0 */ addi r3, r3, __OSErrorTable@l /* 0x8044BAD0@l */ -/* 8033ECD0 A0 A8 00 1E */ lhz r5, 0x1e(r8) -/* 8033ECD4 50 E6 81 9E */ rlwimi r6, r7, 0x10, 6, 0xf -/* 8033ECD8 B0 08 00 20 */ sth r0, 0x20(r8) -/* 8033ECDC 81 83 00 3C */ lwz r12, 0x3c(r3) -/* 8033ECE0 28 0C 00 00 */ cmplwi r12, 0 -/* 8033ECE4 41 82 00 18 */ beq lbl_8033ECFC -/* 8033ECE8 7D 88 03 A6 */ mtlr r12 -/* 8033ECEC 38 60 00 0F */ li r3, 0xf -/* 8033ECF0 4C C6 31 82 */ crclr 6 -/* 8033ECF4 4E 80 00 21 */ blrl -/* 8033ECF8 48 00 00 0C */ b lbl_8033ED04 -lbl_8033ECFC: -/* 8033ECFC 38 60 00 0F */ li r3, 0xf -/* 8033ED00 4B FF DA 99 */ bl __OSUnhandledException -lbl_8033ED04: -/* 8033ED04 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8033ED08 38 21 00 08 */ addi r1, r1, 8 -/* 8033ED0C 7C 08 03 A6 */ mtlr r0 -/* 8033ED10 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSMutex/OSInitCond.s b/asm/dolphin/os/OSMutex/OSInitCond.s deleted file mode 100644 index 64dcbcae060..00000000000 --- a/asm/dolphin/os/OSMutex/OSInitCond.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8033F310: -/* 8033F310 7C 08 02 A6 */ mflr r0 -/* 8033F314 90 01 00 04 */ stw r0, 4(r1) -/* 8033F318 94 21 FF F8 */ stwu r1, -8(r1) -/* 8033F31C 48 00 19 59 */ bl OSInitThreadQueue -/* 8033F320 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8033F324 38 21 00 08 */ addi r1, r1, 8 -/* 8033F328 7C 08 03 A6 */ mtlr r0 -/* 8033F32C 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSMutex/OSLockMutex.s b/asm/dolphin/os/OSMutex/OSLockMutex.s deleted file mode 100644 index 1a1f2076bf3..00000000000 --- a/asm/dolphin/os/OSMutex/OSLockMutex.s +++ /dev/null @@ -1,62 +0,0 @@ -lbl_8033F040: -/* 8033F040 7C 08 02 A6 */ mflr r0 -/* 8033F044 90 01 00 04 */ stw r0, 4(r1) -/* 8033F048 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8033F04C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8033F050 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8033F054 93 A1 00 14 */ stw r29, 0x14(r1) -/* 8033F058 93 81 00 10 */ stw r28, 0x10(r1) -/* 8033F05C 7C 7C 1B 78 */ mr r28, r3 -/* 8033F060 4B FF E6 95 */ bl OSDisableInterrupts -/* 8033F064 7C 7D 1B 78 */ mr r29, r3 -/* 8033F068 48 00 1C 1D */ bl OSGetCurrentThread -/* 8033F06C 3B C3 00 00 */ addi r30, r3, 0 -/* 8033F070 3B E0 00 00 */ li r31, 0 -lbl_8033F074: -/* 8033F074 80 1C 00 08 */ lwz r0, 8(r28) -/* 8033F078 28 00 00 00 */ cmplwi r0, 0 -/* 8033F07C 40 82 00 40 */ bne lbl_8033F0BC -/* 8033F080 93 DC 00 08 */ stw r30, 8(r28) -/* 8033F084 80 7C 00 0C */ lwz r3, 0xc(r28) -/* 8033F088 38 03 00 01 */ addi r0, r3, 1 -/* 8033F08C 90 1C 00 0C */ stw r0, 0xc(r28) -/* 8033F090 80 7E 02 F8 */ lwz r3, 0x2f8(r30) -/* 8033F094 28 03 00 00 */ cmplwi r3, 0 -/* 8033F098 40 82 00 0C */ bne lbl_8033F0A4 -/* 8033F09C 93 9E 02 F4 */ stw r28, 0x2f4(r30) -/* 8033F0A0 48 00 00 08 */ b lbl_8033F0A8 -lbl_8033F0A4: -/* 8033F0A4 93 83 00 10 */ stw r28, 0x10(r3) -lbl_8033F0A8: -/* 8033F0A8 90 7C 00 14 */ stw r3, 0x14(r28) -/* 8033F0AC 38 00 00 00 */ li r0, 0 -/* 8033F0B0 90 1C 00 10 */ stw r0, 0x10(r28) -/* 8033F0B4 93 9E 02 F8 */ stw r28, 0x2f8(r30) -/* 8033F0B8 48 00 00 3C */ b lbl_8033F0F4 -lbl_8033F0BC: -/* 8033F0BC 7C 00 F0 40 */ cmplw r0, r30 -/* 8033F0C0 40 82 00 14 */ bne lbl_8033F0D4 -/* 8033F0C4 80 7C 00 0C */ lwz r3, 0xc(r28) -/* 8033F0C8 38 03 00 01 */ addi r0, r3, 1 -/* 8033F0CC 90 1C 00 0C */ stw r0, 0xc(r28) -/* 8033F0D0 48 00 00 24 */ b lbl_8033F0F4 -lbl_8033F0D4: -/* 8033F0D4 93 9E 02 F0 */ stw r28, 0x2f0(r30) -/* 8033F0D8 80 7C 00 08 */ lwz r3, 8(r28) -/* 8033F0DC 80 9E 02 D0 */ lwz r4, 0x2d0(r30) -/* 8033F0E0 48 00 1E C9 */ bl __OSPromoteThread -/* 8033F0E4 7F 83 E3 78 */ mr r3, r28 -/* 8033F0E8 48 00 2A C5 */ bl OSSleepThread -/* 8033F0EC 93 FE 02 F0 */ stw r31, 0x2f0(r30) -/* 8033F0F0 4B FF FF 84 */ b lbl_8033F074 -lbl_8033F0F4: -/* 8033F0F4 7F A3 EB 78 */ mr r3, r29 -/* 8033F0F8 4B FF E6 25 */ bl OSRestoreInterrupts -/* 8033F0FC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8033F100 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8033F104 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8033F108 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 8033F10C 83 81 00 10 */ lwz r28, 0x10(r1) -/* 8033F110 38 21 00 20 */ addi r1, r1, 0x20 -/* 8033F114 7C 08 03 A6 */ mtlr r0 -/* 8033F118 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSMutex/OSSignalCond.s b/asm/dolphin/os/OSMutex/OSSignalCond.s deleted file mode 100644 index 9fb7050c32e..00000000000 --- a/asm/dolphin/os/OSMutex/OSSignalCond.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8033F404: -/* 8033F404 7C 08 02 A6 */ mflr r0 -/* 8033F408 90 01 00 04 */ stw r0, 4(r1) -/* 8033F40C 94 21 FF F8 */ stwu r1, -8(r1) -/* 8033F410 48 00 28 89 */ bl OSWakeupThread -/* 8033F414 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8033F418 38 21 00 08 */ addi r1, r1, 8 -/* 8033F41C 7C 08 03 A6 */ mtlr r0 -/* 8033F420 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSMutex/OSTryLockMutex.s b/asm/dolphin/os/OSMutex/OSTryLockMutex.s deleted file mode 100644 index 70d5f0be3c6..00000000000 --- a/asm/dolphin/os/OSMutex/OSTryLockMutex.s +++ /dev/null @@ -1,53 +0,0 @@ -lbl_8033F254: -/* 8033F254 7C 08 02 A6 */ mflr r0 -/* 8033F258 90 01 00 04 */ stw r0, 4(r1) -/* 8033F25C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8033F260 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8033F264 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8033F268 93 A1 00 14 */ stw r29, 0x14(r1) -/* 8033F26C 7C 7D 1B 78 */ mr r29, r3 -/* 8033F270 4B FF E4 85 */ bl OSDisableInterrupts -/* 8033F274 7C 7F 1B 78 */ mr r31, r3 -/* 8033F278 48 00 1A 0D */ bl OSGetCurrentThread -/* 8033F27C 80 1D 00 08 */ lwz r0, 8(r29) -/* 8033F280 28 00 00 00 */ cmplwi r0, 0 -/* 8033F284 40 82 00 44 */ bne lbl_8033F2C8 -/* 8033F288 90 7D 00 08 */ stw r3, 8(r29) -/* 8033F28C 80 9D 00 0C */ lwz r4, 0xc(r29) -/* 8033F290 38 04 00 01 */ addi r0, r4, 1 -/* 8033F294 90 1D 00 0C */ stw r0, 0xc(r29) -/* 8033F298 80 83 02 F8 */ lwz r4, 0x2f8(r3) -/* 8033F29C 28 04 00 00 */ cmplwi r4, 0 -/* 8033F2A0 40 82 00 0C */ bne lbl_8033F2AC -/* 8033F2A4 93 A3 02 F4 */ stw r29, 0x2f4(r3) -/* 8033F2A8 48 00 00 08 */ b lbl_8033F2B0 -lbl_8033F2AC: -/* 8033F2AC 93 A4 00 10 */ stw r29, 0x10(r4) -lbl_8033F2B0: -/* 8033F2B0 90 9D 00 14 */ stw r4, 0x14(r29) -/* 8033F2B4 38 00 00 00 */ li r0, 0 -/* 8033F2B8 3B C0 00 01 */ li r30, 1 -/* 8033F2BC 90 1D 00 10 */ stw r0, 0x10(r29) -/* 8033F2C0 93 A3 02 F8 */ stw r29, 0x2f8(r3) -/* 8033F2C4 48 00 00 24 */ b lbl_8033F2E8 -lbl_8033F2C8: -/* 8033F2C8 7C 00 18 40 */ cmplw r0, r3 -/* 8033F2CC 40 82 00 18 */ bne lbl_8033F2E4 -/* 8033F2D0 80 7D 00 0C */ lwz r3, 0xc(r29) -/* 8033F2D4 3B C0 00 01 */ li r30, 1 -/* 8033F2D8 38 03 00 01 */ addi r0, r3, 1 -/* 8033F2DC 90 1D 00 0C */ stw r0, 0xc(r29) -/* 8033F2E0 48 00 00 08 */ b lbl_8033F2E8 -lbl_8033F2E4: -/* 8033F2E4 3B C0 00 00 */ li r30, 0 -lbl_8033F2E8: -/* 8033F2E8 7F E3 FB 78 */ mr r3, r31 -/* 8033F2EC 4B FF E4 31 */ bl OSRestoreInterrupts -/* 8033F2F0 7F C3 F3 78 */ mr r3, r30 -/* 8033F2F4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8033F2F8 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8033F2FC 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8033F300 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 8033F304 38 21 00 20 */ addi r1, r1, 0x20 -/* 8033F308 7C 08 03 A6 */ mtlr r0 -/* 8033F30C 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSMutex/OSUnlockMutex.s b/asm/dolphin/os/OSMutex/OSUnlockMutex.s deleted file mode 100644 index 26199114173..00000000000 --- a/asm/dolphin/os/OSMutex/OSUnlockMutex.s +++ /dev/null @@ -1,57 +0,0 @@ -lbl_8033F11C: -/* 8033F11C 7C 08 02 A6 */ mflr r0 -/* 8033F120 90 01 00 04 */ stw r0, 4(r1) -/* 8033F124 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8033F128 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8033F12C 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8033F130 93 A1 00 14 */ stw r29, 0x14(r1) -/* 8033F134 7C 7D 1B 78 */ mr r29, r3 -/* 8033F138 4B FF E5 BD */ bl OSDisableInterrupts -/* 8033F13C 7C 7F 1B 78 */ mr r31, r3 -/* 8033F140 48 00 1B 45 */ bl OSGetCurrentThread -/* 8033F144 80 1D 00 08 */ lwz r0, 8(r29) -/* 8033F148 3B C3 00 00 */ addi r30, r3, 0 -/* 8033F14C 7C 00 F0 40 */ cmplw r0, r30 -/* 8033F150 40 82 00 70 */ bne lbl_8033F1C0 -/* 8033F154 80 7D 00 0C */ lwz r3, 0xc(r29) -/* 8033F158 34 03 FF FF */ addic. r0, r3, -1 -/* 8033F15C 90 1D 00 0C */ stw r0, 0xc(r29) -/* 8033F160 40 82 00 60 */ bne lbl_8033F1C0 -/* 8033F164 80 7D 00 10 */ lwz r3, 0x10(r29) -/* 8033F168 80 9D 00 14 */ lwz r4, 0x14(r29) -/* 8033F16C 28 03 00 00 */ cmplwi r3, 0 -/* 8033F170 40 82 00 0C */ bne lbl_8033F17C -/* 8033F174 90 9E 02 F8 */ stw r4, 0x2f8(r30) -/* 8033F178 48 00 00 08 */ b lbl_8033F180 -lbl_8033F17C: -/* 8033F17C 90 83 00 14 */ stw r4, 0x14(r3) -lbl_8033F180: -/* 8033F180 28 04 00 00 */ cmplwi r4, 0 -/* 8033F184 40 82 00 0C */ bne lbl_8033F190 -/* 8033F188 90 7E 02 F4 */ stw r3, 0x2f4(r30) -/* 8033F18C 48 00 00 08 */ b lbl_8033F194 -lbl_8033F190: -/* 8033F190 90 64 00 10 */ stw r3, 0x10(r4) -lbl_8033F194: -/* 8033F194 38 00 00 00 */ li r0, 0 -/* 8033F198 90 1D 00 08 */ stw r0, 8(r29) -/* 8033F19C 80 7E 02 D0 */ lwz r3, 0x2d0(r30) -/* 8033F1A0 80 1E 02 D4 */ lwz r0, 0x2d4(r30) -/* 8033F1A4 7C 03 00 00 */ cmpw r3, r0 -/* 8033F1A8 40 80 00 10 */ bge lbl_8033F1B8 -/* 8033F1AC 7F C3 F3 78 */ mr r3, r30 -/* 8033F1B0 48 00 1B FD */ bl __OSGetEffectivePriority -/* 8033F1B4 90 7E 02 D0 */ stw r3, 0x2d0(r30) -lbl_8033F1B8: -/* 8033F1B8 7F A3 EB 78 */ mr r3, r29 -/* 8033F1BC 48 00 2A DD */ bl OSWakeupThread -lbl_8033F1C0: -/* 8033F1C0 7F E3 FB 78 */ mr r3, r31 -/* 8033F1C4 4B FF E5 59 */ bl OSRestoreInterrupts -/* 8033F1C8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8033F1CC 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8033F1D0 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8033F1D4 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 8033F1D8 38 21 00 20 */ addi r1, r1, 0x20 -/* 8033F1DC 7C 08 03 A6 */ mtlr r0 -/* 8033F1E0 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSMutex/OSWaitCond.s b/asm/dolphin/os/OSMutex/OSWaitCond.s deleted file mode 100644 index 0f3195faf57..00000000000 --- a/asm/dolphin/os/OSMutex/OSWaitCond.s +++ /dev/null @@ -1,60 +0,0 @@ -lbl_8033F330: -/* 8033F330 7C 08 02 A6 */ mflr r0 -/* 8033F334 90 01 00 04 */ stw r0, 4(r1) -/* 8033F338 94 21 FF D8 */ stwu r1, -0x28(r1) -/* 8033F33C BF 61 00 14 */ stmw r27, 0x14(r1) -/* 8033F340 3B 63 00 00 */ addi r27, r3, 0 -/* 8033F344 3B 84 00 00 */ addi r28, r4, 0 -/* 8033F348 4B FF E3 AD */ bl OSDisableInterrupts -/* 8033F34C 7C 7F 1B 78 */ mr r31, r3 -/* 8033F350 48 00 19 35 */ bl OSGetCurrentThread -/* 8033F354 80 1C 00 08 */ lwz r0, 8(r28) -/* 8033F358 3B C3 00 00 */ addi r30, r3, 0 -/* 8033F35C 7C 00 F0 40 */ cmplw r0, r30 -/* 8033F360 40 82 00 88 */ bne lbl_8033F3E8 -/* 8033F364 83 BC 00 0C */ lwz r29, 0xc(r28) -/* 8033F368 38 00 00 00 */ li r0, 0 -/* 8033F36C 90 1C 00 0C */ stw r0, 0xc(r28) -/* 8033F370 80 7C 00 10 */ lwz r3, 0x10(r28) -/* 8033F374 80 9C 00 14 */ lwz r4, 0x14(r28) -/* 8033F378 28 03 00 00 */ cmplwi r3, 0 -/* 8033F37C 40 82 00 0C */ bne lbl_8033F388 -/* 8033F380 90 9E 02 F8 */ stw r4, 0x2f8(r30) -/* 8033F384 48 00 00 08 */ b lbl_8033F38C -lbl_8033F388: -/* 8033F388 90 83 00 14 */ stw r4, 0x14(r3) -lbl_8033F38C: -/* 8033F38C 28 04 00 00 */ cmplwi r4, 0 -/* 8033F390 40 82 00 0C */ bne lbl_8033F39C -/* 8033F394 90 7E 02 F4 */ stw r3, 0x2f4(r30) -/* 8033F398 48 00 00 08 */ b lbl_8033F3A0 -lbl_8033F39C: -/* 8033F39C 90 64 00 10 */ stw r3, 0x10(r4) -lbl_8033F3A0: -/* 8033F3A0 38 00 00 00 */ li r0, 0 -/* 8033F3A4 90 1C 00 08 */ stw r0, 8(r28) -/* 8033F3A8 80 7E 02 D0 */ lwz r3, 0x2d0(r30) -/* 8033F3AC 80 1E 02 D4 */ lwz r0, 0x2d4(r30) -/* 8033F3B0 7C 03 00 00 */ cmpw r3, r0 -/* 8033F3B4 40 80 00 10 */ bge lbl_8033F3C4 -/* 8033F3B8 7F C3 F3 78 */ mr r3, r30 -/* 8033F3BC 48 00 19 F1 */ bl __OSGetEffectivePriority -/* 8033F3C0 90 7E 02 D0 */ stw r3, 0x2d0(r30) -lbl_8033F3C4: -/* 8033F3C4 48 00 19 01 */ bl OSDisableScheduler -/* 8033F3C8 7F 83 E3 78 */ mr r3, r28 -/* 8033F3CC 48 00 28 CD */ bl OSWakeupThread -/* 8033F3D0 48 00 19 35 */ bl OSEnableScheduler -/* 8033F3D4 7F 63 DB 78 */ mr r3, r27 -/* 8033F3D8 48 00 27 D5 */ bl OSSleepThread -/* 8033F3DC 7F 83 E3 78 */ mr r3, r28 -/* 8033F3E0 4B FF FC 61 */ bl OSLockMutex -/* 8033F3E4 93 BC 00 0C */ stw r29, 0xc(r28) -lbl_8033F3E8: -/* 8033F3E8 7F E3 FB 78 */ mr r3, r31 -/* 8033F3EC 4B FF E3 31 */ bl OSRestoreInterrupts -/* 8033F3F0 BB 61 00 14 */ lmw r27, 0x14(r1) -/* 8033F3F4 80 01 00 2C */ lwz r0, 0x2c(r1) -/* 8033F3F8 38 21 00 28 */ addi r1, r1, 0x28 -/* 8033F3FC 7C 08 03 A6 */ mtlr r0 -/* 8033F400 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSMutex/__OSCheckDeadLock.s b/asm/dolphin/os/OSMutex/__OSCheckDeadLock.s deleted file mode 100644 index 893d38ced36..00000000000 --- a/asm/dolphin/os/OSMutex/__OSCheckDeadLock.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8033F524: -/* 8033F524 80 83 02 F0 */ lwz r4, 0x2f0(r3) -/* 8033F528 48 00 00 18 */ b lbl_8033F540 -lbl_8033F52C: -/* 8033F52C 7C 04 18 40 */ cmplw r4, r3 -/* 8033F530 40 82 00 0C */ bne lbl_8033F53C -/* 8033F534 38 60 00 01 */ li r3, 1 -/* 8033F538 4E 80 00 20 */ blr -lbl_8033F53C: -/* 8033F53C 80 84 02 F0 */ lwz r4, 0x2f0(r4) -lbl_8033F540: -/* 8033F540 28 04 00 00 */ cmplwi r4, 0 -/* 8033F544 41 82 00 10 */ beq lbl_8033F554 -/* 8033F548 80 84 00 08 */ lwz r4, 8(r4) -/* 8033F54C 28 04 00 00 */ cmplwi r4, 0 -/* 8033F550 40 82 FF DC */ bne lbl_8033F52C -lbl_8033F554: -/* 8033F554 38 60 00 00 */ li r3, 0 -/* 8033F558 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSMutex/__OSCheckMutex.s b/asm/dolphin/os/OSMutex/__OSCheckMutex.s deleted file mode 100644 index 13eaadc5e8e..00000000000 --- a/asm/dolphin/os/OSMutex/__OSCheckMutex.s +++ /dev/null @@ -1,75 +0,0 @@ -lbl_8033F424: -/* 8033F424 80 83 00 00 */ lwz r4, 0(r3) -/* 8033F428 38 E0 00 00 */ li r7, 0 -/* 8033F42C 28 04 00 00 */ cmplwi r4, 0 -/* 8033F430 41 82 00 18 */ beq lbl_8033F448 -/* 8033F434 80 04 02 E4 */ lwz r0, 0x2e4(r4) -/* 8033F438 28 00 00 00 */ cmplwi r0, 0 -/* 8033F43C 41 82 00 0C */ beq lbl_8033F448 -/* 8033F440 38 60 00 00 */ li r3, 0 -/* 8033F444 4E 80 00 20 */ blr -lbl_8033F448: -/* 8033F448 80 A3 00 04 */ lwz r5, 4(r3) -/* 8033F44C 28 05 00 00 */ cmplwi r5, 0 -/* 8033F450 41 82 00 18 */ beq lbl_8033F468 -/* 8033F454 80 05 02 E0 */ lwz r0, 0x2e0(r5) -/* 8033F458 28 00 00 00 */ cmplwi r0, 0 -/* 8033F45C 41 82 00 0C */ beq lbl_8033F468 -/* 8033F460 38 60 00 00 */ li r3, 0 -/* 8033F464 4E 80 00 20 */ blr -lbl_8033F468: -/* 8033F468 7C 86 23 78 */ mr r6, r4 -/* 8033F46C 48 00 00 74 */ b lbl_8033F4E0 -lbl_8033F470: -/* 8033F470 80 86 02 E0 */ lwz r4, 0x2e0(r6) -/* 8033F474 28 04 00 00 */ cmplwi r4, 0 -/* 8033F478 41 82 00 18 */ beq lbl_8033F490 -/* 8033F47C 80 04 02 E4 */ lwz r0, 0x2e4(r4) -/* 8033F480 7C 06 00 40 */ cmplw r6, r0 -/* 8033F484 41 82 00 0C */ beq lbl_8033F490 -/* 8033F488 38 60 00 00 */ li r3, 0 -/* 8033F48C 4E 80 00 20 */ blr -lbl_8033F490: -/* 8033F490 80 A6 02 E4 */ lwz r5, 0x2e4(r6) -/* 8033F494 28 05 00 00 */ cmplwi r5, 0 -/* 8033F498 41 82 00 18 */ beq lbl_8033F4B0 -/* 8033F49C 80 05 02 E0 */ lwz r0, 0x2e0(r5) -/* 8033F4A0 7C 06 00 40 */ cmplw r6, r0 -/* 8033F4A4 41 82 00 0C */ beq lbl_8033F4B0 -/* 8033F4A8 38 60 00 00 */ li r3, 0 -/* 8033F4AC 4E 80 00 20 */ blr -lbl_8033F4B0: -/* 8033F4B0 A0 06 02 C8 */ lhz r0, 0x2c8(r6) -/* 8033F4B4 28 00 00 04 */ cmplwi r0, 4 -/* 8033F4B8 41 82 00 0C */ beq lbl_8033F4C4 -/* 8033F4BC 38 60 00 00 */ li r3, 0 -/* 8033F4C0 4E 80 00 20 */ blr -lbl_8033F4C4: -/* 8033F4C4 80 06 02 D0 */ lwz r0, 0x2d0(r6) -/* 8033F4C8 7C 00 38 00 */ cmpw r0, r7 -/* 8033F4CC 40 80 00 0C */ bge lbl_8033F4D8 -/* 8033F4D0 38 60 00 00 */ li r3, 0 -/* 8033F4D4 4E 80 00 20 */ blr -lbl_8033F4D8: -/* 8033F4D8 7C 07 03 78 */ mr r7, r0 -/* 8033F4DC 38 C4 00 00 */ addi r6, r4, 0 -lbl_8033F4E0: -/* 8033F4E0 28 06 00 00 */ cmplwi r6, 0 -/* 8033F4E4 40 82 FF 8C */ bne lbl_8033F470 -/* 8033F4E8 80 03 00 08 */ lwz r0, 8(r3) -/* 8033F4EC 28 00 00 00 */ cmplwi r0, 0 -/* 8033F4F0 41 82 00 18 */ beq lbl_8033F508 -/* 8033F4F4 80 03 00 0C */ lwz r0, 0xc(r3) -/* 8033F4F8 2C 00 00 00 */ cmpwi r0, 0 -/* 8033F4FC 41 81 00 20 */ bgt lbl_8033F51C -/* 8033F500 38 60 00 00 */ li r3, 0 -/* 8033F504 4E 80 00 20 */ blr -lbl_8033F508: -/* 8033F508 80 03 00 0C */ lwz r0, 0xc(r3) -/* 8033F50C 2C 00 00 00 */ cmpwi r0, 0 -/* 8033F510 41 82 00 0C */ beq lbl_8033F51C -/* 8033F514 38 60 00 00 */ li r3, 0 -/* 8033F518 4E 80 00 20 */ blr -lbl_8033F51C: -/* 8033F51C 38 60 00 01 */ li r3, 1 -/* 8033F520 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSMutex/__OSCheckMutexes.s b/asm/dolphin/os/OSMutex/__OSCheckMutexes.s deleted file mode 100644 index 0d4abc5cfab..00000000000 --- a/asm/dolphin/os/OSMutex/__OSCheckMutexes.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_8033F55C: -/* 8033F55C 7C 08 02 A6 */ mflr r0 -/* 8033F560 90 01 00 04 */ stw r0, 4(r1) -/* 8033F564 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 8033F568 93 E1 00 14 */ stw r31, 0x14(r1) -/* 8033F56C 93 C1 00 10 */ stw r30, 0x10(r1) -/* 8033F570 7C 7E 1B 78 */ mr r30, r3 -/* 8033F574 83 E3 02 F4 */ lwz r31, 0x2f4(r3) -/* 8033F578 48 00 00 34 */ b lbl_8033F5AC -lbl_8033F57C: -/* 8033F57C 80 1F 00 08 */ lwz r0, 8(r31) -/* 8033F580 7C 00 F0 40 */ cmplw r0, r30 -/* 8033F584 41 82 00 0C */ beq lbl_8033F590 -/* 8033F588 38 60 00 00 */ li r3, 0 -/* 8033F58C 48 00 00 2C */ b lbl_8033F5B8 -lbl_8033F590: -/* 8033F590 7F E3 FB 78 */ mr r3, r31 -/* 8033F594 4B FF FE 91 */ bl __OSCheckMutex -/* 8033F598 2C 03 00 00 */ cmpwi r3, 0 -/* 8033F59C 40 82 00 0C */ bne lbl_8033F5A8 -/* 8033F5A0 38 60 00 00 */ li r3, 0 -/* 8033F5A4 48 00 00 14 */ b lbl_8033F5B8 -lbl_8033F5A8: -/* 8033F5A8 83 FF 00 10 */ lwz r31, 0x10(r31) -lbl_8033F5AC: -/* 8033F5AC 28 1F 00 00 */ cmplwi r31, 0 -/* 8033F5B0 40 82 FF CC */ bne lbl_8033F57C -/* 8033F5B4 38 60 00 01 */ li r3, 1 -lbl_8033F5B8: -/* 8033F5B8 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 8033F5BC 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 8033F5C0 83 C1 00 10 */ lwz r30, 0x10(r1) -/* 8033F5C4 38 21 00 18 */ addi r1, r1, 0x18 -/* 8033F5C8 7C 08 03 A6 */ mtlr r0 -/* 8033F5CC 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSMutex/__OSUnlockAllMutex.s b/asm/dolphin/os/OSMutex/__OSUnlockAllMutex.s deleted file mode 100644 index 64a88259d3f..00000000000 --- a/asm/dolphin/os/OSMutex/__OSUnlockAllMutex.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_8033F1E4: -/* 8033F1E4 7C 08 02 A6 */ mflr r0 -/* 8033F1E8 90 01 00 04 */ stw r0, 4(r1) -/* 8033F1EC 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 8033F1F0 93 E1 00 14 */ stw r31, 0x14(r1) -/* 8033F1F4 3B E0 00 00 */ li r31, 0 -/* 8033F1F8 93 C1 00 10 */ stw r30, 0x10(r1) -/* 8033F1FC 3B C3 00 00 */ addi r30, r3, 0 -/* 8033F200 48 00 00 30 */ b lbl_8033F230 -lbl_8033F204: -/* 8033F204 80 A4 00 10 */ lwz r5, 0x10(r4) -/* 8033F208 38 64 00 00 */ addi r3, r4, 0 -/* 8033F20C 28 05 00 00 */ cmplwi r5, 0 -/* 8033F210 40 82 00 0C */ bne lbl_8033F21C -/* 8033F214 93 FE 02 F8 */ stw r31, 0x2f8(r30) -/* 8033F218 48 00 00 08 */ b lbl_8033F220 -lbl_8033F21C: -/* 8033F21C 93 E5 00 14 */ stw r31, 0x14(r5) -lbl_8033F220: -/* 8033F220 90 BE 02 F4 */ stw r5, 0x2f4(r30) -/* 8033F224 93 E4 00 0C */ stw r31, 0xc(r4) -/* 8033F228 93 E4 00 08 */ stw r31, 8(r4) -/* 8033F22C 48 00 2A 6D */ bl OSWakeupThread -lbl_8033F230: -/* 8033F230 80 9E 02 F4 */ lwz r4, 0x2f4(r30) -/* 8033F234 28 04 00 00 */ cmplwi r4, 0 -/* 8033F238 40 82 FF CC */ bne lbl_8033F204 -/* 8033F23C 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 8033F240 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 8033F244 83 C1 00 10 */ lwz r30, 0x10(r1) -/* 8033F248 38 21 00 18 */ addi r1, r1, 0x18 -/* 8033F24C 7C 08 03 A6 */ mtlr r0 -/* 8033F250 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSReset/KillThreads.s b/asm/dolphin/os/OSReset/KillThreads.s deleted file mode 100644 index 9fc46823cc7..00000000000 --- a/asm/dolphin/os/OSReset/KillThreads.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_8033F7FC: -/* 8033F7FC 7C 08 02 A6 */ mflr r0 -/* 8033F800 90 01 00 04 */ stw r0, 4(r1) -/* 8033F804 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8033F808 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8033F80C 3C 60 80 00 */ lis r3, 0x8000 /* 0x800000DC@ha */ -/* 8033F810 80 63 00 DC */ lwz r3, 0x00DC(r3) /* 0x800000DC@l */ -/* 8033F814 48 00 00 04 */ b lbl_8033F818 -lbl_8033F818: -/* 8033F818 48 00 00 04 */ b lbl_8033F81C -lbl_8033F81C: -/* 8033F81C 48 00 00 2C */ b lbl_8033F848 -lbl_8033F820: -/* 8033F820 A0 03 02 C8 */ lhz r0, 0x2c8(r3) -/* 8033F824 83 E3 02 FC */ lwz r31, 0x2fc(r3) -/* 8033F828 2C 00 00 04 */ cmpwi r0, 4 -/* 8033F82C 41 82 00 14 */ beq lbl_8033F840 -/* 8033F830 40 80 00 14 */ bge lbl_8033F844 -/* 8033F834 2C 00 00 01 */ cmpwi r0, 1 -/* 8033F838 41 82 00 08 */ beq lbl_8033F840 -/* 8033F83C 48 00 00 08 */ b lbl_8033F844 -lbl_8033F840: -/* 8033F840 48 00 1D 19 */ bl OSCancelThread -lbl_8033F844: -/* 8033F844 7F E3 FB 78 */ mr r3, r31 -lbl_8033F848: -/* 8033F848 28 03 00 00 */ cmplwi r3, 0 -/* 8033F84C 40 82 FF D4 */ bne lbl_8033F820 -/* 8033F850 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8033F854 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8033F858 38 21 00 10 */ addi r1, r1, 0x10 -/* 8033F85C 7C 08 03 A6 */ mtlr r0 -/* 8033F860 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSReset/OSGetResetCode.s b/asm/dolphin/os/OSReset/OSGetResetCode.s deleted file mode 100644 index 7ca816a0c36..00000000000 --- a/asm/dolphin/os/OSReset/OSGetResetCode.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8033FAAC: -/* 8033FAAC 3C 60 80 45 */ lis r3, __OSRebootParams@ha /* 0x8044BAB0@ha */ -/* 8033FAB0 38 63 BA B0 */ addi r3, r3, __OSRebootParams@l /* 0x8044BAB0@l */ -/* 8033FAB4 80 03 00 00 */ lwz r0, 0(r3) -/* 8033FAB8 2C 00 00 00 */ cmpwi r0, 0 -/* 8033FABC 41 82 00 10 */ beq lbl_8033FACC -/* 8033FAC0 80 03 00 04 */ lwz r0, 4(r3) -/* 8033FAC4 64 03 80 00 */ oris r3, r0, 0x8000 -/* 8033FAC8 48 00 00 18 */ b lbl_8033FAE0 -lbl_8033FACC: -/* 8033FACC 3C 60 CC 00 */ lis r3, 0xCC00 /* 0xCC003000@ha */ -/* 8033FAD0 38 63 30 00 */ addi r3, r3, 0x3000 /* 0xCC003000@l */ -/* 8033FAD4 80 03 00 24 */ lwz r0, 0x24(r3) -/* 8033FAD8 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c -/* 8033FADC 54 03 E8 FE */ srwi r3, r0, 3 -lbl_8033FAE0: -/* 8033FAE0 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSReset/OSResetSystem.s b/asm/dolphin/os/OSReset/OSResetSystem.s deleted file mode 100644 index 2398463570d..00000000000 --- a/asm/dolphin/os/OSReset/OSResetSystem.s +++ /dev/null @@ -1,144 +0,0 @@ -lbl_8033F8AC: -/* 8033F8AC 7C 08 02 A6 */ mflr r0 -/* 8033F8B0 90 01 00 04 */ stw r0, 4(r1) -/* 8033F8B4 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8033F8B8 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 8033F8BC 93 C1 00 28 */ stw r30, 0x28(r1) -/* 8033F8C0 93 A1 00 24 */ stw r29, 0x24(r1) -/* 8033F8C4 93 81 00 20 */ stw r28, 0x20(r1) -/* 8033F8C8 7C 7C 1B 78 */ mr r28, r3 -/* 8033F8CC 7C 9D 23 78 */ mr r29, r4 -/* 8033F8D0 7C BE 2B 78 */ mr r30, r5 -/* 8033F8D4 48 00 13 F1 */ bl OSDisableScheduler -/* 8033F8D8 2C 1C 00 01 */ cmpwi r28, 1 -/* 8033F8DC 40 82 00 28 */ bne lbl_8033F904 -/* 8033F8E0 2C 1E 00 00 */ cmpwi r30, 0 -/* 8033F8E4 41 82 00 20 */ beq lbl_8033F904 -/* 8033F8E8 48 00 08 5D */ bl __OSLockSram -/* 8033F8EC 88 03 00 13 */ lbz r0, 0x13(r3) -/* 8033F8F0 60 00 00 40 */ ori r0, r0, 0x40 -/* 8033F8F4 98 03 00 13 */ stb r0, 0x13(r3) -/* 8033F8F8 38 60 00 01 */ li r3, 1 -/* 8033F8FC 48 00 0C 3D */ bl __OSUnlockSram -/* 8033F900 3B A0 00 00 */ li r29, 0 -lbl_8033F904: -/* 8033F904 2C 1C 00 02 */ cmpwi r28, 2 -/* 8033F908 41 82 00 24 */ beq lbl_8033F92C -/* 8033F90C 2C 1C 00 00 */ cmpwi r28, 0 -/* 8033F910 40 82 00 78 */ bne lbl_8033F988 -/* 8033F914 80 0D 91 18 */ lwz r0, bootThisDol(r13) -/* 8033F918 28 00 00 00 */ cmplwi r0, 0 -/* 8033F91C 40 82 00 10 */ bne lbl_8033F92C -/* 8033F920 3C 1D 3F FF */ addis r0, r29, 0x3fff -/* 8033F924 28 00 00 00 */ cmplwi r0, 0 -/* 8033F928 40 82 00 60 */ bne lbl_8033F988 -lbl_8033F92C: -/* 8033F92C 4B FF BB 69 */ bl __OSStopAudioSystem -/* 8033F930 38 60 00 01 */ li r3, 1 -/* 8033F934 48 01 02 C1 */ bl __PADDisableRecalibration -/* 8033F938 7C 7F 1B 78 */ mr r31, r3 -/* 8033F93C 48 00 00 04 */ b lbl_8033F940 -lbl_8033F940: -/* 8033F940 48 00 00 04 */ b lbl_8033F944 -lbl_8033F944: -/* 8033F944 38 60 00 00 */ li r3, 0 -/* 8033F948 4B FF FD 9D */ bl __OSCallResetFunctions -/* 8033F94C 2C 03 00 00 */ cmpwi r3, 0 -/* 8033F950 41 82 FF F4 */ beq lbl_8033F944 -/* 8033F954 48 00 00 04 */ b lbl_8033F958 -lbl_8033F958: -/* 8033F958 48 00 00 04 */ b lbl_8033F95C -lbl_8033F95C: -/* 8033F95C 48 00 0C 25 */ bl __OSSyncSram -/* 8033F960 2C 03 00 00 */ cmpwi r3, 0 -/* 8033F964 41 82 FF F8 */ beq lbl_8033F95C -/* 8033F968 4B FF DD 8D */ bl OSDisableInterrupts -/* 8033F96C 38 60 00 01 */ li r3, 1 -/* 8033F970 4B FF FD 75 */ bl __OSCallResetFunctions -/* 8033F974 4B FF BE 79 */ bl LCDisable -/* 8033F978 7F E3 FB 78 */ mr r3, r31 -/* 8033F97C 48 01 02 79 */ bl __PADDisableRecalibration -/* 8033F980 4B FF FE 7D */ bl KillThreads -/* 8033F984 48 00 00 48 */ b lbl_8033F9CC -lbl_8033F988: -/* 8033F988 4B FF BB 0D */ bl __OSStopAudioSystem -/* 8033F98C 48 00 00 04 */ b lbl_8033F990 -lbl_8033F990: -/* 8033F990 48 00 00 04 */ b lbl_8033F994 -lbl_8033F994: -/* 8033F994 38 60 00 00 */ li r3, 0 -/* 8033F998 4B FF FD 4D */ bl __OSCallResetFunctions -/* 8033F99C 2C 03 00 00 */ cmpwi r3, 0 -/* 8033F9A0 41 82 FF F4 */ beq lbl_8033F994 -/* 8033F9A4 48 00 00 04 */ b lbl_8033F9A8 -lbl_8033F9A8: -/* 8033F9A8 48 00 00 04 */ b lbl_8033F9AC -lbl_8033F9AC: -/* 8033F9AC 48 00 0B D5 */ bl __OSSyncSram -/* 8033F9B0 2C 03 00 00 */ cmpwi r3, 0 -/* 8033F9B4 41 82 FF F8 */ beq lbl_8033F9AC -/* 8033F9B8 4B FF DD 3D */ bl OSDisableInterrupts -/* 8033F9BC 38 60 00 01 */ li r3, 1 -/* 8033F9C0 4B FF FD 25 */ bl __OSCallResetFunctions -/* 8033F9C4 4B FF BE 29 */ bl LCDisable -/* 8033F9C8 4B FF FE 35 */ bl KillThreads -lbl_8033F9CC: -/* 8033F9CC 2C 1C 00 01 */ cmpwi r28, 1 -/* 8033F9D0 40 82 00 28 */ bne lbl_8033F9F8 -/* 8033F9D4 4B FF DD 21 */ bl OSDisableInterrupts -/* 8033F9D8 3C 60 CC 00 */ lis r3, 0xCC00 /* 0xCC002000@ha */ -/* 8033F9DC 38 63 20 00 */ addi r3, r3, 0x2000 /* 0xCC002000@l */ -/* 8033F9E0 38 00 00 00 */ li r0, 0 -/* 8033F9E4 B0 03 00 02 */ sth r0, 2(r3) -/* 8033F9E8 4B FF BC DD */ bl ICFlashInvalidate -/* 8033F9EC 57 A3 18 38 */ slwi r3, r29, 3 -/* 8033F9F0 4B FF FD 9D */ bl Reset -/* 8033F9F4 48 00 00 34 */ b lbl_8033FA28 -lbl_8033F9F8: -/* 8033F9F8 2C 1C 00 00 */ cmpwi r28, 0 -/* 8033F9FC 40 82 00 2C */ bne lbl_8033FA28 -/* 8033FA00 2C 1E 00 01 */ cmpwi r30, 1 -/* 8033FA04 40 82 00 14 */ bne lbl_8033FA18 -/* 8033FA08 3C 60 80 3D */ lis r3, lit_153@ha /* 0x803D07E8@ha */ -/* 8033FA0C 4C C6 31 82 */ crclr 6 -/* 8033FA10 38 63 07 E8 */ addi r3, r3, lit_153@l /* 0x803D07E8@l */ -/* 8033FA14 4B CC 70 A9 */ bl OSReport -lbl_8033FA18: -/* 8033FA18 48 00 12 ED */ bl OSEnableScheduler -/* 8033FA1C 7F A3 EB 78 */ mr r3, r29 -/* 8033FA20 80 8D 91 18 */ lwz r4, bootThisDol(r13) -/* 8033FA24 4B FF FB AD */ bl __OSReboot -lbl_8033FA28: -/* 8033FA28 3F E0 80 00 */ lis r31, 0x8000 /* 0x80000040@ha */ -/* 8033FA2C 38 7F 00 40 */ addi r3, r31, 0x0040 /* 0x80000040@l */ -/* 8033FA30 38 80 00 00 */ li r4, 0 -/* 8033FA34 38 A0 00 8C */ li r5, 0x8c -/* 8033FA38 4B CC 3A 21 */ bl memset -/* 8033FA3C 38 7F 00 D4 */ addi r3, r31, 0xd4 -/* 8033FA40 38 80 00 00 */ li r4, 0 -/* 8033FA44 38 A0 00 14 */ li r5, 0x14 -/* 8033FA48 4B CC 3A 11 */ bl memset -/* 8033FA4C 38 7F 00 F4 */ addi r3, r31, 0xf4 -/* 8033FA50 38 80 00 00 */ li r4, 0 -/* 8033FA54 38 A0 00 04 */ li r5, 4 -/* 8033FA58 4B CC 3A 01 */ bl memset -/* 8033FA5C 38 7F 30 00 */ addi r3, r31, 0x3000 -/* 8033FA60 38 80 00 00 */ li r4, 0 -/* 8033FA64 38 A0 00 C0 */ li r5, 0xc0 -/* 8033FA68 4B CC 39 F1 */ bl memset -/* 8033FA6C 38 7F 30 C8 */ addi r3, r31, 0x30c8 -/* 8033FA70 38 80 00 00 */ li r4, 0 -/* 8033FA74 38 A0 00 0C */ li r5, 0xc -/* 8033FA78 4B CC 39 E1 */ bl memset -/* 8033FA7C 38 7F 30 E2 */ addi r3, r31, 0x30e2 -/* 8033FA80 38 80 00 00 */ li r4, 0 -/* 8033FA84 38 A0 00 01 */ li r5, 1 -/* 8033FA88 4B CC 39 D1 */ bl memset -/* 8033FA8C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8033FA90 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 8033FA94 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 8033FA98 83 A1 00 24 */ lwz r29, 0x24(r1) -/* 8033FA9C 83 81 00 20 */ lwz r28, 0x20(r1) -/* 8033FAA0 38 21 00 30 */ addi r1, r1, 0x30 -/* 8033FAA4 7C 08 03 A6 */ mtlr r0 -/* 8033FAA8 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSReset/__OSCallResetFunctions.s b/asm/dolphin/os/OSReset/__OSCallResetFunctions.s deleted file mode 100644 index 8db7a4676a7..00000000000 --- a/asm/dolphin/os/OSReset/__OSCallResetFunctions.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_8033F6E4: -/* 8033F6E4 7C 08 02 A6 */ mflr r0 -/* 8033F6E8 90 01 00 04 */ stw r0, 4(r1) -/* 8033F6EC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8033F6F0 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8033F6F4 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8033F6F8 3B C0 00 00 */ li r30, 0 -/* 8033F6FC 93 A1 00 14 */ stw r29, 0x14(r1) -/* 8033F700 3B A3 00 00 */ addi r29, r3, 0 -/* 8033F704 38 60 00 00 */ li r3, 0 -/* 8033F708 83 ED 91 10 */ lwz r31, ResetFunctionQueue(r13) -/* 8033F70C 48 00 00 3C */ b lbl_8033F748 -lbl_8033F710: -/* 8033F710 2C 1E 00 00 */ cmpwi r30, 0 -/* 8033F714 41 82 00 10 */ beq lbl_8033F724 -/* 8033F718 80 1F 00 04 */ lwz r0, 4(r31) -/* 8033F71C 7C 03 00 40 */ cmplw r3, r0 -/* 8033F720 40 82 00 30 */ bne lbl_8033F750 -lbl_8033F724: -/* 8033F724 81 9F 00 00 */ lwz r12, 0(r31) -/* 8033F728 38 7D 00 00 */ addi r3, r29, 0 -/* 8033F72C 7D 88 03 A6 */ mtlr r12 -/* 8033F730 4E 80 00 21 */ blrl -/* 8033F734 7C 60 00 34 */ cntlzw r0, r3 -/* 8033F738 80 7F 00 04 */ lwz r3, 4(r31) -/* 8033F73C 54 00 D9 7E */ srwi r0, r0, 5 -/* 8033F740 83 FF 00 08 */ lwz r31, 8(r31) -/* 8033F744 7F DE 03 78 */ or r30, r30, r0 -lbl_8033F748: -/* 8033F748 28 1F 00 00 */ cmplwi r31, 0 -/* 8033F74C 40 82 FF C4 */ bne lbl_8033F710 -lbl_8033F750: -/* 8033F750 48 00 0E 31 */ bl __OSSyncSram -/* 8033F754 7C 60 00 34 */ cntlzw r0, r3 -/* 8033F758 54 00 D9 7E */ srwi r0, r0, 5 -/* 8033F75C 7F DE 03 79 */ or. r30, r30, r0 -/* 8033F760 41 82 00 0C */ beq lbl_8033F76C -/* 8033F764 38 60 00 00 */ li r3, 0 -/* 8033F768 48 00 00 08 */ b lbl_8033F770 -lbl_8033F76C: -/* 8033F76C 38 60 00 01 */ li r3, 1 -lbl_8033F770: -/* 8033F770 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8033F774 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8033F778 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8033F77C 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 8033F780 38 21 00 20 */ addi r1, r1, 0x20 -/* 8033F784 7C 08 03 A6 */ mtlr r0 -/* 8033F788 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSResetSW/OSGetResetButtonState.s b/asm/dolphin/os/OSResetSW/OSGetResetButtonState.s deleted file mode 100644 index a47a7a51cba..00000000000 --- a/asm/dolphin/os/OSResetSW/OSGetResetButtonState.s +++ /dev/null @@ -1,180 +0,0 @@ -lbl_8033FBD8: -/* 8033FBD8 7C 08 02 A6 */ mflr r0 -/* 8033FBDC 90 01 00 04 */ stw r0, 4(r1) -/* 8033FBE0 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 8033FBE4 93 E1 00 14 */ stw r31, 0x14(r1) -/* 8033FBE8 93 C1 00 10 */ stw r30, 0x10(r1) -/* 8033FBEC 93 A1 00 0C */ stw r29, 0xc(r1) -/* 8033FBF0 4B FF DB 05 */ bl OSDisableInterrupts -/* 8033FBF4 7C 7E 1B 78 */ mr r30, r3 -/* 8033FBF8 48 00 2B 25 */ bl __OSGetSystemTime -/* 8033FBFC 3C A0 CC 00 */ lis r5, 0xCC00 /* 0xCC003000@ha */ -/* 8033FC00 80 05 30 00 */ lwz r0, 0x3000(r5) /* 0xCC003000@l */ -/* 8033FC04 54 00 03 DF */ rlwinm. r0, r0, 0, 0xf, 0xf -/* 8033FC08 40 82 00 DC */ bne lbl_8033FCE4 -/* 8033FC0C 80 0D 91 24 */ lwz r0, Down(r13) -/* 8033FC10 2C 00 00 00 */ cmpwi r0, 0 -/* 8033FC14 40 82 00 40 */ bne lbl_8033FC54 -/* 8033FC18 80 0D 91 30 */ lwz r0, HoldUp(r13) -/* 8033FC1C 38 C0 00 00 */ li r6, 0 -/* 8033FC20 80 AD 91 34 */ lwz r5, HoldUp+0x4(r13) -/* 8033FC24 38 E0 00 01 */ li r7, 1 -/* 8033FC28 7C 00 32 78 */ xor r0, r0, r6 -/* 8033FC2C 7C A5 32 78 */ xor r5, r5, r6 -/* 8033FC30 90 ED 91 24 */ stw r7, Down(r13) -/* 8033FC34 7C A0 03 79 */ or. r0, r5, r0 -/* 8033FC38 41 82 00 08 */ beq lbl_8033FC40 -/* 8033FC3C 48 00 00 08 */ b lbl_8033FC44 -lbl_8033FC40: -/* 8033FC40 7C C7 33 78 */ mr r7, r6 -lbl_8033FC44: -/* 8033FC44 90 8D 91 3C */ stw r4, HoldDown+0x4(r13) -/* 8033FC48 7C FD 3B 78 */ mr r29, r7 -/* 8033FC4C 90 6D 91 38 */ stw r3, HoldDown(r13) -/* 8033FC50 48 00 01 48 */ b lbl_8033FD98 -lbl_8033FC54: -/* 8033FC54 80 0D 91 30 */ lwz r0, HoldUp(r13) -/* 8033FC58 39 20 00 00 */ li r9, 0 -/* 8033FC5C 80 AD 91 34 */ lwz r5, HoldUp+0x4(r13) -/* 8033FC60 39 40 00 01 */ li r10, 1 -/* 8033FC64 7C 00 4A 78 */ xor r0, r0, r9 -/* 8033FC68 7C A5 4A 78 */ xor r5, r5, r9 -/* 8033FC6C 7C A0 03 79 */ or. r0, r5, r0 -/* 8033FC70 40 82 00 58 */ bne lbl_8033FCC8 -/* 8033FC74 3C C0 80 00 */ lis r6, 0x8000 /* 0x800000F8@ha */ -/* 8033FC78 80 AD 91 3C */ lwz r5, HoldDown+0x4(r13) -/* 8033FC7C 80 E6 00 F8 */ lwz r7, 0x00F8(r6) /* 0x800000F8@l */ -/* 8033FC80 3C C0 43 1C */ lis r6, 0x431C /* 0x431BDE83@ha */ -/* 8033FC84 39 06 DE 83 */ addi r8, r6, 0xDE83 /* 0x431BDE83@l */ -/* 8033FC88 80 0D 91 38 */ lwz r0, HoldDown(r13) -/* 8033FC8C 54 E6 F0 BE */ srwi r6, r7, 2 -/* 8033FC90 7C C8 30 16 */ mulhwu r6, r8, r6 -/* 8033FC94 54 C6 8B FE */ srwi r6, r6, 0xf -/* 8033FC98 1C C6 00 64 */ mulli r6, r6, 0x64 -/* 8033FC9C 7C E5 20 10 */ subfc r7, r5, r4 -/* 8033FCA0 7C 00 19 10 */ subfe r0, r0, r3 -/* 8033FCA4 54 C8 E8 FE */ srwi r8, r6, 3 -/* 8033FCA8 6C 05 80 00 */ xoris r5, r0, 0x8000 -/* 8033FCAC 6D 26 80 00 */ xoris r6, r9, 0x8000 -/* 8033FCB0 7C 07 40 10 */ subfc r0, r7, r8 -/* 8033FCB4 7C A5 31 10 */ subfe r5, r5, r6 -/* 8033FCB8 7C A6 31 10 */ subfe r5, r6, r6 -/* 8033FCBC 7C A5 00 D1 */ neg. r5, r5 -/* 8033FCC0 40 82 00 08 */ bne lbl_8033FCC8 -/* 8033FCC4 7D 2A 4B 78 */ mr r10, r9 -lbl_8033FCC8: -/* 8033FCC8 2C 0A 00 00 */ cmpwi r10, 0 -/* 8033FCCC 41 82 00 0C */ beq lbl_8033FCD8 -/* 8033FCD0 38 00 00 01 */ li r0, 1 -/* 8033FCD4 48 00 00 08 */ b lbl_8033FCDC -lbl_8033FCD8: -/* 8033FCD8 38 00 00 00 */ li r0, 0 -lbl_8033FCDC: -/* 8033FCDC 7C 1D 03 78 */ mr r29, r0 -/* 8033FCE0 48 00 00 B8 */ b lbl_8033FD98 -lbl_8033FCE4: -/* 8033FCE4 80 0D 91 24 */ lwz r0, Down(r13) -/* 8033FCE8 2C 00 00 00 */ cmpwi r0, 0 -/* 8033FCEC 41 82 00 34 */ beq lbl_8033FD20 -/* 8033FCF0 80 AD 91 28 */ lwz r5, LastState(r13) -/* 8033FCF4 38 00 00 00 */ li r0, 0 -/* 8033FCF8 90 0D 91 24 */ stw r0, Down(r13) -/* 8033FCFC 2C 05 00 00 */ cmpwi r5, 0 -/* 8033FD00 3B A5 00 00 */ addi r29, r5, 0 -/* 8033FD04 41 82 00 10 */ beq lbl_8033FD14 -/* 8033FD08 90 8D 91 34 */ stw r4, HoldUp+0x4(r13) -/* 8033FD0C 90 6D 91 30 */ stw r3, HoldUp(r13) -/* 8033FD10 48 00 00 88 */ b lbl_8033FD98 -lbl_8033FD14: -/* 8033FD14 90 0D 91 34 */ stw r0, HoldUp+0x4(r13) -/* 8033FD18 90 0D 91 30 */ stw r0, HoldUp(r13) -/* 8033FD1C 48 00 00 7C */ b lbl_8033FD98 -lbl_8033FD20: -/* 8033FD20 80 CD 91 30 */ lwz r6, HoldUp(r13) -/* 8033FD24 39 00 00 00 */ li r8, 0 -/* 8033FD28 80 ED 91 34 */ lwz r7, HoldUp+0x4(r13) -/* 8033FD2C 7C C0 42 78 */ xor r0, r6, r8 -/* 8033FD30 7C E5 42 78 */ xor r5, r7, r8 -/* 8033FD34 7C A0 03 79 */ or. r0, r5, r0 -/* 8033FD38 41 82 00 50 */ beq lbl_8033FD88 -/* 8033FD3C 3C A0 80 00 */ lis r5, 0x8000 /* 0x800000F8@ha */ -/* 8033FD40 80 05 00 F8 */ lwz r0, 0x00F8(r5) /* 0x800000F8@l */ -/* 8033FD44 3C A0 10 62 */ lis r5, 0x1062 /* 0x10624DD3@ha */ -/* 8033FD48 38 A5 4D D3 */ addi r5, r5, 0x4DD3 /* 0x10624DD3@l */ -/* 8033FD4C 54 00 F0 BE */ srwi r0, r0, 2 -/* 8033FD50 7C 05 00 16 */ mulhwu r0, r5, r0 -/* 8033FD54 54 00 D1 BE */ srwi r0, r0, 6 -/* 8033FD58 1C 00 00 28 */ mulli r0, r0, 0x28 -/* 8033FD5C 7C E7 20 10 */ subfc r7, r7, r4 -/* 8033FD60 7C A6 19 10 */ subfe r5, r6, r3 -/* 8033FD64 6C A6 80 00 */ xoris r6, r5, 0x8000 -/* 8033FD68 6D 05 80 00 */ xoris r5, r8, 0x8000 -/* 8033FD6C 7C 00 38 10 */ subfc r0, r0, r7 -/* 8033FD70 7C A5 31 10 */ subfe r5, r5, r6 -/* 8033FD74 7C A6 31 10 */ subfe r5, r6, r6 -/* 8033FD78 7C A5 00 D1 */ neg. r5, r5 -/* 8033FD7C 41 82 00 0C */ beq lbl_8033FD88 -/* 8033FD80 3B A0 00 01 */ li r29, 1 -/* 8033FD84 48 00 00 14 */ b lbl_8033FD98 -lbl_8033FD88: -/* 8033FD88 38 00 00 00 */ li r0, 0 -/* 8033FD8C 90 0D 91 34 */ stw r0, HoldUp+0x4(r13) -/* 8033FD90 3B A0 00 00 */ li r29, 0 -/* 8033FD94 90 0D 91 30 */ stw r0, HoldUp(r13) -lbl_8033FD98: -/* 8033FD98 3C A0 80 00 */ lis r5, 0x8000 /* 0x800030E3@ha */ -/* 8033FD9C 93 AD 91 28 */ stw r29, LastState(r13) -/* 8033FDA0 88 05 30 E3 */ lbz r0, 0x30E3(r5) /* 0x800030E3@l */ -/* 8033FDA4 54 00 06 FF */ clrlwi. r0, r0, 0x1b -/* 8033FDA8 41 82 00 A0 */ beq lbl_8033FE48 -/* 8033FDAC 1D 40 00 3C */ mulli r10, r0, 0x3c -/* 8033FDB0 80 05 00 F8 */ lwz r0, 0xf8(r5) -/* 8033FDB4 81 2D 90 B4 */ lwz r9, __OSStartTime+0x4(r13) -/* 8033FDB8 81 0D 90 B0 */ lwz r8, __OSStartTime(r13) -/* 8033FDBC 54 06 F0 BE */ srwi r6, r0, 2 -/* 8033FDC0 7D 40 FE 70 */ srawi r0, r10, 0x1f -/* 8033FDC4 7C E0 31 D6 */ mullw r7, r0, r6 -/* 8033FDC8 7C 0A 30 16 */ mulhwu r0, r10, r6 -/* 8033FDCC 7C AA 31 D6 */ mullw r5, r10, r6 -/* 8033FDD0 7D 29 28 14 */ addc r9, r9, r5 -/* 8033FDD4 3B E0 00 00 */ li r31, 0 -/* 8033FDD8 7C E7 02 14 */ add r7, r7, r0 -/* 8033FDDC 7C 0A F9 D6 */ mullw r0, r10, r31 -/* 8033FDE0 7C 07 02 14 */ add r0, r7, r0 -/* 8033FDE4 7D 08 01 14 */ adde r8, r8, r0 -/* 8033FDE8 6D 07 80 00 */ xoris r7, r8, 0x8000 -/* 8033FDEC 6C 65 80 00 */ xoris r5, r3, 0x8000 -/* 8033FDF0 7C 04 48 10 */ subfc r0, r4, r9 -/* 8033FDF4 7C A5 39 10 */ subfe r5, r5, r7 -/* 8033FDF8 7C A7 39 10 */ subfe r5, r7, r7 -/* 8033FDFC 7C A5 00 D1 */ neg. r5, r5 -/* 8033FE00 41 82 00 48 */ beq lbl_8033FE48 -/* 8033FE04 7C 89 20 10 */ subfc r4, r9, r4 -/* 8033FE08 7C 68 19 10 */ subfe r3, r8, r3 -/* 8033FE0C 38 A0 00 00 */ li r5, 0 -/* 8033FE10 48 02 25 15 */ bl __div2i -/* 8033FE14 38 A0 00 00 */ li r5, 0 -/* 8033FE18 38 C0 00 02 */ li r6, 2 -/* 8033FE1C 48 02 25 09 */ bl __div2i -/* 8033FE20 38 00 00 01 */ li r0, 1 -/* 8033FE24 7C 84 00 38 */ and r4, r4, r0 -/* 8033FE28 7C 60 F8 38 */ and r0, r3, r31 -/* 8033FE2C 7C 83 FA 78 */ xor r3, r4, r31 -/* 8033FE30 7C 00 FA 78 */ xor r0, r0, r31 -/* 8033FE34 7C 60 03 79 */ or. r0, r3, r0 -/* 8033FE38 40 82 00 0C */ bne lbl_8033FE44 -/* 8033FE3C 3B A0 00 01 */ li r29, 1 -/* 8033FE40 48 00 00 08 */ b lbl_8033FE48 -lbl_8033FE44: -/* 8033FE44 3B A0 00 00 */ li r29, 0 -lbl_8033FE48: -/* 8033FE48 7F C3 F3 78 */ mr r3, r30 -/* 8033FE4C 4B FF D8 D1 */ bl OSRestoreInterrupts -/* 8033FE50 7F A3 EB 78 */ mr r3, r29 -/* 8033FE54 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 8033FE58 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 8033FE5C 83 C1 00 10 */ lwz r30, 0x10(r1) -/* 8033FE60 83 A1 00 0C */ lwz r29, 0xc(r1) -/* 8033FE64 38 21 00 18 */ addi r1, r1, 0x18 -/* 8033FE68 7C 08 03 A6 */ mtlr r0 -/* 8033FE6C 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSResetSW/__OSResetSWInterruptHandler.s b/asm/dolphin/os/OSResetSW/__OSResetSWInterruptHandler.s deleted file mode 100644 index d2ef5b51bdf..00000000000 --- a/asm/dolphin/os/OSResetSW/__OSResetSWInterruptHandler.s +++ /dev/null @@ -1,65 +0,0 @@ -lbl_8033FAE4: -/* 8033FAE4 7C 08 02 A6 */ mflr r0 -/* 8033FAE8 90 01 00 04 */ stw r0, 4(r1) -/* 8033FAEC 94 21 FF D8 */ stwu r1, -0x28(r1) -/* 8033FAF0 93 E1 00 24 */ stw r31, 0x24(r1) -/* 8033FAF4 93 C1 00 20 */ stw r30, 0x20(r1) -/* 8033FAF8 93 A1 00 1C */ stw r29, 0x1c(r1) -/* 8033FAFC 48 00 2C 21 */ bl __OSGetSystemTime -/* 8033FB00 3C A0 80 00 */ lis r5, 0x8000 /* 0x800000F8@ha */ -/* 8033FB04 90 8D 91 3C */ stw r4, HoldDown+0x4(r13) -/* 8033FB08 80 05 00 F8 */ lwz r0, 0x00F8(r5) /* 0x800000F8@l */ -/* 8033FB0C 3C 80 43 1C */ lis r4, 0x431C /* 0x431BDE83@ha */ -/* 8033FB10 38 84 DE 83 */ addi r4, r4, 0xDE83 /* 0x431BDE83@l */ -/* 8033FB14 90 6D 91 38 */ stw r3, HoldDown(r13) -/* 8033FB18 54 00 F0 BE */ srwi r0, r0, 2 -/* 8033FB1C 7C 04 00 16 */ mulhwu r0, r4, r0 -/* 8033FB20 54 00 8B FE */ srwi r0, r0, 0xf -/* 8033FB24 1C 00 00 64 */ mulli r0, r0, 0x64 -/* 8033FB28 54 1D E8 FE */ srwi r29, r0, 3 -/* 8033FB2C 3B C0 00 00 */ li r30, 0 -/* 8033FB30 3F E0 CC 00 */ lis r31, 0xcc00 -lbl_8033FB34: -/* 8033FB34 48 00 2B E9 */ bl __OSGetSystemTime -/* 8033FB38 80 CD 91 3C */ lwz r6, HoldDown+0x4(r13) -/* 8033FB3C 6F C5 80 00 */ xoris r5, r30, 0x8000 -/* 8033FB40 80 0D 91 38 */ lwz r0, HoldDown(r13) -/* 8033FB44 7C 86 20 10 */ subfc r4, r6, r4 -/* 8033FB48 7C 00 19 10 */ subfe r0, r0, r3 -/* 8033FB4C 6C 03 80 00 */ xoris r3, r0, 0x8000 -/* 8033FB50 7C 1D 20 10 */ subfc r0, r29, r4 -/* 8033FB54 7C A5 19 10 */ subfe r5, r5, r3 -/* 8033FB58 7C A3 19 10 */ subfe r5, r3, r3 -/* 8033FB5C 7C A5 00 D1 */ neg. r5, r5 -/* 8033FB60 41 82 00 10 */ beq lbl_8033FB70 -/* 8033FB64 80 1F 30 00 */ lwz r0, 0x3000(r31) -/* 8033FB68 54 00 03 DF */ rlwinm. r0, r0, 0, 0xf, 0xf -/* 8033FB6C 41 82 FF C8 */ beq lbl_8033FB34 -lbl_8033FB70: -/* 8033FB70 3C 60 CC 00 */ lis r3, 0xCC00 /* 0xCC003000@ha */ -/* 8033FB74 80 03 30 00 */ lwz r0, 0x3000(r3) /* 0xCC003000@l */ -/* 8033FB78 54 00 03 DF */ rlwinm. r0, r0, 0, 0xf, 0xf -/* 8033FB7C 40 82 00 34 */ bne lbl_8033FBB0 -/* 8033FB80 38 00 00 01 */ li r0, 1 -/* 8033FB84 90 0D 91 24 */ stw r0, Down(r13) -/* 8033FB88 38 60 02 00 */ li r3, 0x200 -/* 8033FB8C 90 0D 91 28 */ stw r0, LastState(r13) -/* 8033FB90 4B FF DF 2D */ bl __OSMaskInterrupts -/* 8033FB94 81 8D 91 20 */ lwz r12, ResetCallback(r13) -/* 8033FB98 28 0C 00 00 */ cmplwi r12, 0 -/* 8033FB9C 41 82 00 14 */ beq lbl_8033FBB0 -/* 8033FBA0 38 00 00 00 */ li r0, 0 -/* 8033FBA4 7D 88 03 A6 */ mtlr r12 -/* 8033FBA8 90 0D 91 20 */ stw r0, ResetCallback(r13) -/* 8033FBAC 4E 80 00 21 */ blrl -lbl_8033FBB0: -/* 8033FBB0 38 00 00 02 */ li r0, 2 -/* 8033FBB4 3C 60 CC 00 */ lis r3, 0xCC00 /* 0xCC003000@ha */ -/* 8033FBB8 90 03 30 00 */ stw r0, 0x3000(r3) /* 0xCC003000@l */ -/* 8033FBBC 80 01 00 2C */ lwz r0, 0x2c(r1) -/* 8033FBC0 83 E1 00 24 */ lwz r31, 0x24(r1) -/* 8033FBC4 83 C1 00 20 */ lwz r30, 0x20(r1) -/* 8033FBC8 83 A1 00 1C */ lwz r29, 0x1c(r1) -/* 8033FBCC 38 21 00 28 */ addi r1, r1, 0x28 -/* 8033FBD0 7C 08 03 A6 */ mtlr r0 -/* 8033FBD4 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSRtc/OSGetGbsMode.s b/asm/dolphin/os/OSRtc/OSGetGbsMode.s deleted file mode 100644 index d2b951ef092..00000000000 --- a/asm/dolphin/os/OSRtc/OSGetGbsMode.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_803408F8: -/* 803408F8 7C 08 02 A6 */ mflr r0 -/* 803408FC 3C 60 80 45 */ lis r3, Scb@ha /* 0x8044BB20@ha */ -/* 80340900 90 01 00 04 */ stw r0, 4(r1) -/* 80340904 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 80340908 93 E1 00 14 */ stw r31, 0x14(r1) -/* 8034090C 3B E3 BB 20 */ addi r31, r3, Scb@l /* 0x8044BB20@l */ -/* 80340910 4B FF CD E5 */ bl OSDisableInterrupts -/* 80340914 80 1F 00 48 */ lwz r0, 0x48(r31) -/* 80340918 38 9F 00 48 */ addi r4, r31, 0x48 -/* 8034091C 2C 00 00 00 */ cmpwi r0, 0 -/* 80340920 41 82 00 10 */ beq lbl_80340930 -/* 80340924 4B FF CD F9 */ bl OSRestoreInterrupts -/* 80340928 38 60 00 00 */ li r3, 0 -/* 8034092C 48 00 00 14 */ b lbl_80340940 -lbl_80340930: -/* 80340930 90 7F 00 44 */ stw r3, 0x44(r31) -/* 80340934 38 00 00 01 */ li r0, 1 -/* 80340938 38 7F 00 14 */ addi r3, r31, 0x14 -/* 8034093C 90 04 00 00 */ stw r0, 0(r4) -lbl_80340940: -/* 80340940 A3 E3 00 28 */ lhz r31, 0x28(r3) -/* 80340944 38 60 00 00 */ li r3, 0 -/* 80340948 38 80 00 14 */ li r4, 0x14 -/* 8034094C 4B FF F8 B1 */ bl UnlockSram -/* 80340950 7F E3 FB 78 */ mr r3, r31 -/* 80340954 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 80340958 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 8034095C 38 21 00 18 */ addi r1, r1, 0x18 -/* 80340960 7C 08 03 A6 */ mtlr r0 -/* 80340964 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSRtc/OSGetProgressiveMode.s b/asm/dolphin/os/OSRtc/OSGetProgressiveMode.s deleted file mode 100644 index 53edfbadf95..00000000000 --- a/asm/dolphin/os/OSRtc/OSGetProgressiveMode.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_803406B4: -/* 803406B4 7C 08 02 A6 */ mflr r0 -/* 803406B8 3C 60 80 45 */ lis r3, Scb@ha /* 0x8044BB20@ha */ -/* 803406BC 90 01 00 04 */ stw r0, 4(r1) -/* 803406C0 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 803406C4 93 E1 00 14 */ stw r31, 0x14(r1) -/* 803406C8 3B E3 BB 20 */ addi r31, r3, Scb@l /* 0x8044BB20@l */ -/* 803406CC 4B FF D0 29 */ bl OSDisableInterrupts -/* 803406D0 80 1F 00 48 */ lwz r0, 0x48(r31) -/* 803406D4 38 9F 00 48 */ addi r4, r31, 0x48 -/* 803406D8 2C 00 00 00 */ cmpwi r0, 0 -/* 803406DC 41 82 00 10 */ beq lbl_803406EC -/* 803406E0 4B FF D0 3D */ bl OSRestoreInterrupts -/* 803406E4 3B E0 00 00 */ li r31, 0 -/* 803406E8 48 00 00 10 */ b lbl_803406F8 -lbl_803406EC: -/* 803406EC 90 7F 00 44 */ stw r3, 0x44(r31) -/* 803406F0 38 00 00 01 */ li r0, 1 -/* 803406F4 90 04 00 00 */ stw r0, 0(r4) -lbl_803406F8: -/* 803406F8 88 1F 00 13 */ lbz r0, 0x13(r31) -/* 803406FC 38 60 00 00 */ li r3, 0 -/* 80340700 38 80 00 00 */ li r4, 0 -/* 80340704 54 1F CF FE */ rlwinm r31, r0, 0x19, 0x1f, 0x1f -/* 80340708 4B FF FA F5 */ bl UnlockSram -/* 8034070C 7F E3 FB 78 */ mr r3, r31 -/* 80340710 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 80340714 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 80340718 38 21 00 18 */ addi r1, r1, 0x18 -/* 8034071C 7C 08 03 A6 */ mtlr r0 -/* 80340720 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSRtc/OSGetSoundMode.s b/asm/dolphin/os/OSRtc/OSGetSoundMode.s deleted file mode 100644 index 764dc0f8513..00000000000 --- a/asm/dolphin/os/OSRtc/OSGetSoundMode.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_80340590: -/* 80340590 7C 08 02 A6 */ mflr r0 -/* 80340594 3C 60 80 45 */ lis r3, Scb@ha /* 0x8044BB20@ha */ -/* 80340598 90 01 00 04 */ stw r0, 4(r1) -/* 8034059C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 803405A0 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 803405A4 3B E3 BB 20 */ addi r31, r3, Scb@l /* 0x8044BB20@l */ -/* 803405A8 4B FF D1 4D */ bl OSDisableInterrupts -/* 803405AC 80 1F 00 48 */ lwz r0, 0x48(r31) -/* 803405B0 38 9F 00 48 */ addi r4, r31, 0x48 -/* 803405B4 2C 00 00 00 */ cmpwi r0, 0 -/* 803405B8 41 82 00 10 */ beq lbl_803405C8 -/* 803405BC 4B FF D1 61 */ bl OSRestoreInterrupts -/* 803405C0 3B E0 00 00 */ li r31, 0 -/* 803405C4 48 00 00 10 */ b lbl_803405D4 -lbl_803405C8: -/* 803405C8 90 7F 00 44 */ stw r3, 0x44(r31) -/* 803405CC 38 00 00 01 */ li r0, 1 -/* 803405D0 90 04 00 00 */ stw r0, 0(r4) -lbl_803405D4: -/* 803405D4 88 1F 00 13 */ lbz r0, 0x13(r31) -/* 803405D8 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 803405DC 41 82 00 0C */ beq lbl_803405E8 -/* 803405E0 3B E0 00 01 */ li r31, 1 -/* 803405E4 48 00 00 08 */ b lbl_803405EC -lbl_803405E8: -/* 803405E8 3B E0 00 00 */ li r31, 0 -lbl_803405EC: -/* 803405EC 38 60 00 00 */ li r3, 0 -/* 803405F0 38 80 00 00 */ li r4, 0 -/* 803405F4 4B FF FC 09 */ bl UnlockSram -/* 803405F8 7F E3 FB 78 */ mr r3, r31 -/* 803405FC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80340600 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80340604 38 21 00 20 */ addi r1, r1, 0x20 -/* 80340608 7C 08 03 A6 */ mtlr r0 -/* 8034060C 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSRtc/OSGetWirelessID.s b/asm/dolphin/os/OSRtc/OSGetWirelessID.s deleted file mode 100644 index bcbb1403548..00000000000 --- a/asm/dolphin/os/OSRtc/OSGetWirelessID.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_803407C8: -/* 803407C8 7C 08 02 A6 */ mflr r0 -/* 803407CC 3C 80 80 45 */ lis r4, Scb@ha /* 0x8044BB20@ha */ -/* 803407D0 90 01 00 04 */ stw r0, 4(r1) -/* 803407D4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 803407D8 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 803407DC 3B E4 BB 20 */ addi r31, r4, Scb@l /* 0x8044BB20@l */ -/* 803407E0 93 C1 00 18 */ stw r30, 0x18(r1) -/* 803407E4 3B C3 00 00 */ addi r30, r3, 0 -/* 803407E8 4B FF CF 0D */ bl OSDisableInterrupts -/* 803407EC 80 1F 00 48 */ lwz r0, 0x48(r31) -/* 803407F0 38 9F 00 48 */ addi r4, r31, 0x48 -/* 803407F4 2C 00 00 00 */ cmpwi r0, 0 -/* 803407F8 41 82 00 10 */ beq lbl_80340808 -/* 803407FC 4B FF CF 21 */ bl OSRestoreInterrupts -/* 80340800 38 60 00 00 */ li r3, 0 -/* 80340804 48 00 00 14 */ b lbl_80340818 -lbl_80340808: -/* 80340808 90 7F 00 44 */ stw r3, 0x44(r31) -/* 8034080C 38 00 00 01 */ li r0, 1 -/* 80340810 38 7F 00 14 */ addi r3, r31, 0x14 -/* 80340814 90 04 00 00 */ stw r0, 0(r4) -lbl_80340818: -/* 80340818 57 C0 08 3C */ slwi r0, r30, 1 -/* 8034081C 7C 63 02 14 */ add r3, r3, r0 -/* 80340820 A3 E3 00 1C */ lhz r31, 0x1c(r3) -/* 80340824 38 60 00 00 */ li r3, 0 -/* 80340828 38 80 00 14 */ li r4, 0x14 -/* 8034082C 4B FF F9 D1 */ bl UnlockSram -/* 80340830 7F E3 FB 78 */ mr r3, r31 -/* 80340834 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80340838 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8034083C 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80340840 38 21 00 20 */ addi r1, r1, 0x20 -/* 80340844 7C 08 03 A6 */ mtlr r0 -/* 80340848 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSRtc/OSSetGbsMode.s b/asm/dolphin/os/OSRtc/OSSetGbsMode.s deleted file mode 100644 index 6681b07c36d..00000000000 --- a/asm/dolphin/os/OSRtc/OSSetGbsMode.s +++ /dev/null @@ -1,53 +0,0 @@ -lbl_80340968: -/* 80340968 7C 08 02 A6 */ mflr r0 -/* 8034096C 54 64 04 3E */ clrlwi r4, r3, 0x10 -/* 80340970 90 01 00 04 */ stw r0, 4(r1) -/* 80340974 54 60 04 6A */ rlwinm r0, r3, 0, 0x11, 0x15 -/* 80340978 28 00 50 00 */ cmplwi r0, 0x5000 -/* 8034097C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80340980 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80340984 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80340988 3B C3 00 00 */ addi r30, r3, 0 -/* 8034098C 3C 60 80 45 */ lis r3, Scb@ha /* 0x8044BB20@ha */ -/* 80340990 3B E3 BB 20 */ addi r31, r3, Scb@l /* 0x8044BB20@l */ -/* 80340994 41 82 00 10 */ beq lbl_803409A4 -/* 80340998 54 80 06 32 */ rlwinm r0, r4, 0, 0x18, 0x19 -/* 8034099C 28 00 00 C0 */ cmplwi r0, 0xc0 -/* 803409A0 40 82 00 08 */ bne lbl_803409A8 -lbl_803409A4: -/* 803409A4 3B C0 00 00 */ li r30, 0 -lbl_803409A8: -/* 803409A8 4B FF CD 4D */ bl OSDisableInterrupts -/* 803409AC 80 1F 00 48 */ lwz r0, 0x48(r31) -/* 803409B0 38 BF 00 48 */ addi r5, r31, 0x48 -/* 803409B4 2C 00 00 00 */ cmpwi r0, 0 -/* 803409B8 41 82 00 10 */ beq lbl_803409C8 -/* 803409BC 4B FF CD 61 */ bl OSRestoreInterrupts -/* 803409C0 38 80 00 00 */ li r4, 0 -/* 803409C4 48 00 00 14 */ b lbl_803409D8 -lbl_803409C8: -/* 803409C8 90 7F 00 44 */ stw r3, 0x44(r31) -/* 803409CC 38 00 00 01 */ li r0, 1 -/* 803409D0 38 9F 00 14 */ addi r4, r31, 0x14 -/* 803409D4 90 05 00 00 */ stw r0, 0(r5) -lbl_803409D8: -/* 803409D8 A0 04 00 28 */ lhz r0, 0x28(r4) -/* 803409DC 57 C3 04 3E */ clrlwi r3, r30, 0x10 -/* 803409E0 7C 03 00 40 */ cmplw r3, r0 -/* 803409E4 40 82 00 14 */ bne lbl_803409F8 -/* 803409E8 38 60 00 00 */ li r3, 0 -/* 803409EC 38 80 00 14 */ li r4, 0x14 -/* 803409F0 4B FF F8 0D */ bl UnlockSram -/* 803409F4 48 00 00 14 */ b lbl_80340A08 -lbl_803409F8: -/* 803409F8 B3 C4 00 28 */ sth r30, 0x28(r4) -/* 803409FC 38 60 00 01 */ li r3, 1 -/* 80340A00 38 80 00 14 */ li r4, 0x14 -/* 80340A04 4B FF F7 F9 */ bl UnlockSram -lbl_80340A08: -/* 80340A08 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80340A0C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80340A10 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80340A14 38 21 00 20 */ addi r1, r1, 0x20 -/* 80340A18 7C 08 03 A6 */ mtlr r0 -/* 80340A1C 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSRtc/OSSetProgressiveMode.s b/asm/dolphin/os/OSRtc/OSSetProgressiveMode.s deleted file mode 100644 index 4709877e460..00000000000 --- a/asm/dolphin/os/OSRtc/OSSetProgressiveMode.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_80340724: -/* 80340724 7C 08 02 A6 */ mflr r0 -/* 80340728 3C 80 80 45 */ lis r4, Scb@ha /* 0x8044BB20@ha */ -/* 8034072C 90 01 00 04 */ stw r0, 4(r1) -/* 80340730 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80340734 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80340738 3B E4 BB 20 */ addi r31, r4, Scb@l /* 0x8044BB20@l */ -/* 8034073C 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80340740 54 7E 3E 30 */ rlwinm r30, r3, 7, 0x18, 0x18 -/* 80340744 4B FF CF B1 */ bl OSDisableInterrupts -/* 80340748 80 1F 00 48 */ lwz r0, 0x48(r31) -/* 8034074C 38 9F 00 48 */ addi r4, r31, 0x48 -/* 80340750 2C 00 00 00 */ cmpwi r0, 0 -/* 80340754 41 82 00 10 */ beq lbl_80340764 -/* 80340758 4B FF CF C5 */ bl OSRestoreInterrupts -/* 8034075C 3B E0 00 00 */ li r31, 0 -/* 80340760 48 00 00 10 */ b lbl_80340770 -lbl_80340764: -/* 80340764 90 7F 00 44 */ stw r3, 0x44(r31) -/* 80340768 38 00 00 01 */ li r0, 1 -/* 8034076C 90 04 00 00 */ stw r0, 0(r4) -lbl_80340770: -/* 80340770 88 7F 00 13 */ lbz r3, 0x13(r31) -/* 80340774 54 60 06 30 */ rlwinm r0, r3, 0, 0x18, 0x18 -/* 80340778 7C 1E 00 40 */ cmplw r30, r0 -/* 8034077C 40 82 00 14 */ bne lbl_80340790 -/* 80340780 38 60 00 00 */ li r3, 0 -/* 80340784 38 80 00 00 */ li r4, 0 -/* 80340788 4B FF FA 75 */ bl UnlockSram -/* 8034078C 48 00 00 24 */ b lbl_803407B0 -lbl_80340790: -/* 80340790 54 60 06 6E */ rlwinm r0, r3, 0, 0x19, 0x17 -/* 80340794 98 1F 00 13 */ stb r0, 0x13(r31) -/* 80340798 38 60 00 01 */ li r3, 1 -/* 8034079C 38 80 00 00 */ li r4, 0 -/* 803407A0 88 1F 00 13 */ lbz r0, 0x13(r31) -/* 803407A4 7C 00 F3 78 */ or r0, r0, r30 -/* 803407A8 98 1F 00 13 */ stb r0, 0x13(r31) -/* 803407AC 4B FF FA 51 */ bl UnlockSram -lbl_803407B0: -/* 803407B0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 803407B4 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 803407B8 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 803407BC 38 21 00 20 */ addi r1, r1, 0x20 -/* 803407C0 7C 08 03 A6 */ mtlr r0 -/* 803407C4 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSRtc/OSSetSoundMode.s b/asm/dolphin/os/OSRtc/OSSetSoundMode.s deleted file mode 100644 index 21a813fa2a7..00000000000 --- a/asm/dolphin/os/OSRtc/OSSetSoundMode.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_80340610: -/* 80340610 7C 08 02 A6 */ mflr r0 -/* 80340614 3C 80 80 45 */ lis r4, Scb@ha /* 0x8044BB20@ha */ -/* 80340618 90 01 00 04 */ stw r0, 4(r1) -/* 8034061C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80340620 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80340624 3B E4 BB 20 */ addi r31, r4, Scb@l /* 0x8044BB20@l */ -/* 80340628 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8034062C 54 7E 17 7A */ rlwinm r30, r3, 2, 0x1d, 0x1d -/* 80340630 4B FF D0 C5 */ bl OSDisableInterrupts -/* 80340634 80 1F 00 48 */ lwz r0, 0x48(r31) -/* 80340638 38 9F 00 48 */ addi r4, r31, 0x48 -/* 8034063C 2C 00 00 00 */ cmpwi r0, 0 -/* 80340640 41 82 00 10 */ beq lbl_80340650 -/* 80340644 4B FF D0 D9 */ bl OSRestoreInterrupts -/* 80340648 3B E0 00 00 */ li r31, 0 -/* 8034064C 48 00 00 10 */ b lbl_8034065C -lbl_80340650: -/* 80340650 90 7F 00 44 */ stw r3, 0x44(r31) -/* 80340654 38 00 00 01 */ li r0, 1 -/* 80340658 90 04 00 00 */ stw r0, 0(r4) -lbl_8034065C: -/* 8034065C 88 7F 00 13 */ lbz r3, 0x13(r31) -/* 80340660 54 60 07 7A */ rlwinm r0, r3, 0, 0x1d, 0x1d -/* 80340664 7C 1E 00 40 */ cmplw r30, r0 -/* 80340668 40 82 00 14 */ bne lbl_8034067C -/* 8034066C 38 60 00 00 */ li r3, 0 -/* 80340670 38 80 00 00 */ li r4, 0 -/* 80340674 4B FF FB 89 */ bl UnlockSram -/* 80340678 48 00 00 24 */ b lbl_8034069C -lbl_8034067C: -/* 8034067C 54 60 07 B8 */ rlwinm r0, r3, 0, 0x1e, 0x1c -/* 80340680 98 1F 00 13 */ stb r0, 0x13(r31) -/* 80340684 38 60 00 01 */ li r3, 1 -/* 80340688 38 80 00 00 */ li r4, 0 -/* 8034068C 88 1F 00 13 */ lbz r0, 0x13(r31) -/* 80340690 7C 00 F3 78 */ or r0, r0, r30 -/* 80340694 98 1F 00 13 */ stb r0, 0x13(r31) -/* 80340698 4B FF FB 65 */ bl UnlockSram -lbl_8034069C: -/* 8034069C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 803406A0 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 803406A4 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 803406A8 38 21 00 20 */ addi r1, r1, 0x20 -/* 803406AC 7C 08 03 A6 */ mtlr r0 -/* 803406B0 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSRtc/OSSetWirelessID.s b/asm/dolphin/os/OSRtc/OSSetWirelessID.s deleted file mode 100644 index 87948e54c86..00000000000 --- a/asm/dolphin/os/OSRtc/OSSetWirelessID.s +++ /dev/null @@ -1,48 +0,0 @@ -lbl_8034084C: -/* 8034084C 7C 08 02 A6 */ mflr r0 -/* 80340850 3C A0 80 45 */ lis r5, Scb@ha /* 0x8044BB20@ha */ -/* 80340854 90 01 00 04 */ stw r0, 4(r1) -/* 80340858 94 21 FF D8 */ stwu r1, -0x28(r1) -/* 8034085C 93 E1 00 24 */ stw r31, 0x24(r1) -/* 80340860 3B E5 BB 20 */ addi r31, r5, Scb@l /* 0x8044BB20@l */ -/* 80340864 93 C1 00 20 */ stw r30, 0x20(r1) -/* 80340868 3B C4 00 00 */ addi r30, r4, 0 -/* 8034086C 93 A1 00 1C */ stw r29, 0x1c(r1) -/* 80340870 3B A3 00 00 */ addi r29, r3, 0 -/* 80340874 4B FF CE 81 */ bl OSDisableInterrupts -/* 80340878 80 1F 00 48 */ lwz r0, 0x48(r31) -/* 8034087C 38 9F 00 48 */ addi r4, r31, 0x48 -/* 80340880 2C 00 00 00 */ cmpwi r0, 0 -/* 80340884 41 82 00 10 */ beq lbl_80340894 -/* 80340888 4B FF CE 95 */ bl OSRestoreInterrupts -/* 8034088C 38 60 00 00 */ li r3, 0 -/* 80340890 48 00 00 14 */ b lbl_803408A4 -lbl_80340894: -/* 80340894 90 7F 00 44 */ stw r3, 0x44(r31) -/* 80340898 38 00 00 01 */ li r0, 1 -/* 8034089C 38 7F 00 14 */ addi r3, r31, 0x14 -/* 803408A0 90 04 00 00 */ stw r0, 0(r4) -lbl_803408A4: -/* 803408A4 57 A0 08 3C */ slwi r0, r29, 1 -/* 803408A8 7C 83 02 14 */ add r4, r3, r0 -/* 803408AC A4 64 00 1C */ lhzu r3, 0x1c(r4) -/* 803408B0 57 C0 04 3E */ clrlwi r0, r30, 0x10 -/* 803408B4 7C 03 00 40 */ cmplw r3, r0 -/* 803408B8 41 82 00 18 */ beq lbl_803408D0 -/* 803408BC B3 C4 00 00 */ sth r30, 0(r4) -/* 803408C0 38 60 00 01 */ li r3, 1 -/* 803408C4 38 80 00 14 */ li r4, 0x14 -/* 803408C8 4B FF F9 35 */ bl UnlockSram -/* 803408CC 48 00 00 10 */ b lbl_803408DC -lbl_803408D0: -/* 803408D0 38 60 00 00 */ li r3, 0 -/* 803408D4 38 80 00 14 */ li r4, 0x14 -/* 803408D8 4B FF F9 25 */ bl UnlockSram -lbl_803408DC: -/* 803408DC 80 01 00 2C */ lwz r0, 0x2c(r1) -/* 803408E0 83 E1 00 24 */ lwz r31, 0x24(r1) -/* 803408E4 83 C1 00 20 */ lwz r30, 0x20(r1) -/* 803408E8 83 A1 00 1C */ lwz r29, 0x1c(r1) -/* 803408EC 38 21 00 28 */ addi r1, r1, 0x28 -/* 803408F0 7C 08 03 A6 */ mtlr r0 -/* 803408F4 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSRtc/UnlockSram.s b/asm/dolphin/os/OSRtc/UnlockSram.s deleted file mode 100644 index c642e79500a..00000000000 --- a/asm/dolphin/os/OSRtc/UnlockSram.s +++ /dev/null @@ -1,220 +0,0 @@ -lbl_803401FC: -/* 803401FC 7C 08 02 A6 */ mflr r0 -/* 80340200 2C 03 00 00 */ cmpwi r3, 0 -/* 80340204 90 01 00 04 */ stw r0, 4(r1) -/* 80340208 3C 60 80 45 */ lis r3, Scb@ha /* 0x8044BB20@ha */ -/* 8034020C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80340210 BF 61 00 1C */ stmw r27, 0x1c(r1) -/* 80340214 3B E3 BB 20 */ addi r31, r3, Scb@l /* 0x8044BB20@l */ -/* 80340218 41 82 02 F8 */ beq lbl_80340510 -/* 8034021C 28 04 00 00 */ cmplwi r4, 0 -/* 80340220 40 82 01 B0 */ bne lbl_803403D0 -/* 80340224 88 7F 00 13 */ lbz r3, 0x13(r31) -/* 80340228 54 60 07 BE */ clrlwi r0, r3, 0x1e -/* 8034022C 28 00 00 02 */ cmplwi r0, 2 -/* 80340230 40 81 00 0C */ ble lbl_8034023C -/* 80340234 54 60 00 3A */ rlwinm r0, r3, 0, 0, 0x1d -/* 80340238 98 1F 00 13 */ stb r0, 0x13(r31) -lbl_8034023C: -/* 8034023C 38 00 00 00 */ li r0, 0 -/* 80340240 B0 1F 00 02 */ sth r0, 2(r31) -/* 80340244 38 BF 00 14 */ addi r5, r31, 0x14 -/* 80340248 38 DF 00 0C */ addi r6, r31, 0xc -/* 8034024C 38 65 00 01 */ addi r3, r5, 1 -/* 80340250 B0 1F 00 00 */ sth r0, 0(r31) -/* 80340254 7C 66 18 50 */ subf r3, r6, r3 -/* 80340258 7C 06 28 40 */ cmplw r6, r5 -/* 8034025C 54 63 F8 7E */ srwi r3, r3, 1 -/* 80340260 40 80 01 70 */ bge lbl_803403D0 -/* 80340264 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f -/* 80340268 7C 09 03 A6 */ mtctr r0 -/* 8034026C 41 82 01 34 */ beq lbl_803403A0 -lbl_80340270: -/* 80340270 A0 BF 00 00 */ lhz r5, 0(r31) -/* 80340274 A0 06 00 00 */ lhz r0, 0(r6) -/* 80340278 7C 05 02 14 */ add r0, r5, r0 -/* 8034027C B0 1F 00 00 */ sth r0, 0(r31) -/* 80340280 A0 06 00 00 */ lhz r0, 0(r6) -/* 80340284 A0 BF 00 02 */ lhz r5, 2(r31) -/* 80340288 7C 00 00 F8 */ nor r0, r0, r0 -/* 8034028C 7C 05 02 14 */ add r0, r5, r0 -/* 80340290 B0 1F 00 02 */ sth r0, 2(r31) -/* 80340294 A0 BF 00 00 */ lhz r5, 0(r31) -/* 80340298 A0 06 00 02 */ lhz r0, 2(r6) -/* 8034029C 7C 05 02 14 */ add r0, r5, r0 -/* 803402A0 B0 1F 00 00 */ sth r0, 0(r31) -/* 803402A4 A0 06 00 02 */ lhz r0, 2(r6) -/* 803402A8 A0 BF 00 02 */ lhz r5, 2(r31) -/* 803402AC 7C 00 00 F8 */ nor r0, r0, r0 -/* 803402B0 7C 05 02 14 */ add r0, r5, r0 -/* 803402B4 B0 1F 00 02 */ sth r0, 2(r31) -/* 803402B8 A0 BF 00 00 */ lhz r5, 0(r31) -/* 803402BC A0 06 00 04 */ lhz r0, 4(r6) -/* 803402C0 7C 05 02 14 */ add r0, r5, r0 -/* 803402C4 B0 1F 00 00 */ sth r0, 0(r31) -/* 803402C8 A0 06 00 04 */ lhz r0, 4(r6) -/* 803402CC A0 BF 00 02 */ lhz r5, 2(r31) -/* 803402D0 7C 00 00 F8 */ nor r0, r0, r0 -/* 803402D4 7C 05 02 14 */ add r0, r5, r0 -/* 803402D8 B0 1F 00 02 */ sth r0, 2(r31) -/* 803402DC A0 BF 00 00 */ lhz r5, 0(r31) -/* 803402E0 A0 06 00 06 */ lhz r0, 6(r6) -/* 803402E4 7C 05 02 14 */ add r0, r5, r0 -/* 803402E8 B0 1F 00 00 */ sth r0, 0(r31) -/* 803402EC A0 06 00 06 */ lhz r0, 6(r6) -/* 803402F0 A0 BF 00 02 */ lhz r5, 2(r31) -/* 803402F4 7C 00 00 F8 */ nor r0, r0, r0 -/* 803402F8 7C 05 02 14 */ add r0, r5, r0 -/* 803402FC B0 1F 00 02 */ sth r0, 2(r31) -/* 80340300 A0 BF 00 00 */ lhz r5, 0(r31) -/* 80340304 A0 06 00 08 */ lhz r0, 8(r6) -/* 80340308 7C 05 02 14 */ add r0, r5, r0 -/* 8034030C B0 1F 00 00 */ sth r0, 0(r31) -/* 80340310 A0 06 00 08 */ lhz r0, 8(r6) -/* 80340314 A0 BF 00 02 */ lhz r5, 2(r31) -/* 80340318 7C 00 00 F8 */ nor r0, r0, r0 -/* 8034031C 7C 05 02 14 */ add r0, r5, r0 -/* 80340320 B0 1F 00 02 */ sth r0, 2(r31) -/* 80340324 A0 BF 00 00 */ lhz r5, 0(r31) -/* 80340328 A0 06 00 0A */ lhz r0, 0xa(r6) -/* 8034032C 7C 05 02 14 */ add r0, r5, r0 -/* 80340330 B0 1F 00 00 */ sth r0, 0(r31) -/* 80340334 A0 06 00 0A */ lhz r0, 0xa(r6) -/* 80340338 A0 BF 00 02 */ lhz r5, 2(r31) -/* 8034033C 7C 00 00 F8 */ nor r0, r0, r0 -/* 80340340 7C 05 02 14 */ add r0, r5, r0 -/* 80340344 B0 1F 00 02 */ sth r0, 2(r31) -/* 80340348 A0 BF 00 00 */ lhz r5, 0(r31) -/* 8034034C A0 06 00 0C */ lhz r0, 0xc(r6) -/* 80340350 7C 05 02 14 */ add r0, r5, r0 -/* 80340354 B0 1F 00 00 */ sth r0, 0(r31) -/* 80340358 A0 06 00 0C */ lhz r0, 0xc(r6) -/* 8034035C A0 BF 00 02 */ lhz r5, 2(r31) -/* 80340360 7C 00 00 F8 */ nor r0, r0, r0 -/* 80340364 7C 05 02 14 */ add r0, r5, r0 -/* 80340368 B0 1F 00 02 */ sth r0, 2(r31) -/* 8034036C A0 BF 00 00 */ lhz r5, 0(r31) -/* 80340370 A0 06 00 0E */ lhz r0, 0xe(r6) -/* 80340374 7C 05 02 14 */ add r0, r5, r0 -/* 80340378 B0 1F 00 00 */ sth r0, 0(r31) -/* 8034037C A0 06 00 0E */ lhz r0, 0xe(r6) -/* 80340380 38 C6 00 10 */ addi r6, r6, 0x10 -/* 80340384 A0 BF 00 02 */ lhz r5, 2(r31) -/* 80340388 7C 00 00 F8 */ nor r0, r0, r0 -/* 8034038C 7C 05 02 14 */ add r0, r5, r0 -/* 80340390 B0 1F 00 02 */ sth r0, 2(r31) -/* 80340394 42 00 FE DC */ bdnz lbl_80340270 -/* 80340398 70 63 00 07 */ andi. r3, r3, 7 -/* 8034039C 41 82 00 34 */ beq lbl_803403D0 -lbl_803403A0: -/* 803403A0 7C 69 03 A6 */ mtctr r3 -lbl_803403A4: -/* 803403A4 A0 BF 00 00 */ lhz r5, 0(r31) -/* 803403A8 A0 06 00 00 */ lhz r0, 0(r6) -/* 803403AC 7C 05 02 14 */ add r0, r5, r0 -/* 803403B0 B0 1F 00 00 */ sth r0, 0(r31) -/* 803403B4 A0 06 00 00 */ lhz r0, 0(r6) -/* 803403B8 38 C6 00 02 */ addi r6, r6, 2 -/* 803403BC A0 BF 00 02 */ lhz r5, 2(r31) -/* 803403C0 7C 00 00 F8 */ nor r0, r0, r0 -/* 803403C4 7C 05 02 14 */ add r0, r5, r0 -/* 803403C8 B0 1F 00 02 */ sth r0, 2(r31) -/* 803403CC 42 00 FF D8 */ bdnz lbl_803403A4 -lbl_803403D0: -/* 803403D0 3B DF 00 40 */ addi r30, r31, 0x40 -/* 803403D4 80 1F 00 40 */ lwz r0, 0x40(r31) -/* 803403D8 7C 04 00 40 */ cmplw r4, r0 -/* 803403DC 40 80 00 08 */ bge lbl_803403E4 -/* 803403E0 90 9E 00 00 */ stw r4, 0(r30) -lbl_803403E4: -/* 803403E4 80 1E 00 00 */ lwz r0, 0(r30) -/* 803403E8 28 00 00 14 */ cmplwi r0, 0x14 -/* 803403EC 41 81 00 2C */ bgt lbl_80340418 -/* 803403F0 38 9F 00 14 */ addi r4, r31, 0x14 -/* 803403F4 A0 7F 00 3C */ lhz r3, 0x3c(r31) -/* 803403F8 54 60 04 6A */ rlwinm r0, r3, 0, 0x11, 0x15 -/* 803403FC 28 00 50 00 */ cmplwi r0, 0x5000 -/* 80340400 41 82 00 10 */ beq lbl_80340410 -/* 80340404 54 60 06 32 */ rlwinm r0, r3, 0, 0x18, 0x19 -/* 80340408 28 00 00 C0 */ cmplwi r0, 0xc0 -/* 8034040C 40 82 00 0C */ bne lbl_80340418 -lbl_80340410: -/* 80340410 38 00 00 00 */ li r0, 0 -/* 80340414 B0 04 00 28 */ sth r0, 0x28(r4) -lbl_80340418: -/* 80340418 83 BE 00 00 */ lwz r29, 0(r30) -/* 8034041C 3C 60 80 34 */ lis r3, WriteSramCallback@ha /* 0x8033FE90@ha */ -/* 80340420 38 A3 FE 90 */ addi r5, r3, WriteSramCallback@l /* 0x8033FE90@l */ -/* 80340424 23 7D 00 40 */ subfic r27, r29, 0x40 -/* 80340428 7F 9F EA 14 */ add r28, r31, r29 -/* 8034042C 38 60 00 00 */ li r3, 0 -/* 80340430 38 80 00 01 */ li r4, 1 -/* 80340434 48 00 3B F5 */ bl EXILock -/* 80340438 2C 03 00 00 */ cmpwi r3, 0 -/* 8034043C 40 82 00 0C */ bne lbl_80340448 -/* 80340440 38 00 00 00 */ li r0, 0 -/* 80340444 48 00 00 B4 */ b lbl_803404F8 -lbl_80340448: -/* 80340448 38 60 00 00 */ li r3, 0 -/* 8034044C 38 80 00 01 */ li r4, 1 -/* 80340450 38 A0 00 03 */ li r5, 3 -/* 80340454 48 00 34 15 */ bl EXISelect -/* 80340458 2C 03 00 00 */ cmpwi r3, 0 -/* 8034045C 40 82 00 14 */ bne lbl_80340470 -/* 80340460 38 60 00 00 */ li r3, 0 -/* 80340464 48 00 3C B9 */ bl EXIUnlock -/* 80340468 38 00 00 00 */ li r0, 0 -/* 8034046C 48 00 00 8C */ b lbl_803404F8 -lbl_80340470: -/* 80340470 57 A3 30 32 */ slwi r3, r29, 6 -/* 80340474 38 03 01 00 */ addi r0, r3, 0x100 -/* 80340478 64 00 A0 00 */ oris r0, r0, 0xa000 -/* 8034047C 90 01 00 10 */ stw r0, 0x10(r1) -/* 80340480 38 81 00 10 */ addi r4, r1, 0x10 -/* 80340484 38 60 00 00 */ li r3, 0 -/* 80340488 38 A0 00 04 */ li r5, 4 -/* 8034048C 38 C0 00 01 */ li r6, 1 -/* 80340490 38 E0 00 00 */ li r7, 0 -/* 80340494 48 00 28 6D */ bl EXIImm -/* 80340498 7C 60 00 34 */ cntlzw r0, r3 -/* 8034049C 54 1D D9 7E */ srwi r29, r0, 5 -/* 803404A0 38 60 00 00 */ li r3, 0 -/* 803404A4 48 00 2C 45 */ bl EXISync -/* 803404A8 7C 60 00 34 */ cntlzw r0, r3 -/* 803404AC 54 00 D9 7E */ srwi r0, r0, 5 -/* 803404B0 38 9C 00 00 */ addi r4, r28, 0 -/* 803404B4 38 BB 00 00 */ addi r5, r27, 0 -/* 803404B8 7F BD 03 78 */ or r29, r29, r0 -/* 803404BC 38 60 00 00 */ li r3, 0 -/* 803404C0 38 C0 00 01 */ li r6, 1 -/* 803404C4 48 00 2A 99 */ bl EXIImmEx -/* 803404C8 7C 60 00 34 */ cntlzw r0, r3 -/* 803404CC 54 00 D9 7E */ srwi r0, r0, 5 -/* 803404D0 7F BD 03 78 */ or r29, r29, r0 -/* 803404D4 38 60 00 00 */ li r3, 0 -/* 803404D8 48 00 34 BD */ bl EXIDeselect -/* 803404DC 7C 60 00 34 */ cntlzw r0, r3 -/* 803404E0 54 00 D9 7E */ srwi r0, r0, 5 -/* 803404E4 7F BD 03 78 */ or r29, r29, r0 -/* 803404E8 38 60 00 00 */ li r3, 0 -/* 803404EC 48 00 3C 31 */ bl EXIUnlock -/* 803404F0 7F A0 00 34 */ cntlzw r0, r29 -/* 803404F4 54 00 D9 7E */ srwi r0, r0, 5 -lbl_803404F8: -/* 803404F8 90 1F 00 4C */ stw r0, 0x4c(r31) -/* 803404FC 80 1F 00 4C */ lwz r0, 0x4c(r31) -/* 80340500 2C 00 00 00 */ cmpwi r0, 0 -/* 80340504 41 82 00 0C */ beq lbl_80340510 -/* 80340508 38 00 00 40 */ li r0, 0x40 -/* 8034050C 90 1E 00 00 */ stw r0, 0(r30) -lbl_80340510: -/* 80340510 38 00 00 00 */ li r0, 0 -/* 80340514 90 1F 00 48 */ stw r0, 0x48(r31) -/* 80340518 80 7F 00 44 */ lwz r3, 0x44(r31) -/* 8034051C 4B FF D2 01 */ bl OSRestoreInterrupts -/* 80340520 80 7F 00 4C */ lwz r3, 0x4c(r31) -/* 80340524 BB 61 00 1C */ lmw r27, 0x1c(r1) -/* 80340528 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8034052C 38 21 00 30 */ addi r1, r1, 0x30 -/* 80340530 7C 08 03 A6 */ mtlr r0 -/* 80340534 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSRtc/__OSLockSram.s b/asm/dolphin/os/OSRtc/__OSLockSram.s deleted file mode 100644 index 48feaed1b7b..00000000000 --- a/asm/dolphin/os/OSRtc/__OSLockSram.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_80340144: -/* 80340144 7C 08 02 A6 */ mflr r0 -/* 80340148 3C 60 80 45 */ lis r3, Scb@ha /* 0x8044BB20@ha */ -/* 8034014C 90 01 00 04 */ stw r0, 4(r1) -/* 80340150 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80340154 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80340158 3B E3 BB 20 */ addi r31, r3, Scb@l /* 0x8044BB20@l */ -/* 8034015C 4B FF D5 99 */ bl OSDisableInterrupts -/* 80340160 80 1F 00 48 */ lwz r0, 0x48(r31) -/* 80340164 38 9F 00 48 */ addi r4, r31, 0x48 -/* 80340168 2C 00 00 00 */ cmpwi r0, 0 -/* 8034016C 41 82 00 10 */ beq lbl_8034017C -/* 80340170 4B FF D5 AD */ bl OSRestoreInterrupts -/* 80340174 3B E0 00 00 */ li r31, 0 -/* 80340178 48 00 00 10 */ b lbl_80340188 -lbl_8034017C: -/* 8034017C 90 7F 00 44 */ stw r3, 0x44(r31) -/* 80340180 38 00 00 01 */ li r0, 1 -/* 80340184 90 04 00 00 */ stw r0, 0(r4) -lbl_80340188: -/* 80340188 7F E3 FB 78 */ mr r3, r31 -/* 8034018C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80340190 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80340194 38 21 00 10 */ addi r1, r1, 0x10 -/* 80340198 7C 08 03 A6 */ mtlr r0 -/* 8034019C 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSRtc/__OSLockSramEx.s b/asm/dolphin/os/OSRtc/__OSLockSramEx.s deleted file mode 100644 index 28d1b52b6ba..00000000000 --- a/asm/dolphin/os/OSRtc/__OSLockSramEx.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_803401A0: -/* 803401A0 7C 08 02 A6 */ mflr r0 -/* 803401A4 3C 60 80 45 */ lis r3, Scb@ha /* 0x8044BB20@ha */ -/* 803401A8 90 01 00 04 */ stw r0, 4(r1) -/* 803401AC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803401B0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 803401B4 3B E3 BB 20 */ addi r31, r3, Scb@l /* 0x8044BB20@l */ -/* 803401B8 4B FF D5 3D */ bl OSDisableInterrupts -/* 803401BC 80 1F 00 48 */ lwz r0, 0x48(r31) -/* 803401C0 38 9F 00 48 */ addi r4, r31, 0x48 -/* 803401C4 2C 00 00 00 */ cmpwi r0, 0 -/* 803401C8 41 82 00 10 */ beq lbl_803401D8 -/* 803401CC 4B FF D5 51 */ bl OSRestoreInterrupts -/* 803401D0 38 60 00 00 */ li r3, 0 -/* 803401D4 48 00 00 14 */ b lbl_803401E8 -lbl_803401D8: -/* 803401D8 90 7F 00 44 */ stw r3, 0x44(r31) -/* 803401DC 38 00 00 01 */ li r0, 1 -/* 803401E0 38 7F 00 14 */ addi r3, r31, 0x14 -/* 803401E4 90 04 00 00 */ stw r0, 0(r4) -lbl_803401E8: -/* 803401E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803401EC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 803401F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 803401F4 7C 08 03 A6 */ mtlr r0 -/* 803401F8 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSRtc/__OSUnlockSram.s b/asm/dolphin/os/OSRtc/__OSUnlockSram.s deleted file mode 100644 index ec114a8fbe3..00000000000 --- a/asm/dolphin/os/OSRtc/__OSUnlockSram.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80340538: -/* 80340538 7C 08 02 A6 */ mflr r0 -/* 8034053C 38 80 00 00 */ li r4, 0 -/* 80340540 90 01 00 04 */ stw r0, 4(r1) -/* 80340544 94 21 FF F8 */ stwu r1, -8(r1) -/* 80340548 4B FF FC B5 */ bl UnlockSram -/* 8034054C 80 01 00 0C */ lwz r0, 0xc(r1) -/* 80340550 38 21 00 08 */ addi r1, r1, 8 -/* 80340554 7C 08 03 A6 */ mtlr r0 -/* 80340558 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSRtc/__OSUnlockSramEx.s b/asm/dolphin/os/OSRtc/__OSUnlockSramEx.s deleted file mode 100644 index 9ff34001a6e..00000000000 --- a/asm/dolphin/os/OSRtc/__OSUnlockSramEx.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8034055C: -/* 8034055C 7C 08 02 A6 */ mflr r0 -/* 80340560 38 80 00 14 */ li r4, 0x14 -/* 80340564 90 01 00 04 */ stw r0, 4(r1) -/* 80340568 94 21 FF F8 */ stwu r1, -8(r1) -/* 8034056C 4B FF FC 91 */ bl UnlockSram -/* 80340570 80 01 00 0C */ lwz r0, 0xc(r1) -/* 80340574 38 21 00 08 */ addi r1, r1, 8 -/* 80340578 7C 08 03 A6 */ mtlr r0 -/* 8034057C 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSThread/CheckThreadQueue.s b/asm/dolphin/os/OSThread/CheckThreadQueue.s deleted file mode 100644 index 99b0e15bf8b..00000000000 --- a/asm/dolphin/os/OSThread/CheckThreadQueue.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_80341E64: -/* 80341E64 80 83 00 00 */ lwz r4, 0(r3) -/* 80341E68 28 04 00 00 */ cmplwi r4, 0 -/* 80341E6C 41 82 00 18 */ beq lbl_80341E84 -/* 80341E70 80 04 02 E4 */ lwz r0, 0x2e4(r4) -/* 80341E74 28 00 00 00 */ cmplwi r0, 0 -/* 80341E78 41 82 00 0C */ beq lbl_80341E84 -/* 80341E7C 38 60 00 00 */ li r3, 0 -/* 80341E80 4E 80 00 20 */ blr -lbl_80341E84: -/* 80341E84 80 63 00 04 */ lwz r3, 4(r3) -/* 80341E88 28 03 00 00 */ cmplwi r3, 0 -/* 80341E8C 41 82 00 18 */ beq lbl_80341EA4 -/* 80341E90 80 03 02 E0 */ lwz r0, 0x2e0(r3) -/* 80341E94 28 00 00 00 */ cmplwi r0, 0 -/* 80341E98 41 82 00 0C */ beq lbl_80341EA4 -/* 80341E9C 38 60 00 00 */ li r3, 0 -/* 80341EA0 4E 80 00 20 */ blr -lbl_80341EA4: -/* 80341EA4 7C 85 23 78 */ mr r5, r4 -/* 80341EA8 48 00 00 48 */ b lbl_80341EF0 -lbl_80341EAC: -/* 80341EAC 80 65 02 E0 */ lwz r3, 0x2e0(r5) -/* 80341EB0 28 03 00 00 */ cmplwi r3, 0 -/* 80341EB4 41 82 00 18 */ beq lbl_80341ECC -/* 80341EB8 80 03 02 E4 */ lwz r0, 0x2e4(r3) -/* 80341EBC 7C 05 00 40 */ cmplw r5, r0 -/* 80341EC0 41 82 00 0C */ beq lbl_80341ECC -/* 80341EC4 38 60 00 00 */ li r3, 0 -/* 80341EC8 4E 80 00 20 */ blr -lbl_80341ECC: -/* 80341ECC 80 85 02 E4 */ lwz r4, 0x2e4(r5) -/* 80341ED0 28 04 00 00 */ cmplwi r4, 0 -/* 80341ED4 41 82 00 18 */ beq lbl_80341EEC -/* 80341ED8 80 04 02 E0 */ lwz r0, 0x2e0(r4) -/* 80341EDC 7C 05 00 40 */ cmplw r5, r0 -/* 80341EE0 41 82 00 0C */ beq lbl_80341EEC -/* 80341EE4 38 60 00 00 */ li r3, 0 -/* 80341EE8 4E 80 00 20 */ blr -lbl_80341EEC: -/* 80341EEC 7C 65 1B 78 */ mr r5, r3 -lbl_80341EF0: -/* 80341EF0 28 05 00 00 */ cmplwi r5, 0 -/* 80341EF4 40 82 FF B8 */ bne lbl_80341EAC -/* 80341EF8 38 60 00 01 */ li r3, 1 -/* 80341EFC 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSThread/OSCancelThread.s b/asm/dolphin/os/OSThread/OSCancelThread.s deleted file mode 100644 index a5f18fe32cf..00000000000 --- a/asm/dolphin/os/OSThread/OSCancelThread.s +++ /dev/null @@ -1,131 +0,0 @@ -lbl_80341558: -/* 80341558 7C 08 02 A6 */ mflr r0 -/* 8034155C 90 01 00 04 */ stw r0, 4(r1) -/* 80341560 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80341564 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80341568 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8034156C 7C 7E 1B 78 */ mr r30, r3 -/* 80341570 93 A1 00 14 */ stw r29, 0x14(r1) -/* 80341574 4B FF C1 81 */ bl OSDisableInterrupts -/* 80341578 A0 1E 02 C8 */ lhz r0, 0x2c8(r30) -/* 8034157C 3B E3 00 00 */ addi r31, r3, 0 -/* 80341580 2C 00 00 03 */ cmpwi r0, 3 -/* 80341584 41 82 00 DC */ beq lbl_80341660 -/* 80341588 40 80 00 14 */ bge lbl_8034159C -/* 8034158C 2C 00 00 01 */ cmpwi r0, 1 -/* 80341590 41 82 00 18 */ beq lbl_803415A8 -/* 80341594 40 80 00 2C */ bge lbl_803415C0 -/* 80341598 48 00 00 C8 */ b lbl_80341660 -lbl_8034159C: -/* 8034159C 2C 00 00 05 */ cmpwi r0, 5 -/* 803415A0 40 80 00 C0 */ bge lbl_80341660 -/* 803415A4 48 00 00 28 */ b lbl_803415CC -lbl_803415A8: -/* 803415A8 80 1E 02 CC */ lwz r0, 0x2cc(r30) -/* 803415AC 2C 00 00 00 */ cmpwi r0, 0 -/* 803415B0 41 81 00 BC */ bgt lbl_8034166C -/* 803415B4 7F C3 F3 78 */ mr r3, r30 -/* 803415B8 4B FF F7 8D */ bl UnsetRun -/* 803415BC 48 00 00 B0 */ b lbl_8034166C -lbl_803415C0: -/* 803415C0 38 00 00 01 */ li r0, 1 -/* 803415C4 90 0D 91 44 */ stw r0, RunQueueHint(r13) -/* 803415C8 48 00 00 A4 */ b lbl_8034166C -lbl_803415CC: -/* 803415CC 80 9E 02 E0 */ lwz r4, 0x2e0(r30) -/* 803415D0 80 BE 02 E4 */ lwz r5, 0x2e4(r30) -/* 803415D4 28 04 00 00 */ cmplwi r4, 0 -/* 803415D8 40 82 00 10 */ bne lbl_803415E8 -/* 803415DC 80 7E 02 DC */ lwz r3, 0x2dc(r30) -/* 803415E0 90 A3 00 04 */ stw r5, 4(r3) -/* 803415E4 48 00 00 08 */ b lbl_803415EC -lbl_803415E8: -/* 803415E8 90 A4 02 E4 */ stw r5, 0x2e4(r4) -lbl_803415EC: -/* 803415EC 28 05 00 00 */ cmplwi r5, 0 -/* 803415F0 40 82 00 10 */ bne lbl_80341600 -/* 803415F4 80 7E 02 DC */ lwz r3, 0x2dc(r30) -/* 803415F8 90 83 00 00 */ stw r4, 0(r3) -/* 803415FC 48 00 00 08 */ b lbl_80341604 -lbl_80341600: -/* 80341600 90 85 02 E0 */ stw r4, 0x2e0(r5) -lbl_80341604: -/* 80341604 38 00 00 00 */ li r0, 0 -/* 80341608 90 1E 02 DC */ stw r0, 0x2dc(r30) -/* 8034160C 80 1E 02 CC */ lwz r0, 0x2cc(r30) -/* 80341610 2C 00 00 00 */ cmpwi r0, 0 -/* 80341614 41 81 00 58 */ bgt lbl_8034166C -/* 80341618 80 7E 02 F0 */ lwz r3, 0x2f0(r30) -/* 8034161C 28 03 00 00 */ cmplwi r3, 0 -/* 80341620 41 82 00 4C */ beq lbl_8034166C -/* 80341624 83 A3 00 08 */ lwz r29, 8(r3) -lbl_80341628: -/* 80341628 80 1D 02 CC */ lwz r0, 0x2cc(r29) -/* 8034162C 2C 00 00 00 */ cmpwi r0, 0 -/* 80341630 41 81 00 3C */ bgt lbl_8034166C -/* 80341634 7F A3 EB 78 */ mr r3, r29 -/* 80341638 4B FF F7 75 */ bl __OSGetEffectivePriority -/* 8034163C 80 1D 02 D0 */ lwz r0, 0x2d0(r29) -/* 80341640 38 83 00 00 */ addi r4, r3, 0 -/* 80341644 7C 00 20 00 */ cmpw r0, r4 -/* 80341648 41 82 00 24 */ beq lbl_8034166C -/* 8034164C 7F A3 EB 78 */ mr r3, r29 -/* 80341650 4B FF F7 99 */ bl SetEffectivePriority -/* 80341654 7C 7D 1B 79 */ or. r29, r3, r3 -/* 80341658 40 82 FF D0 */ bne lbl_80341628 -/* 8034165C 48 00 00 10 */ b lbl_8034166C -lbl_80341660: -/* 80341660 7F E3 FB 78 */ mr r3, r31 -/* 80341664 4B FF C0 B9 */ bl OSRestoreInterrupts -/* 80341668 48 00 00 90 */ b lbl_803416F8 -lbl_8034166C: -/* 8034166C 7F C3 F3 78 */ mr r3, r30 -/* 80341670 4B FF A9 91 */ bl OSClearContext -/* 80341674 A0 1E 02 CA */ lhz r0, 0x2ca(r30) -/* 80341678 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 8034167C 41 82 00 48 */ beq lbl_803416C4 -/* 80341680 80 9E 02 FC */ lwz r4, 0x2fc(r30) -/* 80341684 80 BE 03 00 */ lwz r5, 0x300(r30) -/* 80341688 28 04 00 00 */ cmplwi r4, 0 -/* 8034168C 40 82 00 10 */ bne lbl_8034169C -/* 80341690 3C 60 80 00 */ lis r3, 0x8000 /* 0x800000E0@ha */ -/* 80341694 90 A3 00 E0 */ stw r5, 0x00E0(r3) /* 0x800000E0@l */ -/* 80341698 48 00 00 08 */ b lbl_803416A0 -lbl_8034169C: -/* 8034169C 90 A4 03 00 */ stw r5, 0x300(r4) -lbl_803416A0: -/* 803416A0 28 05 00 00 */ cmplwi r5, 0 -/* 803416A4 40 82 00 10 */ bne lbl_803416B4 -/* 803416A8 3C 60 80 00 */ lis r3, 0x8000 /* 0x800000DC@ha */ -/* 803416AC 90 83 00 DC */ stw r4, 0x00DC(r3) /* 0x800000DC@l */ -/* 803416B0 48 00 00 08 */ b lbl_803416B8 -lbl_803416B4: -/* 803416B4 90 85 02 FC */ stw r4, 0x2fc(r5) -lbl_803416B8: -/* 803416B8 38 00 00 00 */ li r0, 0 -/* 803416BC B0 1E 02 C8 */ sth r0, 0x2c8(r30) -/* 803416C0 48 00 00 0C */ b lbl_803416CC -lbl_803416C4: -/* 803416C4 38 00 00 08 */ li r0, 8 -/* 803416C8 B0 1E 02 C8 */ sth r0, 0x2c8(r30) -lbl_803416CC: -/* 803416CC 7F C3 F3 78 */ mr r3, r30 -/* 803416D0 4B FF DB 15 */ bl __OSUnlockAllMutex -/* 803416D4 38 7E 02 E8 */ addi r3, r30, 0x2e8 -/* 803416D8 48 00 05 C1 */ bl OSWakeupThread -/* 803416DC 80 0D 91 44 */ lwz r0, RunQueueHint(r13) -/* 803416E0 2C 00 00 00 */ cmpwi r0, 0 -/* 803416E4 41 82 00 0C */ beq lbl_803416F0 -/* 803416E8 38 60 00 00 */ li r3, 0 -/* 803416EC 4B FF F9 0D */ bl SelectThread -lbl_803416F0: -/* 803416F0 7F E3 FB 78 */ mr r3, r31 -/* 803416F4 4B FF C0 29 */ bl OSRestoreInterrupts -lbl_803416F8: -/* 803416F8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 803416FC 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80341700 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80341704 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 80341708 38 21 00 20 */ addi r1, r1, 0x20 -/* 8034170C 7C 08 03 A6 */ mtlr r0 -/* 80341710 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSThread/OSCheckActiveThreads.s b/asm/dolphin/os/OSThread/OSCheckActiveThreads.s deleted file mode 100644 index 6b4b499a344..00000000000 --- a/asm/dolphin/os/OSThread/OSCheckActiveThreads.s +++ /dev/null @@ -1,521 +0,0 @@ -lbl_80341F00: -/* 80341F00 7C 08 02 A6 */ mflr r0 -/* 80341F04 3C 80 80 3D */ lis r4, lit_831@ha /* 0x803D0838@ha */ -/* 80341F08 90 01 00 04 */ stw r0, 4(r1) -/* 80341F0C 3C 60 80 45 */ lis r3, RunQueue@ha /* 0x8044BB78@ha */ -/* 80341F10 94 21 FF C8 */ stwu r1, -0x38(r1) -/* 80341F14 BF 41 00 20 */ stmw r26, 0x20(r1) -/* 80341F18 3B C4 08 38 */ addi r30, r4, lit_831@l /* 0x803D0838@l */ -/* 80341F1C 3B E3 BB 78 */ addi r31, r3, RunQueue@l /* 0x8044BB78@l */ -/* 80341F20 3B 80 00 00 */ li r28, 0 -/* 80341F24 4B FF B7 D1 */ bl OSDisableInterrupts -/* 80341F28 3B 63 00 00 */ addi r27, r3, 0 -/* 80341F2C 3B BF 00 00 */ addi r29, r31, 0 -/* 80341F30 3B 40 00 00 */ li r26, 0 -lbl_80341F34: -/* 80341F34 20 1A 00 1F */ subfic r0, r26, 0x1f -/* 80341F38 80 8D 91 40 */ lwz r4, RunQueueBits(r13) -/* 80341F3C 38 60 00 01 */ li r3, 1 -/* 80341F40 7C 60 00 30 */ slw r0, r3, r0 -/* 80341F44 7C 80 00 39 */ and. r0, r4, r0 -/* 80341F48 41 82 00 44 */ beq lbl_80341F8C -/* 80341F4C 80 1D 00 00 */ lwz r0, 0(r29) -/* 80341F50 28 00 00 00 */ cmplwi r0, 0 -/* 80341F54 41 82 00 10 */ beq lbl_80341F64 -/* 80341F58 80 1D 00 04 */ lwz r0, 4(r29) -/* 80341F5C 28 00 00 00 */ cmplwi r0, 0 -/* 80341F60 40 82 00 68 */ bne lbl_80341FC8 -lbl_80341F64: -/* 80341F64 38 7E 00 00 */ addi r3, r30, 0 -/* 80341F68 4C C6 31 82 */ crclr 6 -/* 80341F6C 38 80 05 E0 */ li r4, 0x5e0 -/* 80341F70 4B CC 4B 4D */ bl OSReport -/* 80341F74 38 7E 00 60 */ addi r3, r30, 0x60 -/* 80341F78 4C C6 31 82 */ crclr 6 -/* 80341F7C 38 80 05 E0 */ li r4, 0x5e0 -/* 80341F80 38 AD 84 3C */ la r5, lit_833(r13) /* 804509BC-_SDA_BASE_ */ -/* 80341F84 4B CC 4E F9 */ bl OSPanic -/* 80341F88 48 00 00 40 */ b lbl_80341FC8 -lbl_80341F8C: -/* 80341F8C 80 1D 00 00 */ lwz r0, 0(r29) -/* 80341F90 28 00 00 00 */ cmplwi r0, 0 -/* 80341F94 40 82 00 10 */ bne lbl_80341FA4 -/* 80341F98 80 1D 00 04 */ lwz r0, 4(r29) -/* 80341F9C 28 00 00 00 */ cmplwi r0, 0 -/* 80341FA0 41 82 00 28 */ beq lbl_80341FC8 -lbl_80341FA4: -/* 80341FA4 38 7E 00 6C */ addi r3, r30, 0x6c -/* 80341FA8 4C C6 31 82 */ crclr 6 -/* 80341FAC 38 80 05 E5 */ li r4, 0x5e5 -/* 80341FB0 4B CC 4B 0D */ bl OSReport -/* 80341FB4 38 7E 00 60 */ addi r3, r30, 0x60 -/* 80341FB8 4C C6 31 82 */ crclr 6 -/* 80341FBC 38 80 05 E5 */ li r4, 0x5e5 -/* 80341FC0 38 AD 84 3C */ la r5, lit_833(r13) /* 804509BC-_SDA_BASE_ */ -/* 80341FC4 4B CC 4E B9 */ bl OSPanic -lbl_80341FC8: -/* 80341FC8 7F A3 EB 78 */ mr r3, r29 -/* 80341FCC 4B FF FE 99 */ bl CheckThreadQueue -/* 80341FD0 2C 03 00 00 */ cmpwi r3, 0 -/* 80341FD4 40 82 00 28 */ bne lbl_80341FFC -/* 80341FD8 38 7E 00 CC */ addi r3, r30, 0xcc -/* 80341FDC 4C C6 31 82 */ crclr 6 -/* 80341FE0 38 80 05 E7 */ li r4, 0x5e7 -/* 80341FE4 4B CC 4A D9 */ bl OSReport -/* 80341FE8 38 7E 00 60 */ addi r3, r30, 0x60 -/* 80341FEC 4C C6 31 82 */ crclr 6 -/* 80341FF0 38 80 05 E7 */ li r4, 0x5e7 -/* 80341FF4 38 AD 84 3C */ la r5, lit_833(r13) /* 804509BC-_SDA_BASE_ */ -/* 80341FF8 4B CC 4E 85 */ bl OSPanic -lbl_80341FFC: -/* 80341FFC 3B 5A 00 01 */ addi r26, r26, 1 -/* 80342000 2C 1A 00 1F */ cmpwi r26, 0x1f -/* 80342004 3B BD 00 08 */ addi r29, r29, 8 -/* 80342008 40 81 FF 2C */ ble lbl_80341F34 -/* 8034200C 3C 60 80 00 */ lis r3, 0x8000 /* 0x800000DC@ha */ -/* 80342010 80 63 00 DC */ lwz r3, 0x00DC(r3) /* 0x800000DC@l */ -/* 80342014 28 03 00 00 */ cmplwi r3, 0 -/* 80342018 41 82 00 34 */ beq lbl_8034204C -/* 8034201C 80 03 03 00 */ lwz r0, 0x300(r3) -/* 80342020 28 00 00 00 */ cmplwi r0, 0 -/* 80342024 41 82 00 28 */ beq lbl_8034204C -/* 80342028 38 7E 01 14 */ addi r3, r30, 0x114 -/* 8034202C 4C C6 31 82 */ crclr 6 -/* 80342030 38 80 05 EC */ li r4, 0x5ec -/* 80342034 4B CC 4A 89 */ bl OSReport -/* 80342038 38 7E 00 60 */ addi r3, r30, 0x60 -/* 8034203C 4C C6 31 82 */ crclr 6 -/* 80342040 38 80 05 EC */ li r4, 0x5ec -/* 80342044 38 AD 84 3C */ la r5, lit_833(r13) /* 804509BC-_SDA_BASE_ */ -/* 80342048 4B CC 4E 35 */ bl OSPanic -lbl_8034204C: -/* 8034204C 3C 60 80 00 */ lis r3, 0x8000 /* 0x800000DC@ha */ -/* 80342050 38 63 00 DC */ addi r3, r3, 0x00DC /* 0x800000DC@l */ -/* 80342054 80 63 00 04 */ lwz r3, 4(r3) -/* 80342058 28 03 00 00 */ cmplwi r3, 0 -/* 8034205C 41 82 00 34 */ beq lbl_80342090 -/* 80342060 80 03 02 FC */ lwz r0, 0x2fc(r3) -/* 80342064 28 00 00 00 */ cmplwi r0, 0 -/* 80342068 41 82 00 28 */ beq lbl_80342090 -/* 8034206C 38 7E 01 94 */ addi r3, r30, 0x194 -/* 80342070 4C C6 31 82 */ crclr 6 -/* 80342074 38 80 05 EE */ li r4, 0x5ee -/* 80342078 4B CC 4A 45 */ bl OSReport -/* 8034207C 38 7E 00 60 */ addi r3, r30, 0x60 -/* 80342080 4C C6 31 82 */ crclr 6 -/* 80342084 38 80 05 EE */ li r4, 0x5ee -/* 80342088 38 AD 84 3C */ la r5, lit_833(r13) /* 804509BC-_SDA_BASE_ */ -/* 8034208C 4B CC 4D F1 */ bl OSPanic -lbl_80342090: -/* 80342090 3C 60 80 00 */ lis r3, 0x8000 /* 0x800000DC@ha */ -/* 80342094 83 A3 00 DC */ lwz r29, 0x00DC(r3) /* 0x800000DC@l */ -/* 80342098 48 00 05 90 */ b lbl_80342628 -lbl_8034209C: -/* 8034209C 80 7D 02 FC */ lwz r3, 0x2fc(r29) -/* 803420A0 3B 9C 00 01 */ addi r28, r28, 1 -/* 803420A4 28 03 00 00 */ cmplwi r3, 0 -/* 803420A8 41 82 00 34 */ beq lbl_803420DC -/* 803420AC 80 03 03 00 */ lwz r0, 0x300(r3) -/* 803420B0 7C 1D 00 40 */ cmplw r29, r0 -/* 803420B4 41 82 00 28 */ beq lbl_803420DC -/* 803420B8 38 7E 02 14 */ addi r3, r30, 0x214 -/* 803420BC 4C C6 31 82 */ crclr 6 -/* 803420C0 38 80 05 F6 */ li r4, 0x5f6 -/* 803420C4 4B CC 49 F9 */ bl OSReport -/* 803420C8 38 7E 00 60 */ addi r3, r30, 0x60 -/* 803420CC 4C C6 31 82 */ crclr 6 -/* 803420D0 38 80 05 F6 */ li r4, 0x5f6 -/* 803420D4 38 AD 84 3C */ la r5, lit_833(r13) /* 804509BC-_SDA_BASE_ */ -/* 803420D8 4B CC 4D A5 */ bl OSPanic -lbl_803420DC: -/* 803420DC 80 7D 03 00 */ lwz r3, 0x300(r29) -/* 803420E0 28 03 00 00 */ cmplwi r3, 0 -/* 803420E4 41 82 00 34 */ beq lbl_80342118 -/* 803420E8 80 03 02 FC */ lwz r0, 0x2fc(r3) -/* 803420EC 7C 1D 00 40 */ cmplw r29, r0 -/* 803420F0 41 82 00 28 */ beq lbl_80342118 -/* 803420F4 38 7E 02 90 */ addi r3, r30, 0x290 -/* 803420F8 4C C6 31 82 */ crclr 6 -/* 803420FC 38 80 05 F8 */ li r4, 0x5f8 -/* 80342100 4B CC 49 BD */ bl OSReport -/* 80342104 38 7E 00 60 */ addi r3, r30, 0x60 -/* 80342108 4C C6 31 82 */ crclr 6 -/* 8034210C 38 80 05 F8 */ li r4, 0x5f8 -/* 80342110 38 AD 84 3C */ la r5, lit_833(r13) /* 804509BC-_SDA_BASE_ */ -/* 80342114 4B CC 4D 69 */ bl OSPanic -lbl_80342118: -/* 80342118 80 7D 03 08 */ lwz r3, 0x308(r29) -/* 8034211C 80 63 00 00 */ lwz r3, 0(r3) -/* 80342120 3C 03 21 53 */ addis r0, r3, 0x2153 -/* 80342124 28 00 BA BE */ cmplwi r0, 0xbabe -/* 80342128 41 82 00 28 */ beq lbl_80342150 -/* 8034212C 38 7E 03 0C */ addi r3, r30, 0x30c -/* 80342130 4C C6 31 82 */ crclr 6 -/* 80342134 38 80 05 FB */ li r4, 0x5fb -/* 80342138 4B CC 49 85 */ bl OSReport -/* 8034213C 38 7E 00 60 */ addi r3, r30, 0x60 -/* 80342140 4C C6 31 82 */ crclr 6 -/* 80342144 38 80 05 FB */ li r4, 0x5fb -/* 80342148 38 AD 84 3C */ la r5, lit_833(r13) /* 804509BC-_SDA_BASE_ */ -/* 8034214C 4B CC 4D 31 */ bl OSPanic -lbl_80342150: -/* 80342150 80 1D 02 D0 */ lwz r0, 0x2d0(r29) -/* 80342154 2C 00 00 00 */ cmpwi r0, 0 -/* 80342158 41 80 00 0C */ blt lbl_80342164 -/* 8034215C 2C 00 00 20 */ cmpwi r0, 0x20 -/* 80342160 40 81 00 28 */ ble lbl_80342188 -lbl_80342164: -/* 80342164 38 7E 03 60 */ addi r3, r30, 0x360 -/* 80342168 4C C6 31 82 */ crclr 6 -/* 8034216C 38 80 05 FE */ li r4, 0x5fe -/* 80342170 4B CC 49 4D */ bl OSReport -/* 80342174 38 7E 00 60 */ addi r3, r30, 0x60 -/* 80342178 4C C6 31 82 */ crclr 6 -/* 8034217C 38 80 05 FE */ li r4, 0x5fe -/* 80342180 38 AD 84 3C */ la r5, lit_833(r13) /* 804509BC-_SDA_BASE_ */ -/* 80342184 4B CC 4C F9 */ bl OSPanic -lbl_80342188: -/* 80342188 80 1D 02 CC */ lwz r0, 0x2cc(r29) -/* 8034218C 2C 00 00 00 */ cmpwi r0, 0 -/* 80342190 40 80 00 28 */ bge lbl_803421B8 -/* 80342194 38 7E 03 D4 */ addi r3, r30, 0x3d4 -/* 80342198 4C C6 31 82 */ crclr 6 -/* 8034219C 38 80 05 FF */ li r4, 0x5ff -/* 803421A0 4B CC 49 1D */ bl OSReport -/* 803421A4 38 7E 00 60 */ addi r3, r30, 0x60 -/* 803421A8 4C C6 31 82 */ crclr 6 -/* 803421AC 38 80 05 FF */ li r4, 0x5ff -/* 803421B0 38 AD 84 3C */ la r5, lit_833(r13) /* 804509BC-_SDA_BASE_ */ -/* 803421B4 4B CC 4C C9 */ bl OSPanic -lbl_803421B8: -/* 803421B8 38 7D 02 E8 */ addi r3, r29, 0x2e8 -/* 803421BC 4B FF FC A9 */ bl CheckThreadQueue -/* 803421C0 2C 03 00 00 */ cmpwi r3, 0 -/* 803421C4 40 82 00 28 */ bne lbl_803421EC -/* 803421C8 38 7E 04 10 */ addi r3, r30, 0x410 -/* 803421CC 4C C6 31 82 */ crclr 6 -/* 803421D0 38 80 06 00 */ li r4, 0x600 -/* 803421D4 4B CC 48 E9 */ bl OSReport -/* 803421D8 38 7E 00 60 */ addi r3, r30, 0x60 -/* 803421DC 4C C6 31 82 */ crclr 6 -/* 803421E0 38 80 06 00 */ li r4, 0x600 -/* 803421E4 38 AD 84 3C */ la r5, lit_833(r13) /* 804509BC-_SDA_BASE_ */ -/* 803421E8 4B CC 4C 95 */ bl OSPanic -lbl_803421EC: -/* 803421EC A0 9D 02 C8 */ lhz r4, 0x2c8(r29) -/* 803421F0 2C 04 00 04 */ cmpwi r4, 4 -/* 803421F4 41 82 02 00 */ beq lbl_803423F4 -/* 803421F8 40 80 00 1C */ bge lbl_80342214 -/* 803421FC 2C 04 00 02 */ cmpwi r4, 2 -/* 80342200 41 82 01 2C */ beq lbl_8034232C -/* 80342204 40 80 03 C8 */ bge lbl_803425CC -/* 80342208 2C 04 00 01 */ cmpwi r4, 1 -/* 8034220C 40 80 00 14 */ bge lbl_80342220 -/* 80342210 48 00 03 BC */ b lbl_803425CC -lbl_80342214: -/* 80342214 2C 04 00 08 */ cmpwi r4, 8 -/* 80342218 41 82 03 74 */ beq lbl_8034258C -/* 8034221C 48 00 03 B0 */ b lbl_803425CC -lbl_80342220: -/* 80342220 80 1D 02 CC */ lwz r0, 0x2cc(r29) -/* 80342224 2C 00 00 00 */ cmpwi r0, 0 -/* 80342228 41 81 03 C8 */ bgt lbl_803425F0 -/* 8034222C 80 1D 02 D0 */ lwz r0, 0x2d0(r29) -/* 80342230 80 7D 02 DC */ lwz r3, 0x2dc(r29) -/* 80342234 54 00 18 38 */ slwi r0, r0, 3 -/* 80342238 7C 1F 02 14 */ add r0, r31, r0 -/* 8034223C 7C 03 00 40 */ cmplw r3, r0 -/* 80342240 41 82 00 28 */ beq lbl_80342268 -/* 80342244 38 7E 04 5C */ addi r3, r30, 0x45c -/* 80342248 4C C6 31 82 */ crclr 6 -/* 8034224C 38 80 06 06 */ li r4, 0x606 -/* 80342250 4B CC 48 6D */ bl OSReport -/* 80342254 38 7E 00 60 */ addi r3, r30, 0x60 -/* 80342258 4C C6 31 82 */ crclr 6 -/* 8034225C 38 80 06 06 */ li r4, 0x606 -/* 80342260 38 AD 84 3C */ la r5, lit_833(r13) /* 804509BC-_SDA_BASE_ */ -/* 80342264 4B CC 4C 19 */ bl OSPanic -lbl_80342268: -/* 80342268 80 1D 02 D0 */ lwz r0, 0x2d0(r29) -/* 8034226C 54 00 18 38 */ slwi r0, r0, 3 -/* 80342270 7C 7F 00 2E */ lwzx r3, r31, r0 -/* 80342274 48 00 00 18 */ b lbl_8034228C -lbl_80342278: -/* 80342278 7C 1D 18 40 */ cmplw r29, r3 -/* 8034227C 40 82 00 0C */ bne lbl_80342288 -/* 80342280 38 00 00 01 */ li r0, 1 -/* 80342284 48 00 00 14 */ b lbl_80342298 -lbl_80342288: -/* 80342288 80 63 02 E0 */ lwz r3, 0x2e0(r3) -lbl_8034228C: -/* 8034228C 28 03 00 00 */ cmplwi r3, 0 -/* 80342290 40 82 FF E8 */ bne lbl_80342278 -/* 80342294 38 00 00 00 */ li r0, 0 -lbl_80342298: -/* 80342298 2C 00 00 00 */ cmpwi r0, 0 -/* 8034229C 40 82 00 28 */ bne lbl_803422C4 -/* 803422A0 38 7E 04 B0 */ addi r3, r30, 0x4b0 -/* 803422A4 4C C6 31 82 */ crclr 6 -/* 803422A8 38 80 06 07 */ li r4, 0x607 -/* 803422AC 4B CC 48 11 */ bl OSReport -/* 803422B0 38 7E 00 60 */ addi r3, r30, 0x60 -/* 803422B4 4C C6 31 82 */ crclr 6 -/* 803422B8 38 80 06 07 */ li r4, 0x607 -/* 803422BC 38 AD 84 3C */ la r5, lit_833(r13) /* 804509BC-_SDA_BASE_ */ -/* 803422C0 4B CC 4B BD */ bl OSPanic -lbl_803422C4: -/* 803422C4 80 9D 02 D4 */ lwz r4, 0x2d4(r29) -/* 803422C8 80 7D 02 F4 */ lwz r3, 0x2f4(r29) -/* 803422CC 48 00 00 24 */ b lbl_803422F0 -lbl_803422D0: -/* 803422D0 80 A3 00 00 */ lwz r5, 0(r3) -/* 803422D4 28 05 00 00 */ cmplwi r5, 0 -/* 803422D8 41 82 00 14 */ beq lbl_803422EC -/* 803422DC 80 05 02 D0 */ lwz r0, 0x2d0(r5) -/* 803422E0 7C 00 20 00 */ cmpw r0, r4 -/* 803422E4 40 80 00 08 */ bge lbl_803422EC -/* 803422E8 7C 04 03 78 */ mr r4, r0 -lbl_803422EC: -/* 803422EC 80 63 00 10 */ lwz r3, 0x10(r3) -lbl_803422F0: -/* 803422F0 28 03 00 00 */ cmplwi r3, 0 -/* 803422F4 40 82 FF DC */ bne lbl_803422D0 -/* 803422F8 80 1D 02 D0 */ lwz r0, 0x2d0(r29) -/* 803422FC 7C 00 20 00 */ cmpw r0, r4 -/* 80342300 41 82 02 F0 */ beq lbl_803425F0 -/* 80342304 38 7E 05 04 */ addi r3, r30, 0x504 -/* 80342308 4C C6 31 82 */ crclr 6 -/* 8034230C 38 80 06 08 */ li r4, 0x608 -/* 80342310 4B CC 47 AD */ bl OSReport -/* 80342314 38 7E 00 60 */ addi r3, r30, 0x60 -/* 80342318 4C C6 31 82 */ crclr 6 -/* 8034231C 38 80 06 08 */ li r4, 0x608 -/* 80342320 38 AD 84 3C */ la r5, lit_833(r13) /* 804509BC-_SDA_BASE_ */ -/* 80342324 4B CC 4B 59 */ bl OSPanic -/* 80342328 48 00 02 C8 */ b lbl_803425F0 -lbl_8034232C: -/* 8034232C 80 1D 02 CC */ lwz r0, 0x2cc(r29) -/* 80342330 2C 00 00 00 */ cmpwi r0, 0 -/* 80342334 40 81 00 28 */ ble lbl_8034235C -/* 80342338 38 7E 05 60 */ addi r3, r30, 0x560 -/* 8034233C 4C C6 31 82 */ crclr 6 -/* 80342340 38 80 06 0C */ li r4, 0x60c -/* 80342344 4B CC 47 79 */ bl OSReport -/* 80342348 38 7E 00 60 */ addi r3, r30, 0x60 -/* 8034234C 4C C6 31 82 */ crclr 6 -/* 80342350 38 80 06 0C */ li r4, 0x60c -/* 80342354 38 AD 84 3C */ la r5, lit_833(r13) /* 804509BC-_SDA_BASE_ */ -/* 80342358 4B CC 4B 25 */ bl OSPanic -lbl_8034235C: -/* 8034235C 80 1D 02 DC */ lwz r0, 0x2dc(r29) -/* 80342360 28 00 00 00 */ cmplwi r0, 0 -/* 80342364 41 82 00 28 */ beq lbl_8034238C -/* 80342368 38 7E 05 A4 */ addi r3, r30, 0x5a4 -/* 8034236C 4C C6 31 82 */ crclr 6 -/* 80342370 38 80 06 0D */ li r4, 0x60d -/* 80342374 4B CC 47 49 */ bl OSReport -/* 80342378 38 7E 00 60 */ addi r3, r30, 0x60 -/* 8034237C 4C C6 31 82 */ crclr 6 -/* 80342380 38 80 06 0D */ li r4, 0x60d -/* 80342384 38 AD 84 3C */ la r5, lit_833(r13) /* 804509BC-_SDA_BASE_ */ -/* 80342388 4B CC 4A F5 */ bl OSPanic -lbl_8034238C: -/* 8034238C 80 9D 02 D4 */ lwz r4, 0x2d4(r29) -/* 80342390 80 7D 02 F4 */ lwz r3, 0x2f4(r29) -/* 80342394 48 00 00 24 */ b lbl_803423B8 -lbl_80342398: -/* 80342398 80 A3 00 00 */ lwz r5, 0(r3) -/* 8034239C 28 05 00 00 */ cmplwi r5, 0 -/* 803423A0 41 82 00 14 */ beq lbl_803423B4 -/* 803423A4 80 05 02 D0 */ lwz r0, 0x2d0(r5) -/* 803423A8 7C 00 20 00 */ cmpw r0, r4 -/* 803423AC 40 80 00 08 */ bge lbl_803423B4 -/* 803423B0 7C 04 03 78 */ mr r4, r0 -lbl_803423B4: -/* 803423B4 80 63 00 10 */ lwz r3, 0x10(r3) -lbl_803423B8: -/* 803423B8 28 03 00 00 */ cmplwi r3, 0 -/* 803423BC 40 82 FF DC */ bne lbl_80342398 -/* 803423C0 80 1D 02 D0 */ lwz r0, 0x2d0(r29) -/* 803423C4 7C 00 20 00 */ cmpw r0, r4 -/* 803423C8 41 82 02 28 */ beq lbl_803425F0 -/* 803423CC 38 7E 05 04 */ addi r3, r30, 0x504 -/* 803423D0 4C C6 31 82 */ crclr 6 -/* 803423D4 38 80 06 0E */ li r4, 0x60e -/* 803423D8 4B CC 46 E5 */ bl OSReport -/* 803423DC 38 7E 00 60 */ addi r3, r30, 0x60 -/* 803423E0 4C C6 31 82 */ crclr 6 -/* 803423E4 38 80 06 0E */ li r4, 0x60e -/* 803423E8 38 AD 84 3C */ la r5, lit_833(r13) /* 804509BC-_SDA_BASE_ */ -/* 803423EC 4B CC 4A 91 */ bl OSPanic -/* 803423F0 48 00 02 00 */ b lbl_803425F0 -lbl_803423F4: -/* 803423F4 80 1D 02 DC */ lwz r0, 0x2dc(r29) -/* 803423F8 28 00 00 00 */ cmplwi r0, 0 -/* 803423FC 40 82 00 28 */ bne lbl_80342424 -/* 80342400 38 7E 05 E0 */ addi r3, r30, 0x5e0 -/* 80342404 4C C6 31 82 */ crclr 6 -/* 80342408 38 80 06 11 */ li r4, 0x611 -/* 8034240C 4B CC 46 B1 */ bl OSReport -/* 80342410 38 7E 00 60 */ addi r3, r30, 0x60 -/* 80342414 4C C6 31 82 */ crclr 6 -/* 80342418 38 80 06 11 */ li r4, 0x611 -/* 8034241C 38 AD 84 3C */ la r5, lit_833(r13) /* 804509BC-_SDA_BASE_ */ -/* 80342420 4B CC 4A 5D */ bl OSPanic -lbl_80342424: -/* 80342424 80 7D 02 DC */ lwz r3, 0x2dc(r29) -/* 80342428 4B FF FA 3D */ bl CheckThreadQueue -/* 8034242C 2C 03 00 00 */ cmpwi r3, 0 -/* 80342430 40 82 00 28 */ bne lbl_80342458 -/* 80342434 38 7E 06 1C */ addi r3, r30, 0x61c -/* 80342438 4C C6 31 82 */ crclr 6 -/* 8034243C 38 80 06 12 */ li r4, 0x612 -/* 80342440 4B CC 46 7D */ bl OSReport -/* 80342444 38 7E 00 60 */ addi r3, r30, 0x60 -/* 80342448 4C C6 31 82 */ crclr 6 -/* 8034244C 38 80 06 12 */ li r4, 0x612 -/* 80342450 38 AD 84 3C */ la r5, lit_833(r13) /* 804509BC-_SDA_BASE_ */ -/* 80342454 4B CC 4A 29 */ bl OSPanic -lbl_80342458: -/* 80342458 80 7D 02 DC */ lwz r3, 0x2dc(r29) -/* 8034245C 80 63 00 00 */ lwz r3, 0(r3) -/* 80342460 48 00 00 18 */ b lbl_80342478 -lbl_80342464: -/* 80342464 7C 1D 18 40 */ cmplw r29, r3 -/* 80342468 40 82 00 0C */ bne lbl_80342474 -/* 8034246C 38 00 00 01 */ li r0, 1 -/* 80342470 48 00 00 14 */ b lbl_80342484 -lbl_80342474: -/* 80342474 80 63 02 E0 */ lwz r3, 0x2e0(r3) -lbl_80342478: -/* 80342478 28 03 00 00 */ cmplwi r3, 0 -/* 8034247C 40 82 FF E8 */ bne lbl_80342464 -/* 80342480 38 00 00 00 */ li r0, 0 -lbl_80342484: -/* 80342484 2C 00 00 00 */ cmpwi r0, 0 -/* 80342488 40 82 00 28 */ bne lbl_803424B0 -/* 8034248C 38 7E 06 60 */ addi r3, r30, 0x660 -/* 80342490 4C C6 31 82 */ crclr 6 -/* 80342494 38 80 06 13 */ li r4, 0x613 -/* 80342498 4B CC 46 25 */ bl OSReport -/* 8034249C 38 7E 00 60 */ addi r3, r30, 0x60 -/* 803424A0 4C C6 31 82 */ crclr 6 -/* 803424A4 38 80 06 13 */ li r4, 0x613 -/* 803424A8 38 AD 84 3C */ la r5, lit_833(r13) /* 804509BC-_SDA_BASE_ */ -/* 803424AC 4B CC 49 D1 */ bl OSPanic -lbl_803424B0: -/* 803424B0 80 1D 02 CC */ lwz r0, 0x2cc(r29) -/* 803424B4 2C 00 00 00 */ cmpwi r0, 0 -/* 803424B8 41 81 00 6C */ bgt lbl_80342524 -/* 803424BC 80 9D 02 D4 */ lwz r4, 0x2d4(r29) -/* 803424C0 80 7D 02 F4 */ lwz r3, 0x2f4(r29) -/* 803424C4 48 00 00 24 */ b lbl_803424E8 -lbl_803424C8: -/* 803424C8 80 A3 00 00 */ lwz r5, 0(r3) -/* 803424CC 28 05 00 00 */ cmplwi r5, 0 -/* 803424D0 41 82 00 14 */ beq lbl_803424E4 -/* 803424D4 80 05 02 D0 */ lwz r0, 0x2d0(r5) -/* 803424D8 7C 00 20 00 */ cmpw r0, r4 -/* 803424DC 40 80 00 08 */ bge lbl_803424E4 -/* 803424E0 7C 04 03 78 */ mr r4, r0 -lbl_803424E4: -/* 803424E4 80 63 00 10 */ lwz r3, 0x10(r3) -lbl_803424E8: -/* 803424E8 28 03 00 00 */ cmplwi r3, 0 -/* 803424EC 40 82 FF DC */ bne lbl_803424C8 -/* 803424F0 80 1D 02 D0 */ lwz r0, 0x2d0(r29) -/* 803424F4 7C 00 20 00 */ cmpw r0, r4 -/* 803424F8 41 82 00 5C */ beq lbl_80342554 -/* 803424FC 38 7E 05 04 */ addi r3, r30, 0x504 -/* 80342500 4C C6 31 82 */ crclr 6 -/* 80342504 38 80 06 16 */ li r4, 0x616 -/* 80342508 4B CC 45 B5 */ bl OSReport -/* 8034250C 38 7E 00 60 */ addi r3, r30, 0x60 -/* 80342510 4C C6 31 82 */ crclr 6 -/* 80342514 38 80 06 16 */ li r4, 0x616 -/* 80342518 38 AD 84 3C */ la r5, lit_833(r13) /* 804509BC-_SDA_BASE_ */ -/* 8034251C 4B CC 49 61 */ bl OSPanic -/* 80342520 48 00 00 34 */ b lbl_80342554 -lbl_80342524: -/* 80342524 80 1D 02 D0 */ lwz r0, 0x2d0(r29) -/* 80342528 2C 00 00 20 */ cmpwi r0, 0x20 -/* 8034252C 41 82 00 28 */ beq lbl_80342554 -/* 80342530 38 7E 06 A4 */ addi r3, r30, 0x6a4 -/* 80342534 4C C6 31 82 */ crclr 6 -/* 80342538 38 80 06 1A */ li r4, 0x61a -/* 8034253C 4B CC 45 81 */ bl OSReport -/* 80342540 38 7E 00 60 */ addi r3, r30, 0x60 -/* 80342544 4C C6 31 82 */ crclr 6 -/* 80342548 38 80 06 1A */ li r4, 0x61a -/* 8034254C 38 AD 84 3C */ la r5, lit_833(r13) /* 804509BC-_SDA_BASE_ */ -/* 80342550 4B CC 49 2D */ bl OSPanic -lbl_80342554: -/* 80342554 7F A3 EB 78 */ mr r3, r29 -/* 80342558 4B FF CF CD */ bl __OSCheckDeadLock -/* 8034255C 2C 03 00 00 */ cmpwi r3, 0 -/* 80342560 41 82 00 90 */ beq lbl_803425F0 -/* 80342564 38 7E 06 E0 */ addi r3, r30, 0x6e0 -/* 80342568 4C C6 31 82 */ crclr 6 -/* 8034256C 38 80 06 1C */ li r4, 0x61c -/* 80342570 4B CC 45 4D */ bl OSReport -/* 80342574 38 7E 00 60 */ addi r3, r30, 0x60 -/* 80342578 4C C6 31 82 */ crclr 6 -/* 8034257C 38 80 06 1C */ li r4, 0x61c -/* 80342580 38 AD 84 3C */ la r5, lit_833(r13) /* 804509BC-_SDA_BASE_ */ -/* 80342584 4B CC 48 F9 */ bl OSPanic -/* 80342588 48 00 00 68 */ b lbl_803425F0 -lbl_8034258C: -/* 8034258C 80 1D 02 F4 */ lwz r0, 0x2f4(r29) -/* 80342590 28 00 00 00 */ cmplwi r0, 0 -/* 80342594 40 82 00 10 */ bne lbl_803425A4 -/* 80342598 80 1D 02 F8 */ lwz r0, 0x2f8(r29) -/* 8034259C 28 00 00 00 */ cmplwi r0, 0 -/* 803425A0 41 82 00 50 */ beq lbl_803425F0 -lbl_803425A4: -/* 803425A4 38 7E 07 20 */ addi r3, r30, 0x720 -/* 803425A8 4C C6 31 82 */ crclr 6 -/* 803425AC 38 80 06 20 */ li r4, 0x620 -/* 803425B0 4B CC 45 0D */ bl OSReport -/* 803425B4 38 7E 00 60 */ addi r3, r30, 0x60 -/* 803425B8 4C C6 31 82 */ crclr 6 -/* 803425BC 38 80 06 20 */ li r4, 0x620 -/* 803425C0 38 AD 84 3C */ la r5, lit_833(r13) /* 804509BC-_SDA_BASE_ */ -/* 803425C4 4B CC 48 B9 */ bl OSPanic -/* 803425C8 48 00 00 28 */ b lbl_803425F0 -lbl_803425CC: -/* 803425CC 4C C6 31 82 */ crclr 6 -/* 803425D0 38 BD 00 00 */ addi r5, r29, 0 -/* 803425D4 38 7E 07 88 */ addi r3, r30, 0x788 -/* 803425D8 4B CC 44 E5 */ bl OSReport -/* 803425DC 38 7E 00 60 */ addi r3, r30, 0x60 -/* 803425E0 4C C6 31 82 */ crclr 6 -/* 803425E4 38 80 06 26 */ li r4, 0x626 -/* 803425E8 38 AD 84 3C */ la r5, lit_833(r13) /* 804509BC-_SDA_BASE_ */ -/* 803425EC 4B CC 48 91 */ bl OSPanic -lbl_803425F0: -/* 803425F0 7F A3 EB 78 */ mr r3, r29 -/* 803425F4 4B FF CF 69 */ bl __OSCheckMutexes -/* 803425F8 2C 03 00 00 */ cmpwi r3, 0 -/* 803425FC 40 82 00 28 */ bne lbl_80342624 -/* 80342600 38 7E 07 D0 */ addi r3, r30, 0x7d0 -/* 80342604 4C C6 31 82 */ crclr 6 -/* 80342608 38 80 06 2B */ li r4, 0x62b -/* 8034260C 4B CC 44 B1 */ bl OSReport -/* 80342610 38 7E 00 60 */ addi r3, r30, 0x60 -/* 80342614 4C C6 31 82 */ crclr 6 -/* 80342618 38 80 06 2B */ li r4, 0x62b -/* 8034261C 38 AD 84 3C */ la r5, lit_833(r13) /* 804509BC-_SDA_BASE_ */ -/* 80342620 4B CC 48 5D */ bl OSPanic -lbl_80342624: -/* 80342624 83 BD 02 FC */ lwz r29, 0x2fc(r29) -lbl_80342628: -/* 80342628 28 1D 00 00 */ cmplwi r29, 0 -/* 8034262C 40 82 FA 70 */ bne lbl_8034209C -/* 80342630 7F 63 DB 78 */ mr r3, r27 -/* 80342634 4B FF B0 E9 */ bl OSRestoreInterrupts -/* 80342638 7F 83 E3 78 */ mr r3, r28 -/* 8034263C BB 41 00 20 */ lmw r26, 0x20(r1) -/* 80342640 80 01 00 3C */ lwz r0, 0x3c(r1) -/* 80342644 38 21 00 38 */ addi r1, r1, 0x38 -/* 80342648 7C 08 03 A6 */ mtlr r0 -/* 8034264C 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSThread/OSClearStack.s b/asm/dolphin/os/OSThread/OSClearStack.s deleted file mode 100644 index 677aa7e1ab3..00000000000 --- a/asm/dolphin/os/OSThread/OSClearStack.s +++ /dev/null @@ -1,48 +0,0 @@ -lbl_80342650: -/* 80342650 7C 08 02 A6 */ mflr r0 -/* 80342654 90 01 00 04 */ stw r0, 4(r1) -/* 80342658 54 60 82 1E */ rlwinm r0, r3, 0x10, 8, 0xf -/* 8034265C 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7 -/* 80342660 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 80342664 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 -/* 80342668 93 E1 00 14 */ stw r31, 0x14(r1) -/* 8034266C 7C 1F 03 78 */ mr r31, r0 -/* 80342670 50 7F 06 3E */ rlwimi r31, r3, 0, 0x18, 0x1f -/* 80342674 4B FF 99 85 */ bl OSGetStackPointer -/* 80342678 3C 80 80 00 */ lis r4, 0x8000 /* 0x800000E4@ha */ -/* 8034267C 80 A4 00 E4 */ lwz r5, 0x00E4(r4) /* 0x800000E4@l */ -/* 80342680 38 83 00 03 */ addi r4, r3, 3 -/* 80342684 80 A5 03 08 */ lwz r5, 0x308(r5) -/* 80342688 38 A5 00 04 */ addi r5, r5, 4 -/* 8034268C 7C 05 18 40 */ cmplw r5, r3 -/* 80342690 7C 85 20 50 */ subf r4, r5, r4 -/* 80342694 54 84 F0 BE */ srwi r4, r4, 2 -/* 80342698 40 80 00 50 */ bge lbl_803426E8 -/* 8034269C 54 80 E8 FF */ rlwinm. r0, r4, 0x1d, 3, 0x1f -/* 803426A0 7C 09 03 A6 */ mtctr r0 -/* 803426A4 41 82 00 34 */ beq lbl_803426D8 -lbl_803426A8: -/* 803426A8 93 E5 00 00 */ stw r31, 0(r5) -/* 803426AC 93 E5 00 04 */ stw r31, 4(r5) -/* 803426B0 93 E5 00 08 */ stw r31, 8(r5) -/* 803426B4 93 E5 00 0C */ stw r31, 0xc(r5) -/* 803426B8 93 E5 00 10 */ stw r31, 0x10(r5) -/* 803426BC 93 E5 00 14 */ stw r31, 0x14(r5) -/* 803426C0 93 E5 00 18 */ stw r31, 0x18(r5) -/* 803426C4 93 E5 00 1C */ stw r31, 0x1c(r5) -/* 803426C8 38 A5 00 20 */ addi r5, r5, 0x20 -/* 803426CC 42 00 FF DC */ bdnz lbl_803426A8 -/* 803426D0 70 84 00 07 */ andi. r4, r4, 7 -/* 803426D4 41 82 00 14 */ beq lbl_803426E8 -lbl_803426D8: -/* 803426D8 7C 89 03 A6 */ mtctr r4 -lbl_803426DC: -/* 803426DC 93 E5 00 00 */ stw r31, 0(r5) -/* 803426E0 38 A5 00 04 */ addi r5, r5, 4 -/* 803426E4 42 00 FF F8 */ bdnz lbl_803426DC -lbl_803426E8: -/* 803426E8 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 803426EC 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 803426F0 38 21 00 18 */ addi r1, r1, 0x18 -/* 803426F4 7C 08 03 A6 */ mtlr r0 -/* 803426F8 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSThread/OSCreateThread.s b/asm/dolphin/os/OSThread/OSCreateThread.s deleted file mode 100644 index 616d67cb48c..00000000000 --- a/asm/dolphin/os/OSThread/OSCreateThread.s +++ /dev/null @@ -1,130 +0,0 @@ -lbl_8034128C: -/* 8034128C 7C 08 02 A6 */ mflr r0 -/* 80341290 2C 08 00 00 */ cmpwi r8, 0 -/* 80341294 90 01 00 04 */ stw r0, 4(r1) -/* 80341298 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 8034129C BF 61 00 3C */ stmw r27, 0x3c(r1) -/* 803412A0 3B E3 00 00 */ addi r31, r3, 0 -/* 803412A4 3B 65 00 00 */ addi r27, r5, 0 -/* 803412A8 3B 86 00 00 */ addi r28, r6, 0 -/* 803412AC 3B A7 00 00 */ addi r29, r7, 0 -/* 803412B0 41 80 00 0C */ blt lbl_803412BC -/* 803412B4 2C 08 00 1F */ cmpwi r8, 0x1f -/* 803412B8 40 81 00 0C */ ble lbl_803412C4 -lbl_803412BC: -/* 803412BC 38 60 00 00 */ li r3, 0 -/* 803412C0 48 00 01 A0 */ b lbl_80341460 -lbl_803412C4: -/* 803412C4 38 C0 00 01 */ li r6, 1 -/* 803412C8 B0 DF 02 C8 */ sth r6, 0x2c8(r31) -/* 803412CC 55 20 07 FE */ clrlwi r0, r9, 0x1f -/* 803412D0 57 87 00 38 */ rlwinm r7, r28, 0, 0, 0x1c -/* 803412D4 B0 1F 02 CA */ sth r0, 0x2ca(r31) -/* 803412D8 38 00 FF FF */ li r0, -1 -/* 803412DC 3B C0 00 00 */ li r30, 0 -/* 803412E0 91 1F 02 D4 */ stw r8, 0x2d4(r31) -/* 803412E4 38 7F 00 00 */ addi r3, r31, 0 -/* 803412E8 38 A7 FF F8 */ addi r5, r7, -8 -/* 803412EC 91 1F 02 D0 */ stw r8, 0x2d0(r31) -/* 803412F0 90 DF 02 CC */ stw r6, 0x2cc(r31) -/* 803412F4 90 1F 02 D8 */ stw r0, 0x2d8(r31) -/* 803412F8 93 DF 02 F0 */ stw r30, 0x2f0(r31) -/* 803412FC 93 DF 02 EC */ stw r30, 0x2ec(r31) -/* 80341300 93 DF 02 E8 */ stw r30, 0x2e8(r31) -/* 80341304 93 DF 02 F8 */ stw r30, 0x2f8(r31) -/* 80341308 93 DF 02 F4 */ stw r30, 0x2f4(r31) -/* 8034130C 93 C7 FF F8 */ stw r30, -8(r7) -/* 80341310 93 C7 FF FC */ stw r30, -4(r7) -/* 80341314 4B FF AD 11 */ bl OSInitContext -/* 80341318 3C 60 80 34 */ lis r3, OSExitThread@ha /* 0x80341474@ha */ -/* 8034131C 38 03 14 74 */ addi r0, r3, OSExitThread@l /* 0x80341474@l */ -/* 80341320 90 1F 00 84 */ stw r0, 0x84(r31) -/* 80341324 3C 60 DE AE */ lis r3, 0xDEAE /* 0xDEADBABE@ha */ -/* 80341328 7C 9D E0 50 */ subf r4, r29, r28 -/* 8034132C 93 7F 00 0C */ stw r27, 0xc(r31) -/* 80341330 38 03 BA BE */ addi r0, r3, 0xBABE /* 0xDEADBABE@l */ -/* 80341334 93 9F 03 04 */ stw r28, 0x304(r31) -/* 80341338 90 9F 03 08 */ stw r4, 0x308(r31) -/* 8034133C 80 7F 03 08 */ lwz r3, 0x308(r31) -/* 80341340 90 03 00 00 */ stw r0, 0(r3) -/* 80341344 93 DF 03 0C */ stw r30, 0x30c(r31) -/* 80341348 93 DF 03 10 */ stw r30, 0x310(r31) -/* 8034134C 93 DF 03 14 */ stw r30, 0x314(r31) -/* 80341350 4B FF C3 A5 */ bl OSDisableInterrupts -/* 80341354 3C 80 80 45 */ lis r4, __OSErrorTable@ha /* 0x8044BAD0@ha */ -/* 80341358 38 84 BA D0 */ addi r4, r4, __OSErrorTable@l /* 0x8044BAD0@l */ -/* 8034135C 80 04 00 40 */ lwz r0, 0x40(r4) -/* 80341360 28 00 00 00 */ cmplwi r0, 0 -/* 80341364 41 82 00 C4 */ beq lbl_80341428 -/* 80341368 80 9F 01 9C */ lwz r4, 0x19c(r31) -/* 8034136C 38 00 00 04 */ li r0, 4 -/* 80341370 7C 09 03 A6 */ mtctr r0 -/* 80341374 38 BF 00 00 */ addi r5, r31, 0 -/* 80341378 60 80 09 00 */ ori r0, r4, 0x900 -/* 8034137C 90 1F 01 9C */ stw r0, 0x19c(r31) -/* 80341380 A0 1F 01 A2 */ lhz r0, 0x1a2(r31) -/* 80341384 60 00 00 01 */ ori r0, r0, 1 -/* 80341388 B0 1F 01 A2 */ sth r0, 0x1a2(r31) -/* 8034138C 80 0D 84 20 */ lwz r0, __OSFpscrEnableBits(r13) -/* 80341390 54 00 06 38 */ rlwinm r0, r0, 0, 0x18, 0x1c -/* 80341394 60 00 00 04 */ ori r0, r0, 4 -/* 80341398 90 1F 01 94 */ stw r0, 0x194(r31) -lbl_8034139C: -/* 8034139C 38 00 FF FF */ li r0, -1 -/* 803413A0 90 05 00 94 */ stw r0, 0x94(r5) -/* 803413A4 90 05 00 90 */ stw r0, 0x90(r5) -/* 803413A8 90 05 01 CC */ stw r0, 0x1cc(r5) -/* 803413AC 90 05 01 C8 */ stw r0, 0x1c8(r5) -/* 803413B0 90 05 00 9C */ stw r0, 0x9c(r5) -/* 803413B4 90 05 00 98 */ stw r0, 0x98(r5) -/* 803413B8 90 05 01 D4 */ stw r0, 0x1d4(r5) -/* 803413BC 90 05 01 D0 */ stw r0, 0x1d0(r5) -/* 803413C0 90 05 00 A4 */ stw r0, 0xa4(r5) -/* 803413C4 90 05 00 A0 */ stw r0, 0xa0(r5) -/* 803413C8 90 05 01 DC */ stw r0, 0x1dc(r5) -/* 803413CC 90 05 01 D8 */ stw r0, 0x1d8(r5) -/* 803413D0 90 05 00 AC */ stw r0, 0xac(r5) -/* 803413D4 90 05 00 A8 */ stw r0, 0xa8(r5) -/* 803413D8 90 05 01 E4 */ stw r0, 0x1e4(r5) -/* 803413DC 90 05 01 E0 */ stw r0, 0x1e0(r5) -/* 803413E0 90 05 00 B4 */ stw r0, 0xb4(r5) -/* 803413E4 90 05 00 B0 */ stw r0, 0xb0(r5) -/* 803413E8 90 05 01 EC */ stw r0, 0x1ec(r5) -/* 803413EC 90 05 01 E8 */ stw r0, 0x1e8(r5) -/* 803413F0 90 05 00 BC */ stw r0, 0xbc(r5) -/* 803413F4 90 05 00 B8 */ stw r0, 0xb8(r5) -/* 803413F8 90 05 01 F4 */ stw r0, 0x1f4(r5) -/* 803413FC 90 05 01 F0 */ stw r0, 0x1f0(r5) -/* 80341400 90 05 00 C4 */ stw r0, 0xc4(r5) -/* 80341404 90 05 00 C0 */ stw r0, 0xc0(r5) -/* 80341408 90 05 01 FC */ stw r0, 0x1fc(r5) -/* 8034140C 90 05 01 F8 */ stw r0, 0x1f8(r5) -/* 80341410 90 05 00 CC */ stw r0, 0xcc(r5) -/* 80341414 90 05 00 C8 */ stw r0, 0xc8(r5) -/* 80341418 90 05 02 04 */ stw r0, 0x204(r5) -/* 8034141C 90 05 02 00 */ stw r0, 0x200(r5) -/* 80341420 38 A5 00 40 */ addi r5, r5, 0x40 -/* 80341424 42 00 FF 78 */ bdnz lbl_8034139C -lbl_80341428: -/* 80341428 3C 80 80 00 */ lis r4, 0x8000 /* 0x800000DC@ha */ -/* 8034142C 38 A4 00 DC */ addi r5, r4, 0x00DC /* 0x800000DC@l */ -/* 80341430 84 C5 00 04 */ lwzu r6, 4(r5) -/* 80341434 28 06 00 00 */ cmplwi r6, 0 -/* 80341438 40 82 00 0C */ bne lbl_80341444 -/* 8034143C 93 E4 00 DC */ stw r31, 0xdc(r4) -/* 80341440 48 00 00 08 */ b lbl_80341448 -lbl_80341444: -/* 80341444 93 E6 02 FC */ stw r31, 0x2fc(r6) -lbl_80341448: -/* 80341448 90 DF 03 00 */ stw r6, 0x300(r31) -/* 8034144C 38 00 00 00 */ li r0, 0 -/* 80341450 90 1F 02 FC */ stw r0, 0x2fc(r31) -/* 80341454 93 E5 00 00 */ stw r31, 0(r5) -/* 80341458 4B FF C2 C5 */ bl OSRestoreInterrupts -/* 8034145C 38 60 00 01 */ li r3, 1 -lbl_80341460: -/* 80341460 BB 61 00 3C */ lmw r27, 0x3c(r1) -/* 80341464 80 01 00 54 */ lwz r0, 0x54(r1) -/* 80341468 38 21 00 50 */ addi r1, r1, 0x50 -/* 8034146C 7C 08 03 A6 */ mtlr r0 -/* 80341470 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSThread/OSDetachThread.s b/asm/dolphin/os/OSThread/OSDetachThread.s deleted file mode 100644 index 1b839448f6d..00000000000 --- a/asm/dolphin/os/OSThread/OSDetachThread.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_80341714: -/* 80341714 7C 08 02 A6 */ mflr r0 -/* 80341718 90 01 00 04 */ stw r0, 4(r1) -/* 8034171C 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 80341720 93 E1 00 14 */ stw r31, 0x14(r1) -/* 80341724 93 C1 00 10 */ stw r30, 0x10(r1) -/* 80341728 7C 7E 1B 78 */ mr r30, r3 -/* 8034172C 4B FF BF C9 */ bl OSDisableInterrupts -/* 80341730 A0 1E 02 CA */ lhz r0, 0x2ca(r30) -/* 80341734 3B E3 00 00 */ addi r31, r3, 0 -/* 80341738 60 00 00 01 */ ori r0, r0, 1 -/* 8034173C B0 1E 02 CA */ sth r0, 0x2ca(r30) -/* 80341740 A0 1E 02 C8 */ lhz r0, 0x2c8(r30) -/* 80341744 28 00 00 08 */ cmplwi r0, 8 -/* 80341748 40 82 00 44 */ bne lbl_8034178C -/* 8034174C 80 9E 02 FC */ lwz r4, 0x2fc(r30) -/* 80341750 80 BE 03 00 */ lwz r5, 0x300(r30) -/* 80341754 28 04 00 00 */ cmplwi r4, 0 -/* 80341758 40 82 00 10 */ bne lbl_80341768 -/* 8034175C 3C 60 80 00 */ lis r3, 0x8000 /* 0x800000E0@ha */ -/* 80341760 90 A3 00 E0 */ stw r5, 0x00E0(r3) /* 0x800000E0@l */ -/* 80341764 48 00 00 08 */ b lbl_8034176C -lbl_80341768: -/* 80341768 90 A4 03 00 */ stw r5, 0x300(r4) -lbl_8034176C: -/* 8034176C 28 05 00 00 */ cmplwi r5, 0 -/* 80341770 40 82 00 10 */ bne lbl_80341780 -/* 80341774 3C 60 80 00 */ lis r3, 0x8000 /* 0x800000DC@ha */ -/* 80341778 90 83 00 DC */ stw r4, 0x00DC(r3) /* 0x800000DC@l */ -/* 8034177C 48 00 00 08 */ b lbl_80341784 -lbl_80341780: -/* 80341780 90 85 02 FC */ stw r4, 0x2fc(r5) -lbl_80341784: -/* 80341784 38 00 00 00 */ li r0, 0 -/* 80341788 B0 1E 02 C8 */ sth r0, 0x2c8(r30) -lbl_8034178C: -/* 8034178C 38 7E 02 E8 */ addi r3, r30, 0x2e8 -/* 80341790 48 00 05 09 */ bl OSWakeupThread -/* 80341794 7F E3 FB 78 */ mr r3, r31 -/* 80341798 4B FF BF 85 */ bl OSRestoreInterrupts -/* 8034179C 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 803417A0 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 803417A4 83 C1 00 10 */ lwz r30, 0x10(r1) -/* 803417A8 38 21 00 18 */ addi r1, r1, 0x18 -/* 803417AC 7C 08 03 A6 */ mtlr r0 -/* 803417B0 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSThread/OSDisableScheduler.s b/asm/dolphin/os/OSThread/OSDisableScheduler.s deleted file mode 100644 index 9c9b3c5bb68..00000000000 --- a/asm/dolphin/os/OSThread/OSDisableScheduler.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80340CC4: -/* 80340CC4 7C 08 02 A6 */ mflr r0 -/* 80340CC8 90 01 00 04 */ stw r0, 4(r1) -/* 80340CCC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80340CD0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80340CD4 4B FF CA 21 */ bl OSDisableInterrupts -/* 80340CD8 80 8D 91 48 */ lwz r4, Reschedule(r13) -/* 80340CDC 38 04 00 01 */ addi r0, r4, 1 -/* 80340CE0 90 0D 91 48 */ stw r0, Reschedule(r13) -/* 80340CE4 7C 9F 23 78 */ mr r31, r4 -/* 80340CE8 4B FF CA 35 */ bl OSRestoreInterrupts -/* 80340CEC 7F E3 FB 78 */ mr r3, r31 -/* 80340CF0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80340CF4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80340CF8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80340CFC 7C 08 03 A6 */ mtlr r0 -/* 80340D00 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSThread/OSEnableScheduler.s b/asm/dolphin/os/OSThread/OSEnableScheduler.s deleted file mode 100644 index 7056360ab3c..00000000000 --- a/asm/dolphin/os/OSThread/OSEnableScheduler.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80340D04: -/* 80340D04 7C 08 02 A6 */ mflr r0 -/* 80340D08 90 01 00 04 */ stw r0, 4(r1) -/* 80340D0C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80340D10 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80340D14 4B FF C9 E1 */ bl OSDisableInterrupts -/* 80340D18 80 8D 91 48 */ lwz r4, Reschedule(r13) -/* 80340D1C 38 04 FF FF */ addi r0, r4, -1 -/* 80340D20 90 0D 91 48 */ stw r0, Reschedule(r13) -/* 80340D24 7C 9F 23 78 */ mr r31, r4 -/* 80340D28 4B FF C9 F5 */ bl OSRestoreInterrupts -/* 80340D2C 7F E3 FB 78 */ mr r3, r31 -/* 80340D30 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80340D34 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80340D38 38 21 00 10 */ addi r1, r1, 0x10 -/* 80340D3C 7C 08 03 A6 */ mtlr r0 -/* 80340D40 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSThread/OSExitThread.s b/asm/dolphin/os/OSThread/OSExitThread.s deleted file mode 100644 index b14ba2e22ae..00000000000 --- a/asm/dolphin/os/OSThread/OSExitThread.s +++ /dev/null @@ -1,65 +0,0 @@ -lbl_80341474: -/* 80341474 7C 08 02 A6 */ mflr r0 -/* 80341478 90 01 00 04 */ stw r0, 4(r1) -/* 8034147C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80341480 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80341484 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80341488 93 A1 00 14 */ stw r29, 0x14(r1) -/* 8034148C 93 81 00 10 */ stw r28, 0x10(r1) -/* 80341490 7C 7C 1B 78 */ mr r28, r3 -/* 80341494 4B FF C2 61 */ bl OSDisableInterrupts -/* 80341498 3F E0 80 00 */ lis r31, 0x8000 /* 0x800000E4@ha */ -/* 8034149C 83 DF 00 E4 */ lwz r30, 0x00E4(r31) /* 0x800000E4@l */ -/* 803414A0 3B A3 00 00 */ addi r29, r3, 0 -/* 803414A4 38 7E 00 00 */ addi r3, r30, 0 -/* 803414A8 4B FF AB 59 */ bl OSClearContext -/* 803414AC A0 1E 02 CA */ lhz r0, 0x2ca(r30) -/* 803414B0 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 803414B4 41 82 00 44 */ beq lbl_803414F8 -/* 803414B8 80 9E 02 FC */ lwz r4, 0x2fc(r30) -/* 803414BC 80 BE 03 00 */ lwz r5, 0x300(r30) -/* 803414C0 28 04 00 00 */ cmplwi r4, 0 -/* 803414C4 40 82 00 0C */ bne lbl_803414D0 -/* 803414C8 90 BF 00 E0 */ stw r5, 0xe0(r31) -/* 803414CC 48 00 00 08 */ b lbl_803414D4 -lbl_803414D0: -/* 803414D0 90 A4 03 00 */ stw r5, 0x300(r4) -lbl_803414D4: -/* 803414D4 28 05 00 00 */ cmplwi r5, 0 -/* 803414D8 40 82 00 10 */ bne lbl_803414E8 -/* 803414DC 3C 60 80 00 */ lis r3, 0x8000 /* 0x800000DC@ha */ -/* 803414E0 90 83 00 DC */ stw r4, 0x00DC(r3) /* 0x800000DC@l */ -/* 803414E4 48 00 00 08 */ b lbl_803414EC -lbl_803414E8: -/* 803414E8 90 85 02 FC */ stw r4, 0x2fc(r5) -lbl_803414EC: -/* 803414EC 38 00 00 00 */ li r0, 0 -/* 803414F0 B0 1E 02 C8 */ sth r0, 0x2c8(r30) -/* 803414F4 48 00 00 10 */ b lbl_80341504 -lbl_803414F8: -/* 803414F8 38 00 00 08 */ li r0, 8 -/* 803414FC B0 1E 02 C8 */ sth r0, 0x2c8(r30) -/* 80341500 93 9E 02 D8 */ stw r28, 0x2d8(r30) -lbl_80341504: -/* 80341504 7F C3 F3 78 */ mr r3, r30 -/* 80341508 4B FF DC DD */ bl __OSUnlockAllMutex -/* 8034150C 38 7E 02 E8 */ addi r3, r30, 0x2e8 -/* 80341510 48 00 07 89 */ bl OSWakeupThread -/* 80341514 38 00 00 01 */ li r0, 1 -/* 80341518 90 0D 91 44 */ stw r0, RunQueueHint(r13) -/* 8034151C 80 0D 91 44 */ lwz r0, RunQueueHint(r13) -/* 80341520 2C 00 00 00 */ cmpwi r0, 0 -/* 80341524 41 82 00 0C */ beq lbl_80341530 -/* 80341528 38 60 00 00 */ li r3, 0 -/* 8034152C 4B FF FA CD */ bl SelectThread -lbl_80341530: -/* 80341530 7F A3 EB 78 */ mr r3, r29 -/* 80341534 4B FF C1 E9 */ bl OSRestoreInterrupts -/* 80341538 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8034153C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80341540 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80341544 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 80341548 83 81 00 10 */ lwz r28, 0x10(r1) -/* 8034154C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80341550 7C 08 03 A6 */ mtlr r0 -/* 80341554 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSThread/OSResumeThread.s b/asm/dolphin/os/OSThread/OSResumeThread.s deleted file mode 100644 index a98246247b9..00000000000 --- a/asm/dolphin/os/OSThread/OSResumeThread.s +++ /dev/null @@ -1,189 +0,0 @@ -lbl_803417B4: -/* 803417B4 7C 08 02 A6 */ mflr r0 -/* 803417B8 90 01 00 04 */ stw r0, 4(r1) -/* 803417BC 94 21 FF D8 */ stwu r1, -0x28(r1) -/* 803417C0 93 E1 00 24 */ stw r31, 0x24(r1) -/* 803417C4 93 C1 00 20 */ stw r30, 0x20(r1) -/* 803417C8 93 A1 00 1C */ stw r29, 0x1c(r1) -/* 803417CC 7C 7D 1B 78 */ mr r29, r3 -/* 803417D0 4B FF BF 25 */ bl OSDisableInterrupts -/* 803417D4 80 9D 02 CC */ lwz r4, 0x2cc(r29) -/* 803417D8 3B E3 00 00 */ addi r31, r3, 0 -/* 803417DC 38 04 FF FF */ addi r0, r4, -1 -/* 803417E0 90 1D 02 CC */ stw r0, 0x2cc(r29) -/* 803417E4 7C 9E 23 78 */ mr r30, r4 -/* 803417E8 80 1D 02 CC */ lwz r0, 0x2cc(r29) -/* 803417EC 2C 00 00 00 */ cmpwi r0, 0 -/* 803417F0 40 80 00 10 */ bge lbl_80341800 -/* 803417F4 38 00 00 00 */ li r0, 0 -/* 803417F8 90 1D 02 CC */ stw r0, 0x2cc(r29) -/* 803417FC 48 00 02 18 */ b lbl_80341A14 -lbl_80341800: -/* 80341800 40 82 02 14 */ bne lbl_80341A14 -/* 80341804 A0 1D 02 C8 */ lhz r0, 0x2c8(r29) -/* 80341808 2C 00 00 04 */ cmpwi r0, 4 -/* 8034180C 41 82 00 B8 */ beq lbl_803418C4 -/* 80341810 40 80 01 F0 */ bge lbl_80341A00 -/* 80341814 2C 00 00 01 */ cmpwi r0, 1 -/* 80341818 41 82 00 08 */ beq lbl_80341820 -/* 8034181C 48 00 01 E4 */ b lbl_80341A00 -lbl_80341820: -/* 80341820 80 1D 02 D4 */ lwz r0, 0x2d4(r29) -/* 80341824 80 7D 02 F4 */ lwz r3, 0x2f4(r29) -/* 80341828 48 00 00 24 */ b lbl_8034184C -lbl_8034182C: -/* 8034182C 80 83 00 00 */ lwz r4, 0(r3) -/* 80341830 28 04 00 00 */ cmplwi r4, 0 -/* 80341834 41 82 00 14 */ beq lbl_80341848 -/* 80341838 80 84 02 D0 */ lwz r4, 0x2d0(r4) -/* 8034183C 7C 04 00 00 */ cmpw r4, r0 -/* 80341840 40 80 00 08 */ bge lbl_80341848 -/* 80341844 7C 80 23 78 */ mr r0, r4 -lbl_80341848: -/* 80341848 80 63 00 10 */ lwz r3, 0x10(r3) -lbl_8034184C: -/* 8034184C 28 03 00 00 */ cmplwi r3, 0 -/* 80341850 40 82 FF DC */ bne lbl_8034182C -/* 80341854 90 1D 02 D0 */ stw r0, 0x2d0(r29) -/* 80341858 3C 60 80 45 */ lis r3, RunQueue@ha /* 0x8044BB78@ha */ -/* 8034185C 38 03 BB 78 */ addi r0, r3, RunQueue@l /* 0x8044BB78@l */ -/* 80341860 80 7D 02 D0 */ lwz r3, 0x2d0(r29) -/* 80341864 54 63 18 38 */ slwi r3, r3, 3 -/* 80341868 7C 00 1A 14 */ add r0, r0, r3 -/* 8034186C 90 1D 02 DC */ stw r0, 0x2dc(r29) -/* 80341870 80 9D 02 DC */ lwz r4, 0x2dc(r29) -/* 80341874 80 64 00 04 */ lwz r3, 4(r4) -/* 80341878 28 03 00 00 */ cmplwi r3, 0 -/* 8034187C 40 82 00 0C */ bne lbl_80341888 -/* 80341880 93 A4 00 00 */ stw r29, 0(r4) -/* 80341884 48 00 00 08 */ b lbl_8034188C -lbl_80341888: -/* 80341888 93 A3 02 E0 */ stw r29, 0x2e0(r3) -lbl_8034188C: -/* 8034188C 90 7D 02 E4 */ stw r3, 0x2e4(r29) -/* 80341890 38 00 00 00 */ li r0, 0 -/* 80341894 38 60 00 01 */ li r3, 1 -/* 80341898 90 1D 02 E0 */ stw r0, 0x2e0(r29) -/* 8034189C 80 9D 02 DC */ lwz r4, 0x2dc(r29) -/* 803418A0 93 A4 00 04 */ stw r29, 4(r4) -/* 803418A4 80 1D 02 D0 */ lwz r0, 0x2d0(r29) -/* 803418A8 80 8D 91 40 */ lwz r4, RunQueueBits(r13) -/* 803418AC 20 00 00 1F */ subfic r0, r0, 0x1f -/* 803418B0 7C 60 00 30 */ slw r0, r3, r0 -/* 803418B4 7C 80 03 78 */ or r0, r4, r0 -/* 803418B8 90 0D 91 40 */ stw r0, RunQueueBits(r13) -/* 803418BC 90 6D 91 44 */ stw r3, RunQueueHint(r13) -/* 803418C0 48 00 01 40 */ b lbl_80341A00 -lbl_803418C4: -/* 803418C4 80 9D 02 E0 */ lwz r4, 0x2e0(r29) -/* 803418C8 80 BD 02 E4 */ lwz r5, 0x2e4(r29) -/* 803418CC 28 04 00 00 */ cmplwi r4, 0 -/* 803418D0 40 82 00 10 */ bne lbl_803418E0 -/* 803418D4 80 7D 02 DC */ lwz r3, 0x2dc(r29) -/* 803418D8 90 A3 00 04 */ stw r5, 4(r3) -/* 803418DC 48 00 00 08 */ b lbl_803418E4 -lbl_803418E0: -/* 803418E0 90 A4 02 E4 */ stw r5, 0x2e4(r4) -lbl_803418E4: -/* 803418E4 28 05 00 00 */ cmplwi r5, 0 -/* 803418E8 40 82 00 10 */ bne lbl_803418F8 -/* 803418EC 80 7D 02 DC */ lwz r3, 0x2dc(r29) -/* 803418F0 90 83 00 00 */ stw r4, 0(r3) -/* 803418F4 48 00 00 08 */ b lbl_803418FC -lbl_803418F8: -/* 803418F8 90 85 02 E0 */ stw r4, 0x2e0(r5) -lbl_803418FC: -/* 803418FC 80 1D 02 D4 */ lwz r0, 0x2d4(r29) -/* 80341900 80 7D 02 F4 */ lwz r3, 0x2f4(r29) -/* 80341904 48 00 00 24 */ b lbl_80341928 -lbl_80341908: -/* 80341908 80 83 00 00 */ lwz r4, 0(r3) -/* 8034190C 28 04 00 00 */ cmplwi r4, 0 -/* 80341910 41 82 00 14 */ beq lbl_80341924 -/* 80341914 80 84 02 D0 */ lwz r4, 0x2d0(r4) -/* 80341918 7C 04 00 00 */ cmpw r4, r0 -/* 8034191C 40 80 00 08 */ bge lbl_80341924 -/* 80341920 7C 80 23 78 */ mr r0, r4 -lbl_80341924: -/* 80341924 80 63 00 10 */ lwz r3, 0x10(r3) -lbl_80341928: -/* 80341928 28 03 00 00 */ cmplwi r3, 0 -/* 8034192C 40 82 FF DC */ bne lbl_80341908 -/* 80341930 90 1D 02 D0 */ stw r0, 0x2d0(r29) -/* 80341934 80 9D 02 DC */ lwz r4, 0x2dc(r29) -/* 80341938 80 A4 00 00 */ lwz r5, 0(r4) -/* 8034193C 48 00 00 08 */ b lbl_80341944 -lbl_80341940: -/* 80341940 80 A5 02 E0 */ lwz r5, 0x2e0(r5) -lbl_80341944: -/* 80341944 28 05 00 00 */ cmplwi r5, 0 -/* 80341948 41 82 00 14 */ beq lbl_8034195C -/* 8034194C 80 65 02 D0 */ lwz r3, 0x2d0(r5) -/* 80341950 80 1D 02 D0 */ lwz r0, 0x2d0(r29) -/* 80341954 7C 03 00 00 */ cmpw r3, r0 -/* 80341958 40 81 FF E8 */ ble lbl_80341940 -lbl_8034195C: -/* 8034195C 28 05 00 00 */ cmplwi r5, 0 -/* 80341960 40 82 00 34 */ bne lbl_80341994 -/* 80341964 80 64 00 04 */ lwz r3, 4(r4) -/* 80341968 28 03 00 00 */ cmplwi r3, 0 -/* 8034196C 40 82 00 0C */ bne lbl_80341978 -/* 80341970 93 A4 00 00 */ stw r29, 0(r4) -/* 80341974 48 00 00 08 */ b lbl_8034197C -lbl_80341978: -/* 80341978 93 A3 02 E0 */ stw r29, 0x2e0(r3) -lbl_8034197C: -/* 8034197C 90 7D 02 E4 */ stw r3, 0x2e4(r29) -/* 80341980 38 00 00 00 */ li r0, 0 -/* 80341984 90 1D 02 E0 */ stw r0, 0x2e0(r29) -/* 80341988 80 7D 02 DC */ lwz r3, 0x2dc(r29) -/* 8034198C 93 A3 00 04 */ stw r29, 4(r3) -/* 80341990 48 00 00 2C */ b lbl_803419BC -lbl_80341994: -/* 80341994 90 BD 02 E0 */ stw r5, 0x2e0(r29) -/* 80341998 80 65 02 E4 */ lwz r3, 0x2e4(r5) -/* 8034199C 93 A5 02 E4 */ stw r29, 0x2e4(r5) -/* 803419A0 28 03 00 00 */ cmplwi r3, 0 -/* 803419A4 90 7D 02 E4 */ stw r3, 0x2e4(r29) -/* 803419A8 40 82 00 10 */ bne lbl_803419B8 -/* 803419AC 80 7D 02 DC */ lwz r3, 0x2dc(r29) -/* 803419B0 93 A3 00 00 */ stw r29, 0(r3) -/* 803419B4 48 00 00 08 */ b lbl_803419BC -lbl_803419B8: -/* 803419B8 93 A3 02 E0 */ stw r29, 0x2e0(r3) -lbl_803419BC: -/* 803419BC 80 7D 02 F0 */ lwz r3, 0x2f0(r29) -/* 803419C0 28 03 00 00 */ cmplwi r3, 0 -/* 803419C4 41 82 00 3C */ beq lbl_80341A00 -/* 803419C8 83 A3 00 08 */ lwz r29, 8(r3) -lbl_803419CC: -/* 803419CC 80 1D 02 CC */ lwz r0, 0x2cc(r29) -/* 803419D0 2C 00 00 00 */ cmpwi r0, 0 -/* 803419D4 41 81 00 2C */ bgt lbl_80341A00 -/* 803419D8 7F A3 EB 78 */ mr r3, r29 -/* 803419DC 4B FF F3 D1 */ bl __OSGetEffectivePriority -/* 803419E0 80 1D 02 D0 */ lwz r0, 0x2d0(r29) -/* 803419E4 38 83 00 00 */ addi r4, r3, 0 -/* 803419E8 7C 00 20 00 */ cmpw r0, r4 -/* 803419EC 41 82 00 14 */ beq lbl_80341A00 -/* 803419F0 7F A3 EB 78 */ mr r3, r29 -/* 803419F4 4B FF F3 F5 */ bl SetEffectivePriority -/* 803419F8 7C 7D 1B 79 */ or. r29, r3, r3 -/* 803419FC 40 82 FF D0 */ bne lbl_803419CC -lbl_80341A00: -/* 80341A00 80 0D 91 44 */ lwz r0, RunQueueHint(r13) -/* 80341A04 2C 00 00 00 */ cmpwi r0, 0 -/* 80341A08 41 82 00 0C */ beq lbl_80341A14 -/* 80341A0C 38 60 00 00 */ li r3, 0 -/* 80341A10 4B FF F5 E9 */ bl SelectThread -lbl_80341A14: -/* 80341A14 7F E3 FB 78 */ mr r3, r31 -/* 80341A18 4B FF BD 05 */ bl OSRestoreInterrupts -/* 80341A1C 7F C3 F3 78 */ mr r3, r30 -/* 80341A20 80 01 00 2C */ lwz r0, 0x2c(r1) -/* 80341A24 83 E1 00 24 */ lwz r31, 0x24(r1) -/* 80341A28 83 C1 00 20 */ lwz r30, 0x20(r1) -/* 80341A2C 83 A1 00 1C */ lwz r29, 0x1c(r1) -/* 80341A30 38 21 00 28 */ addi r1, r1, 0x28 -/* 80341A34 7C 08 03 A6 */ mtlr r0 -/* 80341A38 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSThread/OSSetSwitchThreadCallback.s b/asm/dolphin/os/OSThread/OSSetSwitchThreadCallback.s deleted file mode 100644 index be8d2761167..00000000000 --- a/asm/dolphin/os/OSThread/OSSetSwitchThreadCallback.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_80340AA8: -/* 80340AA8 7C 08 02 A6 */ mflr r0 -/* 80340AAC 90 01 00 04 */ stw r0, 4(r1) -/* 80340AB0 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 80340AB4 93 E1 00 14 */ stw r31, 0x14(r1) -/* 80340AB8 93 C1 00 10 */ stw r30, 0x10(r1) -/* 80340ABC 7C 7E 1B 78 */ mr r30, r3 -/* 80340AC0 4B FF CC 35 */ bl OSDisableInterrupts -/* 80340AC4 28 1E 00 00 */ cmplwi r30, 0 -/* 80340AC8 83 ED 84 38 */ lwz r31, SwitchThreadCallback(r13) -/* 80340ACC 41 82 00 0C */ beq lbl_80340AD8 -/* 80340AD0 7F C0 F3 78 */ mr r0, r30 -/* 80340AD4 48 00 00 0C */ b lbl_80340AE0 -lbl_80340AD8: -/* 80340AD8 3C 80 80 34 */ lis r4, DefaultSwitchThreadCallback@ha /* 0x80340AA4@ha */ -/* 80340ADC 38 04 0A A4 */ addi r0, r4, DefaultSwitchThreadCallback@l /* 0x80340AA4@l */ -lbl_80340AE0: -/* 80340AE0 90 0D 84 38 */ stw r0, SwitchThreadCallback(r13) -/* 80340AE4 4B FF CC 39 */ bl OSRestoreInterrupts -/* 80340AE8 3C 60 80 34 */ lis r3, DefaultSwitchThreadCallback@ha /* 0x80340AA4@ha */ -/* 80340AEC 38 03 0A A4 */ addi r0, r3, DefaultSwitchThreadCallback@l /* 0x80340AA4@l */ -/* 80340AF0 7C 1F 00 40 */ cmplw r31, r0 -/* 80340AF4 40 82 00 0C */ bne lbl_80340B00 -/* 80340AF8 38 60 00 00 */ li r3, 0 -/* 80340AFC 48 00 00 08 */ b lbl_80340B04 -lbl_80340B00: -/* 80340B00 7F E3 FB 78 */ mr r3, r31 -lbl_80340B04: -/* 80340B04 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 80340B08 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 80340B0C 83 C1 00 10 */ lwz r30, 0x10(r1) -/* 80340B10 38 21 00 18 */ addi r1, r1, 0x18 -/* 80340B14 7C 08 03 A6 */ mtlr r0 -/* 80340B18 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSThread/OSSetThreadPriority.s b/asm/dolphin/os/OSThread/OSSetThreadPriority.s deleted file mode 100644 index 03b5afd8464..00000000000 --- a/asm/dolphin/os/OSThread/OSSetThreadPriority.s +++ /dev/null @@ -1,55 +0,0 @@ -lbl_80341D9C: -/* 80341D9C 7C 08 02 A6 */ mflr r0 -/* 80341DA0 90 01 00 04 */ stw r0, 4(r1) -/* 80341DA4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80341DA8 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80341DAC 7C 9F 23 79 */ or. r31, r4, r4 -/* 80341DB0 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80341DB4 93 A1 00 14 */ stw r29, 0x14(r1) -/* 80341DB8 3B A3 00 00 */ addi r29, r3, 0 -/* 80341DBC 41 80 00 0C */ blt lbl_80341DC8 -/* 80341DC0 2C 1F 00 1F */ cmpwi r31, 0x1f -/* 80341DC4 40 81 00 0C */ ble lbl_80341DD0 -lbl_80341DC8: -/* 80341DC8 38 60 00 00 */ li r3, 0 -/* 80341DCC 48 00 00 74 */ b lbl_80341E40 -lbl_80341DD0: -/* 80341DD0 4B FF B9 25 */ bl OSDisableInterrupts -/* 80341DD4 80 1D 02 D4 */ lwz r0, 0x2d4(r29) -/* 80341DD8 3B C3 00 00 */ addi r30, r3, 0 -/* 80341DDC 7C 00 F8 00 */ cmpw r0, r31 -/* 80341DE0 41 82 00 54 */ beq lbl_80341E34 -/* 80341DE4 93 FD 02 D4 */ stw r31, 0x2d4(r29) -/* 80341DE8 7F BF EB 78 */ mr r31, r29 -lbl_80341DEC: -/* 80341DEC 80 1F 02 CC */ lwz r0, 0x2cc(r31) -/* 80341DF0 2C 00 00 00 */ cmpwi r0, 0 -/* 80341DF4 41 81 00 2C */ bgt lbl_80341E20 -/* 80341DF8 7F E3 FB 78 */ mr r3, r31 -/* 80341DFC 4B FF EF B1 */ bl __OSGetEffectivePriority -/* 80341E00 80 1F 02 D0 */ lwz r0, 0x2d0(r31) -/* 80341E04 38 83 00 00 */ addi r4, r3, 0 -/* 80341E08 7C 00 20 00 */ cmpw r0, r4 -/* 80341E0C 41 82 00 14 */ beq lbl_80341E20 -/* 80341E10 7F E3 FB 78 */ mr r3, r31 -/* 80341E14 4B FF EF D5 */ bl SetEffectivePriority -/* 80341E18 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80341E1C 40 82 FF D0 */ bne lbl_80341DEC -lbl_80341E20: -/* 80341E20 80 0D 91 44 */ lwz r0, RunQueueHint(r13) -/* 80341E24 2C 00 00 00 */ cmpwi r0, 0 -/* 80341E28 41 82 00 0C */ beq lbl_80341E34 -/* 80341E2C 38 60 00 00 */ li r3, 0 -/* 80341E30 4B FF F1 C9 */ bl SelectThread -lbl_80341E34: -/* 80341E34 7F C3 F3 78 */ mr r3, r30 -/* 80341E38 4B FF B8 E5 */ bl OSRestoreInterrupts -/* 80341E3C 38 60 00 01 */ li r3, 1 -lbl_80341E40: -/* 80341E40 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80341E44 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80341E48 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80341E4C 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 80341E50 38 21 00 20 */ addi r1, r1, 0x20 -/* 80341E54 7C 08 03 A6 */ mtlr r0 -/* 80341E58 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSThread/OSSleepThread.s b/asm/dolphin/os/OSThread/OSSleepThread.s deleted file mode 100644 index 5ebaadb6954..00000000000 --- a/asm/dolphin/os/OSThread/OSSleepThread.s +++ /dev/null @@ -1,69 +0,0 @@ -lbl_80341BAC: -/* 80341BAC 7C 08 02 A6 */ mflr r0 -/* 80341BB0 90 01 00 04 */ stw r0, 4(r1) -/* 80341BB4 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 80341BB8 93 E1 00 14 */ stw r31, 0x14(r1) -/* 80341BBC 93 C1 00 10 */ stw r30, 0x10(r1) -/* 80341BC0 7C 7E 1B 78 */ mr r30, r3 -/* 80341BC4 4B FF BB 31 */ bl OSDisableInterrupts -/* 80341BC8 3C 80 80 00 */ lis r4, 0x8000 /* 0x800000E4@ha */ -/* 80341BCC 80 84 00 E4 */ lwz r4, 0x00E4(r4) /* 0x800000E4@l */ -/* 80341BD0 38 00 00 04 */ li r0, 4 -/* 80341BD4 7C 7F 1B 78 */ mr r31, r3 -/* 80341BD8 B0 04 02 C8 */ sth r0, 0x2c8(r4) -/* 80341BDC 93 C4 02 DC */ stw r30, 0x2dc(r4) -/* 80341BE0 80 BE 00 00 */ lwz r5, 0(r30) -/* 80341BE4 48 00 00 08 */ b lbl_80341BEC -lbl_80341BE8: -/* 80341BE8 80 A5 02 E0 */ lwz r5, 0x2e0(r5) -lbl_80341BEC: -/* 80341BEC 28 05 00 00 */ cmplwi r5, 0 -/* 80341BF0 41 82 00 14 */ beq lbl_80341C04 -/* 80341BF4 80 65 02 D0 */ lwz r3, 0x2d0(r5) -/* 80341BF8 80 04 02 D0 */ lwz r0, 0x2d0(r4) -/* 80341BFC 7C 03 00 00 */ cmpw r3, r0 -/* 80341C00 40 81 FF E8 */ ble lbl_80341BE8 -lbl_80341C04: -/* 80341C04 28 05 00 00 */ cmplwi r5, 0 -/* 80341C08 40 82 00 30 */ bne lbl_80341C38 -/* 80341C0C 80 7E 00 04 */ lwz r3, 4(r30) -/* 80341C10 28 03 00 00 */ cmplwi r3, 0 -/* 80341C14 40 82 00 0C */ bne lbl_80341C20 -/* 80341C18 90 9E 00 00 */ stw r4, 0(r30) -/* 80341C1C 48 00 00 08 */ b lbl_80341C24 -lbl_80341C20: -/* 80341C20 90 83 02 E0 */ stw r4, 0x2e0(r3) -lbl_80341C24: -/* 80341C24 90 64 02 E4 */ stw r3, 0x2e4(r4) -/* 80341C28 38 00 00 00 */ li r0, 0 -/* 80341C2C 90 04 02 E0 */ stw r0, 0x2e0(r4) -/* 80341C30 90 9E 00 04 */ stw r4, 4(r30) -/* 80341C34 48 00 00 28 */ b lbl_80341C5C -lbl_80341C38: -/* 80341C38 90 A4 02 E0 */ stw r5, 0x2e0(r4) -/* 80341C3C 80 65 02 E4 */ lwz r3, 0x2e4(r5) -/* 80341C40 90 85 02 E4 */ stw r4, 0x2e4(r5) -/* 80341C44 28 03 00 00 */ cmplwi r3, 0 -/* 80341C48 90 64 02 E4 */ stw r3, 0x2e4(r4) -/* 80341C4C 40 82 00 0C */ bne lbl_80341C58 -/* 80341C50 90 9E 00 00 */ stw r4, 0(r30) -/* 80341C54 48 00 00 08 */ b lbl_80341C5C -lbl_80341C58: -/* 80341C58 90 83 02 E0 */ stw r4, 0x2e0(r3) -lbl_80341C5C: -/* 80341C5C 38 00 00 01 */ li r0, 1 -/* 80341C60 90 0D 91 44 */ stw r0, RunQueueHint(r13) -/* 80341C64 80 0D 91 44 */ lwz r0, RunQueueHint(r13) -/* 80341C68 2C 00 00 00 */ cmpwi r0, 0 -/* 80341C6C 41 82 00 0C */ beq lbl_80341C78 -/* 80341C70 38 60 00 00 */ li r3, 0 -/* 80341C74 4B FF F3 85 */ bl SelectThread -lbl_80341C78: -/* 80341C78 7F E3 FB 78 */ mr r3, r31 -/* 80341C7C 4B FF BA A1 */ bl OSRestoreInterrupts -/* 80341C80 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 80341C84 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 80341C88 83 C1 00 10 */ lwz r30, 0x10(r1) -/* 80341C8C 38 21 00 18 */ addi r1, r1, 0x18 -/* 80341C90 7C 08 03 A6 */ mtlr r0 -/* 80341C94 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSThread/OSSuspendThread.s b/asm/dolphin/os/OSThread/OSSuspendThread.s deleted file mode 100644 index 56c357749f3..00000000000 --- a/asm/dolphin/os/OSThread/OSSuspendThread.s +++ /dev/null @@ -1,106 +0,0 @@ -lbl_80341A3C: -/* 80341A3C 7C 08 02 A6 */ mflr r0 -/* 80341A40 90 01 00 04 */ stw r0, 4(r1) -/* 80341A44 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80341A48 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80341A4C 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80341A50 93 A1 00 14 */ stw r29, 0x14(r1) -/* 80341A54 7C 7D 1B 78 */ mr r29, r3 -/* 80341A58 4B FF BC 9D */ bl OSDisableInterrupts -/* 80341A5C 80 9D 02 CC */ lwz r4, 0x2cc(r29) -/* 80341A60 3B E3 00 00 */ addi r31, r3, 0 -/* 80341A64 38 04 00 01 */ addi r0, r4, 1 -/* 80341A68 7C 9E 23 79 */ or. r30, r4, r4 -/* 80341A6C 90 1D 02 CC */ stw r0, 0x2cc(r29) -/* 80341A70 40 82 01 14 */ bne lbl_80341B84 -/* 80341A74 A0 1D 02 C8 */ lhz r0, 0x2c8(r29) -/* 80341A78 2C 00 00 03 */ cmpwi r0, 3 -/* 80341A7C 41 82 00 F4 */ beq lbl_80341B70 -/* 80341A80 40 80 00 14 */ bge lbl_80341A94 -/* 80341A84 2C 00 00 01 */ cmpwi r0, 1 -/* 80341A88 41 82 00 28 */ beq lbl_80341AB0 -/* 80341A8C 40 80 00 14 */ bge lbl_80341AA0 -/* 80341A90 48 00 00 E0 */ b lbl_80341B70 -lbl_80341A94: -/* 80341A94 2C 00 00 05 */ cmpwi r0, 5 -/* 80341A98 40 80 00 D8 */ bge lbl_80341B70 -/* 80341A9C 48 00 00 20 */ b lbl_80341ABC -lbl_80341AA0: -/* 80341AA0 38 00 00 01 */ li r0, 1 -/* 80341AA4 90 0D 91 44 */ stw r0, RunQueueHint(r13) -/* 80341AA8 B0 1D 02 C8 */ sth r0, 0x2c8(r29) -/* 80341AAC 48 00 00 C4 */ b lbl_80341B70 -lbl_80341AB0: -/* 80341AB0 7F A3 EB 78 */ mr r3, r29 -/* 80341AB4 4B FF F2 91 */ bl UnsetRun -/* 80341AB8 48 00 00 B8 */ b lbl_80341B70 -lbl_80341ABC: -/* 80341ABC 80 9D 02 E0 */ lwz r4, 0x2e0(r29) -/* 80341AC0 80 BD 02 E4 */ lwz r5, 0x2e4(r29) -/* 80341AC4 28 04 00 00 */ cmplwi r4, 0 -/* 80341AC8 40 82 00 10 */ bne lbl_80341AD8 -/* 80341ACC 80 7D 02 DC */ lwz r3, 0x2dc(r29) -/* 80341AD0 90 A3 00 04 */ stw r5, 4(r3) -/* 80341AD4 48 00 00 08 */ b lbl_80341ADC -lbl_80341AD8: -/* 80341AD8 90 A4 02 E4 */ stw r5, 0x2e4(r4) -lbl_80341ADC: -/* 80341ADC 28 05 00 00 */ cmplwi r5, 0 -/* 80341AE0 40 82 00 10 */ bne lbl_80341AF0 -/* 80341AE4 80 7D 02 DC */ lwz r3, 0x2dc(r29) -/* 80341AE8 90 83 00 00 */ stw r4, 0(r3) -/* 80341AEC 48 00 00 08 */ b lbl_80341AF4 -lbl_80341AF0: -/* 80341AF0 90 85 02 E0 */ stw r4, 0x2e0(r5) -lbl_80341AF4: -/* 80341AF4 38 00 00 20 */ li r0, 0x20 -/* 80341AF8 90 1D 02 D0 */ stw r0, 0x2d0(r29) -/* 80341AFC 80 9D 02 DC */ lwz r4, 0x2dc(r29) -/* 80341B00 80 64 00 04 */ lwz r3, 4(r4) -/* 80341B04 28 03 00 00 */ cmplwi r3, 0 -/* 80341B08 40 82 00 0C */ bne lbl_80341B14 -/* 80341B0C 93 A4 00 00 */ stw r29, 0(r4) -/* 80341B10 48 00 00 08 */ b lbl_80341B18 -lbl_80341B14: -/* 80341B14 93 A3 02 E0 */ stw r29, 0x2e0(r3) -lbl_80341B18: -/* 80341B18 90 7D 02 E4 */ stw r3, 0x2e4(r29) -/* 80341B1C 38 00 00 00 */ li r0, 0 -/* 80341B20 90 1D 02 E0 */ stw r0, 0x2e0(r29) -/* 80341B24 80 7D 02 DC */ lwz r3, 0x2dc(r29) -/* 80341B28 93 A3 00 04 */ stw r29, 4(r3) -/* 80341B2C 80 7D 02 F0 */ lwz r3, 0x2f0(r29) -/* 80341B30 28 03 00 00 */ cmplwi r3, 0 -/* 80341B34 41 82 00 3C */ beq lbl_80341B70 -/* 80341B38 83 A3 00 08 */ lwz r29, 8(r3) -lbl_80341B3C: -/* 80341B3C 80 1D 02 CC */ lwz r0, 0x2cc(r29) -/* 80341B40 2C 00 00 00 */ cmpwi r0, 0 -/* 80341B44 41 81 00 2C */ bgt lbl_80341B70 -/* 80341B48 7F A3 EB 78 */ mr r3, r29 -/* 80341B4C 4B FF F2 61 */ bl __OSGetEffectivePriority -/* 80341B50 80 1D 02 D0 */ lwz r0, 0x2d0(r29) -/* 80341B54 38 83 00 00 */ addi r4, r3, 0 -/* 80341B58 7C 00 20 00 */ cmpw r0, r4 -/* 80341B5C 41 82 00 14 */ beq lbl_80341B70 -/* 80341B60 7F A3 EB 78 */ mr r3, r29 -/* 80341B64 4B FF F2 85 */ bl SetEffectivePriority -/* 80341B68 7C 7D 1B 79 */ or. r29, r3, r3 -/* 80341B6C 40 82 FF D0 */ bne lbl_80341B3C -lbl_80341B70: -/* 80341B70 80 0D 91 44 */ lwz r0, RunQueueHint(r13) -/* 80341B74 2C 00 00 00 */ cmpwi r0, 0 -/* 80341B78 41 82 00 0C */ beq lbl_80341B84 -/* 80341B7C 38 60 00 00 */ li r3, 0 -/* 80341B80 4B FF F4 79 */ bl SelectThread -lbl_80341B84: -/* 80341B84 7F E3 FB 78 */ mr r3, r31 -/* 80341B88 4B FF BB 95 */ bl OSRestoreInterrupts -/* 80341B8C 7F C3 F3 78 */ mr r3, r30 -/* 80341B90 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80341B94 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80341B98 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80341B9C 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 80341BA0 38 21 00 20 */ addi r1, r1, 0x20 -/* 80341BA4 7C 08 03 A6 */ mtlr r0 -/* 80341BA8 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSThread/OSWakeupThread.s b/asm/dolphin/os/OSThread/OSWakeupThread.s deleted file mode 100644 index 9c00ce24e9b..00000000000 --- a/asm/dolphin/os/OSThread/OSWakeupThread.s +++ /dev/null @@ -1,73 +0,0 @@ -lbl_80341C98: -/* 80341C98 7C 08 02 A6 */ mflr r0 -/* 80341C9C 90 01 00 04 */ stw r0, 4(r1) -/* 80341CA0 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 80341CA4 93 E1 00 14 */ stw r31, 0x14(r1) -/* 80341CA8 93 C1 00 10 */ stw r30, 0x10(r1) -/* 80341CAC 7C 7E 1B 78 */ mr r30, r3 -/* 80341CB0 4B FF BA 45 */ bl OSDisableInterrupts -/* 80341CB4 3C 80 80 45 */ lis r4, RunQueue@ha /* 0x8044BB78@ha */ -/* 80341CB8 3B E3 00 00 */ addi r31, r3, 0 -/* 80341CBC 38 A4 BB 78 */ addi r5, r4, RunQueue@l /* 0x8044BB78@l */ -/* 80341CC0 48 00 00 9C */ b lbl_80341D5C -lbl_80341CC4: -/* 80341CC4 80 66 02 E0 */ lwz r3, 0x2e0(r6) -/* 80341CC8 28 03 00 00 */ cmplwi r3, 0 -/* 80341CCC 40 82 00 10 */ bne lbl_80341CDC -/* 80341CD0 38 00 00 00 */ li r0, 0 -/* 80341CD4 90 1E 00 04 */ stw r0, 4(r30) -/* 80341CD8 48 00 00 0C */ b lbl_80341CE4 -lbl_80341CDC: -/* 80341CDC 38 00 00 00 */ li r0, 0 -/* 80341CE0 90 03 02 E4 */ stw r0, 0x2e4(r3) -lbl_80341CE4: -/* 80341CE4 90 7E 00 00 */ stw r3, 0(r30) -/* 80341CE8 38 00 00 01 */ li r0, 1 -/* 80341CEC B0 06 02 C8 */ sth r0, 0x2c8(r6) -/* 80341CF0 80 06 02 CC */ lwz r0, 0x2cc(r6) -/* 80341CF4 2C 00 00 00 */ cmpwi r0, 0 -/* 80341CF8 41 81 00 64 */ bgt lbl_80341D5C -/* 80341CFC 80 06 02 D0 */ lwz r0, 0x2d0(r6) -/* 80341D00 54 00 18 38 */ slwi r0, r0, 3 -/* 80341D04 7C 05 02 14 */ add r0, r5, r0 -/* 80341D08 90 06 02 DC */ stw r0, 0x2dc(r6) -/* 80341D0C 80 86 02 DC */ lwz r4, 0x2dc(r6) -/* 80341D10 80 64 00 04 */ lwz r3, 4(r4) -/* 80341D14 28 03 00 00 */ cmplwi r3, 0 -/* 80341D18 40 82 00 0C */ bne lbl_80341D24 -/* 80341D1C 90 C4 00 00 */ stw r6, 0(r4) -/* 80341D20 48 00 00 08 */ b lbl_80341D28 -lbl_80341D24: -/* 80341D24 90 C3 02 E0 */ stw r6, 0x2e0(r3) -lbl_80341D28: -/* 80341D28 90 66 02 E4 */ stw r3, 0x2e4(r6) -/* 80341D2C 38 00 00 00 */ li r0, 0 -/* 80341D30 38 60 00 01 */ li r3, 1 -/* 80341D34 90 06 02 E0 */ stw r0, 0x2e0(r6) -/* 80341D38 80 86 02 DC */ lwz r4, 0x2dc(r6) -/* 80341D3C 90 C4 00 04 */ stw r6, 4(r4) -/* 80341D40 80 06 02 D0 */ lwz r0, 0x2d0(r6) -/* 80341D44 80 8D 91 40 */ lwz r4, RunQueueBits(r13) -/* 80341D48 20 00 00 1F */ subfic r0, r0, 0x1f -/* 80341D4C 7C 60 00 30 */ slw r0, r3, r0 -/* 80341D50 7C 80 03 78 */ or r0, r4, r0 -/* 80341D54 90 0D 91 40 */ stw r0, RunQueueBits(r13) -/* 80341D58 90 6D 91 44 */ stw r3, RunQueueHint(r13) -lbl_80341D5C: -/* 80341D5C 80 DE 00 00 */ lwz r6, 0(r30) -/* 80341D60 28 06 00 00 */ cmplwi r6, 0 -/* 80341D64 40 82 FF 60 */ bne lbl_80341CC4 -/* 80341D68 80 0D 91 44 */ lwz r0, RunQueueHint(r13) -/* 80341D6C 2C 00 00 00 */ cmpwi r0, 0 -/* 80341D70 41 82 00 0C */ beq lbl_80341D7C -/* 80341D74 38 60 00 00 */ li r3, 0 -/* 80341D78 4B FF F2 81 */ bl SelectThread -lbl_80341D7C: -/* 80341D7C 7F E3 FB 78 */ mr r3, r31 -/* 80341D80 4B FF B9 9D */ bl OSRestoreInterrupts -/* 80341D84 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 80341D88 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 80341D8C 83 C1 00 10 */ lwz r30, 0x10(r1) -/* 80341D90 38 21 00 18 */ addi r1, r1, 0x18 -/* 80341D94 7C 08 03 A6 */ mtlr r0 -/* 80341D98 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSThread/SelectThread.s b/asm/dolphin/os/OSThread/SelectThread.s deleted file mode 100644 index be05df93b71..00000000000 --- a/asm/dolphin/os/OSThread/SelectThread.s +++ /dev/null @@ -1,153 +0,0 @@ -lbl_80340FF8: -/* 80340FF8 7C 08 02 A6 */ mflr r0 -/* 80340FFC 3C 80 80 45 */ lis r4, RunQueue@ha /* 0x8044BB78@ha */ -/* 80341000 90 01 00 04 */ stw r0, 4(r1) -/* 80341004 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 80341008 93 E1 00 14 */ stw r31, 0x14(r1) -/* 8034100C 3B E4 BB 78 */ addi r31, r4, RunQueue@l /* 0x8044BB78@l */ -/* 80341010 93 C1 00 10 */ stw r30, 0x10(r1) -/* 80341014 3B C3 00 00 */ addi r30, r3, 0 -/* 80341018 80 0D 91 48 */ lwz r0, Reschedule(r13) -/* 8034101C 2C 00 00 00 */ cmpwi r0, 0 -/* 80341020 40 81 00 0C */ ble lbl_8034102C -/* 80341024 38 60 00 00 */ li r3, 0 -/* 80341028 48 00 01 E0 */ b lbl_80341208 -lbl_8034102C: -/* 8034102C 4B FF AE 69 */ bl OSGetCurrentContext -/* 80341030 3C 80 80 00 */ lis r4, 0x8000 /* 0x800000E4@ha */ -/* 80341034 80 C4 00 E4 */ lwz r6, 0x00E4(r4) /* 0x800000E4@l */ -/* 80341038 7C 03 30 40 */ cmplw r3, r6 -/* 8034103C 38 66 00 00 */ addi r3, r6, 0 -/* 80341040 41 82 00 0C */ beq lbl_8034104C -/* 80341044 38 60 00 00 */ li r3, 0 -/* 80341048 48 00 01 C0 */ b lbl_80341208 -lbl_8034104C: -/* 8034104C 28 06 00 00 */ cmplwi r6, 0 -/* 80341050 41 82 00 BC */ beq lbl_8034110C -/* 80341054 A0 06 02 C8 */ lhz r0, 0x2c8(r6) -/* 80341058 28 00 00 02 */ cmplwi r0, 2 -/* 8034105C 40 82 00 90 */ bne lbl_803410EC -/* 80341060 2C 1E 00 00 */ cmpwi r30, 0 -/* 80341064 40 82 00 20 */ bne lbl_80341084 -/* 80341068 80 8D 91 40 */ lwz r4, RunQueueBits(r13) -/* 8034106C 80 06 02 D0 */ lwz r0, 0x2d0(r6) -/* 80341070 7C 84 00 34 */ cntlzw r4, r4 -/* 80341074 7C 00 20 00 */ cmpw r0, r4 -/* 80341078 41 81 00 0C */ bgt lbl_80341084 -/* 8034107C 38 60 00 00 */ li r3, 0 -/* 80341080 48 00 01 88 */ b lbl_80341208 -lbl_80341084: -/* 80341084 38 00 00 01 */ li r0, 1 -/* 80341088 B0 06 02 C8 */ sth r0, 0x2c8(r6) -/* 8034108C 80 06 02 D0 */ lwz r0, 0x2d0(r6) -/* 80341090 54 00 18 38 */ slwi r0, r0, 3 -/* 80341094 7C 1F 02 14 */ add r0, r31, r0 -/* 80341098 90 06 02 DC */ stw r0, 0x2dc(r6) -/* 8034109C 80 A6 02 DC */ lwz r5, 0x2dc(r6) -/* 803410A0 80 85 00 04 */ lwz r4, 4(r5) -/* 803410A4 28 04 00 00 */ cmplwi r4, 0 -/* 803410A8 40 82 00 0C */ bne lbl_803410B4 -/* 803410AC 90 C5 00 00 */ stw r6, 0(r5) -/* 803410B0 48 00 00 08 */ b lbl_803410B8 -lbl_803410B4: -/* 803410B4 90 C4 02 E0 */ stw r6, 0x2e0(r4) -lbl_803410B8: -/* 803410B8 90 86 02 E4 */ stw r4, 0x2e4(r6) -/* 803410BC 38 00 00 00 */ li r0, 0 -/* 803410C0 38 80 00 01 */ li r4, 1 -/* 803410C4 90 06 02 E0 */ stw r0, 0x2e0(r6) -/* 803410C8 80 A6 02 DC */ lwz r5, 0x2dc(r6) -/* 803410CC 90 C5 00 04 */ stw r6, 4(r5) -/* 803410D0 80 06 02 D0 */ lwz r0, 0x2d0(r6) -/* 803410D4 80 AD 91 40 */ lwz r5, RunQueueBits(r13) -/* 803410D8 20 00 00 1F */ subfic r0, r0, 0x1f -/* 803410DC 7C 80 00 30 */ slw r0, r4, r0 -/* 803410E0 7C A0 03 78 */ or r0, r5, r0 -/* 803410E4 90 0D 91 40 */ stw r0, RunQueueBits(r13) -/* 803410E8 90 8D 91 44 */ stw r4, RunQueueHint(r13) -lbl_803410EC: -/* 803410EC A0 06 01 A2 */ lhz r0, 0x1a2(r6) -/* 803410F0 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 803410F4 40 82 00 18 */ bne lbl_8034110C -/* 803410F8 4B FF AD A9 */ bl OSSaveContext -/* 803410FC 28 03 00 00 */ cmplwi r3, 0 -/* 80341100 41 82 00 0C */ beq lbl_8034110C -/* 80341104 38 60 00 00 */ li r3, 0 -/* 80341108 48 00 01 00 */ b lbl_80341208 -lbl_8034110C: -/* 8034110C 80 0D 91 40 */ lwz r0, RunQueueBits(r13) -/* 80341110 28 00 00 00 */ cmplwi r0, 0 -/* 80341114 40 82 00 54 */ bne lbl_80341168 -/* 80341118 81 8D 84 38 */ lwz r12, SwitchThreadCallback(r13) -/* 8034111C 3F C0 80 00 */ lis r30, 0x8000 /* 0x800000E4@ha */ -/* 80341120 80 7E 00 E4 */ lwz r3, 0x00E4(r30) /* 0x800000E4@l */ -/* 80341124 38 80 00 00 */ li r4, 0 -/* 80341128 7D 88 03 A6 */ mtlr r12 -/* 8034112C 4E 80 00 21 */ blrl -/* 80341130 38 00 00 00 */ li r0, 0 -/* 80341134 90 1E 00 E4 */ stw r0, 0xe4(r30) -/* 80341138 38 7F 07 30 */ addi r3, r31, 0x730 -/* 8034113C 4B FF AC FD */ bl OSSetCurrentContext -lbl_80341140: -/* 80341140 4B FF C5 C9 */ bl OSEnableInterrupts -lbl_80341144: -/* 80341144 80 0D 91 40 */ lwz r0, RunQueueBits(r13) -/* 80341148 28 00 00 00 */ cmplwi r0, 0 -/* 8034114C 41 82 FF F8 */ beq lbl_80341144 -/* 80341150 4B FF C5 A5 */ bl OSDisableInterrupts -/* 80341154 80 0D 91 40 */ lwz r0, RunQueueBits(r13) -/* 80341158 28 00 00 00 */ cmplwi r0, 0 -/* 8034115C 41 82 FF E4 */ beq lbl_80341140 -/* 80341160 38 7F 07 30 */ addi r3, r31, 0x730 -/* 80341164 4B FF AE 9D */ bl OSClearContext -lbl_80341168: -/* 80341168 38 60 00 00 */ li r3, 0 -/* 8034116C 90 6D 91 44 */ stw r3, RunQueueHint(r13) -/* 80341170 80 0D 91 40 */ lwz r0, RunQueueBits(r13) -/* 80341174 7C 07 00 34 */ cntlzw r7, r0 -/* 80341178 54 E0 18 38 */ slwi r0, r7, 3 -/* 8034117C 7C 9F 02 14 */ add r4, r31, r0 -/* 80341180 80 A4 00 00 */ lwz r5, 0(r4) -/* 80341184 80 C5 02 E0 */ lwz r6, 0x2e0(r5) -/* 80341188 3B C5 00 00 */ addi r30, r5, 0 -/* 8034118C 28 06 00 00 */ cmplwi r6, 0 -/* 80341190 40 82 00 0C */ bne lbl_8034119C -/* 80341194 90 64 00 04 */ stw r3, 4(r4) -/* 80341198 48 00 00 08 */ b lbl_803411A0 -lbl_8034119C: -/* 8034119C 90 66 02 E4 */ stw r3, 0x2e4(r6) -lbl_803411A0: -/* 803411A0 90 C4 00 00 */ stw r6, 0(r4) -/* 803411A4 80 04 00 00 */ lwz r0, 0(r4) -/* 803411A8 28 00 00 00 */ cmplwi r0, 0 -/* 803411AC 40 82 00 1C */ bne lbl_803411C8 -/* 803411B0 20 07 00 1F */ subfic r0, r7, 0x1f -/* 803411B4 80 8D 91 40 */ lwz r4, RunQueueBits(r13) -/* 803411B8 38 60 00 01 */ li r3, 1 -/* 803411BC 7C 60 00 30 */ slw r0, r3, r0 -/* 803411C0 7C 80 00 78 */ andc r0, r4, r0 -/* 803411C4 90 0D 91 40 */ stw r0, RunQueueBits(r13) -lbl_803411C8: -/* 803411C8 38 00 00 00 */ li r0, 0 -/* 803411CC 90 1E 02 DC */ stw r0, 0x2dc(r30) -/* 803411D0 38 00 00 02 */ li r0, 2 -/* 803411D4 3F E0 80 00 */ lis r31, 0x8000 /* 0x800000E4@ha */ -/* 803411D8 B0 1E 02 C8 */ sth r0, 0x2c8(r30) -/* 803411DC 7F C4 F3 78 */ mr r4, r30 -/* 803411E0 81 8D 84 38 */ lwz r12, SwitchThreadCallback(r13) -/* 803411E4 80 7F 00 E4 */ lwz r3, 0x00E4(r31) /* 0x800000E4@l */ -/* 803411E8 7D 88 03 A6 */ mtlr r12 -/* 803411EC 4E 80 00 21 */ blrl -/* 803411F0 93 DF 00 E4 */ stw r30, 0xe4(r31) -/* 803411F4 7F C3 F3 78 */ mr r3, r30 -/* 803411F8 4B FF AC 41 */ bl OSSetCurrentContext -/* 803411FC 7F C3 F3 78 */ mr r3, r30 -/* 80341200 4B FF AD 21 */ bl OSLoadContext -/* 80341204 7F C3 F3 78 */ mr r3, r30 -lbl_80341208: -/* 80341208 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 8034120C 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 80341210 83 C1 00 10 */ lwz r30, 0x10(r1) -/* 80341214 38 21 00 18 */ addi r1, r1, 0x18 -/* 80341218 7C 08 03 A6 */ mtlr r0 -/* 8034121C 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSThread/SetEffectivePriority.s b/asm/dolphin/os/OSThread/SetEffectivePriority.s deleted file mode 100644 index 09eb2024436..00000000000 --- a/asm/dolphin/os/OSThread/SetEffectivePriority.s +++ /dev/null @@ -1,133 +0,0 @@ -lbl_80340DE8: -/* 80340DE8 7C 08 02 A6 */ mflr r0 -/* 80340DEC 90 01 00 04 */ stw r0, 4(r1) -/* 80340DF0 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 80340DF4 93 E1 00 14 */ stw r31, 0x14(r1) -/* 80340DF8 7C 7F 1B 78 */ mr r31, r3 -/* 80340DFC 93 C1 00 10 */ stw r30, 0x10(r1) -/* 80340E00 3B C4 00 00 */ addi r30, r4, 0 -/* 80340E04 A0 03 02 C8 */ lhz r0, 0x2c8(r3) -/* 80340E08 2C 00 00 03 */ cmpwi r0, 3 -/* 80340E0C 41 82 01 80 */ beq lbl_80340F8C -/* 80340E10 40 80 00 14 */ bge lbl_80340E24 -/* 80340E14 2C 00 00 01 */ cmpwi r0, 1 -/* 80340E18 41 82 00 18 */ beq lbl_80340E30 -/* 80340E1C 40 80 01 64 */ bge lbl_80340F80 -/* 80340E20 48 00 01 6C */ b lbl_80340F8C -lbl_80340E24: -/* 80340E24 2C 00 00 05 */ cmpwi r0, 5 -/* 80340E28 40 80 01 64 */ bge lbl_80340F8C -/* 80340E2C 48 00 00 7C */ b lbl_80340EA8 -lbl_80340E30: -/* 80340E30 7F E3 FB 78 */ mr r3, r31 -/* 80340E34 4B FF FF 11 */ bl UnsetRun -/* 80340E38 93 DF 02 D0 */ stw r30, 0x2d0(r31) -/* 80340E3C 3C 60 80 45 */ lis r3, RunQueue@ha /* 0x8044BB78@ha */ -/* 80340E40 38 03 BB 78 */ addi r0, r3, RunQueue@l /* 0x8044BB78@l */ -/* 80340E44 80 7F 02 D0 */ lwz r3, 0x2d0(r31) -/* 80340E48 54 63 18 38 */ slwi r3, r3, 3 -/* 80340E4C 7C 00 1A 14 */ add r0, r0, r3 -/* 80340E50 90 1F 02 DC */ stw r0, 0x2dc(r31) -/* 80340E54 80 9F 02 DC */ lwz r4, 0x2dc(r31) -/* 80340E58 80 64 00 04 */ lwz r3, 4(r4) -/* 80340E5C 28 03 00 00 */ cmplwi r3, 0 -/* 80340E60 40 82 00 0C */ bne lbl_80340E6C -/* 80340E64 93 E4 00 00 */ stw r31, 0(r4) -/* 80340E68 48 00 00 08 */ b lbl_80340E70 -lbl_80340E6C: -/* 80340E6C 93 E3 02 E0 */ stw r31, 0x2e0(r3) -lbl_80340E70: -/* 80340E70 90 7F 02 E4 */ stw r3, 0x2e4(r31) -/* 80340E74 38 00 00 00 */ li r0, 0 -/* 80340E78 38 60 00 01 */ li r3, 1 -/* 80340E7C 90 1F 02 E0 */ stw r0, 0x2e0(r31) -/* 80340E80 80 9F 02 DC */ lwz r4, 0x2dc(r31) -/* 80340E84 93 E4 00 04 */ stw r31, 4(r4) -/* 80340E88 80 1F 02 D0 */ lwz r0, 0x2d0(r31) -/* 80340E8C 80 8D 91 40 */ lwz r4, RunQueueBits(r13) -/* 80340E90 20 00 00 1F */ subfic r0, r0, 0x1f -/* 80340E94 7C 60 00 30 */ slw r0, r3, r0 -/* 80340E98 7C 80 03 78 */ or r0, r4, r0 -/* 80340E9C 90 0D 91 40 */ stw r0, RunQueueBits(r13) -/* 80340EA0 90 6D 91 44 */ stw r3, RunQueueHint(r13) -/* 80340EA4 48 00 00 E8 */ b lbl_80340F8C -lbl_80340EA8: -/* 80340EA8 80 9F 02 E0 */ lwz r4, 0x2e0(r31) -/* 80340EAC 80 BF 02 E4 */ lwz r5, 0x2e4(r31) -/* 80340EB0 28 04 00 00 */ cmplwi r4, 0 -/* 80340EB4 40 82 00 10 */ bne lbl_80340EC4 -/* 80340EB8 80 7F 02 DC */ lwz r3, 0x2dc(r31) -/* 80340EBC 90 A3 00 04 */ stw r5, 4(r3) -/* 80340EC0 48 00 00 08 */ b lbl_80340EC8 -lbl_80340EC4: -/* 80340EC4 90 A4 02 E4 */ stw r5, 0x2e4(r4) -lbl_80340EC8: -/* 80340EC8 28 05 00 00 */ cmplwi r5, 0 -/* 80340ECC 40 82 00 10 */ bne lbl_80340EDC -/* 80340ED0 80 7F 02 DC */ lwz r3, 0x2dc(r31) -/* 80340ED4 90 83 00 00 */ stw r4, 0(r3) -/* 80340ED8 48 00 00 08 */ b lbl_80340EE0 -lbl_80340EDC: -/* 80340EDC 90 85 02 E0 */ stw r4, 0x2e0(r5) -lbl_80340EE0: -/* 80340EE0 93 DF 02 D0 */ stw r30, 0x2d0(r31) -/* 80340EE4 80 9F 02 DC */ lwz r4, 0x2dc(r31) -/* 80340EE8 80 A4 00 00 */ lwz r5, 0(r4) -/* 80340EEC 48 00 00 08 */ b lbl_80340EF4 -lbl_80340EF0: -/* 80340EF0 80 A5 02 E0 */ lwz r5, 0x2e0(r5) -lbl_80340EF4: -/* 80340EF4 28 05 00 00 */ cmplwi r5, 0 -/* 80340EF8 41 82 00 14 */ beq lbl_80340F0C -/* 80340EFC 80 65 02 D0 */ lwz r3, 0x2d0(r5) -/* 80340F00 80 1F 02 D0 */ lwz r0, 0x2d0(r31) -/* 80340F04 7C 03 00 00 */ cmpw r3, r0 -/* 80340F08 40 81 FF E8 */ ble lbl_80340EF0 -lbl_80340F0C: -/* 80340F0C 28 05 00 00 */ cmplwi r5, 0 -/* 80340F10 40 82 00 34 */ bne lbl_80340F44 -/* 80340F14 80 64 00 04 */ lwz r3, 4(r4) -/* 80340F18 28 03 00 00 */ cmplwi r3, 0 -/* 80340F1C 40 82 00 0C */ bne lbl_80340F28 -/* 80340F20 93 E4 00 00 */ stw r31, 0(r4) -/* 80340F24 48 00 00 08 */ b lbl_80340F2C -lbl_80340F28: -/* 80340F28 93 E3 02 E0 */ stw r31, 0x2e0(r3) -lbl_80340F2C: -/* 80340F2C 90 7F 02 E4 */ stw r3, 0x2e4(r31) -/* 80340F30 38 00 00 00 */ li r0, 0 -/* 80340F34 90 1F 02 E0 */ stw r0, 0x2e0(r31) -/* 80340F38 80 7F 02 DC */ lwz r3, 0x2dc(r31) -/* 80340F3C 93 E3 00 04 */ stw r31, 4(r3) -/* 80340F40 48 00 00 2C */ b lbl_80340F6C -lbl_80340F44: -/* 80340F44 90 BF 02 E0 */ stw r5, 0x2e0(r31) -/* 80340F48 80 65 02 E4 */ lwz r3, 0x2e4(r5) -/* 80340F4C 93 E5 02 E4 */ stw r31, 0x2e4(r5) -/* 80340F50 28 03 00 00 */ cmplwi r3, 0 -/* 80340F54 90 7F 02 E4 */ stw r3, 0x2e4(r31) -/* 80340F58 40 82 00 10 */ bne lbl_80340F68 -/* 80340F5C 80 7F 02 DC */ lwz r3, 0x2dc(r31) -/* 80340F60 93 E3 00 00 */ stw r31, 0(r3) -/* 80340F64 48 00 00 08 */ b lbl_80340F6C -lbl_80340F68: -/* 80340F68 93 E3 02 E0 */ stw r31, 0x2e0(r3) -lbl_80340F6C: -/* 80340F6C 80 7F 02 F0 */ lwz r3, 0x2f0(r31) -/* 80340F70 28 03 00 00 */ cmplwi r3, 0 -/* 80340F74 41 82 00 18 */ beq lbl_80340F8C -/* 80340F78 80 63 00 08 */ lwz r3, 8(r3) -/* 80340F7C 48 00 00 14 */ b lbl_80340F90 -lbl_80340F80: -/* 80340F80 38 00 00 01 */ li r0, 1 -/* 80340F84 90 0D 91 44 */ stw r0, RunQueueHint(r13) -/* 80340F88 93 DF 02 D0 */ stw r30, 0x2d0(r31) -lbl_80340F8C: -/* 80340F8C 38 60 00 00 */ li r3, 0 -lbl_80340F90: -/* 80340F90 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 80340F94 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 80340F98 83 C1 00 10 */ lwz r30, 0x10(r1) -/* 80340F9C 38 21 00 18 */ addi r1, r1, 0x18 -/* 80340FA0 7C 08 03 A6 */ mtlr r0 -/* 80340FA4 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSThread/__OSPromoteThread.s b/asm/dolphin/os/OSThread/__OSPromoteThread.s deleted file mode 100644 index 09a12a15272..00000000000 --- a/asm/dolphin/os/OSThread/__OSPromoteThread.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_80340FA8: -/* 80340FA8 7C 08 02 A6 */ mflr r0 -/* 80340FAC 90 01 00 04 */ stw r0, 4(r1) -/* 80340FB0 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 80340FB4 93 E1 00 14 */ stw r31, 0x14(r1) -/* 80340FB8 7C 9F 23 78 */ mr r31, r4 -lbl_80340FBC: -/* 80340FBC 80 03 02 CC */ lwz r0, 0x2cc(r3) -/* 80340FC0 2C 00 00 00 */ cmpwi r0, 0 -/* 80340FC4 41 81 00 20 */ bgt lbl_80340FE4 -/* 80340FC8 80 03 02 D0 */ lwz r0, 0x2d0(r3) -/* 80340FCC 7C 00 F8 00 */ cmpw r0, r31 -/* 80340FD0 40 81 00 14 */ ble lbl_80340FE4 -/* 80340FD4 7F E4 FB 78 */ mr r4, r31 -/* 80340FD8 4B FF FE 11 */ bl SetEffectivePriority -/* 80340FDC 28 03 00 00 */ cmplwi r3, 0 -/* 80340FE0 40 82 FF DC */ bne lbl_80340FBC -lbl_80340FE4: -/* 80340FE4 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 80340FE8 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 80340FEC 38 21 00 18 */ addi r1, r1, 0x18 -/* 80340FF0 7C 08 03 A6 */ mtlr r0 -/* 80340FF4 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSTime/OSTicksToCalendarTime.s b/asm/dolphin/os/OSTime/OSTicksToCalendarTime.s deleted file mode 100644 index c67abe6dead..00000000000 --- a/asm/dolphin/os/OSTime/OSTicksToCalendarTime.s +++ /dev/null @@ -1,132 +0,0 @@ -lbl_80342974: -/* 80342974 7C 08 02 A6 */ mflr r0 -/* 80342978 90 01 00 04 */ stw r0, 4(r1) -/* 8034297C 94 21 FF C8 */ stwu r1, -0x38(r1) -/* 80342980 BF 21 00 1C */ stmw r25, 0x1c(r1) -/* 80342984 7C 7D 1B 78 */ mr r29, r3 -/* 80342988 7C 9E 23 78 */ mr r30, r4 -/* 8034298C 7C BF 2B 78 */ mr r31, r5 -/* 80342990 3F 60 80 00 */ lis r27, 0x8000 /* 0x800000F8@ha */ -/* 80342994 80 1B 00 F8 */ lwz r0, 0x00F8(r27) /* 0x800000F8@l */ -/* 80342998 7F A3 EB 78 */ mr r3, r29 -/* 8034299C 7F C4 F3 78 */ mr r4, r30 -/* 803429A0 54 06 F0 BE */ srwi r6, r0, 2 -/* 803429A4 38 A0 00 00 */ li r5, 0 -/* 803429A8 48 01 FB 99 */ bl __mod2i -/* 803429AC 7C 7A 1B 78 */ mr r26, r3 -/* 803429B0 38 A0 00 00 */ li r5, 0 -/* 803429B4 7C 99 23 78 */ mr r25, r4 -/* 803429B8 6F 44 80 00 */ xoris r4, r26, 0x8000 -/* 803429BC 6C A3 80 00 */ xoris r3, r5, 0x8000 -/* 803429C0 7C 05 C8 10 */ subfc r0, r5, r25 -/* 803429C4 7C 63 21 10 */ subfe r3, r3, r4 -/* 803429C8 7C 64 21 10 */ subfe r3, r4, r4 -/* 803429CC 7C 63 00 D0 */ neg r3, r3 -/* 803429D0 2C 03 00 00 */ cmpwi r3, 0 -/* 803429D4 41 82 00 14 */ beq lbl_803429E8 -/* 803429D8 80 1B 00 F8 */ lwz r0, 0xf8(r27) -/* 803429DC 54 00 F0 BE */ srwi r0, r0, 2 -/* 803429E0 7F 39 00 14 */ addc r25, r25, r0 -/* 803429E4 7F 5A 29 14 */ adde r26, r26, r5 -lbl_803429E8: -/* 803429E8 38 80 00 08 */ li r4, 8 -/* 803429EC 7C 7A 21 D6 */ mullw r3, r26, r4 -/* 803429F0 7C 19 20 16 */ mulhwu r0, r25, r4 -/* 803429F4 3F 60 80 00 */ lis r27, 0x8000 /* 0x800000F8@ha */ -/* 803429F8 80 DB 00 F8 */ lwz r6, 0x00F8(r27) /* 0x800000F8@l */ -/* 803429FC 3C A0 43 1C */ lis r5, 0x431C /* 0x431BDE83@ha */ -/* 80342A00 38 A5 DE 83 */ addi r5, r5, 0xDE83 /* 0x431BDE83@l */ -/* 80342A04 54 C6 F0 BE */ srwi r6, r6, 2 -/* 80342A08 7C A5 30 16 */ mulhwu r5, r5, r6 -/* 80342A0C 54 A6 8B FE */ srwi r6, r5, 0xf -/* 80342A10 3B 80 00 00 */ li r28, 0 -/* 80342A14 7C 63 02 14 */ add r3, r3, r0 -/* 80342A18 7C 19 E1 D6 */ mullw r0, r25, r28 -/* 80342A1C 7C 99 21 D6 */ mullw r4, r25, r4 -/* 80342A20 7C 63 02 14 */ add r3, r3, r0 -/* 80342A24 38 A0 00 00 */ li r5, 0 -/* 80342A28 48 01 F8 FD */ bl __div2i -/* 80342A2C 38 A0 00 00 */ li r5, 0 -/* 80342A30 38 C0 03 E8 */ li r6, 0x3e8 -/* 80342A34 48 01 FB 0D */ bl __mod2i -/* 80342A38 90 9F 00 24 */ stw r4, 0x24(r31) -/* 80342A3C 3C 60 10 62 */ lis r3, 0x1062 /* 0x10624DD3@ha */ -/* 80342A40 38 A3 4D D3 */ addi r5, r3, 0x4DD3 /* 0x10624DD3@l */ -/* 80342A44 80 1B 00 F8 */ lwz r0, 0xf8(r27) -/* 80342A48 7F 43 D3 78 */ mr r3, r26 -/* 80342A4C 7F 24 CB 78 */ mr r4, r25 -/* 80342A50 54 00 F0 BE */ srwi r0, r0, 2 -/* 80342A54 7C 05 00 16 */ mulhwu r0, r5, r0 -/* 80342A58 54 06 D1 BE */ srwi r6, r0, 6 -/* 80342A5C 38 A0 00 00 */ li r5, 0 -/* 80342A60 48 01 F8 C5 */ bl __div2i -/* 80342A64 38 A0 00 00 */ li r5, 0 -/* 80342A68 38 C0 03 E8 */ li r6, 0x3e8 -/* 80342A6C 48 01 FA D5 */ bl __mod2i -/* 80342A70 90 9F 00 20 */ stw r4, 0x20(r31) -/* 80342A74 7F D9 F0 10 */ subfc r30, r25, r30 -/* 80342A78 7F BA E9 10 */ subfe r29, r26, r29 -/* 80342A7C 80 1B 00 F8 */ lwz r0, 0xf8(r27) -/* 80342A80 3C A0 00 01 */ lis r5, 0x0001 /* 0x00015180@ha */ -/* 80342A84 3B 25 51 80 */ addi r25, r5, 0x5180 /* 0x00015180@l */ -/* 80342A88 7F A3 EB 78 */ mr r3, r29 -/* 80342A8C 54 06 F0 BE */ srwi r6, r0, 2 -/* 80342A90 7F C4 F3 78 */ mr r4, r30 -/* 80342A94 38 A0 00 00 */ li r5, 0 -/* 80342A98 48 01 F8 8D */ bl __div2i -/* 80342A9C 7F 26 CB 78 */ mr r6, r25 -/* 80342AA0 38 A0 00 00 */ li r5, 0 -/* 80342AA4 48 01 F8 81 */ bl __div2i -/* 80342AA8 3C A0 00 0B */ lis r5, 0x000B /* 0x000B2575@ha */ -/* 80342AAC 80 1B 00 F8 */ lwz r0, 0xf8(r27) -/* 80342AB0 38 A5 25 75 */ addi r5, r5, 0x2575 /* 0x000B2575@l */ -/* 80342AB4 7F 44 28 14 */ addc r26, r4, r5 -/* 80342AB8 54 06 F0 BE */ srwi r6, r0, 2 -/* 80342ABC 7C 03 E1 14 */ adde r0, r3, r28 -/* 80342AC0 7F A3 EB 78 */ mr r3, r29 -/* 80342AC4 7F C4 F3 78 */ mr r4, r30 -/* 80342AC8 38 A0 00 00 */ li r5, 0 -/* 80342ACC 48 01 F8 59 */ bl __div2i -/* 80342AD0 7F 26 CB 78 */ mr r6, r25 -/* 80342AD4 38 A0 00 00 */ li r5, 0 -/* 80342AD8 48 01 FA 69 */ bl __mod2i -/* 80342ADC 7C 9B 23 78 */ mr r27, r4 -/* 80342AE0 2C 1B 00 00 */ cmpwi r27, 0 -/* 80342AE4 40 80 00 10 */ bge lbl_80342AF4 -/* 80342AE8 3F 7B 00 01 */ addis r27, r27, 1 -/* 80342AEC 3B 5A FF FF */ addi r26, r26, -1 -/* 80342AF0 3B 7B 51 80 */ addi r27, r27, 0x5180 -lbl_80342AF4: -/* 80342AF4 7F 43 D3 78 */ mr r3, r26 -/* 80342AF8 7F E4 FB 78 */ mr r4, r31 -/* 80342AFC 4B FF FC DD */ bl GetDates -/* 80342B00 3C 60 88 89 */ lis r3, 0x8889 /* 0x88888889@ha */ -/* 80342B04 38 A3 88 89 */ addi r5, r3, 0x8889 /* 0x88888889@l */ -/* 80342B08 7C 05 D8 96 */ mulhw r0, r5, r27 -/* 80342B0C 7C 80 DA 14 */ add r4, r0, r27 -/* 80342B10 7C 80 2E 70 */ srawi r0, r4, 5 -/* 80342B14 54 03 0F FE */ srwi r3, r0, 0x1f -/* 80342B18 7C E0 1A 14 */ add r7, r0, r3 -/* 80342B1C 7C 05 38 96 */ mulhw r0, r5, r7 -/* 80342B20 7C 00 3A 14 */ add r0, r0, r7 -/* 80342B24 7C 05 2E 70 */ srawi r5, r0, 5 -/* 80342B28 7C 00 2E 70 */ srawi r0, r0, 5 -/* 80342B2C 54 03 0F FE */ srwi r3, r0, 0x1f -/* 80342B30 7C 60 1A 14 */ add r3, r0, r3 -/* 80342B34 7C 80 2E 70 */ srawi r0, r4, 5 -/* 80342B38 54 A6 0F FE */ srwi r6, r5, 0x1f -/* 80342B3C 1C 83 00 3C */ mulli r4, r3, 0x3c -/* 80342B40 54 03 0F FE */ srwi r3, r0, 0x1f -/* 80342B44 7C A5 32 14 */ add r5, r5, r6 -/* 80342B48 7C 00 1A 14 */ add r0, r0, r3 -/* 80342B4C 90 BF 00 08 */ stw r5, 8(r31) -/* 80342B50 1C 00 00 3C */ mulli r0, r0, 0x3c -/* 80342B54 7C 64 38 50 */ subf r3, r4, r7 -/* 80342B58 90 7F 00 04 */ stw r3, 4(r31) -/* 80342B5C 7C 00 D8 50 */ subf r0, r0, r27 -/* 80342B60 90 1F 00 00 */ stw r0, 0(r31) -/* 80342B64 BB 21 00 1C */ lmw r25, 0x1c(r1) -/* 80342B68 80 01 00 3C */ lwz r0, 0x3c(r1) -/* 80342B6C 38 21 00 38 */ addi r1, r1, 0x38 -/* 80342B70 7C 08 03 A6 */ mtlr r0 -/* 80342B74 4E 80 00 20 */ blr diff --git a/asm/dolphin/si/SIBios/GetTypeCallback.s b/asm/dolphin/si/SIBios/GetTypeCallback.s deleted file mode 100644 index bf9d9b5a7e2..00000000000 --- a/asm/dolphin/si/SIBios/GetTypeCallback.s +++ /dev/null @@ -1,179 +0,0 @@ -lbl_80345CF8: -/* 80345CF8 7C 08 02 A6 */ mflr r0 -/* 80345CFC 90 01 00 04 */ stw r0, 4(r1) -/* 80345D00 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80345D04 BF 41 00 18 */ stmw r26, 0x18(r1) -/* 80345D08 3B 63 00 00 */ addi r27, r3, 0 -/* 80345D0C 3C 60 80 3D */ lis r3, Type@ha /* 0x803D1210@ha */ -/* 80345D10 38 03 12 10 */ addi r0, r3, Type@l /* 0x803D1210@l */ -/* 80345D14 57 7D 10 3A */ slwi r29, r27, 2 -/* 80345D18 7F C0 EA 14 */ add r30, r0, r29 -/* 80345D1C 3C 60 80 45 */ lis r3, Packet@ha /* 0x8044C630@ha */ -/* 80345D20 3B 44 00 00 */ addi r26, r4, 0 -/* 80345D24 3B E3 C6 30 */ addi r31, r3, Packet@l /* 0x8044C630@l */ -/* 80345D28 80 1E 00 00 */ lwz r0, 0(r30) -/* 80345D2C 54 00 06 6E */ rlwinm r0, r0, 0, 0x19, 0x17 -/* 80345D30 90 1E 00 00 */ stw r0, 0(r30) -/* 80345D34 80 1E 00 00 */ lwz r0, 0(r30) -/* 80345D38 7C 00 D3 78 */ or r0, r0, r26 -/* 80345D3C 90 1E 00 00 */ stw r0, 0(r30) -/* 80345D40 4B FF C9 DD */ bl __OSGetSystemTime -/* 80345D44 57 60 18 38 */ slwi r0, r27, 3 -/* 80345D48 7C BF 02 14 */ add r5, r31, r0 -/* 80345D4C 90 85 01 24 */ stw r4, 0x124(r5) -/* 80345D50 3C 80 80 00 */ lis r4, 0x8000 -/* 80345D54 57 40 07 3F */ clrlwi. r0, r26, 0x1c -/* 80345D58 90 65 01 20 */ stw r3, 0x120(r5) -/* 80345D5C 7C 84 DC 30 */ srw r4, r4, r27 -/* 80345D60 80 6D 91 78 */ lwz r3, __PADFixBits(r13) -/* 80345D64 83 9E 00 00 */ lwz r28, 0(r30) -/* 80345D68 7C 60 20 78 */ andc r0, r3, r4 -/* 80345D6C 90 0D 91 78 */ stw r0, __PADFixBits(r13) -/* 80345D70 7C 7A 20 38 */ and r26, r3, r4 -/* 80345D74 40 82 00 24 */ bne lbl_80345D98 -/* 80345D78 57 83 00 C8 */ rlwinm r3, r28, 0, 3, 4 -/* 80345D7C 3C 03 F8 00 */ addis r0, r3, 0xf800 -/* 80345D80 28 00 00 00 */ cmplwi r0, 0 -/* 80345D84 40 82 00 14 */ bne lbl_80345D98 -/* 80345D88 57 80 00 01 */ rlwinm. r0, r28, 0, 0, 0 -/* 80345D8C 41 82 00 0C */ beq lbl_80345D98 -/* 80345D90 57 80 01 4B */ rlwinm. r0, r28, 0, 5, 5 -/* 80345D94 41 82 00 5C */ beq lbl_80345DF0 -lbl_80345D98: -/* 80345D98 38 7B 00 00 */ addi r3, r27, 0 -/* 80345D9C 38 80 00 00 */ li r4, 0 -/* 80345DA0 4B FF AA AD */ bl OSSetWirelessID -/* 80345DA4 57 60 20 36 */ slwi r0, r27, 4 -/* 80345DA8 83 DE 00 00 */ lwz r30, 0(r30) -/* 80345DAC 7F FF 02 14 */ add r31, r31, r0 -/* 80345DB0 3B A0 00 00 */ li r29, 0 -/* 80345DB4 3B 9D 00 00 */ addi r28, r29, 0 -/* 80345DB8 3B FF 01 60 */ addi r31, r31, 0x160 -lbl_80345DBC: -/* 80345DBC 81 9F 00 00 */ lwz r12, 0(r31) -/* 80345DC0 28 0C 00 00 */ cmplwi r12, 0 -/* 80345DC4 41 82 00 18 */ beq lbl_80345DDC -/* 80345DC8 93 9F 00 00 */ stw r28, 0(r31) -/* 80345DCC 7D 88 03 A6 */ mtlr r12 -/* 80345DD0 38 7B 00 00 */ addi r3, r27, 0 -/* 80345DD4 38 9E 00 00 */ addi r4, r30, 0 -/* 80345DD8 4E 80 00 21 */ blrl -lbl_80345DDC: -/* 80345DDC 3B BD 00 01 */ addi r29, r29, 1 -/* 80345DE0 2C 1D 00 04 */ cmpwi r29, 4 -/* 80345DE4 3B FF 00 04 */ addi r31, r31, 4 -/* 80345DE8 41 80 FF D4 */ blt lbl_80345DBC -/* 80345DEC 48 00 01 90 */ b lbl_80345F7C -lbl_80345DF0: -/* 80345DF0 7F 63 DB 78 */ mr r3, r27 -/* 80345DF4 4B FF A9 D5 */ bl OSGetWirelessID -/* 80345DF8 2C 1A 00 00 */ cmpwi r26, 0 -/* 80345DFC 54 7A 42 2E */ rlwinm r26, r3, 8, 8, 0x17 -/* 80345E00 41 82 00 54 */ beq lbl_80345E54 -/* 80345E04 57 40 02 D7 */ rlwinm. r0, r26, 0, 0xb, 0xb -/* 80345E08 41 82 00 4C */ beq lbl_80345E54 -/* 80345E0C 3C 60 00 D0 */ lis r3, 0x00D0 /* 0x00CFFF00@ha */ -/* 80345E10 38 03 FF 00 */ addi r0, r3, 0xFF00 /* 0x00CFFF00@l */ -/* 80345E14 7F 40 00 38 */ and r0, r26, r0 -/* 80345E18 64 00 4E 10 */ oris r0, r0, 0x4e10 -/* 80345E1C 7C 9F EA 14 */ add r4, r31, r29 -/* 80345E20 94 04 01 F0 */ stwu r0, 0x1f0(r4) -/* 80345E24 38 00 00 80 */ li r0, 0x80 -/* 80345E28 3C 60 80 34 */ lis r3, GetTypeCallback@ha /* 0x80345CF8@ha */ -/* 80345E2C 90 1E 00 00 */ stw r0, 0(r30) -/* 80345E30 39 03 5C F8 */ addi r8, r3, GetTypeCallback@l /* 0x80345CF8@l */ -/* 80345E34 38 7B 00 00 */ addi r3, r27, 0 -/* 80345E38 38 DE 00 00 */ addi r6, r30, 0 -/* 80345E3C 38 A0 00 03 */ li r5, 3 -/* 80345E40 38 E0 00 03 */ li r7, 3 -/* 80345E44 39 40 00 00 */ li r10, 0 -/* 80345E48 39 20 00 00 */ li r9, 0 -/* 80345E4C 4B FF FD 41 */ bl SITransfer -/* 80345E50 48 00 01 2C */ b lbl_80345F7C -lbl_80345E54: -/* 80345E54 57 80 02 D7 */ rlwinm. r0, r28, 0, 0xb, 0xb -/* 80345E58 41 82 00 70 */ beq lbl_80345EC8 -/* 80345E5C 3C 60 00 D0 */ lis r3, 0x00D0 /* 0x00CFFF00@ha */ -/* 80345E60 38 63 FF 00 */ addi r3, r3, 0xFF00 /* 0x00CFFF00@l */ -/* 80345E64 7F 40 18 38 */ and r0, r26, r3 -/* 80345E68 7F 83 18 38 */ and r3, r28, r3 -/* 80345E6C 7C 00 18 40 */ cmplw r0, r3 -/* 80345E70 41 82 00 C4 */ beq lbl_80345F34 -/* 80345E74 57 40 02 D7 */ rlwinm. r0, r26, 0, 0xb, 0xb -/* 80345E78 40 82 00 14 */ bne lbl_80345E8C -/* 80345E7C 64 7A 00 10 */ oris r26, r3, 0x10 -/* 80345E80 38 7B 00 00 */ addi r3, r27, 0 -/* 80345E84 57 44 C4 3E */ rlwinm r4, r26, 0x18, 0x10, 0x1f -/* 80345E88 4B FF A9 C5 */ bl OSSetWirelessID -lbl_80345E8C: -/* 80345E8C 67 40 4E 00 */ oris r0, r26, 0x4e00 -/* 80345E90 7C 9F EA 14 */ add r4, r31, r29 -/* 80345E94 94 04 01 F0 */ stwu r0, 0x1f0(r4) -/* 80345E98 38 00 00 80 */ li r0, 0x80 -/* 80345E9C 3C 60 80 34 */ lis r3, GetTypeCallback@ha /* 0x80345CF8@ha */ -/* 80345EA0 90 1E 00 00 */ stw r0, 0(r30) -/* 80345EA4 39 03 5C F8 */ addi r8, r3, GetTypeCallback@l /* 0x80345CF8@l */ -/* 80345EA8 38 7B 00 00 */ addi r3, r27, 0 -/* 80345EAC 38 DE 00 00 */ addi r6, r30, 0 -/* 80345EB0 38 A0 00 03 */ li r5, 3 -/* 80345EB4 38 E0 00 03 */ li r7, 3 -/* 80345EB8 39 40 00 00 */ li r10, 0 -/* 80345EBC 39 20 00 00 */ li r9, 0 -/* 80345EC0 4B FF FC CD */ bl SITransfer -/* 80345EC4 48 00 00 B8 */ b lbl_80345F7C -lbl_80345EC8: -/* 80345EC8 57 80 00 43 */ rlwinm. r0, r28, 0, 1, 1 -/* 80345ECC 41 82 00 5C */ beq lbl_80345F28 -/* 80345ED0 3C 60 00 D0 */ lis r3, 0x00D0 /* 0x00CFFF00@ha */ -/* 80345ED4 38 03 FF 00 */ addi r0, r3, 0xFF00 /* 0x00CFFF00@l */ -/* 80345ED8 7F 9C 00 38 */ and r28, r28, r0 -/* 80345EDC 67 9C 00 10 */ oris r28, r28, 0x10 -/* 80345EE0 38 7B 00 00 */ addi r3, r27, 0 -/* 80345EE4 57 84 C4 3E */ rlwinm r4, r28, 0x18, 0x10, 0x1f -/* 80345EE8 4B FF A9 65 */ bl OSSetWirelessID -/* 80345EEC 67 80 4E 00 */ oris r0, r28, 0x4e00 -/* 80345EF0 7C 9F EA 14 */ add r4, r31, r29 -/* 80345EF4 94 04 01 F0 */ stwu r0, 0x1f0(r4) -/* 80345EF8 38 00 00 80 */ li r0, 0x80 -/* 80345EFC 3C 60 80 34 */ lis r3, GetTypeCallback@ha /* 0x80345CF8@ha */ -/* 80345F00 90 1E 00 00 */ stw r0, 0(r30) -/* 80345F04 39 03 5C F8 */ addi r8, r3, GetTypeCallback@l /* 0x80345CF8@l */ -/* 80345F08 38 7B 00 00 */ addi r3, r27, 0 -/* 80345F0C 38 DE 00 00 */ addi r6, r30, 0 -/* 80345F10 38 A0 00 03 */ li r5, 3 -/* 80345F14 38 E0 00 03 */ li r7, 3 -/* 80345F18 39 40 00 00 */ li r10, 0 -/* 80345F1C 39 20 00 00 */ li r9, 0 -/* 80345F20 4B FF FC 6D */ bl SITransfer -/* 80345F24 48 00 00 58 */ b lbl_80345F7C -lbl_80345F28: -/* 80345F28 38 7B 00 00 */ addi r3, r27, 0 -/* 80345F2C 38 80 00 00 */ li r4, 0 -/* 80345F30 4B FF A9 1D */ bl OSSetWirelessID -lbl_80345F34: -/* 80345F34 57 60 20 36 */ slwi r0, r27, 4 -/* 80345F38 83 DE 00 00 */ lwz r30, 0(r30) -/* 80345F3C 7F FF 02 14 */ add r31, r31, r0 -/* 80345F40 3B A0 00 00 */ li r29, 0 -/* 80345F44 3B 9D 00 00 */ addi r28, r29, 0 -/* 80345F48 3B FF 01 60 */ addi r31, r31, 0x160 -lbl_80345F4C: -/* 80345F4C 81 9F 00 00 */ lwz r12, 0(r31) -/* 80345F50 28 0C 00 00 */ cmplwi r12, 0 -/* 80345F54 41 82 00 18 */ beq lbl_80345F6C -/* 80345F58 93 9F 00 00 */ stw r28, 0(r31) -/* 80345F5C 7D 88 03 A6 */ mtlr r12 -/* 80345F60 38 7B 00 00 */ addi r3, r27, 0 -/* 80345F64 38 9E 00 00 */ addi r4, r30, 0 -/* 80345F68 4E 80 00 21 */ blrl -lbl_80345F6C: -/* 80345F6C 3B BD 00 01 */ addi r29, r29, 1 -/* 80345F70 2C 1D 00 04 */ cmpwi r29, 4 -/* 80345F74 3B FF 00 04 */ addi r31, r31, 4 -/* 80345F78 41 80 FF D4 */ blt lbl_80345F4C -lbl_80345F7C: -/* 80345F7C BB 41 00 18 */ lmw r26, 0x18(r1) -/* 80345F80 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80345F84 38 21 00 30 */ addi r1, r1, 0x30 -/* 80345F88 7C 08 03 A6 */ mtlr r0 -/* 80345F8C 4E 80 00 20 */ blr diff --git a/asm/dolphin/si/SIBios/SIGetType.s b/asm/dolphin/si/SIBios/SIGetType.s deleted file mode 100644 index 002149e084f..00000000000 --- a/asm/dolphin/si/SIBios/SIGetType.s +++ /dev/null @@ -1,120 +0,0 @@ -lbl_80345F90: -/* 80345F90 7C 08 02 A6 */ mflr r0 -/* 80345F94 90 01 00 04 */ stw r0, 4(r1) -/* 80345F98 94 21 FF D8 */ stwu r1, -0x28(r1) -/* 80345F9C BF 61 00 14 */ stmw r27, 0x14(r1) -/* 80345FA0 7C 7B 1B 78 */ mr r27, r3 -/* 80345FA4 4B FF 77 51 */ bl OSDisableInterrupts -/* 80345FA8 3C 80 80 3D */ lis r4, Type@ha /* 0x803D1210@ha */ -/* 80345FAC 57 65 10 3A */ slwi r5, r27, 2 -/* 80345FB0 38 04 12 10 */ addi r0, r4, Type@l /* 0x803D1210@l */ -/* 80345FB4 7F C0 2A 14 */ add r30, r0, r5 -/* 80345FB8 83 9E 00 00 */ lwz r28, 0(r30) -/* 80345FBC 7C 7D 1B 78 */ mr r29, r3 -/* 80345FC0 4B FF C7 5D */ bl __OSGetSystemTime -/* 80345FC4 3C A0 80 45 */ lis r5, TypeTime@ha /* 0x8044C750@ha */ -/* 80345FC8 57 66 18 38 */ slwi r6, r27, 3 -/* 80345FCC 38 05 C7 50 */ addi r0, r5, TypeTime@l /* 0x8044C750@l */ -/* 80345FD0 7F E0 32 14 */ add r31, r0, r6 -/* 80345FD4 80 DF 00 04 */ lwz r6, 4(r31) -/* 80345FD8 3C A0 80 3D */ lis r5, Si@ha /* 0x803D11FC@ha */ -/* 80345FDC 38 A5 11 FC */ addi r5, r5, Si@l /* 0x803D11FC@l */ -/* 80345FE0 80 1F 00 00 */ lwz r0, 0(r31) -/* 80345FE4 7C 86 20 10 */ subfc r4, r6, r4 -/* 80345FE8 7C 00 19 10 */ subfe r0, r0, r3 -/* 80345FEC 80 C5 00 04 */ lwz r6, 4(r5) -/* 80345FF0 38 A0 00 80 */ li r5, 0x80 -/* 80345FF4 7C A3 DE 30 */ sraw r3, r5, r27 -/* 80345FF8 7C C3 18 39 */ and. r3, r6, r3 -/* 80345FFC 41 82 00 34 */ beq lbl_80346030 -/* 80346000 28 1C 00 08 */ cmplwi r28, 8 -/* 80346004 41 82 00 20 */ beq lbl_80346024 -/* 80346008 4B FF C7 15 */ bl __OSGetSystemTime -/* 8034600C 90 9F 00 04 */ stw r4, 4(r31) -/* 80346010 90 7F 00 00 */ stw r3, 0(r31) -/* 80346014 7F A3 EB 78 */ mr r3, r29 -/* 80346018 4B FF 77 05 */ bl OSRestoreInterrupts -/* 8034601C 7F 83 E3 78 */ mr r3, r28 -/* 80346020 48 00 01 20 */ b lbl_80346140 -lbl_80346024: -/* 80346024 90 BE 00 00 */ stw r5, 0(r30) -/* 80346028 3B 80 00 80 */ li r28, 0x80 -/* 8034602C 48 00 00 B4 */ b lbl_803460E0 -lbl_80346030: -/* 80346030 3C 60 80 00 */ lis r3, 0x8000 /* 0x800000F8@ha */ -/* 80346034 80 C3 00 F8 */ lwz r6, 0x00F8(r3) /* 0x800000F8@l */ -/* 80346038 3C A0 10 62 */ lis r5, 0x1062 /* 0x10624DD3@ha */ -/* 8034603C 38 A5 4D D3 */ addi r5, r5, 0x4DD3 /* 0x10624DD3@l */ -/* 80346040 54 C6 F0 BE */ srwi r6, r6, 2 -/* 80346044 7C A5 30 16 */ mulhwu r5, r5, r6 -/* 80346048 54 A5 D1 BE */ srwi r5, r5, 6 -/* 8034604C 1C E5 00 32 */ mulli r7, r5, 0x32 -/* 80346050 38 60 00 00 */ li r3, 0 -/* 80346054 6C 66 80 00 */ xoris r6, r3, 0x8000 -/* 80346058 6C 05 80 00 */ xoris r5, r0, 0x8000 -/* 8034605C 7C 64 38 10 */ subfc r3, r4, r7 -/* 80346060 7C A5 31 10 */ subfe r5, r5, r6 -/* 80346064 7C A6 31 10 */ subfe r5, r6, r6 -/* 80346068 7C A5 00 D1 */ neg. r5, r5 -/* 8034606C 40 82 00 1C */ bne lbl_80346088 -/* 80346070 28 1C 00 08 */ cmplwi r28, 8 -/* 80346074 41 82 00 14 */ beq lbl_80346088 -/* 80346078 7F A3 EB 78 */ mr r3, r29 -/* 8034607C 4B FF 76 A1 */ bl OSRestoreInterrupts -/* 80346080 7F 83 E3 78 */ mr r3, r28 -/* 80346084 48 00 00 BC */ b lbl_80346140 -lbl_80346088: -/* 80346088 3C 60 80 00 */ lis r3, 0x8000 /* 0x800000F8@ha */ -/* 8034608C 80 C3 00 F8 */ lwz r6, 0x00F8(r3) /* 0x800000F8@l */ -/* 80346090 3C A0 10 62 */ lis r5, 0x1062 /* 0x10624DD3@ha */ -/* 80346094 38 A5 4D D3 */ addi r5, r5, 0x4DD3 /* 0x10624DD3@l */ -/* 80346098 54 C6 F0 BE */ srwi r6, r6, 2 -/* 8034609C 7C A5 30 16 */ mulhwu r5, r5, r6 -/* 803460A0 54 A5 D1 BE */ srwi r5, r5, 6 -/* 803460A4 1C C5 00 4B */ mulli r6, r5, 0x4b -/* 803460A8 38 60 00 00 */ li r3, 0 -/* 803460AC 6C 65 80 00 */ xoris r5, r3, 0x8000 -/* 803460B0 6C 03 80 00 */ xoris r3, r0, 0x8000 -/* 803460B4 7C 04 30 10 */ subfc r0, r4, r6 -/* 803460B8 7C 63 29 10 */ subfe r3, r3, r5 -/* 803460BC 7C 65 29 10 */ subfe r3, r5, r5 -/* 803460C0 7C 63 00 D1 */ neg. r3, r3 -/* 803460C4 40 82 00 10 */ bne lbl_803460D4 -/* 803460C8 38 00 00 80 */ li r0, 0x80 -/* 803460CC 90 1E 00 00 */ stw r0, 0(r30) -/* 803460D0 48 00 00 10 */ b lbl_803460E0 -lbl_803460D4: -/* 803460D4 38 00 00 80 */ li r0, 0x80 -/* 803460D8 90 1E 00 00 */ stw r0, 0(r30) -/* 803460DC 3B 80 00 80 */ li r28, 0x80 -lbl_803460E0: -/* 803460E0 4B FF C6 3D */ bl __OSGetSystemTime -/* 803460E4 90 9F 00 04 */ stw r4, 4(r31) -/* 803460E8 3C 80 43 1C */ lis r4, 0x431C /* 0x431BDE83@ha */ -/* 803460EC 3C A0 80 34 */ lis r5, GetTypeCallback@ha /* 0x80345CF8@ha */ -/* 803460F0 90 7F 00 00 */ stw r3, 0(r31) -/* 803460F4 3C 60 80 00 */ lis r3, 0x8000 /* 0x800000F8@ha */ -/* 803460F8 39 05 5C F8 */ addi r8, r5, GetTypeCallback@l /* 0x80345CF8@l */ -/* 803460FC 80 03 00 F8 */ lwz r0, 0x00F8(r3) /* 0x800000F8@l */ -/* 80346100 38 84 DE 83 */ addi r4, r4, 0xDE83 /* 0x431BDE83@l */ -/* 80346104 38 7B 00 00 */ addi r3, r27, 0 -/* 80346108 54 00 F0 BE */ srwi r0, r0, 2 -/* 8034610C 7C 04 00 16 */ mulhwu r0, r4, r0 -/* 80346110 54 00 8B FE */ srwi r0, r0, 0xf -/* 80346114 1C 00 00 41 */ mulli r0, r0, 0x41 -/* 80346118 54 0A E8 FE */ srwi r10, r0, 3 -/* 8034611C 38 DE 00 00 */ addi r6, r30, 0 -/* 80346120 38 8D 91 74 */ la r4, cmdTypeAndStatus_372(r13) /* 804516F4-_SDA_BASE_ */ -/* 80346124 38 A0 00 01 */ li r5, 1 -/* 80346128 38 E0 00 03 */ li r7, 3 -/* 8034612C 39 20 00 00 */ li r9, 0 -/* 80346130 4B FF FA 5D */ bl SITransfer -/* 80346134 7F A3 EB 78 */ mr r3, r29 -/* 80346138 4B FF 75 E5 */ bl OSRestoreInterrupts -/* 8034613C 7F 83 E3 78 */ mr r3, r28 -lbl_80346140: -/* 80346140 BB 61 00 14 */ lmw r27, 0x14(r1) -/* 80346144 80 01 00 2C */ lwz r0, 0x2c(r1) -/* 80346148 38 21 00 28 */ addi r1, r1, 0x28 -/* 8034614C 7C 08 03 A6 */ mtlr r0 -/* 80346150 4E 80 00 20 */ blr diff --git a/asm/dolphin/si/SIBios/SIInterruptHandler.s b/asm/dolphin/si/SIBios/SIInterruptHandler.s deleted file mode 100644 index c53e7ee673e..00000000000 --- a/asm/dolphin/si/SIBios/SIInterruptHandler.s +++ /dev/null @@ -1,225 +0,0 @@ -lbl_80344EF8: -/* 80344EF8 7C 08 02 A6 */ mflr r0 -/* 80344EFC 3C A0 CC 00 */ lis r5, 0xCC00 /* 0xCC006434@ha */ -/* 80344F00 90 01 00 04 */ stw r0, 4(r1) -/* 80344F04 3C E0 80 45 */ lis r7, Packet@ha /* 0x8044C630@ha */ -/* 80344F08 3C C0 80 3D */ lis r6, lit_1@ha /* 0x803D11B8@ha */ -/* 80344F0C 94 21 FF B8 */ stwu r1, -0x48(r1) -/* 80344F10 BE A1 00 1C */ stmw r21, 0x1c(r1) -/* 80344F14 3B C3 00 00 */ addi r30, r3, 0 -/* 80344F18 3B E4 00 00 */ addi r31, r4, 0 -/* 80344F1C 3B 87 C6 30 */ addi r28, r7, Packet@l /* 0x8044C630@l */ -/* 80344F20 3B A6 11 B8 */ addi r29, r6, lit_1@l /* 0x803D11B8@l */ -/* 80344F24 83 05 64 34 */ lwz r24, 0x6434(r5) /* 0xCC006434@l */ -/* 80344F28 57 05 00 02 */ rlwinm r5, r24, 0, 0, 1 -/* 80344F2C 3C 05 40 00 */ addis r0, r5, 0x4000 -/* 80344F30 28 00 00 00 */ cmplwi r0, 0 -/* 80344F34 40 82 01 84 */ bne lbl_803450B8 -/* 80344F38 82 FD 00 44 */ lwz r23, 0x44(r29) -/* 80344F3C 4B FF FC C1 */ bl CompleteTransfer -/* 80344F40 82 BD 00 54 */ lwz r21, 0x54(r29) -/* 80344F44 3B 60 00 00 */ li r27, 0 -/* 80344F48 3A C3 00 00 */ addi r22, r3, 0 -/* 80344F4C 93 7D 00 54 */ stw r27, 0x54(r29) -/* 80344F50 3B 57 00 00 */ addi r26, r23, 0 -lbl_80344F54: -/* 80344F54 3B 5A 00 01 */ addi r26, r26, 1 -/* 80344F58 7F 40 16 70 */ srawi r0, r26, 2 -/* 80344F5C 7C 00 01 94 */ addze r0, r0 -/* 80344F60 54 00 10 3A */ slwi r0, r0, 2 -/* 80344F64 7C 00 D0 10 */ subfc r0, r0, r26 -/* 80344F68 7C 1A 03 78 */ mr r26, r0 -/* 80344F6C 54 00 28 34 */ slwi r0, r0, 5 -/* 80344F70 7F 3C 02 14 */ add r25, r28, r0 -/* 80344F74 80 19 00 00 */ lwz r0, 0(r25) -/* 80344F78 2C 00 FF FF */ cmpwi r0, -1 -/* 80344F7C 41 82 00 6C */ beq lbl_80344FE8 -/* 80344F80 4B FF D7 9D */ bl __OSGetSystemTime -/* 80344F84 80 19 00 18 */ lwz r0, 0x18(r25) -/* 80344F88 6C 65 80 00 */ xoris r5, r3, 0x8000 -/* 80344F8C 80 D9 00 1C */ lwz r6, 0x1c(r25) -/* 80344F90 6C 03 80 00 */ xoris r3, r0, 0x8000 -/* 80344F94 7C 06 20 10 */ subfc r0, r6, r4 -/* 80344F98 7C 63 29 10 */ subfe r3, r3, r5 -/* 80344F9C 7C 65 29 10 */ subfe r3, r5, r5 -/* 80344FA0 7C 63 00 D1 */ neg. r3, r3 -/* 80344FA4 40 82 00 44 */ bne lbl_80344FE8 -/* 80344FA8 80 79 00 00 */ lwz r3, 0(r25) -/* 80344FAC 80 99 00 04 */ lwz r4, 4(r25) -/* 80344FB0 80 B9 00 08 */ lwz r5, 8(r25) -/* 80344FB4 80 D9 00 0C */ lwz r6, 0xc(r25) -/* 80344FB8 80 F9 00 10 */ lwz r7, 0x10(r25) -/* 80344FBC 81 19 00 14 */ lwz r8, 0x14(r25) -/* 80344FC0 48 00 05 89 */ bl __SITransfer -/* 80344FC4 2C 03 00 00 */ cmpwi r3, 0 -/* 80344FC8 41 82 00 2C */ beq lbl_80344FF4 -/* 80344FCC 1C 1A 00 28 */ mulli r0, r26, 0x28 -/* 80344FD0 7C 7C 02 14 */ add r3, r28, r0 -/* 80344FD4 38 63 00 80 */ addi r3, r3, 0x80 -/* 80344FD8 4B FF 5C 65 */ bl OSCancelAlarm -/* 80344FDC 38 00 FF FF */ li r0, -1 -/* 80344FE0 90 19 00 00 */ stw r0, 0(r25) -/* 80344FE4 48 00 00 10 */ b lbl_80344FF4 -lbl_80344FE8: -/* 80344FE8 3B 7B 00 01 */ addi r27, r27, 1 -/* 80344FEC 2C 1B 00 04 */ cmpwi r27, 4 -/* 80344FF0 41 80 FF 64 */ blt lbl_80344F54 -lbl_80344FF4: -/* 80344FF4 28 15 00 00 */ cmplwi r21, 0 -/* 80344FF8 41 82 00 1C */ beq lbl_80345014 -/* 80344FFC 39 95 00 00 */ addi r12, r21, 0 -/* 80345000 7D 88 03 A6 */ mtlr r12 -/* 80345004 38 77 00 00 */ addi r3, r23, 0 -/* 80345008 38 96 00 00 */ addi r4, r22, 0 -/* 8034500C 38 BF 00 00 */ addi r5, r31, 0 -/* 80345010 4E 80 00 21 */ blrl -lbl_80345014: -/* 80345014 3C 60 CC 00 */ lis r3, 0xCC00 /* 0xCC006400@ha */ -/* 80345018 38 83 64 00 */ addi r4, r3, 0x6400 /* 0xCC006400@l */ -/* 8034501C 80 A3 64 38 */ lwz r5, 0x6438(r3) -/* 80345020 56 E0 18 38 */ slwi r0, r23, 3 -/* 80345024 3C 60 0F 00 */ lis r3, 0xf00 -/* 80345028 7C 60 06 30 */ sraw r0, r3, r0 -/* 8034502C 7C A5 00 38 */ and r5, r5, r0 -/* 80345030 56 E0 10 3A */ slwi r0, r23, 2 -/* 80345034 90 A4 00 38 */ stw r5, 0x38(r4) -/* 80345038 7C DD 02 14 */ add r6, r29, r0 -/* 8034503C 84 06 00 58 */ lwzu r0, 0x58(r6) -/* 80345040 28 00 00 80 */ cmplwi r0, 0x80 -/* 80345044 40 82 00 74 */ bne lbl_803450B8 -/* 80345048 56 E0 28 34 */ slwi r0, r23, 5 -/* 8034504C 7C 1C 00 2E */ lwzx r0, r28, r0 -/* 80345050 38 60 00 01 */ li r3, 1 -/* 80345054 2C 00 FF FF */ cmpwi r0, -1 -/* 80345058 40 82 00 14 */ bne lbl_8034506C -/* 8034505C 80 1D 00 44 */ lwz r0, 0x44(r29) -/* 80345060 7C 00 B8 00 */ cmpw r0, r23 -/* 80345064 41 82 00 08 */ beq lbl_8034506C -/* 80345068 38 60 00 00 */ li r3, 0 -lbl_8034506C: -/* 8034506C 2C 03 00 00 */ cmpwi r3, 0 -/* 80345070 40 82 00 48 */ bne lbl_803450B8 -/* 80345074 3C 60 80 00 */ lis r3, 0x8000 /* 0x800000F8@ha */ -/* 80345078 80 03 00 F8 */ lwz r0, 0x00F8(r3) /* 0x800000F8@l */ -/* 8034507C 3C 60 43 1C */ lis r3, 0x431C /* 0x431BDE83@ha */ -/* 80345080 3C 80 80 34 */ lis r4, GetTypeCallback@ha /* 0x80345CF8@ha */ -/* 80345084 54 00 F0 BE */ srwi r0, r0, 2 -/* 80345088 38 63 DE 83 */ addi r3, r3, 0xDE83 /* 0x431BDE83@l */ -/* 8034508C 7C 03 00 16 */ mulhwu r0, r3, r0 -/* 80345090 54 00 8B FE */ srwi r0, r0, 0xf -/* 80345094 1C 00 00 41 */ mulli r0, r0, 0x41 -/* 80345098 39 04 5C F8 */ addi r8, r4, GetTypeCallback@l /* 0x80345CF8@l */ -/* 8034509C 54 0A E8 FE */ srwi r10, r0, 3 -/* 803450A0 38 77 00 00 */ addi r3, r23, 0 -/* 803450A4 38 8D 91 70 */ la r4, cmdTypeAndStatus_78(r13) /* 804516F0-_SDA_BASE_ */ -/* 803450A8 38 A0 00 01 */ li r5, 1 -/* 803450AC 38 E0 00 03 */ li r7, 3 -/* 803450B0 39 20 00 00 */ li r9, 0 -/* 803450B4 48 00 0A D9 */ bl SITransfer -lbl_803450B8: -/* 803450B8 57 03 00 C8 */ rlwinm r3, r24, 0, 3, 4 -/* 803450BC 3C 03 E8 00 */ addis r0, r3, 0xe800 -/* 803450C0 28 00 00 00 */ cmplwi r0, 0 -/* 803450C4 40 82 01 64 */ bne lbl_80345228 -/* 803450C8 48 00 89 3D */ bl VIGetCurrentLine -/* 803450CC 80 1D 00 48 */ lwz r0, 0x48(r29) -/* 803450D0 3A FC 01 E0 */ addi r23, r28, 0x1e0 -/* 803450D4 3B 1D 00 48 */ addi r24, r29, 0x48 -/* 803450D8 3A D7 00 00 */ addi r22, r23, 0 -/* 803450DC 3A A3 00 01 */ addi r21, r3, 1 -/* 803450E0 54 1A 85 BE */ rlwinm r26, r0, 0x10, 0x16, 0x1f -/* 803450E4 3B 20 00 00 */ li r25, 0 -lbl_803450E8: -/* 803450E8 7F 23 CB 78 */ mr r3, r25 -/* 803450EC 48 00 08 7D */ bl SIGetResponseRaw -/* 803450F0 2C 03 00 00 */ cmpwi r3, 0 -/* 803450F4 41 82 00 08 */ beq lbl_803450FC -/* 803450F8 92 B6 00 00 */ stw r21, 0(r22) -lbl_803450FC: -/* 803450FC 3B 39 00 01 */ addi r25, r25, 1 -/* 80345100 2C 19 00 04 */ cmpwi r25, 4 -/* 80345104 3A D6 00 04 */ addi r22, r22, 4 -/* 80345108 41 80 FF E0 */ blt lbl_803450E8 -/* 8034510C 80 B8 00 00 */ lwz r5, 0(r24) -/* 80345110 3C 60 80 00 */ lis r3, 0x8000 -/* 80345114 38 00 00 18 */ li r0, 0x18 -/* 80345118 7C 60 04 30 */ srw r0, r3, r0 -/* 8034511C 7C A0 00 39 */ and. r0, r5, r0 -/* 80345120 57 46 F8 7E */ srwi r6, r26, 1 -/* 80345124 41 82 00 24 */ beq lbl_80345148 -/* 80345128 80 17 00 00 */ lwz r0, 0(r23) -/* 8034512C 28 00 00 00 */ cmplwi r0, 0 -/* 80345130 41 82 00 F8 */ beq lbl_80345228 -/* 80345134 80 17 00 00 */ lwz r0, 0(r23) -/* 80345138 7C 06 02 14 */ add r0, r6, r0 -/* 8034513C 7C 00 A8 40 */ cmplw r0, r21 -/* 80345140 40 80 00 08 */ bge lbl_80345148 -/* 80345144 48 00 00 E4 */ b lbl_80345228 -lbl_80345148: -/* 80345148 38 00 00 19 */ li r0, 0x19 -/* 8034514C 7C 60 04 30 */ srw r0, r3, r0 -/* 80345150 7C A0 00 39 */ and. r0, r5, r0 -/* 80345154 38 97 00 04 */ addi r4, r23, 4 -/* 80345158 41 82 00 24 */ beq lbl_8034517C -/* 8034515C 80 04 00 00 */ lwz r0, 0(r4) -/* 80345160 28 00 00 00 */ cmplwi r0, 0 -/* 80345164 41 82 00 C4 */ beq lbl_80345228 -/* 80345168 80 04 00 00 */ lwz r0, 0(r4) -/* 8034516C 7C 06 02 14 */ add r0, r6, r0 -/* 80345170 7C 00 A8 40 */ cmplw r0, r21 -/* 80345174 40 80 00 08 */ bge lbl_8034517C -/* 80345178 48 00 00 B0 */ b lbl_80345228 -lbl_8034517C: -/* 8034517C 38 00 00 1A */ li r0, 0x1a -/* 80345180 7C 60 04 30 */ srw r0, r3, r0 -/* 80345184 7C A0 00 39 */ and. r0, r5, r0 -/* 80345188 38 84 00 04 */ addi r4, r4, 4 -/* 8034518C 41 82 00 24 */ beq lbl_803451B0 -/* 80345190 80 04 00 00 */ lwz r0, 0(r4) -/* 80345194 28 00 00 00 */ cmplwi r0, 0 -/* 80345198 41 82 00 90 */ beq lbl_80345228 -/* 8034519C 80 04 00 00 */ lwz r0, 0(r4) -/* 803451A0 7C 06 02 14 */ add r0, r6, r0 -/* 803451A4 7C 00 A8 40 */ cmplw r0, r21 -/* 803451A8 40 80 00 08 */ bge lbl_803451B0 -/* 803451AC 48 00 00 7C */ b lbl_80345228 -lbl_803451B0: -/* 803451B0 38 00 00 1B */ li r0, 0x1b -/* 803451B4 7C 60 04 30 */ srw r0, r3, r0 -/* 803451B8 7C A0 00 39 */ and. r0, r5, r0 -/* 803451BC 38 84 00 04 */ addi r4, r4, 4 -/* 803451C0 41 82 00 24 */ beq lbl_803451E4 -/* 803451C4 80 04 00 00 */ lwz r0, 0(r4) -/* 803451C8 28 00 00 00 */ cmplwi r0, 0 -/* 803451CC 41 82 00 5C */ beq lbl_80345228 -/* 803451D0 80 04 00 00 */ lwz r0, 0(r4) -/* 803451D4 7C 06 02 14 */ add r0, r6, r0 -/* 803451D8 7C 00 A8 40 */ cmplw r0, r21 -/* 803451DC 40 80 00 08 */ bge lbl_803451E4 -/* 803451E0 48 00 00 48 */ b lbl_80345228 -lbl_803451E4: -/* 803451E4 3A C0 00 00 */ li r22, 0 -/* 803451E8 92 D7 00 00 */ stw r22, 0(r23) -/* 803451EC 3A BC 01 A0 */ addi r21, r28, 0x1a0 -/* 803451F0 92 DC 01 E4 */ stw r22, 0x1e4(r28) -/* 803451F4 92 DC 01 E8 */ stw r22, 0x1e8(r28) -/* 803451F8 92 DC 01 EC */ stw r22, 0x1ec(r28) -lbl_803451FC: -/* 803451FC 81 95 00 00 */ lwz r12, 0(r21) -/* 80345200 28 0C 00 00 */ cmplwi r12, 0 -/* 80345204 41 82 00 14 */ beq lbl_80345218 -/* 80345208 7D 88 03 A6 */ mtlr r12 -/* 8034520C 38 7E 00 00 */ addi r3, r30, 0 -/* 80345210 38 9F 00 00 */ addi r4, r31, 0 -/* 80345214 4E 80 00 21 */ blrl -lbl_80345218: -/* 80345218 3A D6 00 01 */ addi r22, r22, 1 -/* 8034521C 2C 16 00 04 */ cmpwi r22, 4 -/* 80345220 3A B5 00 04 */ addi r21, r21, 4 -/* 80345224 41 80 FF D8 */ blt lbl_803451FC -lbl_80345228: -/* 80345228 BA A1 00 1C */ lmw r21, 0x1c(r1) -/* 8034522C 80 01 00 4C */ lwz r0, 0x4c(r1) -/* 80345230 38 21 00 48 */ addi r1, r1, 0x48 -/* 80345234 7C 08 03 A6 */ mtlr r0 -/* 80345238 4E 80 00 20 */ blr diff --git a/asm/dolphin/si/SISamplingRate/SISetSamplingRate.s b/asm/dolphin/si/SISamplingRate/SISetSamplingRate.s deleted file mode 100644 index 9ec17740f43..00000000000 --- a/asm/dolphin/si/SISamplingRate/SISetSamplingRate.s +++ /dev/null @@ -1,66 +0,0 @@ -lbl_80346290: -/* 80346290 7C 08 02 A6 */ mflr r0 -/* 80346294 90 01 00 04 */ stw r0, 4(r1) -/* 80346298 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8034629C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 803462A0 93 C1 00 18 */ stw r30, 0x18(r1) -/* 803462A4 93 A1 00 14 */ stw r29, 0x14(r1) -/* 803462A8 3B A3 00 00 */ addi r29, r3, 0 -/* 803462AC 28 1D 00 0B */ cmplwi r29, 0xb -/* 803462B0 3C 60 80 3D */ lis r3, XYNTSC@ha /* 0x803D12D0@ha */ -/* 803462B4 3B E3 12 D0 */ addi r31, r3, XYNTSC@l /* 0x803D12D0@l */ -/* 803462B8 40 81 00 08 */ ble lbl_803462C0 -/* 803462BC 3B A0 00 0B */ li r29, 0xb -lbl_803462C0: -/* 803462C0 4B FF 74 35 */ bl OSDisableInterrupts -/* 803462C4 93 AD 91 80 */ stw r29, SamplingRate(r13) -/* 803462C8 7C 7E 1B 78 */ mr r30, r3 -/* 803462CC 48 00 77 D1 */ bl VIGetTvFormat -/* 803462D0 2C 03 00 02 */ cmpwi r3, 2 -/* 803462D4 41 82 00 24 */ beq lbl_803462F8 -/* 803462D8 40 80 00 14 */ bge lbl_803462EC -/* 803462DC 2C 03 00 00 */ cmpwi r3, 0 -/* 803462E0 41 82 00 18 */ beq lbl_803462F8 -/* 803462E4 40 80 00 1C */ bge lbl_80346300 -/* 803462E8 48 00 00 20 */ b lbl_80346308 -lbl_803462EC: -/* 803462EC 2C 03 00 05 */ cmpwi r3, 5 -/* 803462F0 41 82 00 08 */ beq lbl_803462F8 -/* 803462F4 48 00 00 14 */ b lbl_80346308 -lbl_803462F8: -/* 803462F8 7F E4 FB 78 */ mr r4, r31 -/* 803462FC 48 00 00 20 */ b lbl_8034631C -lbl_80346300: -/* 80346300 38 9F 00 30 */ addi r4, r31, 0x30 -/* 80346304 48 00 00 18 */ b lbl_8034631C -lbl_80346308: -/* 80346308 38 7F 00 60 */ addi r3, r31, 0x60 -/* 8034630C 4C C6 31 82 */ crclr 6 -/* 80346310 4B CC 07 AD */ bl OSReport -/* 80346314 3B A0 00 00 */ li r29, 0 -/* 80346318 38 9F 00 00 */ addi r4, r31, 0 -lbl_8034631C: -/* 8034631C 3C 60 CC 00 */ lis r3, 0xCC00 /* 0xCC00206C@ha */ -/* 80346320 A0 03 20 6C */ lhz r0, 0x206C(r3) /* 0xCC00206C@l */ -/* 80346324 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80346328 41 82 00 0C */ beq lbl_80346334 -/* 8034632C 38 A0 00 02 */ li r5, 2 -/* 80346330 48 00 00 08 */ b lbl_80346338 -lbl_80346334: -/* 80346334 38 A0 00 01 */ li r5, 1 -lbl_80346338: -/* 80346338 57 A3 10 3A */ slwi r3, r29, 2 -/* 8034633C 7C 04 1A 2E */ lhzx r0, r4, r3 -/* 80346340 7C 64 1A 14 */ add r3, r4, r3 -/* 80346344 88 83 00 02 */ lbz r4, 2(r3) -/* 80346348 7C 65 01 D6 */ mullw r3, r5, r0 -/* 8034634C 4B FF F4 A9 */ bl SISetXY -/* 80346350 7F C3 F3 78 */ mr r3, r30 -/* 80346354 4B FF 73 C9 */ bl OSRestoreInterrupts -/* 80346358 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8034635C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80346360 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80346364 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 80346368 38 21 00 20 */ addi r1, r1, 0x20 -/* 8034636C 7C 08 03 A6 */ mtlr r0 -/* 80346370 4E 80 00 20 */ blr diff --git a/asm/dolphin/vi/vi/VIGetDTVStatus.s b/asm/dolphin/vi/vi/VIGetDTVStatus.s deleted file mode 100644 index 237a53eab7e..00000000000 --- a/asm/dolphin/vi/vi/VIGetDTVStatus.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_8034DB04: -/* 8034DB04 7C 08 02 A6 */ mflr r0 -/* 8034DB08 90 01 00 04 */ stw r0, 4(r1) -/* 8034DB0C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8034DB10 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8034DB14 4B FE FB E1 */ bl OSDisableInterrupts -/* 8034DB18 3C 80 CC 00 */ lis r4, 0xCC00 /* 0xCC00206E@ha */ -/* 8034DB1C A0 04 20 6E */ lhz r0, 0x206E(r4) /* 0xCC00206E@l */ -/* 8034DB20 54 1F 07 BE */ clrlwi r31, r0, 0x1e -/* 8034DB24 4B FE FB F9 */ bl OSRestoreInterrupts -/* 8034DB28 57 E3 07 FE */ clrlwi r3, r31, 0x1f -/* 8034DB2C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8034DB30 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8034DB34 38 21 00 10 */ addi r1, r1, 0x10 -/* 8034DB38 7C 08 03 A6 */ mtlr r0 -/* 8034DB3C 4E 80 00 20 */ blr diff --git a/asm/dolphin/vi/vi/VISetBlack.s b/asm/dolphin/vi/vi/VISetBlack.s deleted file mode 100644 index c8f2d2fef47..00000000000 --- a/asm/dolphin/vi/vi/VISetBlack.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_8034D840: -/* 8034D840 7C 08 02 A6 */ mflr r0 -/* 8034D844 3C 80 80 45 */ lis r4, regs@ha /* 0x8044CA28@ha */ -/* 8034D848 90 01 00 04 */ stw r0, 4(r1) -/* 8034D84C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8034D850 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8034D854 3B E4 CA 28 */ addi r31, r4, regs@l /* 0x8044CA28@l */ -/* 8034D858 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8034D85C 3B C3 00 00 */ addi r30, r3, 0 -/* 8034D860 4B FE FE 95 */ bl OSDisableInterrupts -/* 8034D864 93 DF 01 30 */ stw r30, 0x130(r31) -/* 8034D868 7C 7E 1B 78 */ mr r30, r3 -/* 8034D86C 81 5F 01 44 */ lwz r10, 0x144(r31) -/* 8034D870 80 1F 01 30 */ lwz r0, 0x130(r31) -/* 8034D874 90 01 00 08 */ stw r0, 8(r1) -/* 8034D878 A0 7F 00 FA */ lhz r3, 0xfa(r31) -/* 8034D87C A0 9F 00 F6 */ lhz r4, 0xf6(r31) -/* 8034D880 88 AA 00 00 */ lbz r5, 0(r10) -/* 8034D884 A0 CA 00 02 */ lhz r6, 2(r10) -/* 8034D888 A0 EA 00 04 */ lhz r7, 4(r10) -/* 8034D88C A1 0A 00 06 */ lhz r8, 6(r10) -/* 8034D890 A1 2A 00 08 */ lhz r9, 8(r10) -/* 8034D894 A1 4A 00 0A */ lhz r10, 0xa(r10) -/* 8034D898 4B FF F4 55 */ bl setVerticalRegs -/* 8034D89C 7F C3 F3 78 */ mr r3, r30 -/* 8034D8A0 4B FE FE 7D */ bl OSRestoreInterrupts -/* 8034D8A4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8034D8A8 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8034D8AC 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8034D8B0 38 21 00 20 */ addi r1, r1, 0x20 -/* 8034D8B4 7C 08 03 A6 */ mtlr r0 -/* 8034D8B8 4E 80 00 20 */ blr diff --git a/asm/dolphin/vi/vi/VISetNextFrameBuffer.s b/asm/dolphin/vi/vi/VISetNextFrameBuffer.s deleted file mode 100644 index 3694fc0ae8e..00000000000 --- a/asm/dolphin/vi/vi/VISetNextFrameBuffer.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_8034D7C4: -/* 8034D7C4 7C 08 02 A6 */ mflr r0 -/* 8034D7C8 3C 80 80 45 */ lis r4, regs@ha /* 0x8044CA28@ha */ -/* 8034D7CC 90 01 00 04 */ stw r0, 4(r1) -/* 8034D7D0 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 8034D7D4 93 E1 00 14 */ stw r31, 0x14(r1) -/* 8034D7D8 3B E4 CA 28 */ addi r31, r4, regs@l /* 0x8044CA28@l */ -/* 8034D7DC 93 C1 00 10 */ stw r30, 0x10(r1) -/* 8034D7E0 3B C3 00 00 */ addi r30, r3, 0 -/* 8034D7E4 4B FE FF 11 */ bl OSDisableInterrupts -/* 8034D7E8 93 DF 01 20 */ stw r30, 0x120(r31) -/* 8034D7EC 38 00 00 01 */ li r0, 1 -/* 8034D7F0 3B C3 00 00 */ addi r30, r3, 0 -/* 8034D7F4 90 0D 92 B8 */ stw r0, FBSet(r13) -/* 8034D7F8 38 7F 00 F0 */ addi r3, r31, 0xf0 -/* 8034D7FC 38 9F 01 24 */ addi r4, r31, 0x124 -/* 8034D800 38 BF 01 28 */ addi r5, r31, 0x128 -/* 8034D804 38 DF 01 3C */ addi r6, r31, 0x13c -/* 8034D808 38 FF 01 40 */ addi r7, r31, 0x140 -/* 8034D80C 4B FF F2 0D */ bl setFbbRegs -/* 8034D810 7F C3 F3 78 */ mr r3, r30 -/* 8034D814 4B FE FF 09 */ bl OSRestoreInterrupts -/* 8034D818 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 8034D81C 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 8034D820 83 C1 00 10 */ lwz r30, 0x10(r1) -/* 8034D824 38 21 00 18 */ addi r1, r1, 0x18 -/* 8034D828 7C 08 03 A6 */ mtlr r0 -/* 8034D82C 4E 80 00 20 */ blr diff --git a/asm/dolphin/vi/vi/VISetPostRetraceCallback.s b/asm/dolphin/vi/vi/VISetPostRetraceCallback.s deleted file mode 100644 index c37195382fb..00000000000 --- a/asm/dolphin/vi/vi/VISetPostRetraceCallback.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8034C224: -/* 8034C224 7C 08 02 A6 */ mflr r0 -/* 8034C228 90 01 00 04 */ stw r0, 4(r1) -/* 8034C22C 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 8034C230 93 E1 00 14 */ stw r31, 0x14(r1) -/* 8034C234 93 C1 00 10 */ stw r30, 0x10(r1) -/* 8034C238 7C 7E 1B 78 */ mr r30, r3 -/* 8034C23C 83 ED 92 78 */ lwz r31, PostCB(r13) -/* 8034C240 4B FF 14 B5 */ bl OSDisableInterrupts -/* 8034C244 93 CD 92 78 */ stw r30, PostCB(r13) -/* 8034C248 4B FF 14 D5 */ bl OSRestoreInterrupts -/* 8034C24C 7F E3 FB 78 */ mr r3, r31 -/* 8034C250 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 8034C254 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 8034C258 83 C1 00 10 */ lwz r30, 0x10(r1) -/* 8034C25C 38 21 00 18 */ addi r1, r1, 0x18 -/* 8034C260 7C 08 03 A6 */ mtlr r0 -/* 8034C264 4E 80 00 20 */ blr diff --git a/asm/dolphin/vi/vi/VISetPreRetraceCallback.s b/asm/dolphin/vi/vi/VISetPreRetraceCallback.s deleted file mode 100644 index 776cd7f621d..00000000000 --- a/asm/dolphin/vi/vi/VISetPreRetraceCallback.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8034C1E0: -/* 8034C1E0 7C 08 02 A6 */ mflr r0 -/* 8034C1E4 90 01 00 04 */ stw r0, 4(r1) -/* 8034C1E8 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 8034C1EC 93 E1 00 14 */ stw r31, 0x14(r1) -/* 8034C1F0 93 C1 00 10 */ stw r30, 0x10(r1) -/* 8034C1F4 7C 7E 1B 78 */ mr r30, r3 -/* 8034C1F8 83 ED 92 74 */ lwz r31, PreCB(r13) -/* 8034C1FC 4B FF 14 F9 */ bl OSDisableInterrupts -/* 8034C200 93 CD 92 74 */ stw r30, PreCB(r13) -/* 8034C204 4B FF 15 19 */ bl OSRestoreInterrupts -/* 8034C208 7F E3 FB 78 */ mr r3, r31 -/* 8034C20C 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 8034C210 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 8034C214 83 C1 00 10 */ lwz r30, 0x10(r1) -/* 8034C218 38 21 00 18 */ addi r1, r1, 0x18 -/* 8034C21C 7C 08 03 A6 */ mtlr r0 -/* 8034C220 4E 80 00 20 */ blr diff --git a/asm/dolphin/vi/vi/VIWaitForRetrace.s b/asm/dolphin/vi/vi/VIWaitForRetrace.s deleted file mode 100644 index f7506c2f9b3..00000000000 --- a/asm/dolphin/vi/vi/VIWaitForRetrace.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8034C9C4: -/* 8034C9C4 7C 08 02 A6 */ mflr r0 -/* 8034C9C8 90 01 00 04 */ stw r0, 4(r1) -/* 8034C9CC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8034C9D0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8034C9D4 93 C1 00 08 */ stw r30, 8(r1) -/* 8034C9D8 4B FF 0D 1D */ bl OSDisableInterrupts -/* 8034C9DC 83 CD 92 64 */ lwz r30, retraceCount(r13) -/* 8034C9E0 7C 7F 1B 78 */ mr r31, r3 -lbl_8034C9E4: -/* 8034C9E4 38 6D 92 6C */ la r3, retraceQueue(r13) /* 804517EC-_SDA_BASE_ */ -/* 8034C9E8 4B FF 51 C5 */ bl OSSleepThread -/* 8034C9EC 80 0D 92 64 */ lwz r0, retraceCount(r13) -/* 8034C9F0 7C 1E 00 40 */ cmplw r30, r0 -/* 8034C9F4 41 82 FF F0 */ beq lbl_8034C9E4 -/* 8034C9F8 7F E3 FB 78 */ mr r3, r31 -/* 8034C9FC 4B FF 0D 21 */ bl OSRestoreInterrupts -/* 8034CA00 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8034CA04 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8034CA08 83 C1 00 08 */ lwz r30, 8(r1) -/* 8034CA0C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8034CA10 7C 08 03 A6 */ mtlr r0 -/* 8034CA14 4E 80 00 20 */ blr diff --git a/asm/exi/EXIBios/EXIGetID.s b/asm/exi/EXIBios/EXIGetID.s deleted file mode 100644 index 4a1b8508936..00000000000 --- a/asm/exi/EXIBios/EXIGetID.s +++ /dev/null @@ -1,261 +0,0 @@ -lbl_80344238: -/* 80344238 7C 08 02 A6 */ mflr r0 -/* 8034423C 90 01 00 04 */ stw r0, 4(r1) -/* 80344240 94 21 FF B8 */ stwu r1, -0x48(r1) -/* 80344244 BE E1 00 24 */ stmw r23, 0x24(r1) -/* 80344248 7C 79 1B 79 */ or. r25, r3, r3 -/* 8034424C 3B 44 00 00 */ addi r26, r4, 0 -/* 80344250 3B 65 00 00 */ addi r27, r5, 0 -/* 80344254 54 64 30 32 */ slwi r4, r3, 6 -/* 80344258 3C 60 80 45 */ lis r3, Ecb@ha /* 0x8044C570@ha */ -/* 8034425C 38 03 C5 70 */ addi r0, r3, Ecb@l /* 0x8044C570@l */ -/* 80344260 7F E0 22 14 */ add r31, r0, r4 -/* 80344264 40 82 00 24 */ bne lbl_80344288 -/* 80344268 28 1A 00 02 */ cmplwi r26, 2 -/* 8034426C 40 82 00 1C */ bne lbl_80344288 -/* 80344270 80 0D 91 58 */ lwz r0, IDSerialPort1(r13) -/* 80344274 28 00 00 00 */ cmplwi r0, 0 -/* 80344278 41 82 00 10 */ beq lbl_80344288 -/* 8034427C 90 1B 00 00 */ stw r0, 0(r27) -/* 80344280 38 60 00 01 */ li r3, 1 -/* 80344284 48 00 03 50 */ b lbl_803445D4 -lbl_80344288: -/* 80344288 2C 19 00 02 */ cmpwi r25, 2 -/* 8034428C 40 80 00 E0 */ bge lbl_8034436C -/* 80344290 28 1A 00 00 */ cmplwi r26, 0 -/* 80344294 40 82 00 D8 */ bne lbl_8034436C -/* 80344298 7F 23 CB 78 */ mr r3, r25 -/* 8034429C 4B FF F1 5D */ bl __EXIProbe -/* 803442A0 2C 03 00 00 */ cmpwi r3, 0 -/* 803442A4 40 82 00 0C */ bne lbl_803442B0 -/* 803442A8 38 60 00 00 */ li r3, 0 -/* 803442AC 48 00 03 28 */ b lbl_803445D4 -lbl_803442B0: -/* 803442B0 80 9F 00 20 */ lwz r4, 0x20(r31) -/* 803442B4 57 20 10 3A */ slwi r0, r25, 2 -/* 803442B8 3C 60 80 00 */ lis r3, 0x8000 /* 0x800030C0@ha */ -/* 803442BC 3B C3 30 C0 */ addi r30, r3, 0x30C0 /* 0x800030C0@l */ -/* 803442C0 7F DE 02 14 */ add r30, r30, r0 -/* 803442C4 80 1E 00 00 */ lwz r0, 0(r30) -/* 803442C8 7C 04 00 00 */ cmpw r4, r0 -/* 803442CC 40 82 00 14 */ bne lbl_803442E0 -/* 803442D0 80 1F 00 1C */ lwz r0, 0x1c(r31) -/* 803442D4 90 1B 00 00 */ stw r0, 0(r27) -/* 803442D8 80 7F 00 20 */ lwz r3, 0x20(r31) -/* 803442DC 48 00 02 F8 */ b lbl_803445D4 -lbl_803442E0: -/* 803442E0 4B FF 94 15 */ bl OSDisableInterrupts -/* 803442E4 7C 7C 1B 78 */ mr r28, r3 -/* 803442E8 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 803442EC 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 803442F0 40 82 00 14 */ bne lbl_80344304 -/* 803442F4 7F 23 CB 78 */ mr r3, r25 -/* 803442F8 4B FF F1 01 */ bl __EXIProbe -/* 803442FC 2C 03 00 00 */ cmpwi r3, 0 -/* 80344300 40 82 00 14 */ bne lbl_80344314 -lbl_80344304: -/* 80344304 7F 83 E3 78 */ mr r3, r28 -/* 80344308 4B FF 94 15 */ bl OSRestoreInterrupts -/* 8034430C 38 00 00 00 */ li r0, 0 -/* 80344310 48 00 00 48 */ b lbl_80344358 -lbl_80344314: -/* 80344314 38 79 00 00 */ addi r3, r25, 0 -/* 80344318 38 80 00 01 */ li r4, 1 -/* 8034431C 38 A0 00 00 */ li r5, 0 -/* 80344320 38 C0 00 00 */ li r6, 0 -/* 80344324 4B FF F0 11 */ bl EXIClearInterrupts -/* 80344328 38 00 00 00 */ li r0, 0 -/* 8034432C 90 1F 00 08 */ stw r0, 8(r31) -/* 80344330 3C 60 00 10 */ lis r3, 0x10 -/* 80344334 1C 19 00 03 */ mulli r0, r25, 3 -/* 80344338 7C 63 04 30 */ srw r3, r3, r0 -/* 8034433C 4B FF 98 09 */ bl __OSUnmaskInterrupts -/* 80344340 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 80344344 60 00 00 08 */ ori r0, r0, 8 -/* 80344348 90 1F 00 0C */ stw r0, 0xc(r31) -/* 8034434C 7F 83 E3 78 */ mr r3, r28 -/* 80344350 4B FF 93 CD */ bl OSRestoreInterrupts -/* 80344354 38 00 00 01 */ li r0, 1 -lbl_80344358: -/* 80344358 2C 00 00 00 */ cmpwi r0, 0 -/* 8034435C 40 82 00 0C */ bne lbl_80344368 -/* 80344360 38 60 00 00 */ li r3, 0 -/* 80344364 48 00 02 70 */ b lbl_803445D4 -lbl_80344368: -/* 80344368 83 BE 00 00 */ lwz r29, 0(r30) -lbl_8034436C: -/* 8034436C 4B FF 93 89 */ bl OSDisableInterrupts -/* 80344370 3B 83 00 00 */ addi r28, r3, 0 -/* 80344374 38 00 00 00 */ li r0, 0 -/* 80344378 2C 19 00 02 */ cmpwi r25, 2 -/* 8034437C 40 80 00 10 */ bge lbl_8034438C -/* 80344380 28 1A 00 00 */ cmplwi r26, 0 -/* 80344384 40 82 00 08 */ bne lbl_8034438C -/* 80344388 38 00 00 01 */ li r0, 1 -lbl_8034438C: -/* 8034438C 2C 00 00 00 */ cmpwi r0, 0 -/* 80344390 41 82 00 10 */ beq lbl_803443A0 -/* 80344394 3C 60 80 34 */ lis r3, UnlockedHandler@ha /* 0x80344210@ha */ -/* 80344398 38 A3 42 10 */ addi r5, r3, UnlockedHandler@l /* 0x80344210@l */ -/* 8034439C 48 00 00 08 */ b lbl_803443A4 -lbl_803443A0: -/* 803443A0 38 A0 00 00 */ li r5, 0 -lbl_803443A4: -/* 803443A4 38 79 00 00 */ addi r3, r25, 0 -/* 803443A8 38 9A 00 00 */ addi r4, r26, 0 -/* 803443AC 4B FF FC 7D */ bl EXILock -/* 803443B0 7C 60 00 34 */ cntlzw r0, r3 -/* 803443B4 54 00 D9 7E */ srwi r0, r0, 5 -/* 803443B8 7C 1E 03 79 */ or. r30, r0, r0 -/* 803443BC 40 82 01 34 */ bne lbl_803444F0 -/* 803443C0 38 79 00 00 */ addi r3, r25, 0 -/* 803443C4 38 9A 00 00 */ addi r4, r26, 0 -/* 803443C8 38 A0 00 00 */ li r5, 0 -/* 803443CC 4B FF F4 9D */ bl EXISelect -/* 803443D0 7C 60 00 34 */ cntlzw r0, r3 -/* 803443D4 54 00 D9 7E */ srwi r0, r0, 5 -/* 803443D8 7C 1E 03 79 */ or. r30, r0, r0 -/* 803443DC 40 82 00 90 */ bne lbl_8034446C -/* 803443E0 38 00 00 00 */ li r0, 0 -/* 803443E4 90 01 00 1C */ stw r0, 0x1c(r1) -/* 803443E8 38 79 00 00 */ addi r3, r25, 0 -/* 803443EC 38 81 00 1C */ addi r4, r1, 0x1c -/* 803443F0 38 A0 00 02 */ li r5, 2 -/* 803443F4 38 C0 00 01 */ li r6, 1 -/* 803443F8 38 E0 00 00 */ li r7, 0 -/* 803443FC 4B FF E9 05 */ bl EXIImm -/* 80344400 7C 60 00 34 */ cntlzw r0, r3 -/* 80344404 54 00 D9 7E */ srwi r0, r0, 5 -/* 80344408 7F DE 03 78 */ or r30, r30, r0 -/* 8034440C 38 79 00 00 */ addi r3, r25, 0 -/* 80344410 4B FF EC D9 */ bl EXISync -/* 80344414 7C 60 00 34 */ cntlzw r0, r3 -/* 80344418 54 00 D9 7E */ srwi r0, r0, 5 -/* 8034441C 7F DE 03 78 */ or r30, r30, r0 -/* 80344420 38 79 00 00 */ addi r3, r25, 0 -/* 80344424 38 9B 00 00 */ addi r4, r27, 0 -/* 80344428 38 A0 00 04 */ li r5, 4 -/* 8034442C 38 C0 00 00 */ li r6, 0 -/* 80344430 38 E0 00 00 */ li r7, 0 -/* 80344434 4B FF E8 CD */ bl EXIImm -/* 80344438 7C 60 00 34 */ cntlzw r0, r3 -/* 8034443C 54 00 D9 7E */ srwi r0, r0, 5 -/* 80344440 7F DE 03 78 */ or r30, r30, r0 -/* 80344444 38 79 00 00 */ addi r3, r25, 0 -/* 80344448 4B FF EC A1 */ bl EXISync -/* 8034444C 7C 60 00 34 */ cntlzw r0, r3 -/* 80344450 54 00 D9 7E */ srwi r0, r0, 5 -/* 80344454 7F DE 03 78 */ or r30, r30, r0 -/* 80344458 38 79 00 00 */ addi r3, r25, 0 -/* 8034445C 4B FF F5 39 */ bl EXIDeselect -/* 80344460 7C 60 00 34 */ cntlzw r0, r3 -/* 80344464 54 00 D9 7E */ srwi r0, r0, 5 -/* 80344468 7F DE 03 78 */ or r30, r30, r0 -lbl_8034446C: -/* 8034446C 4B FF 92 89 */ bl OSDisableInterrupts -/* 80344470 7C 77 1B 78 */ mr r23, r3 -/* 80344474 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 80344478 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 8034447C 40 82 00 10 */ bne lbl_8034448C -/* 80344480 7E E3 BB 78 */ mr r3, r23 -/* 80344484 4B FF 92 99 */ bl OSRestoreInterrupts -/* 80344488 48 00 00 68 */ b lbl_803444F0 -lbl_8034448C: -/* 8034448C 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 80344490 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a -/* 80344494 90 1F 00 0C */ stw r0, 0xc(r31) -/* 80344498 38 79 00 00 */ addi r3, r25, 0 -/* 8034449C 38 9F 00 00 */ addi r4, r31, 0 -/* 803444A0 4B FF E7 6D */ bl SetExiInterruptMask -/* 803444A4 80 7F 00 24 */ lwz r3, 0x24(r31) -/* 803444A8 2C 03 00 00 */ cmpwi r3, 0 -/* 803444AC 40 81 00 3C */ ble lbl_803444E8 -/* 803444B0 83 1F 00 2C */ lwz r24, 0x2c(r31) -/* 803444B4 34 03 FF FF */ addic. r0, r3, -1 -/* 803444B8 90 1F 00 24 */ stw r0, 0x24(r31) -/* 803444BC 40 81 00 18 */ ble lbl_803444D4 -/* 803444C0 38 7F 00 28 */ addi r3, r31, 0x28 -/* 803444C4 38 9F 00 30 */ addi r4, r31, 0x30 -/* 803444C8 80 1F 00 24 */ lwz r0, 0x24(r31) -/* 803444CC 54 05 18 38 */ slwi r5, r0, 3 -/* 803444D0 48 02 1C 61 */ bl memmove -lbl_803444D4: -/* 803444D4 38 79 00 00 */ addi r3, r25, 0 -/* 803444D8 38 80 00 00 */ li r4, 0 -/* 803444DC 39 98 00 00 */ addi r12, r24, 0 -/* 803444E0 7D 88 03 A6 */ mtlr r12 -/* 803444E4 4E 80 00 21 */ blrl -lbl_803444E8: -/* 803444E8 7E E3 BB 78 */ mr r3, r23 -/* 803444EC 4B FF 92 31 */ bl OSRestoreInterrupts -lbl_803444F0: -/* 803444F0 7F 83 E3 78 */ mr r3, r28 -/* 803444F4 4B FF 92 29 */ bl OSRestoreInterrupts -/* 803444F8 2C 19 00 02 */ cmpwi r25, 2 -/* 803444FC 40 80 00 C4 */ bge lbl_803445C0 -/* 80344500 28 1A 00 00 */ cmplwi r26, 0 -/* 80344504 40 82 00 BC */ bne lbl_803445C0 -/* 80344508 4B FF 91 ED */ bl OSDisableInterrupts -/* 8034450C 7C 77 1B 78 */ mr r23, r3 -/* 80344510 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 80344514 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80344518 40 82 00 10 */ bne lbl_80344528 -/* 8034451C 7E E3 BB 78 */ mr r3, r23 -/* 80344520 4B FF 91 FD */ bl OSRestoreInterrupts -/* 80344524 48 00 00 4C */ b lbl_80344570 -lbl_80344528: -/* 80344528 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 8034452C 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 80344530 41 82 00 1C */ beq lbl_8034454C -/* 80344534 80 1F 00 18 */ lwz r0, 0x18(r31) -/* 80344538 28 00 00 00 */ cmplwi r0, 0 -/* 8034453C 40 82 00 10 */ bne lbl_8034454C -/* 80344540 7E E3 BB 78 */ mr r3, r23 -/* 80344544 4B FF 91 D9 */ bl OSRestoreInterrupts -/* 80344548 48 00 00 28 */ b lbl_80344570 -lbl_8034454C: -/* 8034454C 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 80344550 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b -/* 80344554 90 1F 00 0C */ stw r0, 0xc(r31) -/* 80344558 3C 60 00 50 */ lis r3, 0x50 -/* 8034455C 1C 19 00 03 */ mulli r0, r25, 3 -/* 80344560 7C 63 04 30 */ srw r3, r3, r0 -/* 80344564 4B FF 95 59 */ bl __OSMaskInterrupts -/* 80344568 7E E3 BB 78 */ mr r3, r23 -/* 8034456C 4B FF 91 B1 */ bl OSRestoreInterrupts -lbl_80344570: -/* 80344570 4B FF 91 85 */ bl OSDisableInterrupts -/* 80344574 57 20 10 3A */ slwi r0, r25, 2 -/* 80344578 3C 80 80 00 */ lis r4, 0x8000 /* 0x800030C0@ha */ -/* 8034457C 38 84 30 C0 */ addi r4, r4, 0x30C0 /* 0x800030C0@l */ -/* 80344580 7C 04 00 2E */ lwzx r0, r4, r0 -/* 80344584 7C 9D 00 50 */ subf r4, r29, r0 -/* 80344588 30 04 FF FF */ addic r0, r4, -1 -/* 8034458C 7C 00 21 10 */ subfe r0, r0, r4 -/* 80344590 7F DE 03 79 */ or. r30, r30, r0 -/* 80344594 40 82 00 10 */ bne lbl_803445A4 -/* 80344598 80 1B 00 00 */ lwz r0, 0(r27) -/* 8034459C 90 1F 00 1C */ stw r0, 0x1c(r31) -/* 803445A0 93 BF 00 20 */ stw r29, 0x20(r31) -lbl_803445A4: -/* 803445A4 4B FF 91 79 */ bl OSRestoreInterrupts -/* 803445A8 2C 1E 00 00 */ cmpwi r30, 0 -/* 803445AC 41 82 00 0C */ beq lbl_803445B8 -/* 803445B0 38 60 00 00 */ li r3, 0 -/* 803445B4 48 00 00 20 */ b lbl_803445D4 -lbl_803445B8: -/* 803445B8 80 7F 00 20 */ lwz r3, 0x20(r31) -/* 803445BC 48 00 00 18 */ b lbl_803445D4 -lbl_803445C0: -/* 803445C0 2C 1E 00 00 */ cmpwi r30, 0 -/* 803445C4 41 82 00 0C */ beq lbl_803445D0 -/* 803445C8 38 60 00 00 */ li r3, 0 -/* 803445CC 48 00 00 08 */ b lbl_803445D4 -lbl_803445D0: -/* 803445D0 38 60 00 01 */ li r3, 1 -lbl_803445D4: -/* 803445D4 80 01 00 4C */ lwz r0, 0x4c(r1) -/* 803445D8 BA E1 00 24 */ lmw r23, 0x24(r1) -/* 803445DC 38 21 00 48 */ addi r1, r1, 0x48 -/* 803445E0 7C 08 03 A6 */ mtlr r0 -/* 803445E4 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor/__ct__11J3DLightObjFv.s b/asm/f_op/f_op_actor/__ct__11J3DLightObjFv.s deleted file mode 100644 index da19acdec24..00000000000 --- a/asm/f_op/f_op_actor/__ct__11J3DLightObjFv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_80018C0C: -/* 80018C0C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80018C10 7C 08 02 A6 */ mflr r0 -/* 80018C14 90 01 00 14 */ stw r0, 0x14(r1) -/* 80018C18 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80018C1C 7C 7F 1B 78 */ mr r31, r3 -/* 80018C20 3C 80 80 3A */ lis r4, j3dDefaultLightInfo@ha /* 0x803A1EC8@ha */ -/* 80018C24 38 84 1E C8 */ addi r4, r4, j3dDefaultLightInfo@l /* 0x803A1EC8@l */ -/* 80018C28 48 30 CA 9D */ bl __as__12J3DLightInfoFRC12J3DLightInfo -/* 80018C2C 7F E3 FB 78 */ mr r3, r31 -/* 80018C30 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80018C34 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80018C38 7C 08 03 A6 */ mtlr r0 -/* 80018C3C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80018C40 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor/__dt__11dEvt_info_cFv.s b/asm/f_op/f_op_actor/__dt__11dEvt_info_cFv.s deleted file mode 100644 index d29aa1adb37..00000000000 --- a/asm/f_op/f_op_actor/__dt__11dEvt_info_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_80018C44: -/* 80018C44 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80018C48 7C 08 02 A6 */ mflr r0 -/* 80018C4C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80018C50 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80018C54 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80018C58 41 82 00 1C */ beq lbl_80018C74 -/* 80018C5C 3C A0 80 3A */ lis r5, __vt__11dEvt_info_c@ha /* 0x803A35D0@ha */ -/* 80018C60 38 05 35 D0 */ addi r0, r5, __vt__11dEvt_info_c@l /* 0x803A35D0@l */ -/* 80018C64 90 1F 00 00 */ stw r0, 0(r31) -/* 80018C68 7C 80 07 35 */ extsh. r0, r4 -/* 80018C6C 40 81 00 08 */ ble lbl_80018C74 -/* 80018C70 48 2B 60 CD */ bl __dl__FPv -lbl_80018C74: -/* 80018C74 7F E3 FB 78 */ mr r3, r31 -/* 80018C78 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80018C7C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80018C80 7C 08 03 A6 */ mtlr r0 -/* 80018C84 38 21 00 10 */ addi r1, r1, 0x10 -/* 80018C88 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor/__dt__5csXyzFv.s b/asm/f_op/f_op_actor/__dt__5csXyzFv.s deleted file mode 100644 index 46ca3da5875..00000000000 --- a/asm/f_op/f_op_actor/__dt__5csXyzFv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80018BD0: -/* 80018BD0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80018BD4 7C 08 02 A6 */ mflr r0 -/* 80018BD8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80018BDC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80018BE0 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80018BE4 41 82 00 10 */ beq lbl_80018BF4 -/* 80018BE8 7C 80 07 35 */ extsh. r0, r4 -/* 80018BEC 40 81 00 08 */ ble lbl_80018BF4 -/* 80018BF0 48 2B 61 4D */ bl __dl__FPv -lbl_80018BF4: -/* 80018BF4 7F E3 FB 78 */ mr r3, r31 -/* 80018BF8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80018BFC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80018C00 7C 08 03 A6 */ mtlr r0 -/* 80018C04 38 21 00 10 */ addi r1, r1, 0x10 -/* 80018C08 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor/fopAc_Create__FPv.s b/asm/f_op/f_op_actor/fopAc_Create__FPv.s deleted file mode 100644 index 0df36ab5eb5..00000000000 --- a/asm/f_op/f_op_actor/fopAc_Create__FPv.s +++ /dev/null @@ -1,245 +0,0 @@ -lbl_8001904C: -/* 8001904C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80019050 7C 08 02 A6 */ mflr r0 -/* 80019054 90 01 00 34 */ stw r0, 0x34(r1) -/* 80019058 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 8001905C 93 C1 00 28 */ stw r30, 0x28(r1) -/* 80019060 7C 7F 1B 78 */ mr r31, r3 -/* 80019064 88 03 00 0C */ lbz r0, 0xc(r3) -/* 80019068 7C 00 07 75 */ extsb. r0, r0 -/* 8001906C 40 82 03 30 */ bne lbl_8001939C -/* 80019070 83 C3 00 10 */ lwz r30, 0x10(r3) -/* 80019074 38 6D 87 38 */ la r3, g_fopAc_type(r13) /* 80450CB8-_SDA_BASE_ */ -/* 80019078 48 00 75 E5 */ bl fpcBs_MakeOfType__FPi -/* 8001907C 90 7F 00 C0 */ stw r3, 0xc0(r31) -/* 80019080 80 1E 00 24 */ lwz r0, 0x24(r30) -/* 80019084 90 1F 00 EC */ stw r0, 0xec(r31) -/* 80019088 38 7F 00 C4 */ addi r3, r31, 0xc4 -/* 8001908C 7F E4 FB 78 */ mr r4, r31 -/* 80019090 48 00 07 F1 */ bl fopAcTg_Init__FP16create_tag_classPv -/* 80019094 38 7F 00 C4 */ addi r3, r31, 0xc4 -/* 80019098 48 00 07 9D */ bl fopAcTg_ToActorQ__FP16create_tag_class -/* 8001909C 38 7F 00 D8 */ addi r3, r31, 0xd8 -/* 800190A0 7F E4 FB 78 */ mr r4, r31 -/* 800190A4 48 00 74 51 */ bl fopDwTg_Init__FP16create_tag_classPv -/* 800190A8 80 1E 00 28 */ lwz r0, 0x28(r30) -/* 800190AC 90 1F 04 9C */ stw r0, 0x49c(r31) -/* 800190B0 88 1E 00 2C */ lbz r0, 0x2c(r30) -/* 800190B4 98 1F 04 96 */ stb r0, 0x496(r31) -/* 800190B8 88 1E 00 2D */ lbz r0, 0x2d(r30) -/* 800190BC 98 1F 04 97 */ stb r0, 0x497(r31) -/* 800190C0 80 9F 00 AC */ lwz r4, 0xac(r31) -/* 800190C4 28 04 00 00 */ cmplwi r4, 0 -/* 800190C8 41 82 00 D4 */ beq lbl_8001919C -/* 800190CC 80 04 00 00 */ lwz r0, 0(r4) -/* 800190D0 90 1F 00 B0 */ stw r0, 0xb0(r31) -/* 800190D4 C0 04 00 04 */ lfs f0, 4(r4) -/* 800190D8 D0 1F 04 A8 */ stfs f0, 0x4a8(r31) -/* 800190DC C0 04 00 08 */ lfs f0, 8(r4) -/* 800190E0 D0 1F 04 AC */ stfs f0, 0x4ac(r31) -/* 800190E4 C0 04 00 0C */ lfs f0, 0xc(r4) -/* 800190E8 D0 1F 04 B0 */ stfs f0, 0x4b0(r31) -/* 800190EC A8 04 00 10 */ lha r0, 0x10(r4) -/* 800190F0 B0 1F 04 B4 */ sth r0, 0x4b4(r31) -/* 800190F4 A8 04 00 12 */ lha r0, 0x12(r4) -/* 800190F8 B0 1F 04 B6 */ sth r0, 0x4b6(r31) -/* 800190FC A8 04 00 14 */ lha r0, 0x14(r4) -/* 80019100 B0 1F 04 B8 */ sth r0, 0x4b8(r31) -/* 80019104 A8 04 00 10 */ lha r0, 0x10(r4) -/* 80019108 B0 1F 04 E4 */ sth r0, 0x4e4(r31) -/* 8001910C A8 04 00 12 */ lha r0, 0x12(r4) -/* 80019110 B0 1F 04 E6 */ sth r0, 0x4e6(r31) -/* 80019114 A8 04 00 14 */ lha r0, 0x14(r4) -/* 80019118 B0 1F 04 E8 */ sth r0, 0x4e8(r31) -/* 8001911C 80 04 00 1C */ lwz r0, 0x1c(r4) -/* 80019120 90 1F 04 A4 */ stw r0, 0x4a4(r31) -/* 80019124 88 04 00 20 */ lbz r0, 0x20(r4) -/* 80019128 98 1F 04 99 */ stb r0, 0x499(r31) -/* 8001912C C0 42 81 D0 */ lfs f2, lit_4431(r2) -/* 80019130 88 04 00 1A */ lbz r0, 0x1a(r4) -/* 80019134 C8 22 81 D8 */ lfd f1, lit_4434(r2) -/* 80019138 90 01 00 0C */ stw r0, 0xc(r1) -/* 8001913C 3C 60 43 30 */ lis r3, 0x4330 -/* 80019140 90 61 00 08 */ stw r3, 8(r1) -/* 80019144 C8 01 00 08 */ lfd f0, 8(r1) -/* 80019148 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8001914C EC 82 00 32 */ fmuls f4, f2, f0 -/* 80019150 88 04 00 19 */ lbz r0, 0x19(r4) -/* 80019154 90 01 00 14 */ stw r0, 0x14(r1) -/* 80019158 90 61 00 10 */ stw r3, 0x10(r1) -/* 8001915C C8 01 00 10 */ lfd f0, 0x10(r1) -/* 80019160 EC 00 08 28 */ fsubs f0, f0, f1 -/* 80019164 EC 62 00 32 */ fmuls f3, f2, f0 -/* 80019168 88 04 00 18 */ lbz r0, 0x18(r4) -/* 8001916C 90 01 00 1C */ stw r0, 0x1c(r1) -/* 80019170 90 61 00 18 */ stw r3, 0x18(r1) -/* 80019174 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 80019178 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8001917C EC 02 00 32 */ fmuls f0, f2, f0 -/* 80019180 D0 1F 04 EC */ stfs f0, 0x4ec(r31) -/* 80019184 D0 7F 04 F0 */ stfs f3, 0x4f0(r31) -/* 80019188 D0 9F 04 F4 */ stfs f4, 0x4f4(r31) -/* 8001918C A0 04 00 16 */ lhz r0, 0x16(r4) -/* 80019190 B0 1F 04 94 */ sth r0, 0x494(r31) -/* 80019194 88 04 00 21 */ lbz r0, 0x21(r4) -/* 80019198 98 1F 04 BA */ stb r0, 0x4ba(r31) -lbl_8001919C: -/* 8001919C C0 1F 04 A8 */ lfs f0, 0x4a8(r31) -/* 800191A0 D0 1F 04 BC */ stfs f0, 0x4bc(r31) -/* 800191A4 C0 1F 04 AC */ lfs f0, 0x4ac(r31) -/* 800191A8 D0 1F 04 C0 */ stfs f0, 0x4c0(r31) -/* 800191AC C0 1F 04 B0 */ lfs f0, 0x4b0(r31) -/* 800191B0 D0 1F 04 C4 */ stfs f0, 0x4c4(r31) -/* 800191B4 A8 1F 04 B4 */ lha r0, 0x4b4(r31) -/* 800191B8 B0 1F 04 C8 */ sth r0, 0x4c8(r31) -/* 800191BC A8 1F 04 B6 */ lha r0, 0x4b6(r31) -/* 800191C0 B0 1F 04 CA */ sth r0, 0x4ca(r31) -/* 800191C4 A8 1F 04 B8 */ lha r0, 0x4b8(r31) -/* 800191C8 B0 1F 04 CC */ sth r0, 0x4cc(r31) -/* 800191CC 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 800191D0 98 1F 04 CE */ stb r0, 0x4ce(r31) -/* 800191D4 88 1F 04 BB */ lbz r0, 0x4bb(r31) -/* 800191D8 98 1F 04 CF */ stb r0, 0x4cf(r31) -/* 800191DC C0 1F 04 A8 */ lfs f0, 0x4a8(r31) -/* 800191E0 D0 1F 04 D0 */ stfs f0, 0x4d0(r31) -/* 800191E4 C0 1F 04 AC */ lfs f0, 0x4ac(r31) -/* 800191E8 D0 1F 04 D4 */ stfs f0, 0x4d4(r31) -/* 800191EC C0 1F 04 B0 */ lfs f0, 0x4b0(r31) -/* 800191F0 D0 1F 04 D8 */ stfs f0, 0x4d8(r31) -/* 800191F4 A8 1F 04 B4 */ lha r0, 0x4b4(r31) -/* 800191F8 B0 1F 04 DC */ sth r0, 0x4dc(r31) -/* 800191FC A8 1F 04 B6 */ lha r0, 0x4b6(r31) -/* 80019200 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 80019204 A8 1F 04 B8 */ lha r0, 0x4b8(r31) -/* 80019208 B0 1F 04 E0 */ sth r0, 0x4e0(r31) -/* 8001920C 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 80019210 98 1F 04 E2 */ stb r0, 0x4e2(r31) -/* 80019214 88 1F 04 BB */ lbz r0, 0x4bb(r31) -/* 80019218 98 1F 04 E3 */ stb r0, 0x4e3(r31) -/* 8001921C C0 1F 04 A8 */ lfs f0, 0x4a8(r31) -/* 80019220 D0 1F 05 38 */ stfs f0, 0x538(r31) -/* 80019224 C0 1F 04 AC */ lfs f0, 0x4ac(r31) -/* 80019228 D0 1F 05 3C */ stfs f0, 0x53c(r31) -/* 8001922C C0 1F 04 B0 */ lfs f0, 0x4b0(r31) -/* 80019230 D0 1F 05 40 */ stfs f0, 0x540(r31) -/* 80019234 C0 02 81 D4 */ lfs f0, lit_4432(r2) -/* 80019238 D0 1F 05 34 */ stfs f0, 0x534(r31) -/* 8001923C 38 00 00 01 */ li r0, 1 -/* 80019240 98 1F 05 44 */ stb r0, 0x544(r31) -/* 80019244 38 00 00 02 */ li r0, 2 -/* 80019248 98 1F 05 45 */ stb r0, 0x545(r31) -/* 8001924C 38 00 00 03 */ li r0, 3 -/* 80019250 98 1F 05 46 */ stb r0, 0x546(r31) -/* 80019254 38 00 00 05 */ li r0, 5 -/* 80019258 98 1F 05 47 */ stb r0, 0x547(r31) -/* 8001925C 38 00 00 06 */ li r0, 6 -/* 80019260 98 1F 05 48 */ stb r0, 0x548(r31) -/* 80019264 38 00 00 0E */ li r0, 0xe -/* 80019268 98 1F 05 4B */ stb r0, 0x54b(r31) -/* 8001926C 38 00 00 0F */ li r0, 0xf -/* 80019270 98 1F 05 49 */ stb r0, 0x549(r31) -/* 80019274 98 1F 05 4A */ stb r0, 0x54a(r31) -/* 80019278 38 00 00 33 */ li r0, 0x33 -/* 8001927C 98 1F 05 4C */ stb r0, 0x54c(r31) -/* 80019280 C0 1F 04 A8 */ lfs f0, 0x4a8(r31) -/* 80019284 D0 1F 05 50 */ stfs f0, 0x550(r31) -/* 80019288 C0 1F 04 AC */ lfs f0, 0x4ac(r31) -/* 8001928C D0 1F 05 54 */ stfs f0, 0x554(r31) -/* 80019290 C0 1F 04 B0 */ lfs f0, 0x4b0(r31) -/* 80019294 D0 1F 05 58 */ stfs f0, 0x558(r31) -/* 80019298 38 00 00 1E */ li r0, 0x1e -/* 8001929C B0 1F 05 4E */ sth r0, 0x54e(r31) -/* 800192A0 38 7F 01 0C */ addi r3, r31, 0x10c -/* 800192A4 88 9F 04 BA */ lbz r4, 0x4ba(r31) -/* 800192A8 38 A0 00 FF */ li r5, 0xff -/* 800192AC 48 18 F6 41 */ bl dKy_tevstr_init__FP12dKy_tevstr_cScUc -/* 800192B0 88 8D 87 E4 */ lbz r4, mStayNo__20dStage_roomControl_c+0x0(r13) -/* 800192B4 7C 84 07 75 */ extsb. r4, r4 -/* 800192B8 41 80 00 24 */ blt lbl_800192DC -/* 800192BC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800192C0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800192C4 38 63 4E C4 */ addi r3, r3, 0x4ec4 -/* 800192C8 48 00 B0 BD */ bl getStatusRoomDt__20dStage_roomControl_cFi -/* 800192CC 81 83 00 00 */ lwz r12, 0(r3) -/* 800192D0 81 8C 01 0C */ lwz r12, 0x10c(r12) -/* 800192D4 7D 89 03 A6 */ mtctr r12 -/* 800192D8 4E 80 04 21 */ bctrl -lbl_800192DC: -/* 800192DC 38 60 00 00 */ li r3, 0 -/* 800192E0 88 9F 04 BA */ lbz r4, 0x4ba(r31) -/* 800192E4 7C 80 07 75 */ extsb. r0, r4 -/* 800192E8 41 80 00 28 */ blt lbl_80019310 -/* 800192EC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800192F0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800192F4 38 63 4E C4 */ addi r3, r3, 0x4ec4 -/* 800192F8 7C 84 07 74 */ extsb r4, r4 -/* 800192FC 48 00 B0 89 */ bl getStatusRoomDt__20dStage_roomControl_cFi -/* 80019300 81 83 00 00 */ lwz r12, 0(r3) -/* 80019304 81 8C 01 0C */ lwz r12, 0x10c(r12) -/* 80019308 7D 89 03 A6 */ mtctr r12 -/* 8001930C 4E 80 04 21 */ bctrl -lbl_80019310: -/* 80019310 28 03 00 00 */ cmplwi r3, 0 -/* 80019314 41 82 00 88 */ beq lbl_8001939C -/* 80019318 80 03 00 00 */ lwz r0, 0(r3) -/* 8001931C 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2 -/* 80019320 40 82 00 40 */ bne lbl_80019360 -/* 80019324 88 83 00 1B */ lbz r4, 0x1b(r3) -/* 80019328 28 04 00 FF */ cmplwi r4, 0xff -/* 8001932C 41 82 00 70 */ beq lbl_8001939C -/* 80019330 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80019334 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80019338 88 BF 04 BA */ lbz r5, 0x4ba(r31) -/* 8001933C 7C A5 07 74 */ extsb r5, r5 -/* 80019340 48 01 C0 21 */ bl isSwitch__10dSv_info_cCFii -/* 80019344 2C 03 00 00 */ cmpwi r3, 0 -/* 80019348 41 82 00 54 */ beq lbl_8001939C -/* 8001934C 88 1E 00 2C */ lbz r0, 0x2c(r30) -/* 80019350 28 00 00 02 */ cmplwi r0, 2 -/* 80019354 40 82 00 48 */ bne lbl_8001939C -/* 80019358 38 60 00 05 */ li r3, 5 -/* 8001935C 48 00 00 88 */ b lbl_800193E4 -lbl_80019360: -/* 80019360 88 83 00 1B */ lbz r4, 0x1b(r3) -/* 80019364 28 04 00 FF */ cmplwi r4, 0xff -/* 80019368 41 82 00 34 */ beq lbl_8001939C -/* 8001936C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80019370 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80019374 88 BF 04 BA */ lbz r5, 0x4ba(r31) -/* 80019378 7C A5 07 74 */ extsb r5, r5 -/* 8001937C 48 01 BF E5 */ bl isSwitch__10dSv_info_cCFii -/* 80019380 2C 03 00 00 */ cmpwi r3, 0 -/* 80019384 40 82 00 18 */ bne lbl_8001939C -/* 80019388 88 1E 00 2C */ lbz r0, 0x2c(r30) -/* 8001938C 28 00 00 02 */ cmplwi r0, 2 -/* 80019390 40 82 00 0C */ bne lbl_8001939C -/* 80019394 38 60 00 05 */ li r3, 5 -/* 80019398 48 00 00 4C */ b lbl_800193E4 -lbl_8001939C: -/* 8001939C 80 7F 00 EC */ lwz r3, 0xec(r31) -/* 800193A0 7F E4 FB 78 */ mr r4, r31 -/* 800193A4 48 00 91 29 */ bl fpcMtd_Create__FP20process_method_classPv -/* 800193A8 7C 7E 1B 78 */ mr r30, r3 -/* 800193AC 2C 1E 00 04 */ cmpwi r30, 4 -/* 800193B0 40 82 00 1C */ bne lbl_800193CC -/* 800193B4 7F E3 FB 78 */ mr r3, r31 -/* 800193B8 48 00 86 49 */ bl fpcLf_GetPriority__FPC14leafdraw_class -/* 800193BC 7C 64 07 34 */ extsh r4, r3 -/* 800193C0 38 7F 00 D8 */ addi r3, r31, 0xd8 -/* 800193C4 48 00 70 E9 */ bl fopDwTg_ToDrawQ__FP16create_tag_classi -/* 800193C8 48 00 00 18 */ b lbl_800193E0 -lbl_800193CC: -/* 800193CC 2C 1E 00 05 */ cmpwi r30, 5 -/* 800193D0 40 82 00 10 */ bne lbl_800193E0 -/* 800193D4 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 800193D8 60 00 00 10 */ ori r0, r0, 0x10 -/* 800193DC 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_800193E0: -/* 800193E0 7F C3 F3 78 */ mr r3, r30 -lbl_800193E4: -/* 800193E4 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 800193E8 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 800193EC 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800193F0 7C 08 03 A6 */ mtlr r0 -/* 800193F4 38 21 00 30 */ addi r1, r1, 0x30 -/* 800193F8 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor/setBallModelEffect__13fopEn_enemy_cFP12dKy_tevstr_c.s b/asm/f_op/f_op_actor/setBallModelEffect__13fopEn_enemy_cFP12dKy_tevstr_c.s deleted file mode 100644 index f0188bbc812..00000000000 --- a/asm/f_op/f_op_actor/setBallModelEffect__13fopEn_enemy_cFP12dKy_tevstr_c.s +++ /dev/null @@ -1,99 +0,0 @@ -lbl_80019520: -/* 80019520 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 80019524 7C 08 02 A6 */ mflr r0 -/* 80019528 90 01 00 44 */ stw r0, 0x44(r1) -/* 8001952C 39 61 00 40 */ addi r11, r1, 0x40 -/* 80019530 48 34 8C AD */ bl _savegpr_29 -/* 80019534 7C 7E 1B 78 */ mr r30, r3 -/* 80019538 7C 9F 23 78 */ mr r31, r4 -/* 8001953C 80 03 05 80 */ lwz r0, 0x580(r3) -/* 80019540 28 00 00 00 */ cmplwi r0, 0 -/* 80019544 41 82 01 44 */ beq lbl_80019688 -/* 80019548 C0 3E 05 90 */ lfs f1, 0x590(r30) -/* 8001954C C0 02 81 E0 */ lfs f0, lit_4505(r2) -/* 80019550 EC 01 00 2A */ fadds f0, f1, f0 -/* 80019554 D0 1E 05 90 */ stfs f0, 0x590(r30) -/* 80019558 80 7E 05 84 */ lwz r3, 0x584(r30) -/* 8001955C A8 03 00 06 */ lha r0, 6(r3) -/* 80019560 C0 5E 05 90 */ lfs f2, 0x590(r30) -/* 80019564 C8 22 81 E8 */ lfd f1, lit_4507(r2) -/* 80019568 6C 03 80 00 */ xoris r3, r0, 0x8000 -/* 8001956C 90 61 00 24 */ stw r3, 0x24(r1) -/* 80019570 3C 00 43 30 */ lis r0, 0x4330 -/* 80019574 90 01 00 20 */ stw r0, 0x20(r1) -/* 80019578 C8 01 00 20 */ lfd f0, 0x20(r1) -/* 8001957C EC 00 08 28 */ fsubs f0, f0, f1 -/* 80019580 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 80019584 4C 41 13 82 */ cror 2, 1, 2 -/* 80019588 40 82 00 1C */ bne lbl_800195A4 -/* 8001958C 90 61 00 24 */ stw r3, 0x24(r1) -/* 80019590 90 01 00 20 */ stw r0, 0x20(r1) -/* 80019594 C8 01 00 20 */ lfd f0, 0x20(r1) -/* 80019598 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8001959C EC 02 00 28 */ fsubs f0, f2, f0 -/* 800195A0 D0 1E 05 90 */ stfs f0, 0x590(r30) -lbl_800195A4: -/* 800195A4 7F C3 F3 78 */ mr r3, r30 -/* 800195A8 4B FF FF 55 */ bl checkBallModelDraw__13fopEn_enemy_cFv -/* 800195AC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800195B0 41 82 00 D8 */ beq lbl_80019688 -/* 800195B4 80 7E 05 80 */ lwz r3, 0x580(r30) -/* 800195B8 3B A3 00 18 */ addi r29, r3, 0x18 -/* 800195BC 7F A3 EB 78 */ mr r3, r29 -/* 800195C0 C0 22 81 E0 */ lfs f1, lit_4505(r2) -/* 800195C4 C0 42 81 D0 */ lfs f2, lit_4431(r2) -/* 800195C8 48 25 71 79 */ bl cLib_chaseF__FPfff -/* 800195CC C0 1D 00 00 */ lfs f0, 0(r29) -/* 800195D0 D0 1D 00 08 */ stfs f0, 8(r29) -/* 800195D4 D0 1D 00 04 */ stfs f0, 4(r29) -/* 800195D8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800195DC 3B A3 61 C0 */ addi r29, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800195E0 80 7D 5D 3C */ lwz r3, 0x5d3c(r29) -/* 800195E4 38 00 00 FF */ li r0, 0xff -/* 800195E8 90 01 00 08 */ stw r0, 8(r1) -/* 800195EC 38 80 00 00 */ li r4, 0 -/* 800195F0 90 81 00 0C */ stw r4, 0xc(r1) -/* 800195F4 38 00 FF FF */ li r0, -1 -/* 800195F8 90 01 00 10 */ stw r0, 0x10(r1) -/* 800195FC 90 81 00 14 */ stw r4, 0x14(r1) -/* 80019600 90 81 00 18 */ stw r4, 0x18(r1) -/* 80019604 90 81 00 1C */ stw r4, 0x1c(r1) -/* 80019608 80 9E 05 94 */ lwz r4, 0x594(r30) -/* 8001960C 38 A0 00 00 */ li r5, 0 -/* 80019610 3C C0 00 01 */ lis r6, 0x0001 /* 0x000086C8@ha */ -/* 80019614 38 C6 86 C8 */ addi r6, r6, 0x86C8 /* 0x000086C8@l */ -/* 80019618 38 FE 05 68 */ addi r7, r30, 0x568 -/* 8001961C 7F E8 FB 78 */ mr r8, r31 -/* 80019620 39 20 00 00 */ li r9, 0 -/* 80019624 39 40 00 00 */ li r10, 0 -/* 80019628 C0 22 81 E0 */ lfs f1, lit_4505(r2) -/* 8001962C 48 03 3E A1 */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf -/* 80019630 90 7E 05 94 */ stw r3, 0x594(r30) -/* 80019634 80 7D 5D 3C */ lwz r3, 0x5d3c(r29) -/* 80019638 38 00 00 FF */ li r0, 0xff -/* 8001963C 90 01 00 08 */ stw r0, 8(r1) -/* 80019640 38 80 00 00 */ li r4, 0 -/* 80019644 90 81 00 0C */ stw r4, 0xc(r1) -/* 80019648 38 00 FF FF */ li r0, -1 -/* 8001964C 90 01 00 10 */ stw r0, 0x10(r1) -/* 80019650 90 81 00 14 */ stw r4, 0x14(r1) -/* 80019654 90 81 00 18 */ stw r4, 0x18(r1) -/* 80019658 90 81 00 1C */ stw r4, 0x1c(r1) -/* 8001965C 80 9E 05 98 */ lwz r4, 0x598(r30) -/* 80019660 38 A0 00 00 */ li r5, 0 -/* 80019664 3C C0 00 01 */ lis r6, 0x0001 /* 0x000086C9@ha */ -/* 80019668 38 C6 86 C9 */ addi r6, r6, 0x86C9 /* 0x000086C9@l */ -/* 8001966C 38 FE 05 68 */ addi r7, r30, 0x568 -/* 80019670 7F E8 FB 78 */ mr r8, r31 -/* 80019674 39 20 00 00 */ li r9, 0 -/* 80019678 39 40 00 00 */ li r10, 0 -/* 8001967C C0 22 81 E0 */ lfs f1, lit_4505(r2) -/* 80019680 48 03 3E 4D */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf -/* 80019684 90 7E 05 98 */ stw r3, 0x598(r30) -lbl_80019688: -/* 80019688 39 61 00 40 */ addi r11, r1, 0x40 -/* 8001968C 48 34 8B 9D */ bl _restgpr_29 -/* 80019690 80 01 00 44 */ lwz r0, 0x44(r1) -/* 80019694 7C 08 03 A6 */ mtlr r0 -/* 80019698 38 21 00 40 */ addi r1, r1, 0x40 -/* 8001969C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/Create__12daObjBoard_cFv.s b/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/Create__12daObjBoard_cFv.s deleted file mode 100644 index 21a89aa0c73..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/Create__12daObjBoard_cFv.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_8057B9C8: -/* 8057B9C8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8057B9CC 7C 08 02 A6 */ mflr r0 -/* 8057B9D0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8057B9D4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8057B9D8 7C 7F 1B 78 */ mr r31, r3 -/* 8057B9DC 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 8057B9E0 54 00 07 3E */ clrlwi r0, r0, 0x1c -/* 8057B9E4 28 00 00 01 */ cmplwi r0, 1 -/* 8057B9E8 40 82 00 24 */ bne lbl_8057BA0C -/* 8057B9EC C0 1F 04 EC */ lfs f0, 0x4ec(r31) -/* 8057B9F0 3C 60 80 58 */ lis r3, lit_3636@ha /* 0x8057BDD0@ha */ -/* 8057B9F4 C0 23 BD D0 */ lfs f1, lit_3636@l(r3) /* 0x8057BDD0@l */ -/* 8057B9F8 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8057B9FC D0 1F 04 EC */ stfs f0, 0x4ec(r31) -/* 8057BA00 C0 1F 04 F4 */ lfs f0, 0x4f4(r31) -/* 8057BA04 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8057BA08 D0 1F 04 F4 */ stfs f0, 0x4f4(r31) -lbl_8057BA0C: -/* 8057BA0C 7F E3 FB 78 */ mr r3, r31 -/* 8057BA10 4B FF FF 49 */ bl initBaseMtx__12daObjBoard_cFv -/* 8057BA14 38 1F 05 A8 */ addi r0, r31, 0x5a8 -/* 8057BA18 90 1F 05 04 */ stw r0, 0x504(r31) -/* 8057BA1C C0 DF 04 F4 */ lfs f6, 0x4f4(r31) -/* 8057BA20 C0 9F 04 EC */ lfs f4, 0x4ec(r31) -/* 8057BA24 7F E3 FB 78 */ mr r3, r31 -/* 8057BA28 3C 80 80 58 */ lis r4, l_cull_box@ha /* 0x8057BE38@ha */ -/* 8057BA2C C4 04 BE 38 */ lfsu f0, l_cull_box@l(r4) /* 0x8057BE38@l */ -/* 8057BA30 EC 20 01 32 */ fmuls f1, f0, f4 -/* 8057BA34 C0 44 00 04 */ lfs f2, 4(r4) -/* 8057BA38 C0 04 00 08 */ lfs f0, 8(r4) -/* 8057BA3C EC 60 01 B2 */ fmuls f3, f0, f6 -/* 8057BA40 C0 04 00 0C */ lfs f0, 0xc(r4) -/* 8057BA44 EC 80 01 32 */ fmuls f4, f0, f4 -/* 8057BA48 C0 A4 00 10 */ lfs f5, 0x10(r4) -/* 8057BA4C C0 04 00 14 */ lfs f0, 0x14(r4) -/* 8057BA50 EC C0 01 B2 */ fmuls f6, f0, f6 -/* 8057BA54 4B A9 EA F5 */ bl fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff -/* 8057BA58 38 60 00 01 */ li r3, 1 -/* 8057BA5C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8057BA60 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8057BA64 7C 08 03 A6 */ mtlr r0 -/* 8057BA68 38 21 00 10 */ addi r1, r1, 0x10 -/* 8057BA6C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/Delete__12daObjBoard_cFv.s b/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/Delete__12daObjBoard_cFv.s deleted file mode 100644 index 05742c56f28..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/Delete__12daObjBoard_cFv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8057BCC8: -/* 8057BCC8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8057BCCC 7C 08 02 A6 */ mflr r0 -/* 8057BCD0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8057BCD4 3C 80 80 58 */ lis r4, l_arcName@ha /* 0x8057BE20@ha */ -/* 8057BCD8 38 84 BE 20 */ addi r4, r4, l_arcName@l /* 0x8057BE20@l */ -/* 8057BCDC 80 84 00 00 */ lwz r4, 0(r4) -/* 8057BCE0 38 63 05 A0 */ addi r3, r3, 0x5a0 -/* 8057BCE4 4B AB 13 25 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc -/* 8057BCE8 38 60 00 01 */ li r3, 1 -/* 8057BCEC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8057BCF0 7C 08 03 A6 */ mtlr r0 -/* 8057BCF4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8057BCF8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/Execute__12daObjBoard_cFPPA3_A4_f.s b/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/Execute__12daObjBoard_cFPPA3_A4_f.s deleted file mode 100644 index 7d784033ff4..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/Execute__12daObjBoard_cFPPA3_A4_f.s +++ /dev/null @@ -1,89 +0,0 @@ -lbl_8057BB74: -/* 8057BB74 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8057BB78 7C 08 02 A6 */ mflr r0 -/* 8057BB7C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8057BB80 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8057BB84 93 C1 00 08 */ stw r30, 8(r1) -/* 8057BB88 7C 7E 1B 78 */ mr r30, r3 -/* 8057BB8C 7C 9F 23 78 */ mr r31, r4 -/* 8057BB90 80 83 00 B0 */ lwz r4, 0xb0(r3) -/* 8057BB94 54 80 E7 3E */ rlwinm r0, r4, 0x1c, 0x1c, 0x1f -/* 8057BB98 28 00 00 0F */ cmplwi r0, 0xf -/* 8057BB9C 41 81 01 00 */ bgt lbl_8057BC9C -/* 8057BBA0 3C 60 80 58 */ lis r3, lit_3712@ha /* 0x8057BE50@ha */ -/* 8057BBA4 38 63 BE 50 */ addi r3, r3, lit_3712@l /* 0x8057BE50@l */ -/* 8057BBA8 54 00 10 3A */ slwi r0, r0, 2 -/* 8057BBAC 7C 03 00 2E */ lwzx r0, r3, r0 -/* 8057BBB0 7C 09 03 A6 */ mtctr r0 -/* 8057BBB4 4E 80 04 20 */ bctr -lbl_8057BBB8: -/* 8057BBB8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8057BBBC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8057BBC0 54 84 C6 3E */ rlwinm r4, r4, 0x18, 0x18, 0x1f -/* 8057BBC4 88 1E 04 BA */ lbz r0, 0x4ba(r30) -/* 8057BBC8 7C 05 07 74 */ extsb r5, r0 -/* 8057BBCC 4B AB 97 95 */ bl isSwitch__10dSv_info_cCFii -/* 8057BBD0 2C 03 00 00 */ cmpwi r3, 0 -/* 8057BBD4 41 82 00 30 */ beq lbl_8057BC04 -/* 8057BBD8 80 7E 05 68 */ lwz r3, 0x568(r30) -/* 8057BBDC 4B CE C5 F9 */ bl ChkUsed__9cBgW_BgIdCFv -/* 8057BBE0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8057BBE4 40 82 00 B8 */ bne lbl_8057BC9C -/* 8057BBE8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8057BBEC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8057BBF0 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 8057BBF4 80 9E 05 68 */ lwz r4, 0x568(r30) -/* 8057BBF8 7F C5 F3 78 */ mr r5, r30 -/* 8057BBFC 4B AF 8E 0D */ bl Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c -/* 8057BC00 48 00 00 9C */ b lbl_8057BC9C -lbl_8057BC04: -/* 8057BC04 80 7E 05 68 */ lwz r3, 0x568(r30) -/* 8057BC08 4B CE C5 CD */ bl ChkUsed__9cBgW_BgIdCFv -/* 8057BC0C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8057BC10 41 82 00 8C */ beq lbl_8057BC9C -/* 8057BC14 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8057BC18 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8057BC1C 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 8057BC20 80 9E 05 68 */ lwz r4, 0x568(r30) -/* 8057BC24 4B AF 86 2D */ bl Release__4cBgSFP9dBgW_Base -/* 8057BC28 48 00 00 74 */ b lbl_8057BC9C -lbl_8057BC2C: -/* 8057BC2C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8057BC30 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8057BC34 54 84 C6 3E */ rlwinm r4, r4, 0x18, 0x18, 0x1f -/* 8057BC38 88 1E 04 BA */ lbz r0, 0x4ba(r30) -/* 8057BC3C 7C 05 07 74 */ extsb r5, r0 -/* 8057BC40 4B AB 97 21 */ bl isSwitch__10dSv_info_cCFii -/* 8057BC44 2C 03 00 00 */ cmpwi r3, 0 -/* 8057BC48 41 82 00 2C */ beq lbl_8057BC74 -/* 8057BC4C 80 7E 05 68 */ lwz r3, 0x568(r30) -/* 8057BC50 4B CE C5 85 */ bl ChkUsed__9cBgW_BgIdCFv -/* 8057BC54 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8057BC58 41 82 00 44 */ beq lbl_8057BC9C -/* 8057BC5C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8057BC60 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8057BC64 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 8057BC68 80 9E 05 68 */ lwz r4, 0x568(r30) -/* 8057BC6C 4B AF 85 E5 */ bl Release__4cBgSFP9dBgW_Base -/* 8057BC70 48 00 00 2C */ b lbl_8057BC9C -lbl_8057BC74: -/* 8057BC74 80 7E 05 68 */ lwz r3, 0x568(r30) -/* 8057BC78 4B CE C5 5D */ bl ChkUsed__9cBgW_BgIdCFv -/* 8057BC7C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8057BC80 40 82 00 1C */ bne lbl_8057BC9C -/* 8057BC84 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8057BC88 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8057BC8C 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 8057BC90 80 9E 05 68 */ lwz r4, 0x568(r30) -/* 8057BC94 7F C5 F3 78 */ mr r5, r30 -/* 8057BC98 4B AF 8D 71 */ bl Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c -lbl_8057BC9C: -/* 8057BC9C 38 1E 05 6C */ addi r0, r30, 0x56c -/* 8057BCA0 90 1F 00 00 */ stw r0, 0(r31) -/* 8057BCA4 38 60 00 01 */ li r3, 1 -/* 8057BCA8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8057BCAC 83 C1 00 08 */ lwz r30, 8(r1) -/* 8057BCB0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8057BCB4 7C 08 03 A6 */ mtlr r0 -/* 8057BCB8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8057BCBC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/create1st__12daObjBoard_cFv.s b/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/create1st__12daObjBoard_cFv.s deleted file mode 100644 index 1f44762cde9..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/create1st__12daObjBoard_cFv.s +++ /dev/null @@ -1,72 +0,0 @@ -lbl_8057BA78: -/* 8057BA78 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8057BA7C 7C 08 02 A6 */ mflr r0 -/* 8057BA80 90 01 00 14 */ stw r0, 0x14(r1) -/* 8057BA84 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8057BA88 7C 7F 1B 78 */ mr r31, r3 -/* 8057BA8C 38 7F 05 A0 */ addi r3, r31, 0x5a0 -/* 8057BA90 3C 80 80 58 */ lis r4, l_arcName@ha /* 0x8057BE20@ha */ -/* 8057BA94 38 84 BE 20 */ addi r4, r4, l_arcName@l /* 0x8057BE20@l */ -/* 8057BA98 80 84 00 00 */ lwz r4, 0(r4) -/* 8057BA9C 4B AB 14 21 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc -/* 8057BAA0 7C 60 1B 78 */ mr r0, r3 -/* 8057BAA4 2C 00 00 04 */ cmpwi r0, 4 -/* 8057BAA8 40 82 00 B4 */ bne lbl_8057BB5C -/* 8057BAAC 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 8057BAB0 54 00 E7 3E */ rlwinm r0, r0, 0x1c, 0x1c, 0x1f -/* 8057BAB4 2C 00 00 05 */ cmpwi r0, 5 -/* 8057BAB8 40 80 00 18 */ bge lbl_8057BAD0 -/* 8057BABC 2C 00 00 03 */ cmpwi r0, 3 -/* 8057BAC0 40 80 00 24 */ bge lbl_8057BAE4 -/* 8057BAC4 2C 00 00 01 */ cmpwi r0, 1 -/* 8057BAC8 40 80 00 14 */ bge lbl_8057BADC -/* 8057BACC 48 00 00 28 */ b lbl_8057BAF4 -lbl_8057BAD0: -/* 8057BAD0 2C 00 00 09 */ cmpwi r0, 9 -/* 8057BAD4 40 80 00 20 */ bge lbl_8057BAF4 -/* 8057BAD8 48 00 00 14 */ b lbl_8057BAEC -lbl_8057BADC: -/* 8057BADC 38 00 00 01 */ li r0, 1 -/* 8057BAE0 48 00 00 18 */ b lbl_8057BAF8 -lbl_8057BAE4: -/* 8057BAE4 38 00 00 02 */ li r0, 2 -/* 8057BAE8 48 00 00 10 */ b lbl_8057BAF8 -lbl_8057BAEC: -/* 8057BAEC 38 00 00 04 */ li r0, 4 -/* 8057BAF0 48 00 00 08 */ b lbl_8057BAF8 -lbl_8057BAF4: -/* 8057BAF4 38 00 00 00 */ li r0, 0 -lbl_8057BAF8: -/* 8057BAF8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8057BAFC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8057BB00 3C 63 00 02 */ addis r3, r3, 2 -/* 8057BB04 3C 80 80 58 */ lis r4, l_arcName@ha /* 0x8057BE20@ha */ -/* 8057BB08 38 84 BE 20 */ addi r4, r4, l_arcName@l /* 0x8057BE20@l */ -/* 8057BB0C 80 84 00 00 */ lwz r4, 0(r4) -/* 8057BB10 54 00 10 3A */ slwi r0, r0, 2 -/* 8057BB14 3C A0 80 58 */ lis r5, l_dzbName@ha /* 0x8057BE24@ha */ -/* 8057BB18 38 A5 BE 24 */ addi r5, r5, l_dzbName@l /* 0x8057BE24@l */ -/* 8057BB1C 7C A5 00 2E */ lwzx r5, r5, r0 -/* 8057BB20 38 63 C2 F8 */ addi r3, r3, -15624 -/* 8057BB24 4B AC 0B 95 */ bl getObjectResName2Index__14dRes_control_cFPCcPCc -/* 8057BB28 7C 65 1B 78 */ mr r5, r3 -/* 8057BB2C 7F E3 FB 78 */ mr r3, r31 -/* 8057BB30 3C 80 80 58 */ lis r4, l_arcName@ha /* 0x8057BE20@ha */ -/* 8057BB34 38 84 BE 20 */ addi r4, r4, l_arcName@l /* 0x8057BE20@l */ -/* 8057BB38 80 84 00 00 */ lwz r4, 0(r4) -/* 8057BB3C 38 C0 00 00 */ li r6, 0 -/* 8057BB40 38 E0 02 00 */ li r7, 0x200 -/* 8057BB44 39 00 00 00 */ li r8, 0 -/* 8057BB48 4B AF CC 75 */ bl MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f -/* 8057BB4C 7C 60 1B 78 */ mr r0, r3 -/* 8057BB50 2C 00 00 05 */ cmpwi r0, 5 -/* 8057BB54 40 82 00 08 */ bne lbl_8057BB5C -/* 8057BB58 48 00 00 08 */ b lbl_8057BB60 -lbl_8057BB5C: -/* 8057BB5C 7C 03 03 78 */ mr r3, r0 -lbl_8057BB60: -/* 8057BB60 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8057BB64 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8057BB68 7C 08 03 A6 */ mtlr r0 -/* 8057BB6C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8057BB70 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/daObjBoard_MoveBGDelete__FP12daObjBoard_c.s b/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/daObjBoard_MoveBGDelete__FP12daObjBoard_c.s deleted file mode 100644 index 4449fe6fcd7..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/daObjBoard_MoveBGDelete__FP12daObjBoard_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8057BD5C: -/* 8057BD5C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8057BD60 7C 08 02 A6 */ mflr r0 -/* 8057BD64 90 01 00 14 */ stw r0, 0x14(r1) -/* 8057BD68 4B AF CB 75 */ bl MoveBGDelete__16dBgS_MoveBgActorFv -/* 8057BD6C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8057BD70 7C 08 03 A6 */ mtlr r0 -/* 8057BD74 38 21 00 10 */ addi r1, r1, 0x10 -/* 8057BD78 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/daObjBoard_MoveBGDraw__FP12daObjBoard_c.s b/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/daObjBoard_MoveBGDraw__FP12daObjBoard_c.s deleted file mode 100644 index 7133e0ffe36..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/daObjBoard_MoveBGDraw__FP12daObjBoard_c.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8057BD9C: -/* 8057BD9C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8057BDA0 7C 08 02 A6 */ mflr r0 -/* 8057BDA4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8057BDA8 81 83 05 9C */ lwz r12, 0x59c(r3) -/* 8057BDAC 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 8057BDB0 7D 89 03 A6 */ mtctr r12 -/* 8057BDB4 4E 80 04 21 */ bctrl -/* 8057BDB8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8057BDBC 7C 08 03 A6 */ mtlr r0 -/* 8057BDC0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8057BDC4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/daObjBoard_MoveBGExecute__FP12daObjBoard_c.s b/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/daObjBoard_MoveBGExecute__FP12daObjBoard_c.s deleted file mode 100644 index f311c8e1051..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/daObjBoard_MoveBGExecute__FP12daObjBoard_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8057BD7C: -/* 8057BD7C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8057BD80 7C 08 02 A6 */ mflr r0 -/* 8057BD84 90 01 00 14 */ stw r0, 0x14(r1) -/* 8057BD88 4B AF CB C9 */ bl MoveBGExecute__16dBgS_MoveBgActorFv -/* 8057BD8C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8057BD90 7C 08 03 A6 */ mtlr r0 -/* 8057BD94 38 21 00 10 */ addi r1, r1, 0x10 -/* 8057BD98 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/daObjBoard_create1st__FP12daObjBoard_c.s b/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/daObjBoard_create1st__FP12daObjBoard_c.s deleted file mode 100644 index cc8a4a28813..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/daObjBoard_create1st__FP12daObjBoard_c.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_8057BCFC: -/* 8057BCFC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8057BD00 7C 08 02 A6 */ mflr r0 -/* 8057BD04 90 01 00 14 */ stw r0, 0x14(r1) -/* 8057BD08 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8057BD0C 7C 7F 1B 78 */ mr r31, r3 -/* 8057BD10 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 8057BD14 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 8057BD18 40 82 00 28 */ bne lbl_8057BD40 -/* 8057BD1C 28 1F 00 00 */ cmplwi r31, 0 -/* 8057BD20 41 82 00 14 */ beq lbl_8057BD34 -/* 8057BD24 4B AF C9 01 */ bl __ct__16dBgS_MoveBgActorFv -/* 8057BD28 3C 60 80 58 */ lis r3, __vt__12daObjBoard_c@ha /* 0x8057BEE0@ha */ -/* 8057BD2C 38 03 BE E0 */ addi r0, r3, __vt__12daObjBoard_c@l /* 0x8057BEE0@l */ -/* 8057BD30 90 1F 05 9C */ stw r0, 0x59c(r31) -lbl_8057BD34: -/* 8057BD34 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 8057BD38 60 00 00 08 */ ori r0, r0, 8 -/* 8057BD3C 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_8057BD40: -/* 8057BD40 7F E3 FB 78 */ mr r3, r31 -/* 8057BD44 4B FF FD 35 */ bl create1st__12daObjBoard_cFv -/* 8057BD48 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8057BD4C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8057BD50 7C 08 03 A6 */ mtlr r0 -/* 8057BD54 38 21 00 10 */ addi r1, r1, 0x10 -/* 8057BD58 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/initBaseMtx__12daObjBoard_cFv.s b/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/initBaseMtx__12daObjBoard_cFv.s deleted file mode 100644 index b49477b80e5..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/initBaseMtx__12daObjBoard_cFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8057B958: -/* 8057B958 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8057B95C 7C 08 02 A6 */ mflr r0 -/* 8057B960 90 01 00 14 */ stw r0, 0x14(r1) -/* 8057B964 48 00 00 15 */ bl setBaseMtx__12daObjBoard_cFv -/* 8057B968 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8057B96C 7C 08 03 A6 */ mtlr r0 -/* 8057B970 38 21 00 10 */ addi r1, r1, 0x10 -/* 8057B974 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/setBaseMtx__12daObjBoard_cFv.s b/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/setBaseMtx__12daObjBoard_cFv.s deleted file mode 100644 index 58dafe79f45..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/setBaseMtx__12daObjBoard_cFv.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_8057B978: -/* 8057B978 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8057B97C 7C 08 02 A6 */ mflr r0 -/* 8057B980 90 01 00 14 */ stw r0, 0x14(r1) -/* 8057B984 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8057B988 7C 7F 1B 78 */ mr r31, r3 -/* 8057B98C 38 7F 04 D0 */ addi r3, r31, 0x4d0 -/* 8057B990 4B A9 13 D5 */ bl transS__14mDoMtx_stack_cFRC4cXyz -/* 8057B994 38 7F 04 E4 */ addi r3, r31, 0x4e4 -/* 8057B998 4B A9 15 AD */ bl ZXYrotM__14mDoMtx_stack_cFRC5csXyz -/* 8057B99C 38 7F 04 EC */ addi r3, r31, 0x4ec -/* 8057B9A0 4B A9 14 D1 */ bl scaleM__14mDoMtx_stack_cFRC4cXyz -/* 8057B9A4 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8057B9A8 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8057B9AC 38 9F 05 6C */ addi r4, r31, 0x56c -/* 8057B9B0 4B DC AB 01 */ bl PSMTXCopy -/* 8057B9B4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8057B9B8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8057B9BC 7C 08 03 A6 */ mtlr r0 -/* 8057B9C0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8057B9C4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot/__dt__12daTagAJnot_cFv.s b/asm/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot/__dt__12daTagAJnot_cFv.s deleted file mode 100644 index cd2a64c30ff..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot/__dt__12daTagAJnot_cFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_805A26C8: -/* 805A26C8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A26CC 7C 08 02 A6 */ mflr r0 -/* 805A26D0 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A26D4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 805A26D8 93 C1 00 08 */ stw r30, 8(r1) -/* 805A26DC 7C 7E 1B 79 */ or. r30, r3, r3 -/* 805A26E0 7C 9F 23 78 */ mr r31, r4 -/* 805A26E4 41 82 00 1C */ beq lbl_805A2700 -/* 805A26E8 38 80 00 00 */ li r4, 0 -/* 805A26EC 4B A7 65 A1 */ bl __dt__10fopAc_ac_cFv -/* 805A26F0 7F E0 07 35 */ extsh. r0, r31 -/* 805A26F4 40 81 00 0C */ ble lbl_805A2700 -/* 805A26F8 7F C3 F3 78 */ mr r3, r30 -/* 805A26FC 4B D2 C6 41 */ bl __dl__FPv -lbl_805A2700: -/* 805A2700 7F C3 F3 78 */ mr r3, r30 -/* 805A2704 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 805A2708 83 C1 00 08 */ lwz r30, 8(r1) -/* 805A270C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A2710 7C 08 03 A6 */ mtlr r0 -/* 805A2714 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A2718 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot/create__12daTagAJnot_cFv.s b/asm/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot/create__12daTagAJnot_cFv.s deleted file mode 100644 index 4610e380aa7..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot/create__12daTagAJnot_cFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_805A2658: -/* 805A2658 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A265C 7C 08 02 A6 */ mflr r0 -/* 805A2660 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A2664 93 E1 00 0C */ stw r31, 0xc(r1) -/* 805A2668 7C 7F 1B 78 */ mr r31, r3 -/* 805A266C 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 805A2670 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 805A2674 40 82 00 1C */ bne lbl_805A2690 -/* 805A2678 28 1F 00 00 */ cmplwi r31, 0 -/* 805A267C 41 82 00 08 */ beq lbl_805A2684 -/* 805A2680 4B A7 64 E5 */ bl __ct__10fopAc_ac_cFv -lbl_805A2684: -/* 805A2684 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 805A2688 60 00 00 08 */ ori r0, r0, 8 -/* 805A268C 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_805A2690: -/* 805A2690 38 60 00 04 */ li r3, 4 -/* 805A2694 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 805A2698 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A269C 7C 08 03 A6 */ mtlr r0 -/* 805A26A0 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A26A4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot/daTagAJnot_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot/daTagAJnot_Create__FP10fopAc_ac_c.s deleted file mode 100644 index c42b2adc86a..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot/daTagAJnot_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_805A26A8: -/* 805A26A8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A26AC 7C 08 02 A6 */ mflr r0 -/* 805A26B0 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A26B4 4B FF FF A5 */ bl create__12daTagAJnot_cFv -/* 805A26B8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A26BC 7C 08 03 A6 */ mtlr r0 -/* 805A26C0 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A26C4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot/daTagAJnot_Delete__FP12daTagAJnot_c.s b/asm/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot/daTagAJnot_Delete__FP12daTagAJnot_c.s deleted file mode 100644 index b279bad5a1e..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot/daTagAJnot_Delete__FP12daTagAJnot_c.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_805A271C: -/* 805A271C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A2720 7C 08 02 A6 */ mflr r0 -/* 805A2724 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A2728 38 80 FF FF */ li r4, -1 -/* 805A272C 4B FF FF 9D */ bl __dt__12daTagAJnot_cFv -/* 805A2730 38 60 00 01 */ li r3, 1 -/* 805A2734 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A2738 7C 08 03 A6 */ mtlr r0 -/* 805A273C 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A2740 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot/daTagAJnot_Execute__FP12daTagAJnot_c.s b/asm/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot/daTagAJnot_Execute__FP12daTagAJnot_c.s deleted file mode 100644 index ba52b28434a..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot/daTagAJnot_Execute__FP12daTagAJnot_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_805A2850: -/* 805A2850 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A2854 7C 08 02 A6 */ mflr r0 -/* 805A2858 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A285C 4B FF FE E9 */ bl execute__12daTagAJnot_cFv -/* 805A2860 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A2864 7C 08 03 A6 */ mtlr r0 -/* 805A2868 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A286C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot/execute__12daTagAJnot_cFv.s b/asm/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot/execute__12daTagAJnot_cFv.s deleted file mode 100644 index 7810068d4da..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot/execute__12daTagAJnot_cFv.s +++ /dev/null @@ -1,70 +0,0 @@ -lbl_805A2744: -/* 805A2744 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 805A2748 7C 08 02 A6 */ mflr r0 -/* 805A274C 90 01 00 34 */ stw r0, 0x34(r1) -/* 805A2750 39 61 00 30 */ addi r11, r1, 0x30 -/* 805A2754 4B DB FA 89 */ bl _savegpr_29 -/* 805A2758 7C 7D 1B 78 */ mr r29, r3 -/* 805A275C 3C 60 80 5A */ lis r3, lit_3713@ha /* 0x805A2880@ha */ -/* 805A2760 3B E3 28 80 */ addi r31, r3, lit_3713@l /* 0x805A2880@l */ -/* 805A2764 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A2768 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A276C 83 C3 5D AC */ lwz r30, 0x5dac(r3) -/* 805A2770 C0 3E 04 D4 */ lfs f1, 0x4d4(r30) -/* 805A2774 C0 1D 04 D4 */ lfs f0, 0x4d4(r29) -/* 805A2778 EC 61 00 28 */ fsubs f3, f1, f0 -/* 805A277C C0 5F 00 00 */ lfs f2, 0(r31) -/* 805A2780 FC 03 10 40 */ fcmpo cr0, f3, f2 -/* 805A2784 4C 41 13 82 */ cror 2, 1, 2 -/* 805A2788 40 82 00 AC */ bne lbl_805A2834 -/* 805A278C C0 3F 00 04 */ lfs f1, 4(r31) -/* 805A2790 C0 1D 04 F0 */ lfs f0, 0x4f0(r29) -/* 805A2794 EC 01 00 32 */ fmuls f0, f1, f0 -/* 805A2798 FC 03 00 40 */ fcmpo cr0, f3, f0 -/* 805A279C 4C 40 13 82 */ cror 2, 0, 2 -/* 805A27A0 40 82 00 94 */ bne lbl_805A2834 -/* 805A27A4 C0 3E 04 D8 */ lfs f1, 0x4d8(r30) -/* 805A27A8 C0 1E 04 D0 */ lfs f0, 0x4d0(r30) -/* 805A27AC D0 01 00 08 */ stfs f0, 8(r1) -/* 805A27B0 D0 41 00 0C */ stfs f2, 0xc(r1) -/* 805A27B4 D0 21 00 10 */ stfs f1, 0x10(r1) -/* 805A27B8 C0 3D 04 D8 */ lfs f1, 0x4d8(r29) -/* 805A27BC C0 1D 04 D0 */ lfs f0, 0x4d0(r29) -/* 805A27C0 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 805A27C4 D0 41 00 18 */ stfs f2, 0x18(r1) -/* 805A27C8 D0 21 00 1C */ stfs f1, 0x1c(r1) -/* 805A27CC 38 61 00 08 */ addi r3, r1, 8 -/* 805A27D0 38 81 00 14 */ addi r4, r1, 0x14 -/* 805A27D4 4B DA 4B C9 */ bl PSVECSquareDistance -/* 805A27D8 C0 5D 04 EC */ lfs f2, 0x4ec(r29) -/* 805A27DC C0 1F 00 08 */ lfs f0, 8(r31) -/* 805A27E0 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 805A27E4 EC 02 00 32 */ fmuls f0, f2, f0 -/* 805A27E8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 805A27EC 4C 40 13 82 */ cror 2, 0, 2 -/* 805A27F0 40 82 00 44 */ bne lbl_805A2834 -/* 805A27F4 80 1D 00 B0 */ lwz r0, 0xb0(r29) -/* 805A27F8 54 03 07 3E */ clrlwi r3, r0, 0x1c -/* 805A27FC 2C 03 00 01 */ cmpwi r3, 1 -/* 805A2800 40 82 00 14 */ bne lbl_805A2814 -/* 805A2804 80 1E 05 88 */ lwz r0, 0x588(r30) -/* 805A2808 60 00 02 00 */ ori r0, r0, 0x200 -/* 805A280C 90 1E 05 88 */ stw r0, 0x588(r30) -/* 805A2810 48 00 00 24 */ b lbl_805A2834 -lbl_805A2814: -/* 805A2814 80 1E 05 88 */ lwz r0, 0x588(r30) -/* 805A2818 60 00 00 20 */ ori r0, r0, 0x20 -/* 805A281C 90 1E 05 88 */ stw r0, 0x588(r30) -/* 805A2820 2C 03 00 0F */ cmpwi r3, 0xf -/* 805A2824 40 82 00 10 */ bne lbl_805A2834 -/* 805A2828 80 1E 05 88 */ lwz r0, 0x588(r30) -/* 805A282C 60 00 00 10 */ ori r0, r0, 0x10 -/* 805A2830 90 1E 05 88 */ stw r0, 0x588(r30) -lbl_805A2834: -/* 805A2834 38 60 00 01 */ li r3, 1 -/* 805A2838 39 61 00 30 */ addi r11, r1, 0x30 -/* 805A283C 4B DB F9 ED */ bl _restgpr_29 -/* 805A2840 80 01 00 34 */ lwz r0, 0x34(r1) -/* 805A2844 7C 08 03 A6 */ mtlr r0 -/* 805A2848 38 21 00 30 */ addi r1, r1, 0x30 -/* 805A284C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard/createGuard__12daTagGuard_cFUl.s b/asm/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard/createGuard__12daTagGuard_cFUl.s deleted file mode 100644 index 8ee49be9276..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard/createGuard__12daTagGuard_cFUl.s +++ /dev/null @@ -1,55 +0,0 @@ -lbl_80D5985C: -/* 80D5985C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80D59860 7C 08 02 A6 */ mflr r0 -/* 80D59864 90 01 00 34 */ stw r0, 0x34(r1) -/* 80D59868 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 80D5986C 93 C1 00 28 */ stw r30, 0x28(r1) -/* 80D59870 7C 7E 1B 78 */ mr r30, r3 -/* 80D59874 7C 9F 23 78 */ mr r31, r4 -/* 80D59878 C0 03 04 D0 */ lfs f0, 0x4d0(r3) -/* 80D5987C D0 01 00 10 */ stfs f0, 0x10(r1) -/* 80D59880 C0 03 04 D4 */ lfs f0, 0x4d4(r3) -/* 80D59884 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 80D59888 C0 03 04 D8 */ lfs f0, 0x4d8(r3) -/* 80D5988C D0 01 00 18 */ stfs f0, 0x18(r1) -/* 80D59890 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 80D59894 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80D59898 28 00 00 FF */ cmplwi r0, 0xff -/* 80D5989C 41 82 00 34 */ beq lbl_80D598D0 -/* 80D598A0 80 7E 05 68 */ lwz r3, 0x568(r30) -/* 80D598A4 38 80 00 00 */ li r4, 0 -/* 80D598A8 4B 2F 7F 09 */ bl dPath_GetPnt__FPC5dPathi -/* 80D598AC C0 03 00 04 */ lfs f0, 4(r3) -/* 80D598B0 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 80D598B4 C0 03 00 08 */ lfs f0, 8(r3) -/* 80D598B8 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 80D598BC C0 03 00 0C */ lfs f0, 0xc(r3) -/* 80D598C0 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 80D598C4 80 1E 00 B0 */ lwz r0, 0xb0(r30) -/* 80D598C8 54 00 42 1E */ rlwinm r0, r0, 8, 8, 0xf -/* 80D598CC 7F FF 03 78 */ or r31, r31, r0 -lbl_80D598D0: -/* 80D598D0 88 1E 04 E2 */ lbz r0, 0x4e2(r30) -/* 80D598D4 7C 07 07 74 */ extsb r7, r0 -/* 80D598D8 38 00 00 00 */ li r0, 0 -/* 80D598DC 90 01 00 08 */ stw r0, 8(r1) -/* 80D598E0 38 60 02 97 */ li r3, 0x297 -/* 80D598E4 28 1E 00 00 */ cmplwi r30, 0 -/* 80D598E8 41 82 00 0C */ beq lbl_80D598F4 -/* 80D598EC 80 9E 00 04 */ lwz r4, 4(r30) -/* 80D598F0 48 00 00 08 */ b lbl_80D598F8 -lbl_80D598F4: -/* 80D598F4 38 80 FF FF */ li r4, -1 -lbl_80D598F8: -/* 80D598F8 7F E5 FB 78 */ mr r5, r31 -/* 80D598FC 38 C1 00 10 */ addi r6, r1, 0x10 -/* 80D59900 39 1E 04 DC */ addi r8, r30, 0x4dc -/* 80D59904 39 20 00 00 */ li r9, 0 -/* 80D59908 39 40 FF FF */ li r10, -1 -/* 80D5990C 4B 2C 05 E5 */ bl fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i -/* 80D59910 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 80D59914 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 80D59918 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80D5991C 7C 08 03 A6 */ mtlr r0 -/* 80D59920 38 21 00 30 */ addi r1, r1, 0x30 -/* 80D59924 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard/daTagGuard_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard/daTagGuard_Create__FP10fopAc_ac_c.s deleted file mode 100644 index 19612cf9193..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard/daTagGuard_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_80D59928: -/* 80D59928 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D5992C 7C 08 02 A6 */ mflr r0 -/* 80D59930 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D59934 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D59938 93 C1 00 08 */ stw r30, 8(r1) -/* 80D5993C 7C 7E 1B 78 */ mr r30, r3 -/* 80D59940 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80D59944 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80D59948 40 82 00 1C */ bne lbl_80D59964 -/* 80D5994C 28 1E 00 00 */ cmplwi r30, 0 -/* 80D59950 41 82 00 08 */ beq lbl_80D59958 -/* 80D59954 4B 2B F2 11 */ bl __ct__10fopAc_ac_cFv -lbl_80D59958: -/* 80D59958 80 1E 04 A0 */ lwz r0, 0x4a0(r30) -/* 80D5995C 60 00 00 08 */ ori r0, r0, 8 -/* 80D59960 90 1E 04 A0 */ stw r0, 0x4a0(r30) -lbl_80D59964: -/* 80D59964 80 1E 00 B0 */ lwz r0, 0xb0(r30) -/* 80D59968 54 03 C6 3E */ rlwinm r3, r0, 0x18, 0x18, 0x1f -/* 80D5996C 88 1E 04 BA */ lbz r0, 0x4ba(r30) -/* 80D59970 7C 04 07 74 */ extsb r4, r0 -/* 80D59974 4B 2F 7E 79 */ bl dPath_GetRoomPath__Fii -/* 80D59978 90 7E 05 68 */ stw r3, 0x568(r30) -/* 80D5997C 80 7E 05 68 */ lwz r3, 0x568(r30) -/* 80D59980 38 80 00 00 */ li r4, 0 -/* 80D59984 4B 2F 7E 2D */ bl dPath_GetPnt__FPC5dPathi -/* 80D59988 7C 7F 1B 78 */ mr r31, r3 -/* 80D5998C 80 7E 05 68 */ lwz r3, 0x568(r30) -/* 80D59990 38 80 00 01 */ li r4, 1 -/* 80D59994 4B 2F 7E 1D */ bl dPath_GetPnt__FPC5dPathi -/* 80D59998 7C 64 1B 78 */ mr r4, r3 -/* 80D5999C C0 1F 00 04 */ lfs f0, 4(r31) -/* 80D599A0 D0 1E 04 D0 */ stfs f0, 0x4d0(r30) -/* 80D599A4 C0 1F 00 08 */ lfs f0, 8(r31) -/* 80D599A8 D0 1E 04 D4 */ stfs f0, 0x4d4(r30) -/* 80D599AC C0 1F 00 0C */ lfs f0, 0xc(r31) -/* 80D599B0 D0 1E 04 D8 */ stfs f0, 0x4d8(r30) -/* 80D599B4 38 7F 00 04 */ addi r3, r31, 4 -/* 80D599B8 38 84 00 04 */ addi r4, r4, 4 -/* 80D599BC 4B 51 72 49 */ bl cLib_targetAngleY__FPC3VecPC3Vec -/* 80D599C0 B0 7E 04 DE */ sth r3, 0x4de(r30) -/* 80D599C4 38 60 00 04 */ li r3, 4 -/* 80D599C8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D599CC 83 C1 00 08 */ lwz r30, 8(r1) -/* 80D599D0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D599D4 7C 08 03 A6 */ mtlr r0 -/* 80D599D8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D599DC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard/daTagGuard_Delete__FP12daTagGuard_c.s b/asm/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard/daTagGuard_Delete__FP12daTagGuard_c.s deleted file mode 100644 index ae414c2ec27..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard/daTagGuard_Delete__FP12daTagGuard_c.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80D599E0: -/* 80D599E0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D599E4 7C 08 02 A6 */ mflr r0 -/* 80D599E8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D599EC 28 03 00 00 */ cmplwi r3, 0 -/* 80D599F0 41 82 00 0C */ beq lbl_80D599FC -/* 80D599F4 38 80 00 00 */ li r4, 0 -/* 80D599F8 4B 2B F2 95 */ bl __dt__10fopAc_ac_cFv -lbl_80D599FC: -/* 80D599FC 38 60 00 01 */ li r3, 1 -/* 80D59A00 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D59A04 7C 08 03 A6 */ mtlr r0 -/* 80D59A08 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D59A0C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard/getAppearPoint__12daTagGuard_cFP3Vec.s b/asm/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard/getAppearPoint__12daTagGuard_cFP3Vec.s deleted file mode 100644 index 2c7e759d83d..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard/getAppearPoint__12daTagGuard_cFP3Vec.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_80D597F8: -/* 80D597F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D597FC 7C 08 02 A6 */ mflr r0 -/* 80D59800 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D59804 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D59808 7C 9F 23 78 */ mr r31, r4 -/* 80D5980C 80 63 05 68 */ lwz r3, 0x568(r3) -/* 80D59810 28 03 00 00 */ cmplwi r3, 0 -/* 80D59814 40 82 00 0C */ bne lbl_80D59820 -/* 80D59818 38 60 00 00 */ li r3, 0 -/* 80D5981C 48 00 00 2C */ b lbl_80D59848 -lbl_80D59820: -/* 80D59820 A0 83 00 00 */ lhz r4, 0(r3) -/* 80D59824 38 84 FF FF */ addi r4, r4, -1 -/* 80D59828 4B 2F 7F 89 */ bl dPath_GetPnt__FPC5dPathi -/* 80D5982C C0 03 00 04 */ lfs f0, 4(r3) -/* 80D59830 D0 1F 00 00 */ stfs f0, 0(r31) -/* 80D59834 C0 03 00 08 */ lfs f0, 8(r3) -/* 80D59838 D0 1F 00 04 */ stfs f0, 4(r31) -/* 80D5983C C0 03 00 0C */ lfs f0, 0xc(r3) -/* 80D59840 D0 1F 00 08 */ stfs f0, 8(r31) -/* 80D59844 38 60 00 01 */ li r3, 1 -lbl_80D59848: -/* 80D59848 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D5984C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D59850 7C 08 03 A6 */ mtlr r0 -/* 80D59854 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D59858 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/__dt__4cXyzFv.s b/asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/__dt__4cXyzFv.s deleted file mode 100644 index 8c58b70c83b..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/__dt__4cXyzFv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80D60520: -/* 80D60520 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D60524 7C 08 02 A6 */ mflr r0 -/* 80D60528 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D6052C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D60530 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80D60534 41 82 00 10 */ beq lbl_80D60544 -/* 80D60538 7C 80 07 35 */ extsh. r0, r4 -/* 80D6053C 40 81 00 08 */ ble lbl_80D60544 -/* 80D60540 4B 56 E7 FD */ bl __dl__FPv -lbl_80D60544: -/* 80D60544 7F E3 FB 78 */ mr r3, r31 -/* 80D60548 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D6054C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D60550 7C 08 03 A6 */ mtlr r0 -/* 80D60554 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D60558 4E 80 00 20 */ blr diff --git a/diff.py b/diff.py index 676e1c24a40..4bc740d3324 100644 --- a/diff.py +++ b/diff.py @@ -3394,7 +3394,7 @@ def main() -> None: if ret.returncode != 0: display.update( ret.stderr.decode("utf-8-sig", "replace") - or ret.stdout.decode("utf-8-sig", "replace"), + + ret.stdout.decode("utf-8-sig", "replace"), error=True, ) continue diff --git a/include/JSystem/J2DGraph/J2DPane.h b/include/JSystem/J2DGraph/J2DPane.h index 04cbb143cd2..fe6649981b6 100644 --- a/include/JSystem/J2DGraph/J2DPane.h +++ b/include/JSystem/J2DGraph/J2DPane.h @@ -21,7 +21,13 @@ enum J2DRotateAxis { /* 0x7A */ ROTATE_Z = 'z' }; -enum J2DBasePosition {}; +enum J2DBasePosition { + J2DBasePosition_0, + J2DBasePosition_1, + J2DBasePosition_2, + J2DBasePosition_3, + J2DBasePosition_4, +}; struct J2DPaneHeader { /* 0x0 */ u32 mKind; diff --git a/include/JSystem/JGeometry.h b/include/JSystem/JGeometry.h index 6eb88b0279f..e01e72614ad 100644 --- a/include/JSystem/JGeometry.h +++ b/include/JSystem/JGeometry.h @@ -55,9 +55,25 @@ struct TVec3 { void zero() { x = y = z = 0.0f; } void mul(const TVec3& a, const TVec3& b) { - x = a.x * b.x; - y = a.y * b.y; - z = a.z * b.z; + register f32* dst = &x; + const register f32* srca = &a.x; + const register f32* srcb = &b.x; + register f32 a_x_y; + register f32 b_x_y; + register f32 x_y; + register f32 za; + register f32 zb; + register f32 z; + asm { + psq_l a_x_y, 0(srca), 0, 0 + psq_l b_x_y, 0(srcb), 0, 0 + ps_mul x_y, a_x_y, b_x_y + psq_st x_y, 0(dst), 0, 0 + lfs za, 8(srca) + lfs zb, 8(srcb) + fmuls z, za, zb + stfs z, 8(dst) + }; } inline TVec3& operator=(const TVec3& b) { diff --git a/include/JSystem/JParticle/JPAParticle.h b/include/JSystem/JParticle/JPAParticle.h index 31590055f20..f1a04a8d86c 100644 --- a/include/JSystem/JParticle/JPAParticle.h +++ b/include/JSystem/JParticle/JPAParticle.h @@ -53,10 +53,10 @@ public: f32 get_rndm_zh() { f32 f = get_rndm_f(); - return f - 1.0f; + return f - 0.5f; } - s16 get_rndm_ss() { return ((s16)get_rndm_u()) >> 16; } + s16 get_rndm_ss() { return (s16)(get_rndm_u() >> 16); } public: u32 mSeed; @@ -161,8 +161,8 @@ struct JPAEmitterWorkData { /* 0x34 */ f32 mVolumeSize; /* 0x38 */ f32 mVolumeMinRad; /* 0x3C */ f32 mVolumeSweep; - /* 0x40 */ u32 mEmitCount; - /* 0x44 */ u32 mVolumeEmitIdx; + /* 0x40 */ s32 mEmitCount; + /* 0x44 */ s32 mVolumeEmitIdx; /* 0x48 */ Mtx mDirectionMtx; /* 0x78 */ Mtx mRotationMtx; /* 0xA8 */ Mtx mGlobalRot; diff --git a/include/SSystem/SComponent/c_angle.h b/include/SSystem/SComponent/c_angle.h index b54d8f7585d..d87b220fb70 100644 --- a/include/SSystem/SComponent/c_angle.h +++ b/include/SSystem/SComponent/c_angle.h @@ -52,12 +52,44 @@ public: cSAngle operator+(short, const cSAngle&); cSAngle operator-(short, const cSAngle&); +struct cAngle { + static f32 Radian_to_Degree(f32 rad) { return rad * 57.2957763671875f; } + static f32 Degree_to_Radian(f32 deg) { return deg * 0.017453292f; } + static s16 Degree_to_SAngle(f32 deg) { return deg * 182.04444885253906f; } + static f32 SAngle_to_Degree(s16 angle) { return (360.0f / 65536.0f) * angle; } + static f32 SAngle_to_Radian(s16 angle) { return 9.58738E-5f * angle; } + static f32 SAngle_to_Normal(s16 angle) { return 3.0517578E-5f * angle; } + static s16 Radian_to_SAngle(f32 rad) { return rad * 10430.378f; } + + /* Converts Radian value into Degree value */ + static f32 r2d(f32 r) { return Radian_to_Degree(r); } + + /* Converts Degree value to s16 angle */ + static s16 d2s(f32 d) { return Degree_to_SAngle(d); } + + template + static T Adjust(T f1, T f2, T f3); +}; + +template +T cAngle::Adjust(T f1, T f2, T f3) { + while (f1 >= f3) { + f1 -= f3 - f2; + } + while (f1 < f2) { + f1 += f3 - f2; + } + return f1; +} + class cDegree { private: float mDegree; public: cDegree(float); + ~cDegree() {} + cDegree& Formal(void); void Val(float); float Radian(void) const; diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h index f48e1abd10b..32ec70e4079 100644 --- a/include/d/a/d_a_player.h +++ b/include/d/a/d_a_player.h @@ -311,9 +311,12 @@ public: ERFLG0_UNK_2000 = 0x2000, ERFLG0_UNK_1000 = 0x1000, ERFLG0_UNK_400 = 0x400, + ERFLG0_FORCE_AUTO_JUMP = 0x200, ERFLG0_UNK_100 = 0x100, ERFLG0_UNK_80 = 0x80, ERFLG0_UNK_40 = 0x40, + ERFLG0_NOT_AUTO_JUMP = 0x20, + ERFLG0_NOT_HANG = 0x10, ERFLG0_UNK_8 = 8, ERFLG0_UNK_4 = 4, ERFLG0_UNK_2 = 2, @@ -695,6 +698,10 @@ public: bool checkSceneChangeAreaStart() const { return i_checkNoResetFlg2(FLG2_SCN_CHG_START); } bool checkFrontRollCrash() const { return i_checkResetFlg0(RFLG0_FRONT_ROLL_CRASH); } + void onForceAutoJump() { i_onEndResetFlg0(ERFLG0_FORCE_AUTO_JUMP); } + void onNotAutoJump() { i_onEndResetFlg0(ERFLG0_NOT_AUTO_JUMP); } + void onNotHang() { i_onEndResetFlg0(ERFLG0_NOT_HANG); } + void offGoronSideMove() { if (i_checkGoronSideMove()) { mSpecialMode = 0; diff --git a/include/d/bg/d_bg_s_movebg_actor.h b/include/d/bg/d_bg_s_movebg_actor.h index 2eacdec49e5..3321d77db94 100644 --- a/include/d/bg/d_bg_s_movebg_actor.h +++ b/include/d/bg/d_bg_s_movebg_actor.h @@ -10,25 +10,24 @@ typedef void (*MoveBGActor_SetFunc)(dBgW*, void*, cBgS_PolyInfo const&, bool, cX csXyz*); class dBgS_MoveBgActor : public fopAc_ac_c { -private: +public: /* 0x568 */ dBgW* field_0x568; /* 0x56C */ Mtx field_0x56c; -public: /* 80078624 */ dBgS_MoveBgActor(); /* 800786C8 */ int MoveBGCreateHeap(); /* 800787BC */ int MoveBGCreate(char const*, int, MoveBGActor_SetFunc, u32, Mtx*); - /* 800788DC */ bool MoveBGDelete(); - /* 80078950 */ bool MoveBGExecute(); + /* 800788DC */ int MoveBGDelete(); + /* 80078950 */ int MoveBGExecute(); - /* 80078688 */ virtual s32 CreateHeap(); - /* 80078690 */ virtual bool Create(); - /* 80078698 */ virtual bool Execute(f32 (**)[3][4]); - /* 800786A0 */ virtual bool Draw(); - /* 800786A8 */ virtual bool Delete(); - /* 800786B0 */ virtual bool IsDelete(); - /* 800786B8 */ virtual bool ToFore(); - /* 800786C0 */ virtual bool ToBack(); + /* 80078688 */ virtual int CreateHeap(); + /* 80078690 */ virtual int Create(); + /* 80078698 */ virtual int Execute(f32 (**)[3][4]); + /* 800786A0 */ virtual int Draw(); + /* 800786A8 */ virtual int Delete(); + /* 800786B0 */ virtual int IsDelete(); + /* 800786B8 */ virtual int ToFore(); + /* 800786C0 */ virtual int ToBack(); static const char* m_name; static int m_dzb_id; diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h index 7b23faf7e83..e520e4639b3 100644 --- a/include/d/com/d_com_inf_game.h +++ b/include/d/com/d_com_inf_game.h @@ -6,6 +6,7 @@ #include "d/cc/d_cc_s.h" #include "d/d_attention.h" #include "d/d_drawlist.h" +#include "d/d_procname.h" #include "d/d_resorce.h" #include "d/d_simple_model.h" #include "d/d_stage.h" @@ -14,7 +15,6 @@ #include "d/event/d_event_manager.h" #include "d/particle/d_particle.h" #include "d/save/d_save.h" -#include "dolphin/types.h" #include "f_op/f_op_camera_mng.h" #include "f_op/f_op_scene_mng.h" @@ -345,6 +345,7 @@ public: JKRArchive* getCollectResArchive() { return mCollectResArchive; } JKRArchive* getItemIconArchive() { return mItemIconArchive; } JKRArchive* getNameResArchive() { return mNameResArchive; } + JKRArchive* getFmapResArchive() { return mFmapResArchive; } JKRAramArchive* getFieldMapArchive2() { return (JKRAramArchive*)mFieldMapArchive2; } void setFieldMapArchive2(JKRArchive* arc) { mFieldMapArchive2 = arc; } @@ -433,7 +434,9 @@ public: } char* getLastPlayStageName() { return mLastPlayStageName; } + void setGameoverStatus(u8 status) { mGameoverStatus = status; } u8 getGameoverStatus() { return mGameoverStatus; } + u8 getMesgStatus() { return mMesgStatus; } public: /* 0x00000 */ dBgS mBgs; @@ -787,6 +790,10 @@ inline u8 dComIfG_getBrightness() { return g_dComIfG_gameInfo.mFadeBrightness; } +inline int dComIfG_getObjctResName2Index(const char* i_arcName, const char* i_resName) { + return g_dComIfG_gameInfo.mResControl.getObjectResName2Index(i_arcName, i_resName); +} + u8 dComIfGs_getMixItemIndex(int i_no); void dComIfGs_setSelectItemIndex(int i_no, u8 item_index); void dComIfGs_setMixItemIndex(int i_no, u8 item_index); @@ -1531,6 +1538,10 @@ inline int dComIfGs_createZone(int roomNo) { return g_dComIfG_gameInfo.info.createZone(roomNo); } +inline void dComIfGs_addDeathCount() { + g_dComIfG_gameInfo.info.getPlayer().getPlayerInfo().addDeathCount(); +} + void dComIfGp_setSelectItem(int index); s32 dComIfGp_offHeapLockFlag(int flag); void dComIfGp_createSubExpHeap2D(); @@ -1833,6 +1844,10 @@ inline u8 dComIfGp_getGameoverStatus() { return g_dComIfG_gameInfo.play.getGameoverStatus(); } +inline void dComIfGp_setGameoverStatus(u8 i_status) { + return g_dComIfG_gameInfo.play.setGameoverStatus(i_status); +} + inline u32 dComIfGp_getNowVibration() { return g_dComIfG_gameInfo.play.getNowVibration(); } @@ -2358,6 +2373,14 @@ inline void i_dComIfGp_setHitMark(u16 i_hitmark, fopAc_ac_c* param_1, const cXyz i_atType); } +inline JKRArchive* dComIfGp_getFmapResArchive() { + return g_dComIfG_gameInfo.play.getFmapResArchive(); +} + +inline u8 dComIfGp_getMesgStatus() { + return g_dComIfG_gameInfo.play.getMesgStatus(); +} + inline s32 dComIfGp_roomControl_getStayNo() { return dStage_roomControl_c::getStayNo(); } @@ -2769,6 +2792,10 @@ inline void dComIfGd_set2DOpaTop(dDlst_base_c* dlst) { g_dComIfG_gameInfo.drawlist.set2DOpaTop(dlst); } +inline void dComIfGd_setCopy2D(dDlst_base_c* dlst) { + g_dComIfG_gameInfo.drawlist.setCopy2D(dlst); +} + inline view_class* dComIfGd_getView() { return g_dComIfG_gameInfo.drawlist.getView(); } diff --git a/include/d/d_cam_param.h b/include/d/d_cam_param.h index 96ea1d49258..3d23cd2e0d4 100644 --- a/include/d/d_cam_param.h +++ b/include/d/d_cam_param.h @@ -5,11 +5,11 @@ #include "SSystem/SComponent/c_xyz.h" struct dCamMath { - /* 8008813C */ void rationalBezierRatio(f32, f32); - /* 80088284 */ void zoomFovy(f32, f32); - /* 8008831C */ void xyzRotateX(cXyz&, cSAngle); - /* 80088384 */ void xyzRotateY(cXyz&, cSAngle); - /* 800883EC */ void xyzHorizontalDistance(cXyz&, cXyz&); + /* 8008813C */ static f32 rationalBezierRatio(f32, f32); + /* 80088284 */ static f32 zoomFovy(f32, f32); + /* 8008831C */ static cXyz xyzRotateX(cXyz&, cSAngle); + /* 80088384 */ static cXyz xyzRotateY(cXyz&, cSAngle); + /* 800883EC */ static f32 xyzHorizontalDistance(cXyz&, cXyz&); }; class dCstick_c { @@ -29,31 +29,43 @@ class dCamBGChk_c { public: /* 80088464 */ dCamBGChk_c(); - /* 0x00 */ f32 field_0x0; - /* 0x04 */ f32 field_0x4; - /* 0x08 */ f32 field_0x8; - /* 0x0C */ f32 field_0xc; - /* 0x10 */ f32 field_0x10; - /* 0x14 */ f32 field_0x14; - /* 0x18 */ f32 field_0x18; - /* 0x1C */ f32 field_0x1c; - /* 0x20 */ f32 field_0x20; - /* 0x24 */ f32 field_0x24; - /* 0x28 */ f32 field_0x28; + // name is a guess for now + struct ChkInfo { + /* 0x0 */ f32 mDistance; + /* 0x4 */ f32 mChkAngle; + /* 0x8 */ f32 mWeightH; + /* 0xC */ f32 mWeightL; + }; // Size: 0x10 + + /* 0x00 */ f32 mFloorMargin; + /* 0x04 */ ChkInfo mChkInfo[2]; + /* 0x24 */ f32 mFwdBackMargin; + /* 0x28 */ f32 mFwdCushion; /* 0x2C */ f32 field_0x2c; - /* 0x30 */ f32 field_0x30; - /* 0x34 */ f32 field_0x34; - /* 0x38 */ f32 field_0x38; - /* 0x3C */ f32 field_0x3c; - /* 0x40 */ f32 field_0x40; - /* 0x44 */ f32 field_0x44; + /* 0x30 */ f32 mGazeBackMargin; + /* 0x34 */ f32 mCornerCushion; + /* 0x38 */ f32 mWallCushion; + /* 0x3C */ f32 mWallUpDistance; + /* 0x40 */ f32 mWallBackCushion; + /* 0x44 */ f32 mCornerAngleMax; +}; + +struct dCamStyleData { + struct StyleData { + /* 0x0 */ u32 field_0x0; + /* 0x4 */ u8 field_0x4[0x78 - 0x4]; + }; // Size: 0x78 + + /* 0x0 */ u8 field_0x0[4]; + /* 0x4 */ int mStyleNum; + /* 0x8 */ StyleData* mStyleData; }; class dCamParam_c { public: /* 800884F0 */ dCamParam_c(s32); - /* 800885D4 */ void Change(s32); - /* 80088620 */ void SearchStyle(u32); + /* 800885D4 */ int Change(s32); + /* 80088620 */ int SearchStyle(u32); /* 80182C60 */ void Arg2(s16); /* 80182C3C */ void Arg2(); /* 80182C48 */ void Arg1(); @@ -70,9 +82,9 @@ public: /* 0x01 */ u8 mMapToolArg0; /* 0x02 */ u8 mMapToolArg1; /* 0x04 */ int mMapToolArg2; - /* 0x08 */ u8* mCamStyleData; - /* 0x0C */ int field_0xc; - /* 0x10 */ u8* field_0x10; + /* 0x08 */ dCamStyleData::StyleData* mCamStyleData; + /* 0x0C */ s32 mStyleNum; + /* 0x10 */ dCamStyleData::StyleData* mCurrentStyle; /* 0x14 */ int mStyleID; /* 0x18 */ u8 field_0x18[4]; @@ -82,8 +94,8 @@ public: class dCamSetup_c { public: /* 80088668 */ dCamSetup_c(); - /* 80088918 */ void CheckLatitudeRange(s16*); - /* 80088988 */ void PlayerHideDist(); + /* 80088918 */ bool CheckLatitudeRange(s16*); + /* 80088988 */ f32 PlayerHideDist(); /* 80182BB8 */ void CheckFlag2(u16); /* 80182BD0 */ void CheckFlag(u16); /* 80182BE8 */ void WaitRollSpeed(); @@ -169,7 +181,7 @@ public: /* 0x114 */ dCamBGChk_c mBGChk; /* 0x15C */ f32 field_0x15c; /* 0x160 */ f32 field_0x160; - /* 0x164 */ f32 mWaitRollTimer; + /* 0x164 */ int mWaitRollTimer; /* 0x168 */ f32 mWaitRollSpeed; /* 0x16C */ f32 field_0x16c; /* 0x170 */ int mScreensaverFirstWaitTimer; diff --git a/include/d/d_door_param2.h b/include/d/d_door_param2.h index 13045c2d6a7..0ae93871b83 100644 --- a/include/d/d_door_param2.h +++ b/include/d/d_door_param2.h @@ -1,6 +1,28 @@ #ifndef D_D_DOOR_PARAM2_H #define D_D_DOOR_PARAM2_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +class door_param2_c { +public: + /* 8003A188 */ static u8 getKind(fopAc_ac_c* i_actor); + /* 8003A194 */ static u8 getDoorModel(fopAc_ac_c* i_actor); + /* 8003A1A0 */ static u8 getFrontOption(fopAc_ac_c* i_actor); + /* 8003A1AC */ static u8 getBackOption(fopAc_ac_c* i_actor); + /* 8003A1B8 */ static u8 getFRoomNo(fopAc_ac_c* i_actor); + /* 8003A1C4 */ static u8 getBRoomNo(fopAc_ac_c* i_actor); + /* 8003A1D0 */ static u8 getSwbit(fopAc_ac_c* i_actor); + /* 8003A1DC */ static u8 getSwbit2(fopAc_ac_c* i_actor); + /* 8003A1E8 */ static u8 getSwbit3(fopAc_ac_c* i_actor); + /* 8003A1F4 */ static u8 isMsgDoor(fopAc_ac_c* i_actor); + /* 8003A200 */ static u8 getEventNo(fopAc_ac_c* i_actor); + /* 8003A20C */ static u8 getEventNo2(fopAc_ac_c* i_actor); + /* 8003A218 */ static u16 getMsgNo(fopAc_ac_c* i_actor); + /* 8003A224 */ static u8 getExitNo(fopAc_ac_c* i_actor); + /* 8003A230 */ static u8 getFLightInf(fopAc_ac_c* i_actor); + /* 8003A23C */ static u8 getBLightInf(fopAc_ac_c* i_actor); + /* 8003A248 */ static u8 getMFLightInf(fopAc_ac_c* i_actor); + /* 8003A254 */ static u8 getMBLightInf(fopAc_ac_c* i_actor); +}; #endif /* D_D_DOOR_PARAM2_H */ diff --git a/include/d/d_drawlist.h b/include/d/d_drawlist.h index c22a647f2b9..51bea81b875 100644 --- a/include/d/d_drawlist.h +++ b/include/d/d_drawlist.h @@ -255,8 +255,8 @@ public: /* 80056770 */ void drawXluListItem3d(); /* 80056794 */ int set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*); /* 800567C4 */ void draw(dDlst_base_c**, dDlst_base_c**); - /* 8005681C */ void wipeIn(f32, _GXColor&); - /* 800568D8 */ static void wipeIn(f32); + /* 8005681C */ static void wipeIn(f32 i_wipeSpeed, GXColor& i_wipeColor); + /* 800568D8 */ static void wipeIn(f32 i_wipeSpeed); /* 80056900 */ void calcWipe(); enum DrawBuffer { @@ -286,6 +286,7 @@ public: void set2DOpa(dDlst_base_c* dlst) { set(mp2DOpaSet[0], mp2DOpaSet[1], dlst); } void set2DOpaTop(dDlst_base_c* dlst) { set(mp2DOpaTopSet[0], mp2DOpaTopSet[1], dlst); } void set2DXlu(dDlst_base_c* dlst) { set(mp2DXluSet[0], mp2DXluSet[1], dlst); } + void setCopy2D(dDlst_base_c* dlst) { set(mpCopy2DSet[0], mpCopy2DSet[1], dlst); } view_class* getView() { return mView; } void setView(view_class* view) { mView = view; } void setWindow(dDlst_window_c* window) { mWindow = window; } @@ -336,7 +337,7 @@ public: static dDlst_2DT2_c mWipeDlst; static GXColor mWipeColor; static f32 mWipeRate; - static f32 mWipeSpeed[1 + 1 /* padding */]; + static f32 mWipeSpeed; static u8 mWipe; private: diff --git a/include/d/d_gameover.h b/include/d/d_gameover.h index 318cf8756bc..9e010aa19c1 100644 --- a/include/d/d_gameover.h +++ b/include/d/d_gameover.h @@ -1,13 +1,69 @@ #ifndef D_D_GAMEOVER_H #define D_D_GAMEOVER_H +#include "SSystem/SComponent/c_phase.h" +#include "d/menu/d_menu_save.h" #include "d/msg/d_msg_class.h" -#include "dolphin/types.h" #include "f_op/f_op_msg_mng.h" -struct dGameover_c : msg_class { - /* 8019B044 */ void _create(); - /* 8019B2F4 */ void _execute(); +class mDoHIO_entry_c { +public: + virtual ~mDoHIO_entry_c() {} + + /* 0x4 */ s8 mNo; + /* 0x5 */ u8 mCount; +}; + +class dGov_HIO_c : public mDoHIO_entry_c { +public: + /* 8019AFE0 */ dGov_HIO_c(); + /* 8019C06C */ virtual ~dGov_HIO_c(); + + /* 0x08 */ f32 mScale; + /* 0x0C */ f32 mAlpha; + /* 0x10 */ f32 mAnimSpeed; + /* 0x14 */ GXColor mBlack; + /* 0x18 */ GXColor mWhite; +}; // Size: 0x1C + +class dDlst_Gameover_CAPTURE_c : public dDlst_base_c { +public: + /* 8019ACF8 */ virtual void draw(); + /* 8019C2CC */ virtual ~dDlst_Gameover_CAPTURE_c(); +}; + +class dMsgScrnLight_c; +class dDlst_GameOverScrnDraw_c : public dDlst_base_c { +public: + /* 8019B940 */ dDlst_GameOverScrnDraw_c(JKRArchive*); + /* 8019BCB0 */ void setBackAlpha(f32); + + /* 8019BCF4 */ virtual void draw(); + /* 8019BBFC */ virtual ~dDlst_GameOverScrnDraw_c(); + + /* 0x04 */ J2DScreen* mpScreen; + /* 0x08 */ J2DPicture* mpBackImg; + /* 0x0C */ dMsgScrnLight_c* mpLight; + /* 0x10 */ f32 field_0x10; + /* 0x14 */ JUtility::TColor mFadeColor; +}; // Size: 0x18 + +enum dGameover_Proc { + /* 0 */ PROC_PLAYER_ANM_WAIT, + /* 1 */ PROC_DISP_FADE_OUT, + /* 2 */ PROC_DISP_WAIT, + /* 3 */ PROC_DEMO_FADE_IN, + /* 4 */ PROC_DEMO_FADE_OUT, + /* 5 */ PROC_SAVE_OPEN, + /* 6 */ PROC_SAVE_MOVE, + /* 7 */ PROC_SAVE_CLOSE, + /* 8 */ PROC_DELETE_WAIT, +}; + +class dGameover_c : public msg_class { +public: + /* 8019B044 */ int _create(); + /* 8019B2F4 */ int _execute(); /* 8019B384 */ void playerAnmWait_init(); /* 8019B388 */ void playerAnmWait_proc(); /* 8019B3A0 */ void dispFadeOut_init(); @@ -26,27 +82,37 @@ struct dGameover_c : msg_class { /* 8019B5F4 */ void saveClose_proc(); /* 8019B7BC */ void deleteWait_init(); /* 8019B7C0 */ void deleteWait_proc(); - /* 8019B7C4 */ void _draw(); - /* 8019B864 */ void _delete(); - s32 deleteCheck() { return _0x108 == 8; } + /* 8019B7C4 */ int _draw(); + /* 8019B864 */ int _delete(); - /* 0x100 */ u8 _0x100[0x118 - 0x100]; - /* 0x108 */ u8 _0x108; -}; // size unknown + s32 deleteCheck() { return mProc == 8; } + + /* 0x0FC */ dMenu_save_c* dMs_c; + /* 0x100 */ dDlst_GameOverScrnDraw_c* dgo_screen_c; + /* 0x104 */ dDlst_Gameover_CAPTURE_c* dgo_capture_c; + /* 0x108 */ request_of_phase_process_class mPhase; + /* 0x110 */ JKRHeap* mpHeap; + /* 0x114 */ s16 mTimer; + /* 0x116 */ s16 field_0x116; + /* 0x118 */ u8 mProc; + /* 0x119 */ bool mIsDemoSave; +}; // Size: 0x11C s32 d_GameOver_Create(u8 param_0); -void d_GameOver_Delete(unsigned int& param_0); +bool d_GameOver_Delete(unsigned int& i_id); + inline s32 d_GameOver_CheckDelete(unsigned int& id) { if (id != UINT32_MAX) { dGameover_c* gameover = (dGameover_c*)fopMsgM_SearchByID(id); + if (gameover != NULL) { return gameover->deleteCheck(); } else { return 0; } - } else { - return 0; } + + return 0; } #endif /* D_D_GAMEOVER_H */ diff --git a/include/d/d_kantera_icon_meter.h b/include/d/d_kantera_icon_meter.h index 666d1c4a267..ad0a52cf4bd 100644 --- a/include/d/d_kantera_icon_meter.h +++ b/include/d/d_kantera_icon_meter.h @@ -29,6 +29,8 @@ public: /* 801AE974 */ virtual ~dKantera_icon_c(); + void drawSelf() { mpKanteraIcon->draw(); } + private: /* 0x04 */ dDlst_KanteraIcon_c* mpKanteraIcon; /* 0x08 */ CPaneMgr* mpParent; diff --git a/include/d/d_path.h b/include/d/d_path.h index e3c17df3b93..0ff854677dc 100644 --- a/include/d/d_path.h +++ b/include/d/d_path.h @@ -18,5 +18,6 @@ struct dPath { inline int dPath_ChkClose(dPath* i_path) { return (i_path->m_closed & 1); } dPath* dPath_GetRoomPath(int path_index, int room_no); +dStage_dPnt_c* dPath_GetPnt(dPath const* path, int pnt_index); #endif /* D_D_PATH_H */ diff --git a/include/d/d_select_cursor.h b/include/d/d_select_cursor.h index e9d3f70360f..fa188148e04 100644 --- a/include/d/d_select_cursor.h +++ b/include/d/d_select_cursor.h @@ -49,6 +49,18 @@ public: mPositionY = y; } + void onUpdateFlag() { + mUpdateFlag = true; + } + + void resetUpdateFlag() { + mUpdateFlag = false; + } + + bool getUpdateFlag() { + return mUpdateFlag; + } + private: /* 0x04 */ J2DScreen* mpScreen; /* 0x08 */ J2DPane* mpPane; @@ -71,6 +83,8 @@ private: /* 0xA4 */ f32 field_0xa4[4]; /* 0xB4 */ u8 field_0xb4; /* 0xB5 */ s8 mNameIdx; + /* 0xB6 */ u8 field_0xb6; + /* 0xB7 */ bool mUpdateFlag; }; #endif /* D_D_SELECT_CURSOR_H */ diff --git a/include/d/d_stage.h b/include/d/d_stage.h index e74c7acbb3d..62838f3e700 100644 --- a/include/d/d_stage.h +++ b/include/d/d_stage.h @@ -241,8 +241,22 @@ public: /* 0x4 */ dStage_Mult_info* mInfo; }; +struct stage_sound_data { + /* 0x00 */ char field_0x0[8]; + /* 0x08 */ Vec field_0x8; + /* 0x14 */ u8 field_0x14; + /* 0x15 */ u8 field_0x15; + /* 0x16 */ u8 field_0x16; + /* 0x17 */ u8 field_0x17; + /* 0x18 */ u8 field_0x18; + /* 0x19 */ u8 field_0x19; + /* 0x1A */ u8 field_0x1a; +}; // Size: 0x1C + struct dStage_SoundInfo_c { // SOND + /* 0x0 */ int field_0x0; + /* 0x4 */ stage_sound_data* field_0x4; }; class dStage_FileList_dt_c { @@ -854,7 +868,7 @@ struct dStage_objectNameInf { class dStage_KeepDoorInfo { public: /* 80028418 */ ~dStage_KeepDoorInfo() {} - /* 0x000 */ stage_tgsc_class* unk_0x0; + /* 0x000 */ int unk_0x0; /* 0x004 */ stage_tgsc_data_class unk_0x4[0x40]; }; // Size = 0x904 @@ -939,6 +953,8 @@ struct cBgS_GndChk; int dStage_RoomCheck(cBgS_GndChk* gndChk); void dStage_dt_c_roomReLoader(void* i_data, dStage_dt_c* stageDt, int param_2); void dStage_dt_c_roomLoader(void* i_data, dStage_dt_c* stageDt, int param_2); +dStage_KeepDoorInfo* dStage_GetKeepDoorInfo(); +dStage_KeepDoorInfo* dStage_GetRoomKeepDoorInfo(); inline bool dStage_roomRead_dt_c_ChkBg(u8 param_0) { return param_0 & 0x80; @@ -1000,6 +1016,18 @@ inline BOOL dStage_staginfo_GetArchiveHeap(stage_stag_info_class* p_info) { return p_info->field_0x0a & 0x1000; } +inline int dStage_stagInfo_GetGapLevel(stage_stag_info_class* pstag) { + return pstag->mGapLevel; +} + +inline int dStage_stagInfo_GetRangeUp(stage_stag_info_class* pstag) { + return pstag->mRangeUp; +} + +inline int dStage_stagInfo_GetRangeDown(stage_stag_info_class* pstag) { + return pstag->mRangeDown; +} + inline u32 dStage_sclsInfo_getSceneLayer(stage_scls_info_class* p_info) { return p_info->field_0xb & 0xF; } @@ -1028,6 +1056,30 @@ inline int dStage_FileList_dt_GetBitSw(dStage_FileList_dt_c* p_fList) { return p_fList->mBitSw; } +inline f32 dStage_FileList2_dt_GetLeftRmX(dStage_FileList2_dt_c* p_fList2) { + return p_fList2->mLeftRmX; +} + +inline f32 dStage_FileList2_dt_GetRightRmX(dStage_FileList2_dt_c* p_fList2) { + return p_fList2->mRightRmX; +} + +inline f32 dStage_FileList2_dt_GetInnerRmZ(dStage_FileList2_dt_c* p_fList2) { + return p_fList2->mInnerRmZ; +} + +inline f32 dStage_FileList2_dt_GetFrontRmZ(dStage_FileList2_dt_c* p_fList2) { + return p_fList2->mFrontRmZ; +} + +inline s8 dStage_FileList2_dt_GetMinFloorNo(dStage_FileList2_dt_c* p_fList2) { + return p_fList2->mMinFloorNo; +} + +inline s8 dStage_FileList2_dt_GetMaxFloorNo(dStage_FileList2_dt_c* p_fList2) { + return p_fList2->mMaxFloorNo; +} + inline int dStage_MapEvent_dt_c_getEventSCutSW(dStage_MapEvent_dt_c* event) { return event->field_0x8 & 1; } diff --git a/include/d/d_timer.h b/include/d/d_timer.h index 1b39147cabc..6f7899da0db 100644 --- a/include/d/d_timer.h +++ b/include/d/d_timer.h @@ -1,37 +1,28 @@ #ifndef D_D_TIMER_H #define D_D_TIMER_H -#include "SSystem/SComponent/c_xyz.h" +#include "JSystem/J2DGraph/J2DPane.h" +#include "JSystem/JKernel/JKRExpHeap.h" #include "SSystem/SComponent/c_phase.h" -#include "dolphin/types.h" -#include "dolphin/os/OSTime.h" +#include "SSystem/SComponent/c_xyz.h" #include "d/msg/d_msg_class.h" #include "d/msg/d_msg_object.h" -#include "JSystem/JKernel/JKRExpHeap.h" -#include "JSystem/J2DGraph/J2DPane.h" +#include "dolphin/os/OSTime.h" +#include "dolphin/types.h" s32 dTimer_createStockTimer(); -class dDlst_TimerScrnDraw_c { -private: - /* 0x000 */ u8 field_0x000[0x3B0]; - /* 0x3B0 */ int field_0x3B0;; - /* 0x3B4 */ int field_0x3B4; - /* 0x3B8 */ int field_0x3B8; - /* 0x3BC */ int field_0x3BC; - /* 0x3C0 */ u8 field_0x3C0[12]; - /* 0x3CC */ int field_0x3CC; - /* 0x3D0 */ int field_0x3D0; - /* 0x3D4 */ int field_0x3D4; - /* 0x3D8 */ int field_0x3D8; - /* 0x3DC */ u8 field_0x3DC; - // /* 0x3DC */ u8 field_0x3DD; - /* 0x3DE */ u8 field_0x3DE; - /* 0x3DF */ u8 field_0x3DF; - /* 0x3E0 */ u8 field_0x3E0; - /* 0x3E1 */ u8 field_0x3E1; - /* 0x3E2 */ u8 mTimerVisible; +class dDlst_TimerScrnDraw_c : public dDlst_base_c { public: + struct dDlst_TimerScrnDraw_UnkData { + /* 0x0 */ f32 field_0x0; + /* 0x4 */ f32 field_0x4; + /* 0x8 */ u16 field_0x8; + /* 0xA */ u16 field_0xa; + /* 0xC */ u8 field_0xc; + /* 0xD */ u8 field_0xd; + }; // Size: 0x10 + /* 8025DB38 */ dDlst_TimerScrnDraw_c(); /* 8025DBE0 */ void setHIO(); /* 8025DFBC */ void setScreen(s32, JKRArchive*); @@ -53,23 +44,86 @@ public: /* 8025FF98 */ void closeAnime(); /* 802601E4 */ void createGetIn(cXyz); /* 80260574 */ s32 createStart(u16); - /* 80260690 */ void draw(); /* 80260AA8 */ void checkStartAnimeEnd(); /* 80260AD4 */ void playBckAnimation(f32); /* 80260B54 */ void drawPikari(int); - /* 80261394 */ ~dDlst_TimerScrnDraw_c(); - void show() { - mTimerVisible = 1; - } + /* 80260690 */ virtual void draw(); + /* 80261394 */ virtual ~dDlst_TimerScrnDraw_c(); - void hide() { - mTimerVisible = 0; - } + void show() { mTimerVisible = 1; } + void hide() { mTimerVisible = 0; } + +private: + /* 0x004 */ J2DScreen* mpScreen; + /* 0x008 */ J2DScreen* mpGetInScreen; + /* 0x00C */ void* mpGetInBck; + /* 0x010 */ CPaneMgr* mpParent; + /* 0x014 */ CPaneMgr* mpCowParent; + /* 0x018 */ CPaneMgr* mpTimeParent; + /* 0x01C */ CPaneMgr* mpImageParent; + /* 0x020 */ CPaneMgr* mpGetInParent; + /* 0x024 */ CPaneMgr* mpGetInRoot; + /* 0x028 */ CPaneMgr* mpGetInText; + /* 0x02C */ J2DPane* mTimerText[6][2]; + /* 0x05C */ J2DPane* field_0x5c[2][2]; + /* 0x06C */ J2DPane* field_0x6c; + /* 0x070 */ J2DPane* field_0x70; + /* 0x074 */ J2DPane* field_0x74; + /* 0x078 */ J2DPane* field_0x78; + /* 0x07C */ JKRArchive* mpArchive; + /* 0x080 */ dDlst_TimerScrnDraw_UnkData field_0x80[51]; + /* 0x3B0 */ f32 field_0x3B0; + /* 0x3B4 */ f32 field_0x3B4; + /* 0x3B8 */ f32 field_0x3B8; + /* 0x3BC */ f32 field_0x3BC; + /* 0x3C0 */ f32 mTimerTransX; + /* 0x3C4 */ f32 mTimerTransY; + /* 0x3C8 */ s32 field_0x3C8; + /* 0x3CC */ int field_0x3CC; + /* 0x3D0 */ int field_0x3D0; + /* 0x3D4 */ int field_0x3D4; + /* 0x3D8 */ int field_0x3D8; + /* 0x3DC */ u8 mCowID; + /* 0x3DD */ u8 field_0x3DD; + /* 0x3DE */ u8 field_0x3DE; + /* 0x3DF */ u8 field_0x3DF; + /* 0x3E0 */ u8 field_0x3E0; + /* 0x3E1 */ u8 mTimerVisible; + /* 0x3E2 */ u8 mHIOType; }; class dTimer_c : public msg_class { +public: + /* 8025CA0C */ void _create(); + /* 8025CF04 */ void _execute(); + /* 8025D33C */ int _draw(); + /* 8025D3BC */ void _delete(); + /* 8025D524 */ int deleteCheck(); + /* 8025D618 */ void start(int, s16); + /* 8025D538 */ void start(int); + /* 8025D7C0 */ int stock_start(s16); + /* 8025D708 */ bool stock_start(); + /* 8025D7E8 */ int stop(u8); + /* 8025D86C */ int restart(u8); + /* 8025D920 */ int end(int); + /* 8025D9E0 */ int deleteRequest(); + /* 8025D9F0 */ int getTimeMs(); + /* 8025DA54 */ int getLimitTimeMs(); + /* 8025DA9C */ int getRestTimeMs(); + /* 8025DB10 */ int isStart(); + /* 802613DC */ int createGetIn(cXyz); + + s32 createStart(u16 param_0) { return mp_tm_scrn->createStart(param_0); } + + void show() { mp_tm_scrn->show(); } + + void hide() { mp_tm_scrn->hide(); } + + u8 isReadyFlag() { return mIsReady; } + private: + /* 0x0FC */ dDlst_TimerScrnDraw_c* mp_tm_scrn; /* 0x100 */ JKRExpHeap* mpHeap; /* 0x104 */ u8 field_0x104[4]; /* 0x108 */ request_of_phase_process_class mPhase; @@ -92,42 +146,6 @@ private: /* 0x16C */ u8 mDeleteCheck; /* 0x16C */ u8 field_0x16D; /* 0x16E */ u8 mIsReady; - -public: - /* 8025CA0C */ void _create(); - /* 8025CF04 */ void _execute(); - /* 8025D33C */ int _draw(); - /* 8025D3BC */ void _delete(); - /* 8025D524 */ int deleteCheck(); - /* 8025D618 */ void start(int, s16); - /* 8025D538 */ void start(int); - /* 8025D7C0 */ int stock_start(s16); - /* 8025D708 */ bool stock_start(); - /* 8025D7E8 */ int stop(u8); - /* 8025D86C */ int restart(u8); - /* 8025D920 */ int end(int); - /* 8025D9E0 */ int deleteRequest(); - /* 8025D9F0 */ int getTimeMs(); - /* 8025DA54 */ int getLimitTimeMs(); - /* 8025DA9C */ int getRestTimeMs(); - /* 8025DB10 */ int isStart(); - /* 802613DC */ int createGetIn(cXyz); - - s32 createStart(u16 param_0) { - return ((dDlst_TimerScrnDraw_c*)field_0xfc)->createStart(param_0); - } - - void show() { - ((dDlst_TimerScrnDraw_c*)field_0xfc)->show(); - } - - void hide() { - ((dDlst_TimerScrnDraw_c*)field_0xfc)->hide(); - } - - u8 isReadyFlag() { - return mIsReady; - } }; #endif /* D_D_TIMER_H */ diff --git a/include/d/d_tresure.h b/include/d/d_tresure.h index cc9567ad829..b8feddbd267 100644 --- a/include/d/d_tresure.h +++ b/include/d/d_tresure.h @@ -15,12 +15,13 @@ public: /* 0x10 */ u8 mSwBit; /* 0x11 */ u8 mType; /* 0x12 */ u8 mArg2; - /* 0x13 */ u8 mAngleY; + /* 0x13 */ s8 mAngleY; }; class typeGroupData_c { public: data_s* getDataPointer() { return &mData; } + const data_s* getConstDataPointer() const { return &mData; } typeGroupData_c* getNextDataPointer() const { return mNextData; } void setNextDataPointer(typeGroupData_c* data) { mNextData = data; } void setTypeGroupNo(u8 no) { mTypeGroupNo = no; } @@ -32,6 +33,7 @@ public: void setPos(const Vec& pos) { mData.mPos = pos; } u8 getSwBit() const { return mData.mSwBit; } const Vec* getPos() const { return &mData.mPos; } + int getAngleY() const { return mData.mAngleY; } /* 0x00 */ data_s mData; /* 0x14 */ typeGroupData_c* mNextData; @@ -39,8 +41,8 @@ public: }; // Size: 0x1C struct list_class { - /* 0x0 */ typeGroupData_c* field_0x0; - /* 0x4 */ typeGroupData_c* field_0x4; + /* 0x0 */ int field_0x0; + /* 0x4 */ data_s* field_0x4; /* 0x8 */ u8 mNumber; }; @@ -58,7 +60,7 @@ public: /* 8009C3B4 */ static typeGroupData_c* getNextData(dTres_c::typeGroupData_c const*); /* 8009C3CC */ static void setPosition(int, u8, Vec const*, int); /* 8009C49C */ static int getTypeGroupNoToType(u8); - /* 8009C4B0 */ static int getTypeToTypeGroupNo(u8); + /* 8009C4B0 */ static u8 getTypeToTypeGroupNo(u8); static int getTypeGroupNumber(int index) { return mTypeGroupListAll[index].mNumber; diff --git a/include/d/map/d_map_path.h b/include/d/map/d_map_path.h index 23b511d6ae0..670b1724416 100644 --- a/include/d/map/d_map_path.h +++ b/include/d/map/d_map_path.h @@ -84,6 +84,19 @@ public: class dRenderingFDAmap_c : public dRenderingMap_c { public: + dRenderingFDAmap_c() { + field_0x4 = NULL; + field_0x8 = 0.0f; + field_0xc = 0.0f; + field_0x10 = 0.0f; + field_0x14 = 0.0f; + mCmPerTexel = 0.0f; + field_0x1c = 0; + field_0x1e = 0; + field_0x20 = 0; + field_0x22 = 0; + } + /* 8003CE78 */ void setTevSettingNonTextureDirectColor() const; /* 8003CF40 */ void setTevSettingIntensityTextureToCI() const; /* 8003D0AC */ void drawBack() const; @@ -95,8 +108,14 @@ public: /* 8003D68C */ virtual GXColor* getDecoLineColor(int, int); /* 8003D6B8 */ virtual s32 getDecorationLineWidth(int); -private: - /* 0x04 */ void* field_0x4; + bool isDrawAreaCheck(const Vec& param_0) { + return (param_0.x >= field_0x10 - field_0x8 * 2.0f && + param_0.x <= field_0x10 + field_0x8 * 2.0f) && + (param_0.z >= field_0x14 - field_0xc * 2.0f && + param_0.z <= field_0x14 + field_0xc * 2.0f); + } + + /* 0x04 */ u8* field_0x4; /* 0x08 */ f32 field_0x8; /* 0x0C */ f32 field_0xc; /* 0x10 */ f32 field_0x10; @@ -115,6 +134,8 @@ struct dMpath_n { /* 8003C8F4 */ void remove(); /* 8003D740 */ ~dTexObjAggregate_c() { remove(); }; + GXTexObj* getTexObjPointer(int i_no) { return mp_texObj[i_no]; } + dTexObjAggregate_c() { for (int i = 0; i < 7; i++) { mp_texObj[i] = NULL; diff --git a/include/d/map/d_map_path_dmap.h b/include/d/map/d_map_path_dmap.h index 210d09079f2..957afae8b6d 100644 --- a/include/d/map/d_map_path_dmap.h +++ b/include/d/map/d_map_path_dmap.h @@ -8,16 +8,16 @@ class dMpath_c { public: - /* 8003F758 */ static u8 isExistMapPathData(); - /* 8003F760 */ void getTopBottomFloorNo(s8*, s8*); + /* 8003F758 */ static bool isExistMapPathData(); + /* 8003F760 */ static int getTopBottomFloorNo(s8*, s8*); /* 8003F7E8 */ static void createWork(); - /* 8003FA40 */ void setPointer(s8, void*, int); - /* 8003F810 */ void setPointer(dDrawPath_c::room_class*, s8*, s8*); + /* 8003FA40 */ static void setPointer(s8, void*, int); + /* 8003F810 */ static void setPointer(dDrawPath_c::room_class*, s8*, s8*); /* 8003FB70 */ static void create(); - /* 8003FBD0 */ void reset(); - /* 8003FC70 */ void remove(); + /* 8003FBD0 */ static void reset(); + /* 8003FC70 */ static void remove(); - static u8 mLayerList[4]; + static dDrawPath_c::room_class** mLayerList; // this doesn't seem right, but can't figure it out atm static f32 mMinX; static f32 mMaxX; static f32 mMinZ; @@ -26,33 +26,59 @@ public: static f32 mAllCenterZ; static f32 mAllSizeX; static f32 mAllSizeZ; + static s8 mBottomFloorNo; + static s8 mTopFloorNo; }; struct dMapInfo_n { - /* 8003ECA0 */ bool chkGetCompass(); - /* 8003ECD8 */ bool chkGetMap(); + /* 8003ECA0 */ static bool chkGetCompass(); + /* 8003ECD8 */ static bool chkGetMap(); /* 8003ED10 */ static bool isVisitedRoom(int); /* 8003ED60 */ static void correctionOriginPos(s8, Vec*); /* 8003EDC0 */ static void offsetPlus(dStage_FileList2_dt_c const*, Vec*); /* 8003EDEC */ static void rotAngle(dStage_FileList2_dt_c const*, Vec*); /* 8003EE5C */ static Vec getMapPlayerPos(); - /* 8003EF20 */ void getMapPlayerAngleY(); - /* 8003EF70 */ void getConstRestartIconPointer(); - /* 8003F02C */ void getMapRestartPos(); - /* 8003F0F8 */ void getMapRestartAngleY(); - /* 8003F19C */ void getRoomCenter(int, f32*, f32*); - /* 8003F1F4 */ void getRoomMinMaxXZ(int, f32*, f32*, f32*, f32*); - /* 8003F24C */ void getFloorParameter(f32, s8*, f32*, f32*, f32*, f32*); + /* 8003EF20 */ static s16 getMapPlayerAngleY(); + /* 8003EF70 */ static const dTres_c::typeGroupData_c* getConstRestartIconPointer(); + /* 8003F02C */ static Vec getMapRestartPos(); + /* 8003F0F8 */ static s16 getMapRestartAngleY(); + /* 8003F19C */ static void getRoomCenter(int, f32*, f32*); + /* 8003F1F4 */ static void getRoomMinMaxXZ(int, f32*, f32*, f32*, f32*); + /* 8003F24C */ static void getFloorParameter(f32, s8*, f32*, f32*, f32*, f32*); +}; + +class dMapInfo_c { +public: + /* 8003F40C */ static s8 calcFloorNo(f32, bool, int); + /* 8003F570 */ static s8 calcNowStayFloorNo(f32, bool); + /* 8003F6C8 */ static void move(int, f32); + /* 8003F6FC */ static void init(); + /* 8003F714 */ static void reset(); + /* 8003F734 */ static void create(); + /* 8003F754 */ static void remove(); + + static int mNextRoomNo; + static int mNowStayRoomNo; + static s8 mNowStayFloorNo; + static u8 mNowStayFloorNoDecisionFlg; }; class renderingDAmap_c : public dRenderingFDAmap_c { public: - /* 8003FCA4 */ void calcFloorNoForObjectByMapPathRend(f32, int) const; + renderingDAmap_c() { + mRoomNo = 0; + field_0x28 = 0; + mRoomNoSingle = 0; + mRenderedFloor = 0; + mIsDraw = false; + } + + /* 8003FCA4 */ s8 calcFloorNoForObjectByMapPathRend(f32, int) const; /* 8003FCC8 */ void init(u8*, u16, u16, u16, u16); /* 8003FD08 */ void entry(f32, f32, f32, int, s8); /* 8003FE6C */ void setSingleRoomSetting(); - /* 8003FFF4 */ void getFirstDrawRoomNo(); - /* 80040094 */ void getNextDrawRoomNo(int); + /* 8003FFF4 */ int getFirstDrawRoomNo(); + /* 80040094 */ int getNextDrawRoomNo(int); /* 8003FE18 */ virtual void draw(); /* 8002B150 */ virtual ~renderingDAmap_c(); @@ -65,27 +91,26 @@ public: /* 800402C0 */ virtual bool isDrawPath(); /* 8003FE4C */ virtual GXColor* getBackColor() const; /* 800402E0 */ virtual bool getFirstDrawLayerNo(); - /* 800402E8 */ virtual void getNextDrawLayerNo(int); - /* 800409E0 */ virtual void isDrawIconSingle(dTres_c::data_s const*, int, int, bool, bool, + /* 800402E8 */ virtual int getNextDrawLayerNo(int); + /* 800409E0 */ virtual bool isDrawIconSingle(dTres_c::data_s const*, int, int, bool, bool, Vec const*) const; - /* 80040AE4 */ virtual void getIconGroupNumber(u8) const; - virtual void hasMap() const = 0; - virtual void isRendAllRoom() const = 0; - virtual void isRendDoor() const = 0; + /* 80040AE4 */ virtual int getIconGroupNumber(u8) const; + virtual bool hasMap() const = 0; + virtual bool isRendAllRoom() const = 0; + virtual bool isRendDoor() const = 0; virtual bool isCheckFloor() const = 0; - virtual void isDrawIconSingle2(dTres_c::data_s const*, bool, bool, int) const = 0; - /* 8003FFEC */ virtual void getRoomNoSingle(); - /* 8003FE70 */ virtual void isDrawRoom(int, int) const; - /* 800409B4 */ virtual void isDrawRoomIcon(int, int) const; + virtual bool isDrawIconSingle2(dTres_c::data_s const*, bool, bool, int) const = 0; + /* 8003FFEC */ virtual int getRoomNoSingle(); + /* 8003FE70 */ virtual bool isDrawRoom(int, int) const; + /* 800409B4 */ virtual bool isDrawRoomIcon(int, int) const; - bool isDraw() const { return mDraw; } + bool isDraw() const { return mIsDraw; } -private: - /* 0x24 */ int field_0x24; + /* 0x24 */ int mRoomNo; /* 0x28 */ int field_0x28; /* 0x2C */ int mRoomNoSingle; - /* 0x30 */ u8 field_0x30; - /* 0x31 */ bool mDraw; + /* 0x30 */ s8 mRenderedFloor; + /* 0x31 */ bool mIsDraw; }; // Size: 0x34 class stage_tgsc_data_class; @@ -95,7 +120,7 @@ public: /* 80040574 */ void drawDoor1(); /* 800405B8 */ void drawDoor2(); /* 800405FC */ void drawDoorCommon(stage_tgsc_data_class const*, int, bool); - /* 80040710 */ void checkDispDoorS(int, int, f32); + /* 80040710 */ bool checkDispDoorS(int, int, f32); /* 80040838 */ void drawNormalDoorS(stage_tgsc_data_class const*, int, int, bool); /* 8002B0B4 */ virtual ~renderingPlusDoor_c(); @@ -115,11 +140,12 @@ public: /* 8002B008 */ virtual ~renderingPlusDoorAndCursor_c(); /* 800402FC */ virtual void afterDrawPath(); - /* 80040ADC */ virtual void getIconPosition(dTres_c::typeGroupData_c*) const; - /* 80040A94 */ virtual void getFirstData(u8); - /* 80040AB8 */ virtual void getNextData(dTres_c::typeGroupData_c*); - virtual void getPlayerCursorSize() = 0; - virtual void getRestartCursorSize() = 0; + virtual f32 getIconSize(u8) const = 0; + /* 80040ADC */ virtual const Vec* getIconPosition(dTres_c::typeGroupData_c*) const; + /* 80040A94 */ virtual dTres_c::typeGroupData_c* getFirstData(u8); + /* 80040AB8 */ virtual dTres_c::typeGroupData_c* getNextData(dTres_c::typeGroupData_c*); + virtual f32 getPlayerCursorSize() = 0; + virtual f32 getRestartCursorSize() = 0; }; #endif /* D_MAP_D_MAP_PATH_DMAP_H */ diff --git a/include/d/menu/d_menu_save.h b/include/d/menu/d_menu_save.h index fa344b3f13c..324e43473cb 100644 --- a/include/d/menu/d_menu_save.h +++ b/include/d/menu/d_menu_save.h @@ -262,6 +262,7 @@ public: /* 802844D0 */ virtual ~dMenu_save_c(); u8 getSaveStatus() { return mSaveStatus; } + u8 getEndStatus() { return mEndStatus; } void setUseType(u8 type) { mUseType = type; } private: diff --git a/include/d/menu/d_menu_window.h b/include/d/menu/d_menu_window.h index 2d252e73a93..87341948673 100644 --- a/include/d/menu/d_menu_window.h +++ b/include/d/menu/d_menu_window.h @@ -249,6 +249,7 @@ public: bool isFadeNowCheck() { return mDoGph_gInf_c::getFader()->getStatus() == 1; } private: + /* 0x0FC */ int field_0xfc; /* 0x100 */ JKRExpHeap* mpHeap; /* 0x104 */ STControl* mpStick; /* 0x108 */ CSTControl* mpCStick; diff --git a/include/d/meter/d_meter2.h b/include/d/meter/d_meter2.h index 3e10104ce9c..02e8c4ce49d 100644 --- a/include/d/meter/d_meter2.h +++ b/include/d/meter/d_meter2.h @@ -229,6 +229,7 @@ public: u16 getSubContentsStringType() { return mSubContentsStringType; } private: + /* 0x0FC */ int field_0xfc; /* 0x100 */ JKRExpHeap* mpHeap; /* 0x104 */ JKRExpHeap* mpSubHeap; /* 0x108 */ void* field_0x108; diff --git a/include/d/meter/d_meter2_draw.h b/include/d/meter/d_meter2_draw.h index 511e5ecdece..e5ae5b2d28a 100644 --- a/include/d/meter/d_meter2_draw.h +++ b/include/d/meter/d_meter2_draw.h @@ -351,7 +351,7 @@ private: /* 0x524 */ int field_0x524[2][2]; /* 0x534 */ J2DAnmTransformKey* mPikariBck; /* 0x538 */ J2DAnmColorKey* mPikariBpk; - /* 0x53C */ J2DAnmColorKey* field_0x53c[3]; + /* 0x53C */ J2DAnmColorKey* mpOxygenBpk[3]; /* 0x548 */ JUtility::TColor field_0x548; /* 0x54C */ JUtility::TColor field_0x54c; /* 0x550 */ f32 field_0x550; @@ -367,36 +367,17 @@ private: /* 0x578 */ f32 field_0x578; /* 0x57C */ f32 field_0x57c; /* 0x580 */ f32 field_0x580; - /* 0x584 */ f32 field_0x584; - /* 0x588 */ f32 field_0x588; - /* 0x58C */ f32 field_0x58c; - /* 0x590 */ f32 field_0x590; - /* 0x594 */ f32 field_0x594; - /* 0x598 */ f32 field_0x598; - /* 0x59C */ f32 field_0x59c; - /* 0x5A0 */ f32 field_0x5a0; - /* 0x5A4 */ f32 field_0x5a4; - /* 0x5A8 */ f32 field_0x5a8; - /* 0x5AC */ f32 field_0x5ac; - /* 0x5B0 */ f32 field_0x5b0; - /* 0x5B4 */ f32 field_0x5b4; - /* 0x5B8 */ f32 field_0x5b8; - /* 0x5BC */ f32 field_0x5bc; - /* 0x5C0 */ f32 field_0x5c0; - /* 0x5C4 */ f32 field_0x5c4; - /* 0x5C8 */ f32 field_0x5c8; - /* 0x5CC */ f32 field_0x5cc; - /* 0x5D0 */ f32 field_0x5d0; - /* 0x5D4 */ f32 field_0x5d4; - /* 0x5D8 */ f32 field_0x5d8; - /* 0x5DC */ f32 field_0x5dc; - /* 0x5E0 */ f32 field_0x5e0; - /* 0x5E4 */ f32 field_0x5e4; - /* 0x5E8 */ f32 field_0x5e8; - /* 0x5EC */ f32 field_0x5ec; - /* 0x5F0 */ f32 field_0x5f0; - /* 0x5F4 */ u8 field_0x5f4[0x8]; - /* 0x5FC */ f32 field_0x5fc[3]; + /* 0x584 */ f32 field_0x584[3]; + /* 0x590 */ f32 field_0x590[3]; + /* 0x59C */ f32 field_0x59c[3]; + /* 0x5A8 */ f32 field_0x5a8[3]; + /* 0x5B4 */ f32 field_0x5b4[3]; + /* 0x5C0 */ f32 field_0x5c0[3]; + /* 0x5CC */ f32 field_0x5cc[3]; + /* 0x5D8 */ f32 field_0x5d8[3]; + /* 0x5E4 */ f32 field_0x5e4[3]; + /* 0x5F0 */ f32 field_0x5f0[3]; + /* 0x5FC */ f32 mMeterAlphaRate[3]; /* 0x608 */ f32 field_0x608; /* 0x60C */ f32 field_0x60c; /* 0x610 */ f32 field_0x610[3]; @@ -429,7 +410,7 @@ private: /* 0x738 */ f32 field_0x738; /* 0x73C */ f32 field_0x73c; /* 0x740 */ u16 field_0x740; - /* 0x742 */ u16 field_0x742[3]; + /* 0x742 */ s16 field_0x742[3]; /* 0x748 */ u8 field_0x748[0xC]; /* 0x756 */ u16 field_0x754; /* 0x756 */ s16 field_0x756; diff --git a/include/d/meter/d_meter2_info.h b/include/d/meter/d_meter2_info.h index 3088f044877..f75483179f7 100644 --- a/include/d/meter/d_meter2_info.h +++ b/include/d/meter/d_meter2_info.h @@ -159,6 +159,8 @@ public: dMeter2_c* getMeterClass() { return mMeterClass; } u8 getMiniGameItemSetFlag() { return mMiniGameItemSetFlag; } s16 getMsgKeyWaitTimer() { return mMsgKeyWaitTimer; } + u8 getGameOverType() { return mGameOverType; } + void setGameOverType(u8 i_gameoverType) { mGameOverType = i_gameoverType; } public: /* 0x04 */ u8 unk4[4]; @@ -505,6 +507,14 @@ inline void dMeter2Info_setFloatingFlow(u16 param_0, s16 param_1, bool param_2) g_meter2_info.setFloatingFlow(param_0, param_1, param_2); } +inline u8 dMeter2Info_getGameOverType() { + return g_meter2_info.getGameOverType(); +} + +inline void dMeter2Info_setGameOverType(u8 i_gameoverType) { + g_meter2_info.setGameOverType(i_gameoverType); +} + char* dMeter2Info_getNumberTextureName(int pIndex); void dMeter2Info_recieveLetter(); u8 dMeter2Info_getNewLetterNum(); diff --git a/include/d/meter/d_meter_map.h b/include/d/meter/d_meter_map.h index 2cdc3ac04f2..33b0e506b18 100644 --- a/include/d/meter/d_meter_map.h +++ b/include/d/meter/d_meter_map.h @@ -27,20 +27,20 @@ public: /* 800289F0 */ virtual void rendering(dDrawPath_c::room_class const*); /* 80028960 */ virtual void beforeDrawPath(); /* 800289D0 */ virtual void afterDrawPath(); - /* 80028FB4 */ virtual void getDecoLineColor(int, int); - /* 80028CF4 */ virtual void getDecorationLineWidth(int); - /* 80029058 */ virtual void getIconGroupNumber(u8) const; - /* 80029078 */ virtual void hasMap() const; - /* 8002911C */ virtual void isRendAllRoom() const; - /* 800290C0 */ virtual void isRendDoor() const; + /* 80028FB4 */ virtual GXColor* getDecoLineColor(int, int); + /* 80028CF4 */ virtual s32 getDecorationLineWidth(int); + /* 80029058 */ virtual int getIconGroupNumber(u8) const; + /* 80029078 */ virtual bool hasMap() const; + /* 8002911C */ virtual bool isRendAllRoom() const; + /* 800290C0 */ virtual bool isRendDoor() const; /* 80029104 */ virtual bool isCheckFloor() const; - /* 80029190 */ virtual void isDrawIconSingle2(dTres_c::data_s const*, bool, bool, int) const; + /* 80029190 */ virtual bool isDrawIconSingle2(dTres_c::data_s const*, bool, bool, int) const; /* 8002910C */ virtual bool isRendRestart() const; /* 80029114 */ virtual bool isRendCursor() const; /* 8002B000 */ virtual bool isRendIcon() const; - /* 800284BC */ virtual void getIconSize(u8) const; - /* 80028B04 */ virtual void getPlayerCursorSize(); - /* 80028B10 */ virtual void getRestartCursorSize(); + /* 800284BC */ virtual f32 getIconSize(u8) const; + /* 80028B04 */ virtual f32 getPlayerCursorSize(); + /* 80028B10 */ virtual f32 getRestartCursorSize(); virtual void setAmapPaletteColor(int, u8, u8, u8, u8) = 0; virtual bool isSpecialOutline() = 0; @@ -70,13 +70,13 @@ public: /* 8002AF20 */ virtual ~dMap_c(); /* 800296EC */ virtual bool isDrawType(int); /* 80028DF4 */ virtual GXColor* getColor(int); - /* 800296F8 */ virtual void isRendAllRoom() const; - /* 8002A254 */ virtual void getRoomNoSingle(); - /* 8002A1DC */ virtual void isDrawRoom(int, int) const; - /* 8002A294 */ virtual void isDrawRoomIcon(int, int) const; - /* 80029038 */ virtual void getIconPosition(dTres_c::typeGroupData_c*) const; - /* 8002ABAC */ virtual void getFirstData(u8); - /* 8002ABCC */ virtual void getNextData(dTres_c::typeGroupData_c*); + /* 800296F8 */ virtual bool isRendAllRoom() const; + /* 8002A254 */ virtual int getRoomNoSingle(); + /* 8002A1DC */ virtual bool isDrawRoom(int, int) const; + /* 8002A294 */ virtual bool isDrawRoomIcon(int, int) const; + /* 80029038 */ virtual const Vec* getIconPosition(dTres_c::typeGroupData_c*) const; + /* 8002ABAC */ virtual dTres_c::typeGroupData_c* getFirstData(u8); + /* 8002ABCC */ virtual dTres_c::typeGroupData_c* getNextData(dTres_c::typeGroupData_c*); /* 8002A148 */ virtual void setAmapPaletteColor(int, u8, u8, u8, u8); /* 80029744 */ virtual bool isSpecialOutline(); diff --git a/include/d/msg/d_msg_class.h b/include/d/msg/d_msg_class.h index ffcac0294a6..8ac1d507e5e 100644 --- a/include/d/msg/d_msg_class.h +++ b/include/d/msg/d_msg_class.h @@ -17,7 +17,6 @@ public: /* 0xF4 */ u32 field_0xf4; /* 0xF8 */ u16 mMode; /* 0xFA */ u8 mSelectedChoiceIdx; - /* 0xFC */ int field_0xfc; -}; // Size: 0x100 +}; // Size: 0xFC #endif /* D_MSG_D_MSG_CLASS_H */ diff --git a/include/d/msg/d_msg_object.h b/include/d/msg/d_msg_object.h index 45fe7786065..7f7c74f6f2d 100644 --- a/include/d/msg/d_msg_object.h +++ b/include/d/msg/d_msg_object.h @@ -162,6 +162,7 @@ public: u8 getSelectPushFlag() { return mSelectPushFlag; } u8 getSelectCancelPos() { return mSelectCancelPos; } + /* 0x0FC */ int field_0xfc; /* 0x100 */ msg_class* field_0x100; /* 0x104 */ dMsgScrnBase_c* mpScrnDraw; /* 0x108 */ dMsgString_c* mpMsgString; diff --git a/include/d/pane/d_pane_class.h b/include/d/pane/d_pane_class.h index 418abda8bc2..3265b1268e7 100644 --- a/include/d/pane/d_pane_class.h +++ b/include/d/pane/d_pane_class.h @@ -36,8 +36,10 @@ public: } void translate(f32 x, f32 y) { getPanePtr()->translate(x, y); } - void scale(f32 h, f32 v) { getPanePtr()->scale(h, v); } + void resize(f32 x, f32 y) { getPanePtr()->resize(x, y); } + void move(f32 x, f32 y) { getPanePtr()->move(x, y); } + void scaleAnimeStart(s16 v) { mScaleAnime = v; } void colorAnimeStart(s16 start) { mColorAnime = start; } @@ -60,6 +62,7 @@ public: f32 getInitPosY() { return mInitPos.y; } JUtility::TColor getInitBlack() { return mInitBlack; } + JUtility::TColor getInitWhite() { return mInitWhite; } private: /* 0x1C */ void* mpFirstStackSize; diff --git a/include/d/save/d_save.h b/include/d/save/d_save.h index a31380e64b3..387be9e51b8 100644 --- a/include/d/save/d_save.h +++ b/include/d/save/d_save.h @@ -683,6 +683,12 @@ public: void setTotalTime(s64 i_time) { mTotalTime = i_time; } s64 getTotalTime() const { return mTotalTime; } + void addDeathCount() { + if (mDeathCount < 0xFFFF) { + mDeathCount++; + } + } + private: /* 0x00 */ u32 unk0; /* 0x04 */ u32 unk4; diff --git a/include/dolphin/gx/GX.h b/include/dolphin/gx/GX.h index 978639b8ade..d1d57bdd396 100644 --- a/include/dolphin/gx/GX.h +++ b/include/dolphin/gx/GX.h @@ -45,9 +45,14 @@ volatile PPCWGPipe GXFIFO : 0xCC008000; #define GFX_FIFO(T) (*(volatile T*)0xCC008000) inline void GXPosition3f32(f32 x, f32 y, f32 z) { - GFX_FIFO(f32) = x; - GFX_FIFO(f32) = y; - GFX_FIFO(f32) = z; + GXFIFO.f32 = x; + GXFIFO.f32 = y; + GXFIFO.f32 = z; +} + +inline void GXPosition2f32(f32 x, f32 z) { + GXFIFO.f32 = x; + GXFIFO.f32 = z; } inline void GXColor1u32(u32 c) { @@ -64,6 +69,10 @@ inline void GXTexCoord2u8(u8 s, u8 t) { GFX_FIFO(u8) = t; } +inline void GXTexCoord1x8(u8 s) { + GFX_FIFO(u8) = s; +} + inline void GXPosition2u16(u16 x, u16 y) { GFX_FIFO(u16) = x; GFX_FIFO(u16) = y; diff --git a/include/dolphin/gx/GXFrameBuf.h b/include/dolphin/gx/GXFrameBuf.h index ffa428cb595..781a397f349 100644 --- a/include/dolphin/gx/GXFrameBuf.h +++ b/include/dolphin/gx/GXFrameBuf.h @@ -10,8 +10,8 @@ extern "C" { void GXSetDispCopySrc(u16 left, u16 top, u16 width, u16 height); void GXSetTexCopySrc(u16 left, u16 top, u16 width, u16 height); -void GXSetDispCopyDst(u16 width, u16 height); -void GXSetTexCopyDst(u16 width, u16 height, GXTexFmt fmt, GXBool mipmap); +void GXSetDispCopyDst(u16 arg0, u16 arg1); +void GXSetTexCopyDst(u16 width, u16 height, s32 fmt, GXBool mipmap); void GXSetDispCopyFrame2Field(GXCopyMode mode); void GXSetCopyClamp(GXFBClamp clamp); u16 GXGetNumXfbLines(u32 efb_height, f32 y_scale); diff --git a/include/dolphin/gx/GXInit.h b/include/dolphin/gx/GXInit.h index 881ee2c24ae..7f3553f5b21 100644 --- a/include/dolphin/gx/GXInit.h +++ b/include/dolphin/gx/GXInit.h @@ -87,7 +87,7 @@ typedef struct _GXData { STATIC_ASSERT(sizeof(GXData) == 0x5B0); -extern GXData* __GXData; +extern GXData* const __GXData; extern u32* __piReg; extern u16* __cpReg; @@ -100,6 +100,11 @@ inline void GXSetWasteFlags() { data->field_0x2 = 0; } +static inline void set_x2(u16 value) +{ + __GXData->field_0x2 = value; +} + #ifdef __cplusplus extern "C" { #endif diff --git a/include/dolphin/gx/GXTexture.h b/include/dolphin/gx/GXTexture.h index d4d8efdb381..934bf6f6751 100644 --- a/include/dolphin/gx/GXTexture.h +++ b/include/dolphin/gx/GXTexture.h @@ -10,7 +10,7 @@ extern "C" { #endif u32 GXGetTexBufferSize(u16 width, u16 height, u32 format, GXBool mipmap, u8 max_lod); -void __GetImageTileCount(); +void __GetImageTileCount(u32 arg0, s16 arg1, s16 arg2, s32* arg3, s32* arg4, s32* arg5); void GXInitTexObj(GXTexObj* obj, void* image, u16 width, u16 height, GXTexFmt fmt, GXTexWrapMode wrapS, GXTexWrapMode wrapT, GXBool mipmap); void GXInitTexObjCI(GXTexObj* obj, void* image, u16 width, u16 height, GXCITexFmt format, diff --git a/include/dolphin/os/OS.h b/include/dolphin/os/OS.h index cee76aa0db4..09b5e435117 100644 --- a/include/dolphin/os/OS.h +++ b/include/dolphin/os/OS.h @@ -38,21 +38,6 @@ extern "C" { #define OS_BASE_CACHED (OS_CACHED_REGION_PREFIX << 16) #define OS_BASE_UNCACHED (OS_UNCACHED_REGION_PREFIX << 16) -#define OS_BUS_CLOCK (*(u32*)0x800000F8) -#define OS_CORE_CLOCK (*(u32*)0x800000FC) -#define OS_TIMER_CLOCK (OS_BUS_CLOCK / 4) -#define OS_TIMER_CLOCK_MS (OS_TIMER_CLOCK / 1000) - -#define OSTicksToCycles(ticks) (((ticks) * ((OS_CORE_CLOCK * 2) / OS_TIMER_CLOCK)) / 2) -#define OSTicksToSeconds(ticks) ((ticks) / OS_TIMER_CLOCK) -#define OSTicksToMilliseconds(ticks) ((ticks) / (OS_TIMER_CLOCK / 1000)) -#define OSTicksToMicroseconds(ticks) (((ticks)*8) / (OS_TIMER_CLOCK / 125000)) -#define OSTicksToNanoseconds(ticks) (((ticks)*8000) / (OS_TIMER_CLOCK / 125000)) -#define OSSecondsToTicks(sec) ((sec)*OS_TIMER_CLOCK) -#define OSMillisecondsToTicks(msec) ((msec) * (OS_TIMER_CLOCK / 1000)) -#define OSMicrosecondsToTicks(usec) (((usec) * (OS_TIMER_CLOCK / 125000)) / 8) -#define OSNanosecondsToTicks(nsec) (((nsec) * (OS_TIMER_CLOCK / 125000)) / 8000) - #define OS_MESSAGE_NON_BLOCKING 0 #define OS_MESSAGE_BLOCKING 1 diff --git a/include/dolphin/os/OSError.h b/include/dolphin/os/OSError.h index ec07c81632f..c2dcd5b9b86 100644 --- a/include/dolphin/os/OSError.h +++ b/include/dolphin/os/OSError.h @@ -51,6 +51,8 @@ typedef enum { typedef u8 __OSException; typedef void (*OSErrorHandler)(OSError error, OSContext* context, u32, u32); +// Using this type for the C++ handlers makes stuff not match +typedef void (*OSErrorHandlerEx)(OSError error, OSContext* context, u32, u32, ...); OSErrorHandler OSSetErrorHandler(OSError error, OSErrorHandler handler); void __OSUnhandledException(__OSException exception, OSContext* context, u32 dsisr, u32 dar); diff --git a/include/dolphin/os/OSMutex.h b/include/dolphin/os/OSMutex.h index 7e42c91bc4e..0392c8dc5fd 100644 --- a/include/dolphin/os/OSMutex.h +++ b/include/dolphin/os/OSMutex.h @@ -21,13 +21,13 @@ typedef struct OSCond { void OSInitMutex(OSMutex* mutex); void OSLockMutex(OSMutex* mutex); void OSUnlockMutex(OSMutex* mutex); -s32 OSTryLockMutex(OSMutex* mutex); +BOOL OSTryLockMutex(OSMutex* mutex); void OSInitCond(OSCond* cond); void OSWaitCond(OSCond* cond, OSMutex* mutex); void OSSignalCond(OSCond* cond); void __OSUnlockAllMutex(OSThread* thread); -s32 __OSCheckMutex(OSThread* thread); +BOOL __OSCheckMutex(OSMutex* thread); BOOL __OSCheckDeadLock(OSThread* thread); BOOL __OSCheckMutexes(OSThread* thread); diff --git a/include/dolphin/os/OSReset.h b/include/dolphin/os/OSReset.h index c642db18352..5ecf9b7b21e 100644 --- a/include/dolphin/os/OSReset.h +++ b/include/dolphin/os/OSReset.h @@ -7,6 +7,8 @@ extern "C" { #endif +vu32 __PIRegs[12] : 0xCC003000; + #define OS_RESETCODE_RESTART 0x80000000 #define OS_RESETCODE_SYSTEM 0x40000000 diff --git a/include/dolphin/os/OSThread.h b/include/dolphin/os/OSThread.h index 40b9e134c19..888e668d5d0 100644 --- a/include/dolphin/os/OSThread.h +++ b/include/dolphin/os/OSThread.h @@ -44,8 +44,8 @@ struct OSThreadQueue { }; struct OSMutexLink { - OSMutex* prev; OSMutex* next; + OSMutex* prev; }; struct OSMutexQueue { @@ -104,9 +104,9 @@ void OSSleepThread(OSThreadQueue* queue); void OSWakeupThread(OSThreadQueue* queue); s32 OSSetThreadPriority(OSThread* thread, s32 priority); s32 OSGetThreadPriority(OSThread* thread); -static s32 CheckThreadQueue(OSThread* thread); +static s32 CheckThreadQueue(OSThreadQueue* thread); s32 OSCheckActiveThreads(void); -static void OSClearStack(u32 value); +static void OSClearStack(u8 value); extern u8 data_804516D0[8]; #ifdef __cplusplus diff --git a/include/dolphin/os/OSTime.h b/include/dolphin/os/OSTime.h index 7d67ca5b2c0..c0df3585fa7 100644 --- a/include/dolphin/os/OSTime.h +++ b/include/dolphin/os/OSTime.h @@ -32,6 +32,23 @@ OSTime __OSTimeToSystemTime(OSTime time); void GetDates(s32 days, OSCalendarTime* ct); void OSTicksToCalendarTime(OSTime ticks, OSCalendarTime* ct); +extern u32 __OSBusClock : 0x800000F8; + +#define OS_BUS_CLOCK (__OSBusClock) +#define OS_CORE_CLOCK (*(u32*)0x800000FC) +#define OS_TIMER_CLOCK (OS_BUS_CLOCK / 4) +#define OS_TIMER_CLOCK_MS (OS_TIMER_CLOCK / 1000) + +#define OSTicksToCycles(ticks) (((ticks) * ((OS_CORE_CLOCK * 2) / OS_TIMER_CLOCK)) / 2) +#define OSTicksToSeconds(ticks) ((ticks) / OS_TIMER_CLOCK) +#define OSTicksToMilliseconds(ticks) ((ticks) / (OS_TIMER_CLOCK / 1000)) +#define OSTicksToMicroseconds(ticks) (((ticks)*8) / (OS_TIMER_CLOCK / 125000)) +#define OSTicksToNanoseconds(ticks) (((ticks)*8000) / (OS_TIMER_CLOCK / 125000)) +#define OSSecondsToTicks(sec) ((sec)*OS_TIMER_CLOCK) +#define OSMillisecondsToTicks(msec) ((msec) * (OS_TIMER_CLOCK / 1000)) +#define OSMicrosecondsToTicks(usec) (((usec) * (OS_TIMER_CLOCK / 125000)) / 8) +#define OSNanosecondsToTicks(nsec) (((nsec) * (OS_TIMER_CLOCK / 125000)) / 8000) + #ifdef __cplusplus }; #endif diff --git a/include/f_op/f_op_actor.h b/include/f_op/f_op_actor.h index fec05717dfc..a1a27fd1a75 100644 --- a/include/f_op/f_op_actor.h +++ b/include/f_op/f_op_actor.h @@ -8,17 +8,16 @@ #include "f_pc/f_pc_leaf.h" struct actor_method_class { - /* 0x00 */ process_method_class mBase; - /* 0x10 */ process_method_func mpDrawFunc; + /* 0x00 */ leafdraw_method_class base; /* 0x14 */ u8 field_0x14[0xC]; // Likely padding }; struct actor_process_profile_definition { /* 0x00 */ leaf_process_profile_definition mBase; /* 0x24 */ actor_method_class* mSubMtd; - /* 0x28 */ int field_0x28; // mStatus - /* 0x2C */ u8 field_0x2c; // mActorType - /* 0x2D */ u8 field_0x2d; // mCullType + /* 0x28 */ u32 mStatus; + /* 0x2C */ u8 mActorType; + /* 0x2D */ u8 mCullType; /* 0x2E */ u8 field_0x2e[2]; // Likely padding }; @@ -77,7 +76,7 @@ struct actor_place { /* 0x00 */ cXyz pos; /* 0x0C */ csXyz angle; - /* 0x12 */ s8 mRoomNo; + /* 0x12 */ s8 roomNo; /* 0x13 */ u8 field_0x13; }; @@ -117,7 +116,7 @@ public: /* 0x4D0 */ actor_place current; /* 0x4E4 */ csXyz shape_angle; /* 0x4EC */ cXyz mScale; - /* 0x4F8 */ cXyz mSpeed; + /* 0x4F8 */ cXyz speed; /* 0x504 */ MtxP mCullMtx; union { struct { @@ -132,7 +131,7 @@ public: /* 0x520 */ f32 mCullSizeFar; /* 0x524 */ J3DModel* field_0x524; /* 0x528 */ dJntCol_c* mJntCol; - /* 0x52C */ f32 mSpeedF; + /* 0x52C */ f32 speedF; /* 0x530 */ f32 mGravity; /* 0x534 */ f32 mMaxFallSpeed; /* 0x538 */ cXyz mEyePos; @@ -148,7 +147,7 @@ public: const cXyz& getPosition() const { return current.pos; } const csXyz& getAngle() const { return current.angle; } - s8 getRoomNo() const { return current.mRoomNo; } + s8 getRoomNo() const { return current.roomNo; } }; // Size: 0x568 STATIC_ASSERT(sizeof(fopAc_ac_c) == 0x568); @@ -156,7 +155,7 @@ STATIC_ASSERT(sizeof(fopAc_ac_c) == 0x568); class fopEn_enemy_c : public fopAc_ac_c { public: /* 80019404 */ bool initBallModel(); - /* 800194FC */ int checkBallModelDraw(); + /* 800194FC */ bool checkBallModelDraw(); /* 80019520 */ void setBallModelEffect(dKy_tevstr_c*); /* 800196A0 */ void drawBallModel(dKy_tevstr_c*); @@ -182,4 +181,6 @@ public: s32 fopAc_IsActor(void* actor); +extern actor_method_class g_fopAc_Method; + #endif diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h index bfadd5f5a7d..26512744051 100644 --- a/include/f_op/f_op_actor_mng.h +++ b/include/f_op/f_op_actor_mng.h @@ -105,7 +105,7 @@ struct DOUBLE_POS { }; inline s32 fopAcM_GetRoomNo(const fopAc_ac_c* pActor) { - return (s8)pActor->current.mRoomNo; + return (s8)pActor->current.roomNo; } inline u32 fopAcM_GetID(const void* pActor) { @@ -195,7 +195,7 @@ inline cXyz& fopAcM_GetOldPosition_p(fopAc_ac_c* pActor) { } inline cXyz& fopAcM_GetSpeed_p(fopAc_ac_c* pActor) { - return pActor->mSpeed; + return pActor->speed; } inline csXyz& fopAcM_GetAngle_p(fopAc_ac_c* pActor) { @@ -223,7 +223,7 @@ inline BOOL fopAcM_IsActor(void* actor) { } inline void fopAcM_SetRoomNo(fopAc_ac_c* actor, s8 roomNo) { - actor->current.mRoomNo = roomNo; + actor->current.roomNo = roomNo; } inline void fopAcM_setHookCarryNow(fopAc_ac_c* actor) { @@ -235,7 +235,7 @@ inline void fopAcM_cancelHookCarryNow(fopAc_ac_c* actor) { } inline s8 fopAcM_GetHomeRoomNo(const fopAc_ac_c* pActor) { - return pActor->orig.mRoomNo; + return pActor->orig.roomNo; } inline void fopAcM_SetGravity(fopAc_ac_c* actor, f32 gravity) { @@ -247,11 +247,11 @@ inline void fopAcM_SetMtx(fopAc_ac_c* actor, MtxP m) { } inline void fopAcM_SetSpeed(fopAc_ac_c* actor, f32 x, f32 y, f32 z) { - actor->mSpeed.set(x, y, z); + actor->speed.set(x, y, z); } inline void fopAcM_SetSpeedF(fopAc_ac_c* actor, f32 f) { - actor->mSpeedF = f; + actor->speedF = f; } inline void fopAcM_SetStatus(fopAc_ac_c* actor, u32 status) { @@ -267,7 +267,7 @@ inline BOOL fopAcM_IsExecuting(unsigned int id) { } inline f32 fopAcM_GetSpeedF(const fopAc_ac_c* p_actor) { - return p_actor->mSpeedF; + return p_actor->speedF; } inline f32 fopAcM_GetGravity(const fopAc_ac_c* p_actor) { @@ -279,7 +279,7 @@ inline f32 fopAcM_GetMaxFallSpeed(const fopAc_ac_c* p_actor) { } inline const cXyz& fopAcM_GetSpeed_p(const fopAc_ac_c* p_actor) { - return p_actor->mSpeed; + return p_actor->speed; } inline const cXyz& fopAcM_GetPosition_p(const fopAc_ac_c* p_actor) { diff --git a/include/f_op/f_op_msg_mng.h b/include/f_op/f_op_msg_mng.h index 67db9e21e1c..8e115fd7005 100644 --- a/include/f_op/f_op_msg_mng.h +++ b/include/f_op/f_op_msg_mng.h @@ -7,7 +7,7 @@ struct msg_process_profile_definition { /* 0x00 */ leaf_process_profile_definition mBase; - /* 0x24 */ leafdraw_method_class* mSubMtd; // Subclass methods + /* 0x24 */ leafdraw_method_class* mSubMtd; // Subclass methods }; struct fopMsg_prm_class { @@ -38,6 +38,9 @@ typedef int (*fopMsgCreateFunc)(void*); JKRExpHeap* fopMsgM_createExpHeap(u32, JKRHeap*); u32 fopMsgM_Create(s16, fopMsgCreateFunc, void*); +s32 fopMsgM_create(s16 param_0, fopAc_ac_c* param_1, cXyz* param_2, u32* param_3, u32* param_4, + fopMsgCreateFunc createFunc); +void fopMsgM_Delete(void* process); fopMsg_prm_class* fopMsgM_GetAppend(void* msg); void fopMsgM_setMessageID(unsigned int); void fopMsgM_destroyExpHeap(JKRExpHeap*); @@ -48,9 +51,11 @@ msg_class* fopMsgM_SearchByID(unsigned int param_0); char* fopMsgM_messageGet(char* msg, u32 string_id); s32 fop_Timer_create(s16 param_0, u8 param_1, u32 param_2, u8 param_3, u8 param_4, f32 param_5, f32 param_6, f32 param_7, f32 param_8, fopMsgCreateFunc createFunc); -inline s32 fopMsgM_Timer_create(s16 param_0, u8 param_1, u32 param_2, u8 param_3, u8 param_4, f32 param_5, - f32 param_6, f32 param_7, f32 param_8, fopMsgCreateFunc createFunc) { - return fop_Timer_create(param_0, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, createFunc); +inline s32 fopMsgM_Timer_create(s16 param_0, u8 param_1, u32 param_2, u8 param_3, u8 param_4, + f32 param_5, f32 param_6, f32 param_7, f32 param_8, + fopMsgCreateFunc createFunc) { + return fop_Timer_create(param_0, param_1, param_2, param_3, param_4, param_5, param_6, param_7, + param_8, createFunc); } #endif diff --git a/include/m_Do/m_Do_graphic.h b/include/m_Do/m_Do_graphic.h index d989cefe34e..1607cbc14e4 100644 --- a/include/m_Do/m_Do_graphic.h +++ b/include/m_Do/m_Do_graphic.h @@ -55,6 +55,8 @@ public: static void waitBlanking(int wait) { JFWDisplay::getManager()->waitBlanking(wait); } static f32 getWidthF() { return 608.0f; } static f32 getHeightF() { return 448.0f; } + static f32 getWidth() { return 608.0f; } + static f32 getHeight() { return 448.0f; } static f32 getMinYF() { return 0.0f; } static f32 getMinXF() { return 0.0f; } static int getMinY() { return 0; } @@ -66,6 +68,7 @@ public: static void setFadeRate(f32 rate) { mFadeRate = rate; } static f32 getFadeRate() { return mFadeRate; } static bloom_c* getBloom() { return &m_bloom; } + static GXColor& getFadeColor() { return mFadeColor; } static GXTexObj mFrameBufferTexObj; static GXTexObj mZbufferTexObj; diff --git a/include/m_Do/m_Do_mtx.h b/include/m_Do/m_Do_mtx.h index 6e34541ff67..a2612c24980 100644 --- a/include/m_Do/m_Do_mtx.h +++ b/include/m_Do/m_Do_mtx.h @@ -20,6 +20,8 @@ void mDoMtx_YrotM(Mtx, s16); void mDoMtx_ZrotM(Mtx, s16); void mDoMtx_MtxToRot(CMtxP, csXyz*); void mDoMtx_lookAt(f32 (*param_0)[4], Vec const* param_1, Vec const* param_2, s16 param_3); +void mDoMtx_lookAt(f32 (*param_0)[4], Vec const* param_1, Vec const* param_2, Vec const* param_3, + s16 param_4); void mDoMtx_concatProjView(f32 const (*param_0)[4], f32 const (*param_1)[4], f32 (*param_2)[4]); void mDoMtx_ZrotM(Mtx mtx, s16 z); @@ -36,7 +38,7 @@ inline void mDoMtx_copy(const Mtx src, Mtx dst) { } inline void mDoMtx_trans(Mtx m, f32 x, f32 y, f32 z) { - PSMTXTrans(m,x,y,z); + PSMTXTrans(m, x, y, z); } inline void cMtx_XrotM(Mtx mtx, s16 x) { @@ -80,7 +82,8 @@ public: static void scaleS(f32 x, f32 y, f32 z) { PSMTXScale(now, x, y, z); } static void multVec(const Vec* a, Vec* b) { PSMTXMultVec(now, a, b); } static void multVecSR(const Vec* a, Vec* b) { PSMTXMultVecSR(now, a, b); } - static void multVecZero(Vec* v) { mDoMtx_multVecZero(now, v); } + static void multVecZero(Vec* v) { mDoMtx_multVecZero(now, v); } + static void multVecArray(const Vec* src, Vec* dst, u32 count) { PSMTXMultVecArray(now, src, dst, count); } static void XYZrotS(s16 x, s16 y, s16 z) { mDoMtx_XYZrotS(now, x, y, z); } static void XYZrotM(s16 x, s16 y, s16 z) { mDoMtx_XYZrotM(now, x, y, z); } static void ZXYrotS(s16 x, s16 y, s16 z) { mDoMtx_ZXYrotS(now, x, y, z); } diff --git a/include/rel/d/a/d_a_spinner/d_a_spinner.h b/include/rel/d/a/d_a_spinner/d_a_spinner.h index 383bfe5b764..2e096d5e87d 100644 --- a/include/rel/d/a/d_a_spinner/d_a_spinner.h +++ b/include/rel/d/a/d_a_spinner/d_a_spinner.h @@ -43,7 +43,7 @@ public: void setMove(f32 speedF, s16 param_1) { fopAcM_SetParam(this, 1); - mSpeedF = speedF; + speedF = speedF; field_0xa7a = param_1; mCyl.OnAtSetBit(); } diff --git a/include/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard.h b/include/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard.h index e3928195c5b..eafbdabf4c1 100644 --- a/include/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard.h +++ b/include/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard.h @@ -1,6 +1,28 @@ #ifndef D_A_OBJ_CBOARD_H #define D_A_OBJ_CBOARD_H -#include "dolphin/types.h" +#include "d/bg/d_bg_s_movebg_actor.h" +#include "d/com/d_com_inf_game.h" + +class daObjBoard_c : public dBgS_MoveBgActor { +public: + /* 8057B958 */ void initBaseMtx(); + /* 8057B978 */ void setBaseMtx(); + /* 8057BA78 */ int create1st(); + + /* 8057BA70 */ virtual int CreateHeap(); + /* 8057B9C8 */ virtual int Create(); + /* 8057BB74 */ virtual int Execute(Mtx**); + /* 8057BCC0 */ virtual int Draw(); + /* 8057BCC8 */ virtual int Delete(); + + u8 getNameArg() { return fopAcM_GetParamBit(this, 0, 4); } + u8 getArg0() { return fopAcM_GetParamBit(this, 4, 4); } + u8 getSwNo() { return fopAcM_GetParamBit(this, 8, 8); } + +private: + /* 0x5A0 */ request_of_phase_process_class mPhase; + /* 0x5A8 */ Mtx field_0x5a8; +}; // Size: 0x5D8 #endif /* D_A_OBJ_CBOARD_H */ diff --git a/include/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot.h b/include/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot.h index ff89f5c5a79..f25cb2a7502 100644 --- a/include/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot.h +++ b/include/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot.h @@ -1,6 +1,15 @@ #ifndef D_A_TAG_AJNOT_H #define D_A_TAG_AJNOT_H +#include "d/com/d_com_inf_game.h" #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +class daTagAJnot_c : public fopAc_ac_c { +public: + /* 805A2658 */ int create(); + /* 805A26C8 */ ~daTagAJnot_c(); + /* 805A2744 */ int execute(); +}; #endif /* D_A_TAG_AJNOT_H */ diff --git a/include/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard.h b/include/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard.h index 324c4396708..f71874c8209 100644 --- a/include/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard.h +++ b/include/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard.h @@ -1,6 +1,19 @@ #ifndef D_A_TAG_GUARD_H #define D_A_TAG_GUARD_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" +#include "d/d_path.h" + +class daTagGuard_c : public fopAc_ac_c { +public: + /* 80D597F8 */ int getAppearPoint(Vec*); + /* 80D5985C */ void createGuard(u32); + + u8 getPathID() { return fopAcM_GetParam(this) >> 8; } + inline int create(); + inline void create_init(); + + /* 0x568 */ dPath* mPath; +}; // Size: 0x56C #endif /* D_A_TAG_GUARD_H */ diff --git a/libs/JSystem/J2DGraph/J2DPrint.cpp b/libs/JSystem/J2DGraph/J2DPrint.cpp index c72d6656486..b523d89d887 100644 --- a/libs/JSystem/J2DGraph/J2DPrint.cpp +++ b/libs/JSystem/J2DGraph/J2DPrint.cpp @@ -152,7 +152,7 @@ SECTION_SDATA2 static f64 lit_650 = 4503601774854144.0 /* cast s32 to float */; /* 802F4468-802F4658 2EEDA8 01F0+00 1/1 0/0 0/0 .text * private_initiate__8J2DPrintFP7JUTFontffQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorb */ -// close +// matches with float literals #ifdef NONMATCHING void J2DPrint::private_initiate(JUTFont* pFont, f32 param_1, f32 param_2, JUtility::TColor param_3, JUtility::TColor param_4, JUtility::TColor param_5, @@ -165,10 +165,13 @@ void J2DPrint::private_initiate(JUTFont* pFont, f32 param_1, f32 param_2, JUtili field_0x4c = 32.0f; if (mFont != NULL) { - if (!param_7) { - param_2 = mFont->getLeading(); + f32 temp; + if (param_7 == false) { + temp = param_2; + } else { + temp = mFont->getLeading(); } - field_0x4c = param_2; + field_0x4c = temp; } field_0x5a = 1; diff --git a/libs/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp b/libs/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp index 9aa446515e3..ba46fd03728 100644 --- a/libs/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp +++ b/libs/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp @@ -92,34 +92,22 @@ J3DMaterialTable::~J3DMaterialTable() {} /* 8032F64C-8032F6F8 329F8C 00AC+00 0/0 1/1 5/5 .text * removeMatColorAnimator__16J3DMaterialTableFP11J3DAnmColor */ -#ifdef NONMATCHING int J3DMaterialTable::removeMatColorAnimator(J3DAnmColor* pAnmColor) { int ret = false; u16 updateMatNum = pAnmColor->getUpdateMaterialNum(); for (u16 i = 0; i < updateMatNum; i++) { if (pAnmColor->isValidUpdateMaterialID(i)) { - u16 updateMatID = pAnmColor->getUpdateMaterialID(i); - J3DMaterial* materialNode = getMaterialNodePointer(i); - - if (materialNode->getMaterialAnm() == NULL) { + J3DMaterial* materialNode = getMaterialNodePointer(pAnmColor->getUpdateMaterialID(i)); + J3DMaterialAnm* materialAnm = materialNode->getMaterialAnm(); + if (materialAnm == NULL) { ret = true; } else { - materialNode->getMaterialAnm()->setMatColorAnm(0, NULL); + materialAnm->setMatColorAnm(0, NULL); } } } return ret; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int J3DMaterialTable::removeMatColorAnimator(J3DAnmColor* param_0) { - nofralloc -#include "asm/JSystem/J3DGraphAnimator/J3DMaterialAttach/removeMatColorAnimator__16J3DMaterialTableFP11J3DAnmColor.s" -} -#pragma pop -#endif /* 8032F6F8-8032F7B4 32A038 00BC+00 0/0 5/5 10/10 .text * removeTexNoAnimator__16J3DMaterialTableFP16J3DAnmTexPattern */ diff --git a/libs/JSystem/JAudio2/dspproc.cpp b/libs/JSystem/JAudio2/dspproc.cpp index e034a347bd3..03ff047c847 100644 --- a/libs/JSystem/JAudio2/dspproc.cpp +++ b/libs/JSystem/JAudio2/dspproc.cpp @@ -55,7 +55,7 @@ asm void DSPReleaseHalt2(u32 param_0) { /* ############################################################################################## */ /* 804512F8-80451300 0007F8 0004+04 2/2 0/0 0/0 .sbss flag */ -static u32 flag; +static volatile BOOL flag; /* 8029E540-8029E54C 298E80 000C+00 1/1 0/0 0/0 .text setup_callback__FUs */ static void setup_callback(u16 param_0) { diff --git a/libs/JSystem/JKernel/JKRAram.cpp b/libs/JSystem/JKernel/JKRAram.cpp index 119155979c7..87601d4035d 100644 --- a/libs/JSystem/JKernel/JKRAram.cpp +++ b/libs/JSystem/JKernel/JKRAram.cpp @@ -152,8 +152,6 @@ JKRAram::~JKRAram() { } /* 802D21DC-802D2248 2CCB1C 006C+00 1/0 0/0 0/0 .text run__7JKRAramFv */ -// almost full match -#ifdef NONMATCHING void* JKRAram::run(void) { int result; JKRAMCommand* command; @@ -165,22 +163,13 @@ void* JKRAram::run(void) { command = message->command; delete message; - if (result != 1) { - } else { + switch (result) { + case 1: JKRAramPiece::startDMA(command); + break; } } while (true); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void* JKRAram::run() { - nofralloc -#include "asm/JSystem/JKernel/JKRAram/run__7JKRAramFv.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 8039D078-8039D078 0296D8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/libs/JSystem/JKernel/JKRDvdArchive.cpp b/libs/JSystem/JKernel/JKRDvdArchive.cpp index 70597f9992f..c2d094fac38 100644 --- a/libs/JSystem/JKernel/JKRDvdArchive.cpp +++ b/libs/JSystem/JKernel/JKRDvdArchive.cpp @@ -127,7 +127,6 @@ JKRDvdArchive::~JKRDvdArchive() { } /* 802D7DB4-802D8050 2D26F4 029C+00 1/1 0/0 0/0 .text open__13JKRDvdArchiveFl */ -#ifdef NONMATCHING bool JKRDvdArchive::open(s32 entryNum) { mArcInfoBlock = NULL; field_0x64 = NULL; @@ -151,12 +150,7 @@ bool JKRDvdArchive::open(s32 entryNum) { JKRDvdRipper::ALLOC_DIRECTION_FORWARD, 0, &mCompression, NULL); DCInvalidateRange(arcHeader, sizeof(SArcHeader)); - int alignment; - if (mMountDirection == MOUNT_DIRECTION_HEAD) { - alignment = 0x20; - } else { - alignment = -0x20; - } + int alignment = mMountDirection == MOUNT_DIRECTION_HEAD ? 0x20 : -0x20; mArcInfoBlock = (SArcDataInfo*)JKRAllocFromHeap(mHeap, arcHeader->file_data_offset, alignment); if (!mArcInfoBlock) { @@ -174,18 +168,18 @@ bool JKRDvdArchive::open(s32 entryNum) { mStringTable = (char*)((int)&mArcInfoBlock->num_nodes + mArcInfoBlock->string_table_offset); mExpandedSize = NULL; - bool useCompression = false; + u8 useCompression = 0; SDIFileEntry* fileEntry = mFiles; for (u32 i = 0; i < mArcInfoBlock->num_file_entries; fileEntry++, i++) { - if (!fileEntry->isUnknownFlag1()) { - useCompression |= fileEntry->isCompressed(); + if (fileEntry->isUnknownFlag1()) { + useCompression |= fileEntry->getCompressFlag(); } } if (useCompression) { mExpandedSize = (s32*)JKRAllocFromHeap(mHeap, sizeof(s32) * mArcInfoBlock->num_file_entries, abs(alignment)); - if (mExpandedSize) { + if (!mExpandedSize) { // !@bug: mArcInfoBlock is allocated from mHeap but free'd to sSystemHeap. I don't know // what will happen if mHeap != sSystemHeap, but it's still a bug to free to the wrong // allocator. @@ -213,16 +207,6 @@ cleanup: return true; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool JKRDvdArchive::open(s32 param_0) { - nofralloc -#include "asm/JSystem/JKernel/JKRDvdArchive/open__13JKRDvdArchiveFl.s" -} -#pragma pop -#endif /* 802D8050-802D8168 2D2990 0118+00 1/0 0/0 0/0 .text * fetchResource__13JKRDvdArchiveFPQ210JKRArchive12SDIFileEntryPUl */ diff --git a/libs/JSystem/JParticle/JPADynamicsBlock.cpp b/libs/JSystem/JParticle/JPADynamicsBlock.cpp index 8a6129ba558..f3b57e58017 100644 --- a/libs/JSystem/JParticle/JPADynamicsBlock.cpp +++ b/libs/JSystem/JParticle/JPADynamicsBlock.cpp @@ -59,9 +59,8 @@ SECTION_SDATA2 static f32 lit_2289[1 + 1 /* padding */] = { }; /* 8027B144-8027B220 275A84 00DC+00 1/1 0/0 0/0 .text JPAVolumePoint__FP18JPAEmitterWorkData */ +// matches with literals #ifdef NONMATCHING - -// bug in diff.py preventing me from seeing what's wrong void JPAVolumePoint(JPAEmitterWorkData* work) { work->mVolumePos.zero(); work->mVelOmni.set(work->mpEmtr->get_r_zh(), work->mpEmtr->get_r_zh(), @@ -86,15 +85,14 @@ static asm void JPAVolumePoint(JPAEmitterWorkData* param_0) { /* 80455320-80455328 003920 0008+00 6/6 0/0 0/0 .sdata2 @2321 */ SECTION_SDATA2 static f64 lit_2321 = 4503601774854144.0 /* cast s32 to float */; -/* 8027B220-8027B33C 275B60 011C+00 1/1 0/0 0/0 .text JPAVolumeLine__FP18JPAEmitterWorkData */ +/* 8027B220-8027B33C 275B60 011C+00 1/1 0/0 0/0 .text JPAVolumeLine */ +// matches with literals #ifdef NONMATCHING - -// bug in diff.py preventing me from seeing what's wrong void JPAVolumeLine(JPAEmitterWorkData* work) { if (work->mpEmtr->checkFlag(JPADynFlag_FixedInterval)) { work->mVolumePos.set(0.0f, 0.0f, work->mVolumeSize * - (s32)((work->mVolumeEmitIdx / (work->mEmitCount - 1.0f) - 0.5f))); + ((work->mVolumeEmitIdx / (work->mEmitCount - 1.0f) - 0.5f))); work->mVolumeEmitIdx++; } else { work->mVolumePos.set(0.0f, 0.0f, work->mVolumeSize * work->mpEmtr->get_r_zh()); @@ -117,17 +115,22 @@ static asm void JPAVolumeLine(JPAEmitterWorkData* param_0) { #endif -/* 8027B33C-8027B4E8 275C7C 01AC+00 1/1 0/0 0/0 .text JPAVolumeCircle__FP18JPAEmitterWorkData */ - +/* 8027B33C-8027B4E8 275C7C 01AC+00 1/1 0/0 0/0 .text JPAVolumeCircle */ +// regalloc. Could be issue with mul asm implementations #ifdef NONMATCHING - -// bug in diff.py preventing me from seeing what's wrong void JPAVolumeCircle(JPAEmitterWorkData* work) { - f32 theta, distance, sizeXZ; + s16 thetai; + f32 theta; + f32 distance; + f32 sizeXZ; + f32 temp; if (work->mpEmtr->checkFlag(JPADynFlag_FixedInterval)) { - theta = work->mVolumeSweep * (work->mVolumeEmitIdx++ / work->mEmitCount); + theta = (s16)((work->mVolumeEmitIdx << 16) / work->mEmitCount); + thetai = theta * work->mVolumeSweep; + work->mVolumeEmitIdx++; } else { theta = work->mVolumeSweep * work->mpEmtr->get_r_ss(); + thetai = theta; } distance = work->mpEmtr->get_r_f(); @@ -136,7 +139,7 @@ void JPAVolumeCircle(JPAEmitterWorkData* work) { } sizeXZ = work->mVolumeSize * (work->mVolumeMinRad + distance * (1.0f - work->mVolumeMinRad)); - work->mVolumePos.set(sizeXZ * JMASSin(theta), 0.0f, sizeXZ * JMASCos(theta)); + work->mVolumePos.set(sizeXZ * JMASSin(thetai), 0.0f, sizeXZ * JMASCos(thetai)); work->mVelOmni.mul(work->mVolumePos, work->mGlobalScl); work->mVelAxis.set(work->mVolumePos.x, 0.0f, work->mVolumePos.z); } @@ -154,15 +157,13 @@ static asm void JPAVolumeCircle(JPAEmitterWorkData* param_0) { #endif -/* 8027B4E8-8027B5F0 275E28 0108+00 1/1 0/0 0/0 .text JPAVolumeCube__FP18JPAEmitterWorkData */ - +/* 8027B4E8-8027B5F0 275E28 0108+00 1/1 0/0 0/0 .text JPAVolumeCube */ +// matches with literals #ifdef NONMATCHING - -// bug in diff.py preventing me from seeing what's wrong void JPAVolumeCube(JPAEmitterWorkData* work) { - f32 size = work->mVolumeSize; - work->mVolumePos.set(size * work->mpEmtr->get_r_zh(), size * work->mpEmtr->get_r_zh(), - size * work->mpEmtr->get_r_zh()); + work->mVolumePos.set(work->mpEmtr->get_r_zh() * work->mVolumeSize, + work->mpEmtr->get_r_zh() * work->mVolumeSize, + work->mpEmtr->get_r_zh() * work->mVolumeSize); work->mVelOmni.mul(work->mVolumePos, work->mGlobalScl); work->mVelAxis.set(work->mVolumePos.x, 0.0f, work->mVolumePos.z); } diff --git a/libs/SSystem/SComponent/c_angle.cpp b/libs/SSystem/SComponent/c_angle.cpp index aaa73099882..676dcd79586 100644 --- a/libs/SSystem/SComponent/c_angle.cpp +++ b/libs/SSystem/SComponent/c_angle.cpp @@ -22,71 +22,71 @@ const cSAngle cSAngle::_270(static_cast(-0x4000)); /* 80270F68-80270F98 0030+00 s=0 e=33 z=2 None .text __ct__7cSAngleFRC7cSAngle */ cSAngle::cSAngle(const cSAngle& angle) { - this->Val(angle); + Val(angle); } /* 80270F98-80270FC8 0030+00 s=14 e=50 z=4 None .text __ct__7cSAngleFs */ cSAngle::cSAngle(s16 angle) { - this->Val(angle); + Val(angle); } /* 80270FC8-80270FF8 0030+00 s=0 e=22 z=0 None .text __ct__7cSAngleFf */ -cSAngle::cSAngle(float angle) { - this->Val(angle); +cSAngle::cSAngle(f32 angle) { + Val(angle); } /* 80270FF8-80271004 000C+00 s=2 e=6 z=0 None .text Val__7cSAngleFRC7cSAngle */ void cSAngle::Val(const cSAngle& other) { - this->mAngle = other.mAngle; + mAngle = other.mAngle; } /* 80271004-8027100C 0008+00 s=4 e=7 z=0 None .text Val__7cSAngleFs */ void cSAngle::Val(s16 val) { - this->mAngle = val; + mAngle = val; } /* 8027100C-80271030 0024+00 s=1 e=8 z=0 None .text Val__7cSAngleFf */ -void cSAngle::Val(float f) { - this->mAngle = 182.04445f * f; +void cSAngle::Val(f32 degree) { + mAngle = cAngle::Degree_to_SAngle(degree); } /* 80271030-80271064 0034+00 s=0 e=11 z=0 None .text Degree__7cSAngleCFv */ -float cSAngle::Degree(void) const { - return (360.0f / 65536.0f) * this->mAngle; +f32 cSAngle::Degree() const { + return cAngle::SAngle_to_Degree(mAngle); } /* 80271064-80271098 0034+00 s=3 e=0 z=0 None .text Radian__7cSAngleCFv */ -float cSAngle::Radian(void) const { - return 9.58738E-5f * this->mAngle; +f32 cSAngle::Radian() const { + return cAngle::SAngle_to_Radian(mAngle); } /* 80271098-802710CC 0034+00 s=0 e=1 z=0 None .text Norm__7cSAngleCFv */ -float cSAngle::Norm(void) const { - return 3.0517578E-5f * this->mAngle; +f32 cSAngle::Norm() const { + return cAngle::SAngle_to_Normal(mAngle); } /* 802710CC-802710E8 001C+00 s=0 e=5 z=1 None .text Abs__7cSAngleCFv */ -s16 cSAngle::Abs(void) const { +s16 cSAngle::Abs() const { return mAngle >= 0 ? mAngle : -mAngle; } /* 802710E8-802710F8 0010+00 s=2 e=22 z=2 None .text Inv__7cSAngleCFv */ -s16 cSAngle::Inv(void) const { +s16 cSAngle::Inv() const { return mAngle - 0x8000; } /* 802710F8-80271120 0028+00 s=0 e=6 z=1 None .text Sin__7cSAngleCFv */ -float cSAngle::Sin(void) const { - return sin(this->Radian()); +f32 cSAngle::Sin() const { + return sin(Radian()); } /* 80271120-80271148 0028+00 s=0 e=8 z=1 None .text Cos__7cSAngleCFv */ -float cSAngle::Cos(void) const { - return cos(this->Radian()); +f32 cSAngle::Cos() const { + return cos(Radian()); } /* 80271148-80271174 002C+00 s=2 e=8 z=0 None .text __mi__7cSAngleCFv */ -cSAngle cSAngle::operator-(void) const { +cSAngle cSAngle::operator-() const { return cSAngle(static_cast(-mAngle)); } @@ -111,149 +111,134 @@ void cSAngle::operator-=(const cSAngle& other) { } /* 802711FC-80271228 002C+00 s=0 e=5 z=0 None .text __pl__7cSAngleCFs */ -cSAngle cSAngle::operator+(short other) const { +cSAngle cSAngle::operator+(s16 other) const { return cSAngle(static_cast(mAngle + other)); } /* 80271228-80271254 002C+00 s=0 e=9 z=3 None .text __mi__7cSAngleCFs */ -cSAngle cSAngle::operator-(short other) const { +cSAngle cSAngle::operator-(s16 other) const { return cSAngle(static_cast(mAngle - other)); } /* 80271254-80271264 0010+00 s=0 e=1 z=0 None .text __apl__7cSAngleFs */ -void cSAngle::operator+=(short other) { +void cSAngle::operator+=(s16 other) { mAngle += other; } /* 80271264-802712B4 0050+00 s=0 e=31 z=0 None .text __ml__7cSAngleCFf */ -cSAngle cSAngle::operator*(float f1) const { +cSAngle cSAngle::operator*(f32 f1) const { return cSAngle(static_cast(mAngle * f1)); } /* 802712B4-802712F4 0040+00 s=0 e=3 z=0 None .text __amu__7cSAngleFf */ -void cSAngle::operator*=(float f1) { - this->mAngle *= f1; +void cSAngle::operator*=(f32 f1) { + mAngle *= f1; } /* 802712F4-80271320 002C+00 s=0 e=2 z=0 None .text __pl__FsRC7cSAngle */ -cSAngle operator+(short other, const cSAngle& angle) { +cSAngle operator+(s16 other, const cSAngle& angle) { return cSAngle(static_cast(other + angle.Val())); } /* 80271320-8027134C 002C+00 s=0 e=5 z=0 None .text __mi__FsRC7cSAngle */ -cSAngle operator-(short other, const cSAngle& angle) { +cSAngle operator-(s16 other, const cSAngle& angle) { return cSAngle(static_cast(other - angle.Val())); } /* 8027134C-8027137C 0030+00 s=0 e=3 z=0 None .text __ct__7cDegreeFf */ -cDegree::cDegree(float f) { - this->Val(f); -} - -struct cAngle { - template - static T Adjust(T f1, T f2, T f3); -}; - -template -T cAngle::Adjust(T f1, T f2, T f3) { - while (f1 >= f3) { - f1 -= f3 - f2; - } - while (f1 < f2) { - f1 += f3 - f2; - } - return f1; +cDegree::cDegree(f32 f) { + Val(f); } /* 8027137C-802713BC 0040+00 s=1 e=0 z=0 None .text Formal__7cDegreeFv */ -cDegree& cDegree::Formal(void) { +cDegree& cDegree::Formal() { mDegree = cAngle::Adjust(mDegree, -180.0f, 180.0f); - // mDegree = cAngle_NS_Adjust(mDegree, -180.0f, 180.0f); return *this; } /* 802713BC-802713E0 0024+00 s=1 e=0 z=0 None .text Val__7cDegreeFf */ -void cDegree::Val(float f) { +void cDegree::Val(f32 f) { mDegree = f; - this->Formal(); + Formal(); } /* 802713E0-802713F0 0010+00 s=3 e=0 z=0 None .text Radian__7cDegreeCFv */ -float cDegree::Radian(void) const { - return 0.017453292f * mDegree; +f32 cDegree::Radian() const { + return cAngle::Degree_to_Radian(mDegree); } /* 802713F0-80271418 0028+00 s=0 e=1 z=0 None .text Sin__7cDegreeCFv */ -float cDegree::Sin(void) const { - return sin(this->Radian()); +f32 cDegree::Sin() const { + return sin(Radian()); } /* 80271418-80271440 0028+00 s=0 e=2 z=0 None .text Cos__7cDegreeCFv */ -float cDegree::Cos(void) const { - return cos(this->Radian()); +f32 cDegree::Cos() const { + return cos(Radian()); } /* 80271440-80271468 0028+00 s=0 e=1 z=0 None .text Tan__7cDegreeCFv */ -float cDegree::Tan(void) const { - return tan(this->Radian()); +f32 cDegree::Tan() const { + return tan(Radian()); } /* 80271468-80271498 0030+00 s=1 e=0 z=0 None .text __ct__7cSPolarFRC4cXyz */ cSPolar::cSPolar(const cXyz& xyz) { - this->Val(xyz); + Val(xyz); } /* 80271498-80271558 00C0+00 s=2 e=0 z=0 None .text Formal__7cSPolarFv */ -cSPolar& cSPolar::Formal(void) { +cSPolar& cSPolar::Formal() { if (mRadial < 0.0f) { mRadial = -mRadial; cSAngle tmp(static_cast(-0x8000)); mAngle1.Val(tmp - mAngle1); mAngle2.Val(mAngle2.Inv()); } + if (mAngle1.Val() < 0 && mAngle1.Val() != -0x8000) { mAngle1.Val(-mAngle1); mAngle2.Val(mAngle2.Inv()); } + return *this; } /* 80271558-802715BC 0064+00 s=1 e=0 z=0 None .text Val__7cSPolarFfss */ -void cSPolar::Val(float f, short s1, short s2) { +void cSPolar::Val(f32 f, s16 s1, s16 s2) { mRadial = f; mAngle1 = cSAngle(s1); mAngle2 = cSAngle(s2); - this->Formal(); + Formal(); } -inline double square(float f) { +inline double square(f32 f) { return f * f; } /* 802715BC-802716EC 0130+00 s=1 e=0 z=0 None .text Val__7cSPolarFRC4cXyz */ void cSPolar::Val(const cXyz& xyz) { - float x, y, z, tmp4; + f32 x, y, z, tmp4; x = xyz.x; y = xyz.y; z = xyz.z; double tmp = square(z) + square(x); double tmp2 = square(y) + tmp; - tmp4 = (tmp > 0.0) ? (float)sqrt(tmp) : 0.0f; - mRadial = (tmp2 > 0.0) ? (float)sqrt(tmp2) : 0.0f; - mAngle1.Val(static_cast(cM_atan2f(tmp4, y) * 10430.378f)); - mAngle2.Val(static_cast(cM_atan2f(x, z) * 10430.378f)); - this->Formal(); + tmp4 = (tmp > 0.0) ? (f32)sqrt(tmp) : 0.0f; + mRadial = (tmp2 > 0.0) ? (f32)sqrt(tmp2) : 0.0f; + mAngle1.Val(cAngle::Radian_to_SAngle(cM_atan2f(tmp4, y))); + mAngle2.Val(cAngle::Radian_to_SAngle(cM_atan2f(x, z))); + Formal(); } /* 802716EC-802717B4 00C8+00 s=1 e=1 z=0 None .text Xyz__7cSPolarCFv */ -cXyz cSPolar::Xyz(void) const { - float ang1Cos; - float ang2Cos; - float ang1Sin = mRadial * (float)sin(mAngle1.Radian()); - ang2Cos = (float)cos(mAngle2.Radian()); - ang1Cos = mRadial * (float)cos(mAngle1.Radian()); - float ang2Sin = sin(mAngle2.Radian()); +cXyz cSPolar::Xyz() const { + f32 ang1Cos; + f32 ang2Cos; + f32 ang1Sin = mRadial * (f32)sin(mAngle1.Radian()); + ang2Cos = (f32)cos(mAngle2.Radian()); + ang1Cos = mRadial * (f32)cos(mAngle1.Radian()); + f32 ang2Sin = sin(mAngle2.Radian()); return cXyz(ang1Sin * ang2Sin, ang1Cos, ang1Sin * ang2Cos); } @@ -264,36 +249,37 @@ void cSPolar::Globe(cSGlobe* globe) const { /* 802717F0-80271820 0030+00 s=0 e=6 z=0 None .text __ct__7cSGlobeFRC7cSGlobe */ cSGlobe::cSGlobe(const cSGlobe& other) { - this->Val(other); + Val(other); } /* 80271820-80271850 0030+00 s=0 e=3 z=0 None .text __ct__7cSGlobeFfss */ -cSGlobe::cSGlobe(float f, short s1, short s2) { - this->Val(f, s1, s2); +cSGlobe::cSGlobe(f32 f, s16 s1, s16 s2) { + Val(f, s1, s2); } /* 80271850-80271880 0030+00 s=1 e=4 z=0 None .text __ct__7cSGlobeFfRC7cSAngleRC7cSAngle */ -cSGlobe::cSGlobe(float f, const cSAngle& a1, const cSAngle& a2) { - this->Val(f, a1, a2); +cSGlobe::cSGlobe(f32 f, const cSAngle& a1, const cSAngle& a2) { + Val(f, a1, a2); } /* 80271880-802718B0 0030+00 s=0 e=35 z=3 None .text __ct__7cSGlobeFRC4cXyz */ cSGlobe::cSGlobe(const cXyz& xyz) { - this->Val(xyz); + Val(xyz); } /* 802718B0-8027196C 00BC+00 s=5 e=0 z=0 None .text Formal__7cSGlobeFv */ -cSGlobe& cSGlobe::Formal(void) { +cSGlobe& cSGlobe::Formal() { if (mRadius < 0.0f) { mRadius = -mRadius; mAzimuth = -mAzimuth; mInclination.Val(mInclination.Inv()); } + if (mAzimuth.Val() < -0x4000 || 0x4000 < mAzimuth.Val()) { - // mAzimuth.mirrorAtMaxNeg(); mAzimuth = cSAngle((s16)-0x8000) - mAzimuth; mInclination.Val(mInclination.Inv()); } + return *this; } @@ -302,36 +288,36 @@ void cSGlobe::Val(const cSGlobe& other) { mRadius = other.mRadius; mAzimuth = other.mAzimuth; mInclination = other.mInclination; - this->Formal(); + Formal(); } /* 802719A4-80271A08 0064+00 s=2 e=3 z=0 None .text Val__7cSGlobeFfss */ -void cSGlobe::Val(float f, short s1, short s2) { +void cSGlobe::Val(f32 f, s16 s1, s16 s2) { mRadius = f; mAzimuth = cSAngle(s1); mInclination = cSAngle(s2); - this->Formal(); + Formal(); } /* 80271A08-80271A70 0068+00 s=1 e=11 z=0 None .text Val__7cSGlobeFfRC7cSAngleRC7cSAngle */ -void cSGlobe::Val(float f, const cSAngle& a1, const cSAngle& a2) { +void cSGlobe::Val(f32 f, const cSAngle& a1, const cSAngle& a2) { mRadius = f; mAzimuth = cSAngle(a1.Val()); mInclination = cSAngle(a2.Val()); - this->Formal(); + Formal(); } /* 80271A70-80271AB4 0044+00 s=1 e=38 z=0 None .text Val__7cSGlobeFRC4cXyz */ void cSGlobe::Val(const cXyz& xyz) { cSPolar csp(xyz); csp.Globe(this); - this->Formal(); + Formal(); } /* 80271AB4-80271AF4 0040+00 s=1 e=38 z=0 None .text Xyz__7cSGlobeCFv */ -cXyz cSGlobe::Xyz(void) const { +cXyz cSGlobe::Xyz() const { cSPolar csp; - this->Polar(&csp); + Polar(&csp); return csp.Xyz(); } @@ -340,18 +326,14 @@ void cSGlobe::Polar(cSPolar* csp) const { csp->Val(mRadius, 0x4000 - mAzimuth.Val(), mInclination.Val()); } -/* ############################################################################################## */ -/* 8045523C-80455240 00383C 0004+00 1/1 0/0 0/0 .sdata2 @2744 */ -SECTION_SDATA2 static f32 lit_2744 = 1.0f; - /* 80271B30-80271B7C 004C+00 s=0 e=3 z=0 None .text Norm__7cSGlobeCFv */ -cXyz cSGlobe::Norm(void) const { +cXyz cSGlobe::Norm() const { cSGlobe glob(1.0f, mAzimuth, mInclination); return glob.Xyz(); } /* 80271B7C-80271BA8 002C+00 s=0 e=2 z=0 None .text Invert__7cSGlobeFv */ -cSGlobe& cSGlobe::Invert(void) { +cSGlobe& cSGlobe::Invert() { mRadius = -mRadius; - return this->Formal(); + return Formal(); } diff --git a/libs/Z2AudioLib/Z2StatusMgr.cpp b/libs/Z2AudioLib/Z2StatusMgr.cpp index d011ed06902..749a0f0eeb1 100644 --- a/libs/Z2AudioLib/Z2StatusMgr.cpp +++ b/libs/Z2AudioLib/Z2StatusMgr.cpp @@ -220,25 +220,9 @@ void Z2StatusMgr::menuOut() { } /* 802B61BC-802B61E8 2B0AFC 002C+00 2/2 1/1 0/0 .text isMovieDemo__11Z2StatusMgrFv */ -#ifdef NONMATCHING bool Z2StatusMgr::isMovieDemo(void) { - bool isMovieDemo = false; - - if (mDemoStatus == 2 || mDemoStatus == 8 || mDemoStatus == 9) { - isMovieDemo = true; - } - return isMovieDemo; + return mDemoStatus == 2 || mDemoStatus == 8 || mDemoStatus == 9; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool Z2StatusMgr::isMovieDemo() { - nofralloc -#include "asm/Z2AudioLib/Z2StatusMgr/isMovieDemo__11Z2StatusMgrFv.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 8039BC88-8039BC88 0282E8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/libs/dolphin/ai/ai.c b/libs/dolphin/ai/ai.c index c5f864b7346..28698ed5f33 100644 --- a/libs/dolphin/ai/ai.c +++ b/libs/dolphin/ai/ai.c @@ -21,15 +21,16 @@ static AISCallback __AIS_Callback; static AIDCallback __AID_Callback; /* 8034FC70-8034FCB4 34A5B0 0044+00 0/0 1/1 0/0 .text AIRegisterDMACallback */ -// need compiler epilogue patch -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm AIDCallback AIRegisterDMACallback(AIDCallback callback) { - nofralloc -#include "asm/dolphin/ai/ai/AIRegisterDMACallback.s" +AIDCallback AIRegisterDMACallback(AIDCallback callback) { + s32 oldInts; + AIDCallback ret; + + ret = __AID_Callback; + oldInts = OSDisableInterrupts(); + __AID_Callback = callback; + OSRestoreInterrupts(oldInts); + return ret; } -#pragma pop /* 8034FCB4-8034FD3C 34A5F4 0088+00 0/0 2/2 0/0 .text AIInitDMA */ void AIInitDMA(u32 addr, u32 length) { @@ -216,45 +217,33 @@ inline void AIResetStreamSampleCount(void) { __AIRegs[0] = (__AIRegs[0] & ~0x20) inline void AISetStreamTrigger(u32 trigger) { __AIRegs[3] = trigger; } /* 80350084-803501F0 34A9C4 016C+00 0/0 1/1 0/0 .text AIInit */ -// time assignments are weird -#ifdef NONMATCHING void AIInit(u8* stack) { - if (__AI_init_flag == TRUE) { - return; - } + if (__AI_init_flag == TRUE) { + return; + } - OSRegisterVersion(__AIVersion); - bound_32KHz = OSNanosecondsToTicks(31524); - bound_48KHz = OSNanosecondsToTicks(42024); - min_wait = OSNanosecondsToTicks(42000); - max_wait = OSNanosecondsToTicks(63000); - buffer = OSNanosecondsToTicks(3000); + OSRegisterVersion(__AIVersion); + bound_32KHz = OSNanosecondsToTicks(31524); + bound_48KHz = OSNanosecondsToTicks(42024); + min_wait = OSNanosecondsToTicks(42000); + max_wait = OSNanosecondsToTicks(63000); + buffer = OSNanosecondsToTicks(3000); - AISetStreamVolRight(0); - AISetStreamVolLeft(0); - AISetStreamTrigger(0); - AIResetStreamSampleCount(); - __AI_set_stream_sample_rate(1); - AISetDSPSampleRate(0); - __AIS_Callback = 0; - __AID_Callback = 0; - __CallbackStack = stack; - __OSSetInterruptHandler(5, __AIDHandler); - __OSUnmaskInterrupts(0x04000000); - __OSSetInterruptHandler(8, __AISHandler); - __OSUnmaskInterrupts(0x800000); - __AI_init_flag = TRUE; + AISetStreamVolRight(0); + AISetStreamVolLeft(0); + AISetStreamTrigger(0); + AIResetStreamSampleCount(); + __AI_set_stream_sample_rate(1); + AISetDSPSampleRate(0); + __AIS_Callback = 0; + __AID_Callback = 0; + __CallbackStack = stack; + __OSSetInterruptHandler(5, __AIDHandler); + __OSUnmaskInterrupts(0x04000000); + __OSSetInterruptHandler(8, __AISHandler); + __OSUnmaskInterrupts(0x800000); + __AI_init_flag = TRUE; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void AIInit(u8* stack) { - nofralloc -#include "asm/dolphin/ai/ai/AIInit.s" -} -#pragma pop -#endif /* 803501F0-8035026C 34AB30 007C+00 1/1 0/0 0/0 .text __AISHandler */ void __AISHandler(s16 interrupt, OSContext* context) { diff --git a/libs/dolphin/card/CARDBios.c b/libs/dolphin/card/CARDBios.c index 9df3a700f40..4bdb226e983 100644 --- a/libs/dolphin/card/CARDBios.c +++ b/libs/dolphin/card/CARDBios.c @@ -641,43 +641,30 @@ s32 CARDFreeBlocks(s32 chan, s32* byteNotUsed, s32* filesNotUsed) { return __CARDPutControlBlock(card, CARD_RESULT_READY); } -/* 80353E20-80353EB8 34E760 0098+00 0/0 7/7 0/0 .text __CARDSync */ -#ifdef NONMATCHING -s32 __CARDSync(s32 chan) { +s32 CARDGetResultCode(s32 chan) +{ CARDControl* card; - s32 val; - BOOL enabled; - s32 result; - + if (chan < 0 || chan >= 2) { + return CARD_RESULT_FATAL_ERROR; + } card = &__CARDBlock[chan]; + return card->result; +} + +/* 80353E20-80353EB8 34E760 0098+00 0/0 7/7 0/0 .text __CARDSync */ +s32 __CARDSync(s32 chan) { + CARDControl* block; + s32 result; + s32 enabled; + + block = &__CARDBlock[chan]; enabled = OSDisableInterrupts(); - for (;; ) { - if (chan < 0 || chan >= 2) - result = -0x80; - else - result = card->result; - val = result; - - if (val != CARD_RESULT_BUSY){ - break; - } else { - OSSleepThread(&card->threadQueue); - } - } + while ((result = CARDGetResultCode(chan)) == -1) { + OSSleepThread(&block->threadQueue); + } OSRestoreInterrupts(enabled); - - return val; + return result; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 __CARDSync(s32 chan) { - nofralloc -#include "asm/dolphin/card/CARDBios/__CARDSync.s" -} -#pragma pop -#endif /* 80353EB8-80353F08 34E7F8 0050+00 1/0 0/0 0/0 .text OnReset */ static s32 OnReset(s32 f) { diff --git a/libs/dolphin/dvd/dvdlow.c b/libs/dolphin/dvd/dvdlow.c index 2421c98d7de..2ab0f3ab18f 100644 --- a/libs/dolphin/dvd/dvdlow.c +++ b/libs/dolphin/dvd/dvdlow.c @@ -4,34 +4,39 @@ // #include "dolphin/dvd/dvdlow.h" +#include "dolphin/dvd/dvd.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "dolphin/os/OSAlarm.h" +#include "dolphin/os/OSTime.h" +#include "dolphin/os/OSContext.h" +#include "dolphin/os/OSReset.h" // // Forward References: // void __DVDInitWA(); -void __DVDInterruptHandler(); +void __DVDInterruptHandler(u32 arg0, OSContext* context); static void AlarmHandler(); static void AlarmHandlerForTimeout(); -static void Read(); -static void SeekTwiceBeforeRead(); -void DVDLowRead(); -void DVDLowSeek(); -void DVDLowWaitCoverClose(); -void DVDLowReadDiskID(); -void DVDLowStopMotor(); -void DVDLowRequestError(); -void DVDLowInquiry(); -void DVDLowAudioStream(); -void DVDLowRequestAudioStatus(); -void DVDLowAudioBufferConfig(); +static void Read(void* arg0, u32 arg1, u32 arg2, DVDLowCallback cb); +static void SeekTwiceBeforeRead(void* arg0, u32 arg1, u32 arg2, DVDLowCallback cb); +BOOL DVDLowRead(void* arg0, u32 arg1, u32 arg2, DVDLowCallback cb); +BOOL DVDLowSeek(u32 arg0, DVDLowCallback cb); +BOOL DVDLowWaitCoverClose(DVDLowCallback cb); +BOOL DVDLowReadDiskID(u32 arg0, DVDLowCallback cb); +BOOL DVDLowStopMotor(DVDLowCallback cb); +BOOL DVDLowRequestError(DVDLowCallback cb); +BOOL DVDLowInquiry(u32 arg0, DVDLowCallback cb); +BOOL DVDLowAudioStream(u32 arg0, u32 arg1, u32 arg2, DVDLowCallback cb); +BOOL DVDLowRequestAudioStatus(u32 arg0, DVDLowCallback cb); +BOOL DVDLowAudioBufferConfig(s32 arg0, u32 arg1, DVDLowCallback cb); void DVDLowReset(); -void DVDLowBreak(); +BOOL DVDLowBreak(); DVDLowCallback DVDLowClearCallback(); -void __DVDLowSetWAType(); -void __DVDLowTestAlarm(); +void __DVDLowSetWAType(u32 arg0, u32 arg1); +BOOL __DVDLowTestAlarm(OSAlarm* alarm); // // External References: @@ -41,311 +46,526 @@ void OSInitAlarm(); void OSCreateAlarm(); void OSSetAlarm(); void OSCancelAlarm(); -void OSSetCurrentContext(); -void OSClearContext(); -void OSDisableInterrupts(); -void OSRestoreInterrupts(); +BOOL OSDisableInterrupts(); +void OSRestoreInterrupts(BOOL enabled); void __OSMaskInterrupts(); -void __OSGetSystemTime(); -void DVDGetCurrentDiskID(); +OSTime __OSGetSystemTime(); // // Declarations: // +typedef struct DVDCommand { + s32 _0; + void* _4; + u32 _8; + u32 _c; + DVDLowCallback callback; +} DVDCommand; + /* ############################################################################################## */ /* 8044C830-8044C870 079550 003C+04 6/6 0/0 0/0 .bss CommandList */ -static u8 CommandList[60 + 4 /* padding */]; +static DVDCommand CommandList[3]; /* 80451710-80451714 000C10 0004+00 12/12 0/0 0/0 .sbss StopAtNextInt */ -static u8 StopAtNextInt[4]; +static volatile BOOL StopAtNextInt; /* 80451714-80451718 000C14 0004+00 1/1 0/0 0/0 .sbss LastLength */ -static u8 LastLength[4]; +static u32 LastLength; /* 80451718-8045171C 000C18 0004+00 13/13 0/0 0/0 .sbss Callback */ static DVDLowCallback Callback; /* 8045171C-80451720 000C1C 0004+00 1/1 0/0 0/0 .sbss ResetCoverCallback */ -static u8 ResetCoverCallback[4]; +static DVDLowCallback ResetCoverCallback; /* 80451720-80451724 000C20 0004+00 2/2 0/0 0/0 .sbss LastResetEnd */ -static u8 LastResetEnd[4]; - -/* 80451724-80451728 000C24 0004+00 2/2 0/0 0/0 .sbss None */ -static u8 data_80451724[4]; +static volatile OSTime LastResetEnd; /* 80451728-8045172C 000C28 0004+00 2/2 0/0 0/0 .sbss ResetOccurred */ -static u8 ResetOccurred[4]; +static volatile u32 ResetOccurred; /* 8045172C-80451730 000C2C 0004+00 3/3 0/0 0/0 .sbss WaitingCoverClose */ -static DVDLowCallback WaitingCoverClose; +static volatile BOOL WaitingCoverClose; /* 80451730-80451734 000C30 0004+00 2/2 0/0 0/0 .sbss Breaking */ -static u8 Breaking[4]; +static BOOL Breaking; /* 80451734-80451738 000C34 0004+00 2/2 0/0 0/0 .sbss WorkAroundType */ -static u8 WorkAroundType[4]; +static volatile u32 WorkAroundType; /* 80451738-80451740 000C38 0004+04 2/2 0/0 0/0 .sbss WorkAroundSeekLocation */ -static u8 WorkAroundSeekLocation[4 + 4 /* padding */]; +static u32 WorkAroundSeekLocation[2]; /* 80451740-80451744 000C40 0004+00 2/2 0/0 0/0 .sbss LastReadFinished */ -static u8 LastReadFinished[4]; - -/* 80451744-80451748 000C44 0004+00 2/2 0/0 0/0 .sbss None */ -static u8 data_80451744[4]; +static volatile OSTime LastReadFinished; /* 80451748-8045174C 000C48 0004+00 1/1 0/0 0/0 .sbss LastReadIssued */ -static u8 LastReadIssued[4]; - -/* 8045174C-80451750 000C4C 0004+00 1/1 0/0 0/0 .sbss None */ -static u8 data_8045174C[4]; +static OSTime LastReadIssued; /* 80451750-80451754 000C50 0004+00 2/2 0/0 0/0 .sbss LastCommandWasRead */ -static u8 LastCommandWasRead[4]; +static volatile BOOL LastCommandWasRead; /* 80451754-80451758 000C54 0004+00 5/5 0/0 0/0 .sbss NextCommandNumber */ -static u8 NextCommandNumber[4]; +static volatile u32 NextCommandNumber; /* 80347674-803476B4 341FB4 0040+00 0/0 1/1 0/0 .text __DVDInitWA */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __DVDInitWA() { - nofralloc -#include "asm/dolphin/dvd/dvdlow/__DVDInitWA.s" +void __DVDInitWA() { + NextCommandNumber = 0; + ((DVDCommand*)CommandList)[0]._0 = -1; + __DVDLowSetWAType(0, 0); + OSInitAlarm(); } -#pragma pop /* ############################################################################################## */ /* 8044C870-8044C898 079590 0028+00 0/1 0/0 0/0 .bss AlarmForWA */ -#pragma push -#pragma force_active on -static u8 AlarmForWA[40]; -#pragma pop +static OSAlarm AlarmForWA; /* 8044C898-8044C8C0 0795B8 0028+00 9/11 0/0 0/0 .bss AlarmForTimeout */ -static u8 AlarmForTimeout[40]; +static OSAlarm AlarmForTimeout; /* 8044C8C0-8044C8E8 0795E0 0028+00 1/1 0/0 0/0 .bss AlarmForBreak */ -static u8 AlarmForBreak[40]; +static OSAlarm AlarmForBreak; /* 8044C8E8-8044C8F4 079608 000C+00 0/1 0/0 0/0 .bss Prev */ #pragma push #pragma force_active on -static u8 Prev[12]; +static u32 Prev[3]; #pragma pop /* 8044C8F4-8044C900 079614 000C+00 0/2 0/0 0/0 .bss Curr */ #pragma push #pragma force_active on -static u8 Curr[12]; +static u32 Curr[3]; #pragma pop /* 804509D8-804509E0 000458 0004+04 2/2 0/0 0/0 .sdata FirstRead */ -SECTION_SDATA static u32 FirstRead[1 + 1 /* padding */] = { +SECTION_SDATA static BOOL FirstRead[1 + 1 /* padding */] = { 0x00000001, /* padding */ 0x00000000, }; /* 803476B4-80347994 341FF4 02E0+00 0/0 1/1 0/0 .text __DVDInterruptHandler */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __DVDInterruptHandler() { - nofralloc -#include "asm/dolphin/dvd/dvdlow/__DVDInterruptHandler.s" +void __DVDInterruptHandler(u32 arg0, OSContext* context) { + u32 reg; + s32 rv; + u32 val = 0; + u32 val2; + u32 val3; + u32 val4; + OSContext localContext; + if (LastCommandWasRead) { + LastReadFinished = __OSGetSystemTime(); + FirstRead[0] = 0; + Prev[0] = Curr[0]; + Prev[1] = Curr[1]; + Prev[2] = Curr[2]; + + if (StopAtNextInt == TRUE) { + val |= 8; + } + } + + LastCommandWasRead = FALSE; + StopAtNextInt = FALSE; + reg = __DIRegs[0]; + val4 = (reg & 0x2a); + val2 = (reg & 0x54) & (val4 << 1); + if (val2 & 0x40) { + val |= 8; + } + if (val2 & 0x10) { + val |= 1; + } + if (val2 & 0x4) { + val |= 2; + } + + if (val) { + ResetOccurred = FALSE; + OSCancelAlarm(&AlarmForTimeout); + } + __DIRegs[0] = val2 | (val4); + + if (ResetOccurred && (__OSGetSystemTime() - LastResetEnd) < (OSTime)OSMillisecondsToTicks(200)) { + reg = __DIRegs[1]; + val2 = (reg & 0x4) & ((reg & 0x2) << 1); + if (val2 & 0x4) { + if (ResetCoverCallback) { + ResetCoverCallback(4); + } + ResetCoverCallback = NULL; + } + + __DIRegs[1] = __DIRegs[1]; + } else if (WaitingCoverClose) { + reg = __DIRegs[1]; + val3 = reg & 2; + val2 = (reg & 0x4) & ((reg & 0x2) << 1); + if (val2 & 4) { + val |= 4; + } + __DIRegs[1] = val2 | val3; + WaitingCoverClose = FALSE; + } else { + __DIRegs[1] = 0; + } + + if ((val & 8) && !Breaking) { + val &= ~0x8; + } + + if (val & 1) { + u32 num; + DVDCommand* command; + s32 cmd0 = CommandList[num = NextCommandNumber]._0; + if (cmd0 == 1) { + NextCommandNumber++; + command = &CommandList[num]; + Read(command->_4, command->_8, command->_c, command->callback); + rv = 1; + } else if (cmd0 == 2) { + NextCommandNumber++; + command = &CommandList[num]; + DVDLowSeek(command->_c, command->callback); + rv = 1; + } else { + rv = 0; + } + + if (rv) { + return; + } + } else { + CommandList[0]._0 = -1; + NextCommandNumber = 0; + } + + OSClearContext(&localContext); + OSSetCurrentContext(&localContext); + if (val) { + DVDLowCallback cb = Callback; + Callback = NULL; + if (cb) { + cb(val); + } + Breaking = FALSE; + } + + OSClearContext(&localContext); + OSSetCurrentContext(context); } -#pragma pop /* 80347994-80347A18 3422D4 0084+00 1/1 0/0 0/0 .text AlarmHandler */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void AlarmHandler() { - nofralloc -#include "asm/dolphin/dvd/dvdlow/AlarmHandler.s" +static void AlarmHandler(OSAlarm* alarm, OSContext* context) { + DVDCommand* cmd; + u32 num; + s32 cmd0 = CommandList[num = NextCommandNumber]._0; + + if (cmd0 == 1) { + ++NextCommandNumber; + cmd = &CommandList[num]; + Read(cmd->_4, cmd->_8, cmd->_c, cmd->callback); + } else if (cmd0 == 2) { + ++NextCommandNumber; + cmd = &CommandList[num]; + DVDLowSeek(cmd->_c, cmd->callback); + } } -#pragma pop /* 80347A18-80347A88 342358 0070+00 9/9 0/0 0/0 .text AlarmHandlerForTimeout */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void AlarmHandlerForTimeout() { - nofralloc -#include "asm/dolphin/dvd/dvdlow/AlarmHandlerForTimeout.s" +static void AlarmHandlerForTimeout(OSAlarm* alarm, OSContext* context) { + OSContext tmpContext; + DVDLowCallback callback; + __OSMaskInterrupts(0x400); + OSClearContext(&tmpContext); + OSSetCurrentContext(&tmpContext); + callback = Callback; + Callback = NULL; + if (callback != NULL) { + callback(0x10); + } + OSClearContext(&tmpContext); + OSSetCurrentContext(context); +} + +static void __setAlarm(u32 seconds) { + u32 temp = OSSecondsToTicks(seconds); + OSCreateAlarm(&AlarmForTimeout); + OSSetAlarm(&AlarmForTimeout, (OSTime) temp, AlarmHandlerForTimeout); } -#pragma pop /* 80347A88-80347B98 3423C8 0110+00 3/3 0/0 0/0 .text Read */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void Read() { - nofralloc -#include "asm/dolphin/dvd/dvdlow/Read.s" +void Read(void* arg0, u32 arg1, u32 arg2, DVDLowCallback cb) { + StopAtNextInt = FALSE; + Callback = cb; + LastCommandWasRead = TRUE; + LastReadIssued = __OSGetSystemTime(); + __DIRegs[2] = 0xA8000000; + __DIRegs[3] = arg2 >> 2; + __DIRegs[4] = arg1; + __DIRegs[5] = (u32)arg0; + __DIRegs[6] = arg1; + LastLength = arg1; + __DIRegs[7] = 3; + if (arg1 > 0xa00000) { + __setAlarm(20); + } else { + __setAlarm(10); + } } -#pragma pop /* 80347B98-80347C18 3424D8 0080+00 1/1 0/0 0/0 .text SeekTwiceBeforeRead */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void SeekTwiceBeforeRead() { - nofralloc -#include "asm/dolphin/dvd/dvdlow/SeekTwiceBeforeRead.s" +void SeekTwiceBeforeRead(void* arg0, u32 arg1, u32 arg2, DVDLowCallback cb) { + u32 val; + u32 temp = arg2 & 0xffff8000; + if (temp == 0) { + val = 0; + } else { + val = temp + WorkAroundSeekLocation[0]; + } + + CommandList[0]._0 = 2; + CommandList[0]._c = val; + CommandList[0].callback = cb; + CommandList[1]._0 = 1; + CommandList[1]._4 = arg0; + CommandList[1]._8 = arg1; + CommandList[1]._c = arg2; + CommandList[1].callback = cb; + CommandList[2]._0 = -1; + NextCommandNumber = 0; + DVDLowSeek(val, cb); } -#pragma pop /* 80347C18-80347EB0 342558 0298+00 0/0 4/4 0/0 .text DVDLowRead */ +// Issues with alarm time calculation +#ifdef NONMATCHING +BOOL DVDLowRead(void* arg0, u32 arg1, u32 arg2, DVDLowCallback cb) { + if (WorkAroundType == 0) { + Curr[2] = -1; + NextCommandNumber = 0; + Read(arg0, arg1, arg2, cb); + } else if (WorkAroundType == 1) { + if (FirstRead[0]) { + SeekTwiceBeforeRead(arg0, arg1, arg2, cb); + } else { + u32 curr2 = Curr[2] >> 15; + u32 prev1 = (Prev[2] + Prev[1] - 1) >> 15; + DVDDiskID* id = DVDGetCurrentDiskID(); + + BOOL is_streaming = id->is_streaming ? TRUE : FALSE; + u32 val; + BOOL val2; + if (is_streaming) { + val = 5; + } else { + val = 15; + } + + if (curr2 > prev1 - 2 || curr2 < prev1 + (val + 3)) { + val2 = TRUE; + } else { + val2 = FALSE; + } + + if (!val2) { + CommandList[0]._0 = -1; + NextCommandNumber = 0; + Read(arg0, arg1, arg2, cb); + } else { + curr2 = Curr[2] >> 15; + prev1 = (Prev[2] + Prev[1] - 1) >> 15; + if (curr2 == prev1 || curr2 + 1 == prev1) { + OSTime diff = __OSGetSystemTime() - LastReadFinished; + OSTime five_ms = (OSTime)OSMillisecondsToTicks(5); + if (diff < five_ms) { + CommandList[0]._0 = -1; + NextCommandNumber = 0; + Read(arg0, arg1, arg2, cb); + } else { + OSTime temp; + temp = diff - five_ms + (OSTime)OSMicrosecondsToTicks(500); + CommandList[0]._0 = 1; + CommandList[0]._4 = arg0; + CommandList[0]._8 = arg1; + CommandList[0]._c = arg2; + CommandList[0].callback = cb; + CommandList[1]._0 = -1; + NextCommandNumber = 0; + OSCreateAlarm(&AlarmForWA); + OSSetAlarm(&AlarmForWA, temp, AlarmHandler); + } + } else { + SeekTwiceBeforeRead(arg0, arg1, arg2, cb); + } + } + } + } + + return TRUE; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void DVDLowRead() { +asm BOOL DVDLowRead(void* arg0, u32 arg1, u32 arg2, DVDLowCallback cb) { nofralloc #include "asm/dolphin/dvd/dvdlow/DVDLowRead.s" } #pragma pop +#endif /* 80347EB0-80347F44 3427F0 0094+00 3/3 2/2 0/0 .text DVDLowSeek */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void DVDLowSeek() { - nofralloc -#include "asm/dolphin/dvd/dvdlow/DVDLowSeek.s" +BOOL DVDLowSeek(u32 arg0, DVDLowCallback cb) { + Callback = cb; + StopAtNextInt = FALSE; + __DIRegs[2] = 0xAB000000; + __DIRegs[3] = arg0 >> 2; + __DIRegs[7] = 1; + __setAlarm(10); + return TRUE; } -#pragma pop /* 80347F44-80347F70 342884 002C+00 0/0 3/3 0/0 .text DVDLowWaitCoverClose */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void DVDLowWaitCoverClose() { - nofralloc -#include "asm/dolphin/dvd/dvdlow/DVDLowWaitCoverClose.s" +BOOL DVDLowWaitCoverClose(DVDLowCallback cb) { + Callback = cb; + WaitingCoverClose = TRUE; + StopAtNextInt = FALSE; + __DIRegs[1] = 2; + return TRUE; } -#pragma pop /* 80347F70-80348014 3428B0 00A4+00 0/0 2/2 0/0 .text DVDLowReadDiskID */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void DVDLowReadDiskID() { - nofralloc -#include "asm/dolphin/dvd/dvdlow/DVDLowReadDiskID.s" +BOOL DVDLowReadDiskID(u32 arg0, DVDLowCallback cb) { + Callback = cb; + StopAtNextInt = FALSE; + __DIRegs[2] = 0xA8000040; + __DIRegs[3] = 0; + __DIRegs[4] = 0x20; + __DIRegs[5] = arg0; + __DIRegs[6] = 0x20; + __DIRegs[7] = 3; + __setAlarm(10); + return 1; } -#pragma pop /* 80348014-803480A0 342954 008C+00 0/0 9/9 0/0 .text DVDLowStopMotor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void DVDLowStopMotor() { - nofralloc -#include "asm/dolphin/dvd/dvdlow/DVDLowStopMotor.s" +BOOL DVDLowStopMotor(DVDLowCallback cb) { + Callback = cb; + StopAtNextInt = FALSE; + __DIRegs[2] = 0xE3000000; + __DIRegs[7] = 1; + __setAlarm(10); + return 1; } -#pragma pop /* 803480A0-8034812C 3429E0 008C+00 0/0 7/7 0/0 .text DVDLowRequestError */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void DVDLowRequestError() { - nofralloc -#include "asm/dolphin/dvd/dvdlow/DVDLowRequestError.s" +BOOL DVDLowRequestError(DVDLowCallback cb) { + Callback = cb; + StopAtNextInt = FALSE; + __DIRegs[2] = 0xE0000000; + __DIRegs[7] = 1; + __setAlarm(10); + return 1; } -#pragma pop /* 8034812C-803481C8 342A6C 009C+00 0/0 1/1 0/0 .text DVDLowInquiry */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void DVDLowInquiry() { - nofralloc -#include "asm/dolphin/dvd/dvdlow/DVDLowInquiry.s" +BOOL DVDLowInquiry(u32 arg0, DVDLowCallback cb) { + Callback = cb; + StopAtNextInt = FALSE; + __DIRegs[2] = 0x12000000; + __DIRegs[4] = 0x20; + __DIRegs[5] = arg0; + __DIRegs[6] = 0x20; + __DIRegs[7] = 3; + __setAlarm(10); + return 1; } -#pragma pop /* 803481C8-80348260 342B08 0098+00 0/0 2/2 0/0 .text DVDLowAudioStream */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void DVDLowAudioStream() { - nofralloc -#include "asm/dolphin/dvd/dvdlow/DVDLowAudioStream.s" +BOOL DVDLowAudioStream(u32 arg0, u32 arg1, u32 arg2, DVDLowCallback cb) { + Callback = cb; + StopAtNextInt = FALSE; + __DIRegs[2] = arg0 | 0xe1000000; + __DIRegs[3] = arg2 >> 2; + __DIRegs[4] = arg1; + __DIRegs[7] = 1; + __setAlarm(10); + return 1; } -#pragma pop /* 80348260-803482EC 342BA0 008C+00 0/0 1/1 0/0 .text DVDLowRequestAudioStatus */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void DVDLowRequestAudioStatus() { - nofralloc -#include "asm/dolphin/dvd/dvdlow/DVDLowRequestAudioStatus.s" +BOOL DVDLowRequestAudioStatus(u32 arg0, DVDLowCallback cb) { + Callback = cb; + StopAtNextInt = FALSE; + __DIRegs[2] = arg0 | 0xe2000000; + __DIRegs[7] = 1; + __setAlarm(10); + return 1; } -#pragma pop /* 803482EC-80348388 342C2C 009C+00 0/0 3/3 0/0 .text DVDLowAudioBufferConfig */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void DVDLowAudioBufferConfig() { - nofralloc -#include "asm/dolphin/dvd/dvdlow/DVDLowAudioBufferConfig.s" +BOOL DVDLowAudioBufferConfig(s32 arg0, u32 arg1, DVDLowCallback cb) { + Callback = cb; + StopAtNextInt = FALSE; + __DIRegs[2] = arg1 | ((arg0 ? 0x10000 : 0) | 0xe4000000); + __DIRegs[7] = 1; + __setAlarm(10); + return 1; } -#pragma pop /* 80348388-80348444 342CC8 00BC+00 0/0 1/1 0/0 .text DVDLowReset */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void DVDLowReset() { - nofralloc -#include "asm/dolphin/dvd/dvdlow/DVDLowReset.s" +void DVDLowReset() { + u32 reg; + OSTime startTime; + __DIRegs[1] = 2; + reg = __PIRegs[9]; + __PIRegs[9] = (reg & ~4) | 1; + startTime = __OSGetSystemTime(); + + while (__OSGetSystemTime() - startTime < OSMicrosecondsToTicks(12)); + + __PIRegs[9] = reg | 5; + ResetOccurred = TRUE; + LastResetEnd = __OSGetSystemTime(); } -#pragma pop /* 80348444-80348458 342D84 0014+00 0/0 1/1 0/0 .text DVDLowBreak */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void DVDLowBreak() { - nofralloc -#include "asm/dolphin/dvd/dvdlow/DVDLowBreak.s" +BOOL DVDLowBreak() { + StopAtNextInt = TRUE; + Breaking = TRUE; + return TRUE; } -#pragma pop /* 80348458-80348474 342D98 001C+00 0/0 1/1 0/0 .text DVDLowClearCallback */ DVDLowCallback DVDLowClearCallback() { DVDLowCallback rv; __DIRegs[1] = 0; rv = Callback; - WaitingCoverClose = NULL; + WaitingCoverClose = FALSE; Callback = NULL; return rv; } /* 80348474-803484B8 342DB4 0044+00 1/1 0/0 0/0 .text __DVDLowSetWAType */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __DVDLowSetWAType() { - nofralloc -#include "asm/dolphin/dvd/dvdlow/__DVDLowSetWAType.s" +void __DVDLowSetWAType(u32 arg0, u32 arg1) { + BOOL enabled = OSDisableInterrupts(); + WorkAroundType = arg0; + WorkAroundSeekLocation[0] = arg1; + OSRestoreInterrupts(enabled); } -#pragma pop /* 803484B8-803484F0 342DF8 0038+00 0/0 1/1 0/0 .text __DVDLowTestAlarm */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __DVDLowTestAlarm() { - nofralloc -#include "asm/dolphin/dvd/dvdlow/__DVDLowTestAlarm.s" +BOOL __DVDLowTestAlarm(OSAlarm* alarm) { + if (alarm == &AlarmForBreak) { + return TRUE; + } + + if (alarm == &AlarmForTimeout) { + return TRUE; + } + + return FALSE; } -#pragma pop diff --git a/libs/dolphin/exi/EXIBios.c b/libs/dolphin/exi/EXIBios.c index 0f483ab2d80..e923bb76498 100644 --- a/libs/dolphin/exi/EXIBios.c +++ b/libs/dolphin/exi/EXIBios.c @@ -642,8 +642,6 @@ static void UnlockedHandler(s32 chan, OSContext* context) { } /* 80344238-803445E8 33EB78 03B0+00 5/5 3/3 0/0 .text EXIGetID */ -// Use of add. instead of add -#ifdef NONMATCHING s32 EXIGetID(s32 chan, u32 dev, u32* id) { EXIControl* exi = &Ecb[chan]; BOOL err; @@ -651,7 +649,7 @@ s32 EXIGetID(s32 chan, u32 dev, u32* id) { s32 startTime; BOOL enabled; - if (exi == (EXIControl*)NULL && dev == 2 && IDSerialPort1[0] != 0) { + if (chan == 0 && dev == 2 && IDSerialPort1[0] != 0) { *id = IDSerialPort1[0]; return 1; } @@ -706,16 +704,6 @@ s32 EXIGetID(s32 chan, u32 dev, u32* id) { return err ? 0 : !0; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 EXIGetID(s32 chan, u32 dev, u32* id) { - nofralloc -#include "asm/exi/EXIBios/EXIGetID.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 803D10F0-803D1100 02E210 000F+01 0/0 0/0 0/0 .data @473 */ diff --git a/libs/dolphin/gx/GXFrameBuf.c b/libs/dolphin/gx/GXFrameBuf.c index b5504ae0cb5..1b419003435 100644 --- a/libs/dolphin/gx/GXFrameBuf.c +++ b/libs/dolphin/gx/GXFrameBuf.c @@ -4,6 +4,8 @@ // #include "dolphin/gx/GXFrameBuf.h" +#include "dolphin/gx/GXInit.h" +#include "dolphin/gx/GX.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -26,73 +28,112 @@ extern u8 GXEurgb60Hz480IntDf[60 + 4 /* padding */]; // External References: // -void __GetImageTileCount(); void __cvt_fp2unsigned(); -extern void* __GXData; // // Declarations: // /* 8035CA04-8035CA80 357344 007C+00 0/0 2/2 0/0 .text GXSetDispCopySrc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXSetDispCopySrc(u16 left, u16 top, u16 width, u16 height) { - nofralloc -#include "asm/dolphin/gx/GXFrameBuf/GXSetDispCopySrc.s" +void GXSetDispCopySrc(u16 left, u16 top, u16 width, u16 height) +{ + __GXData->field_0x1e0 = 0; + GX_BITFIELD_SET(__GXData->field_0x1e0, 22, 10, left); + GX_BITFIELD_SET(__GXData->field_0x1e0, 12, 10, top); + GX_BITFIELD_SET(__GXData->field_0x1e0, 0, 8, 73); + __GXData->field_0x1e4 = 0; + GX_BITFIELD_SET(__GXData->field_0x1e4, 22, 10, width - 1); + GX_BITFIELD_SET(__GXData->field_0x1e4, 12, 10, height - 1); + GX_BITFIELD_SET(__GXData->field_0x1e4, 0, 8, 74); } -#pragma pop /* 8035CA80-8035CAFC 3573C0 007C+00 0/0 9/9 0/0 .text GXSetTexCopySrc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXSetTexCopySrc(u16 left, u16 top, u16 width, u16 height) { - nofralloc -#include "asm/dolphin/gx/GXFrameBuf/GXSetTexCopySrc.s" +void GXSetTexCopySrc(u16 left, u16 top, u16 width, u16 height) +{ + __GXData->field_0x1f0 = 0; + GX_BITFIELD_SET(__GXData->field_0x1f0, 22, 10, left); + GX_BITFIELD_SET(__GXData->field_0x1f0, 12, 10, top); + GX_BITFIELD_SET(__GXData->field_0x1f0, 0, 8, 0x49); + __GXData->field_0x1f4 = 0; + GX_BITFIELD_SET(__GXData->field_0x1f4, 22, 10, width - 1); + GX_BITFIELD_SET(__GXData->field_0x1f4, 12, 10, height - 1); + GX_BITFIELD_SET(__GXData->field_0x1f4, 0, 8, 0x4A); } -#pragma pop /* 8035CAFC-8035CB30 35743C 0034+00 0/0 2/2 0/0 .text GXSetDispCopyDst */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXSetDispCopyDst(u16 width, u16 height) { - nofralloc -#include "asm/dolphin/gx/GXFrameBuf/GXSetDispCopyDst.s" +void GXSetDispCopyDst(u16 arg0, u16 arg1) +{ + s32 val = (s32) ((arg0 << 1) & 0xFFFE) >> 5; + __GXData->field_0x1e8 = 0; + GX_BITFIELD_SET(__GXData->field_0x1e8, 22, 10, val); + GX_BITFIELD_SET(__GXData->field_0x1e8, 0, 8, 0x4D); } -#pragma pop /* 8035CB30-8035CC60 357470 0130+00 0/0 9/9 0/0 .text GXSetTexCopyDst */ +#ifdef NONMATCHING +void GXSetTexCopyDst(u16 width, u16 height, s32 fmt, GXBool mipmap) { + s32 fmt2; + s32 arg3, arg4, arg5; + __GXData->field_0x200 = 0; + + fmt2 = fmt & 0xf; + if ((s32)fmt == GX_TF_Z16) { + fmt2 = 0xb; + } + + switch (fmt) { + case 0: + case 1: + case 2: + case 3: + case 0x26: + GX_BITFIELD_SET(__GXData->field_0x1fc, 15, 2, 3); + break; + default: + GX_BITFIELD_SET(__GXData->field_0x1fc, 15, 2, 2); + break; + } + + __GXData->field_0x200 = (fmt & 0x10) == 0x10; + __GXData->field_0x1fc = __rlwimi(__GXData->field_0x1fc, fmt2, 0, 28, 28); + fmt2 &= 7; + __GetImageTileCount(fmt, width, height, &arg3, &arg4, &arg5); + __GXData->field_0x1f8 = 0; + GX_BITFIELD_SET(__GXData->field_0x1f8, 22, 10, arg3*arg5); + GX_BITFIELD_SET(__GXData->field_0x1f8, 0, 8, 0x4d); + GX_BITFIELD_SET(__GXData->field_0x1fc, 22, 1, mipmap); + GX_BITFIELD_SET(__GXData->field_0x1fc, 25, 3, fmt2); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetTexCopyDst(u16 width, u16 height, GXTexFmt fmt, GXBool mipmap) { +asm void GXSetTexCopyDst(u16 width, u16 height, s32 fmt, GXBool mipmap) { nofralloc #include "asm/dolphin/gx/GXFrameBuf/GXSetTexCopyDst.s" } #pragma pop +#endif /* 8035CC60-8035CC84 3575A0 0024+00 0/0 1/1 0/0 .text GXSetDispCopyFrame2Field */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXSetDispCopyFrame2Field(GXCopyMode mode) { - nofralloc -#include "asm/dolphin/gx/GXFrameBuf/GXSetDispCopyFrame2Field.s" +void GXSetDispCopyFrame2Field(GXCopyMode arg0) +{ + GX_BITFIELD_SET(__GXData->field_0x1ec, 18, 2, arg0); + GX_BITFIELD_SET(__GXData->field_0x1fc, 18, 2, 0); } -#pragma pop +#define INSERT_FIELD(reg, value, nbits, shift) \ + (reg) = ((u32) (reg) & ~(((1 << (nbits)) - 1) << (shift))) | \ + ((u32) (value) << (shift)); /* 8035CC84-8035CCDC 3575C4 0058+00 0/0 2/2 0/0 .text GXSetCopyClamp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXSetCopyClamp(GXFBClamp clamp) { - nofralloc -#include "asm/dolphin/gx/GXFrameBuf/GXSetCopyClamp.s" +void GXSetCopyClamp(GXFBClamp clamp) { + u8 isTop = (clamp & GX_CLAMP_TOP) == GX_CLAMP_TOP; + u8 isBottom = (clamp & GX_CLAMP_BOTTOM) == GX_CLAMP_BOTTOM; + __GXData->field_0x1ec = __rlwimi(__GXData->field_0x1ec, isTop, 0, 31, 31); + __GXData->field_0x1ec = __rlwimi(__GXData->field_0x1ec, isBottom, 1, 30, 30); + __GXData->field_0x1fc = __rlwimi(__GXData->field_0x1fc, isTop, 0, 31, 31); + __GXData->field_0x1fc = __rlwimi(__GXData->field_0x1fc, isBottom, 1, 30, 30); } -#pragma pop /* ############################################################################################## */ /* 804565A8-804565B0 004BA8 0004+04 3/3 0/0 0/0 .sdata2 @179 */ @@ -137,14 +178,29 @@ asm u32 GXSetDispCopyYScale(f32 y_scale) { #pragma pop /* 8035D070-8035D0E8 3579B0 0078+00 0/0 2/2 0/0 .text GXSetCopyClear */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXSetCopyClear(GXColor color, u32 clear_z) { - nofralloc -#include "asm/dolphin/gx/GXFrameBuf/GXSetCopyClear.s" +void GXSetCopyClear(GXColor color, u32 clear_z) { + u32 r6 = 0; + GX_BITFIELD_SET(r6, 24, 8, color.r); + GX_BITFIELD_SET(r6, 16, 8, color.a); + GX_BITFIELD_SET(r6, 0, 8, 0x4f); + GXFIFO.u8 = 0x61; + GXFIFO.u32 = r6; + + r6 = 0; + GX_BITFIELD_SET(r6, 24, 8, color.b); + GX_BITFIELD_SET(r6, 16, 8, color.g); + GX_BITFIELD_SET(r6, 0, 8, 0x50); + GXFIFO.u8 = 0x61; + GXFIFO.u32 = r6; + + r6 = 0; + GX_BITFIELD_SET(r6, 8, 24, clear_z); + GX_BITFIELD_SET(r6, 0, 8, 0x51); + GXFIFO.u8 = 0x61; + GXFIFO.u32 = r6; + + __GXData->field_0x2 = 0; } -#pragma pop /* 8035D0E8-8035D2F0 357A28 0208+00 0/0 4/4 0/0 .text GXSetCopyFilter */ #pragma push @@ -157,14 +213,10 @@ asm void GXSetCopyFilter(GXBool antialias, u8 pattern[12][2], GXBool vf, u8 vfil #pragma pop /* 8035D2F0-8035D304 357C30 0014+00 0/0 2/2 0/0 .text GXSetDispCopyGamma */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXSetDispCopyGamma(GXGamma gamma) { - nofralloc -#include "asm/dolphin/gx/GXFrameBuf/GXSetDispCopyGamma.s" +void GXSetDispCopyGamma(GXGamma gamma) +{ + GX_BITFIELD_SET(__GXData->field_0x1ec, 23, 2, gamma); } -#pragma pop /* 8035D304-8035D46C 357C44 0168+00 0/0 3/3 0/0 .text GXCopyDisp */ #pragma push @@ -187,14 +239,14 @@ asm void GXCopyTex(void* dst, GXBool clear) { #pragma pop /* 8035D5F8-8035D630 357F38 0038+00 0/0 1/1 0/0 .text GXClearBoundingBox */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXClearBoundingBox(void) { - nofralloc -#include "asm/dolphin/gx/GXFrameBuf/GXClearBoundingBox.s" +void GXClearBoundingBox(void) +{ + GXFIFO.u8 = GX_LOAD_BP_REG; + GXFIFO.u32 = 0x550003FF; + GXFIFO.u8 = GX_LOAD_BP_REG; + GXFIFO.u32 = 0x560003FF; + set_x2(GX_FALSE); } -#pragma pop /* ############################################################################################## */ /* 803D2448-803D2484 02F568 003C+00 0/0 2/1 0/0 .data GXNtsc480IntDf */ diff --git a/libs/dolphin/gx/GXGeometry.c b/libs/dolphin/gx/GXGeometry.c index 78efffbc1ef..b73fae97921 100644 --- a/libs/dolphin/gx/GXGeometry.c +++ b/libs/dolphin/gx/GXGeometry.c @@ -127,25 +127,17 @@ void GXEnableTexOffsets(GXTexCoordID coord, GXBool line, GXBool point) { } /* 8035C984-8035C9AC 3572C4 0028+00 0/0 33/33 5/5 .text GXSetCullMode */ -// extra mr -#ifdef NONMATCHING void GXSetCullMode(GXCullMode mode) { - GXData* data = __GXData; + GXData* data; + GXCullMode mode2; + data = __GXData; - mode = (mode << 1 & 2 | mode >> 1 & 1); - GX_BITFIELD_SET(data->field_0x204, 16, 2, mode); + mode2 = (mode >> 1) & 1; + GX_BITFIELD_SET(mode2, 30, 1, mode); + + GX_BITFIELD_SET(data->field_0x204, 16, 2, mode2); data->field_0x5ac |= 4; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXSetCullMode(GXCullMode mode) { - nofralloc -#include "asm/dolphin/gx/GXGeometry/GXSetCullMode.s" -} -#pragma pop -#endif /* 8035C9AC-8035C9E0 3572EC 0034+00 0/0 6/6 0/0 .text GXSetCoPlanar */ void GXSetCoPlanar(GXBool enable) { diff --git a/libs/dolphin/gx/GXInit.c b/libs/dolphin/gx/GXInit.c index bcde2384286..3a4574f0921 100644 --- a/libs/dolphin/gx/GXInit.c +++ b/libs/dolphin/gx/GXInit.c @@ -67,7 +67,7 @@ static GXFifoObj FifoObj; static GXData gxData; /* 80456580-80456584 -00001 0004+00 6/6 108/108 0/0 .sdata2 __GXData */ -SECTION_SDATA2 extern GXData* __GXData = &gxData; +GXData* const __GXData = &gxData; /* 8035921C-80359318 353B5C 00FC+00 1/1 0/0 0/0 .text __GXDefaultTexRegionCallback */ #pragma push @@ -80,29 +80,16 @@ asm GXTexRegion* __GXDefaultTexRegionCallback(GXTexObj* obj, GXTexMapID mapID) { #pragma pop /* 80359318-8035933C 353C58 0024+00 1/1 0/0 0/0 .text __GXDefaultTlutRegionCallback */ -// blr instead of b -#ifdef NONMATCHING -GXTlutRegion* __GXDefaultTlutRegionCallback(u32 tlut) { - GXTlutRegion* region; - - if (tlut >= 20) { - region = NULL; - } else { - region = &__GXData->field_0x388[tlut]; - } - - return region; -} -#else #pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm GXTlutRegion* __GXDefaultTlutRegionCallback(u32 tlut) { - nofralloc -#include "asm/dolphin/gx/GXInit/__GXDefaultTlutRegionCallback.s" +#pragma peephole off +GXTlutRegion* __GXDefaultTlutRegionCallback(u32 tlut) { + if (tlut >= 0x14) { + return NULL; + } else { + return &__GXData->field_0x388[tlut]; + } } #pragma pop -#endif /* 80451944-80451948 000E44 0004+00 1/1 0/0 0/0 .sbss resetFuncRegistered$145 */ /* static */ u8 resetFuncRegistered[4]; diff --git a/libs/dolphin/gx/GXTexture.c b/libs/dolphin/gx/GXTexture.c index dc89a7ffb1e..bef2d710943 100644 --- a/libs/dolphin/gx/GXTexture.c +++ b/libs/dolphin/gx/GXTexture.c @@ -11,7 +11,6 @@ // Forward References: // -void __GetImageTileCount(); static void GXLoadTexObjPreLoaded(); void GXLoadTexObj(); void GXLoadTlut(); @@ -118,7 +117,7 @@ SECTION_DATA static void* lit_145[61] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __GetImageTileCount() { +asm void __GetImageTileCount(u32 arg0, s16 arg1, s16 arg2, s32* arg3, s32* arg4, s32* arg5) { nofralloc #include "asm/dolphin/gx/GXTexture/__GetImageTileCount.s" } diff --git a/libs/dolphin/mtx/mtx44.c b/libs/dolphin/mtx/mtx44.c index bf7efb33b58..baad94917a3 100644 --- a/libs/dolphin/mtx/mtx44.c +++ b/libs/dolphin/mtx/mtx44.c @@ -36,6 +36,39 @@ SECTION_SDATA2 static f32 lit_105 = 0.5f; SECTION_SDATA2 static f32 lit_106 = 0.01745329238474369f; /* 80346F28-80346FF8 341868 00D0+00 0/0 6/6 0/0 .text C_MTXPerspective */ +// Functions match but has issues with float constants +#ifdef NONMATCHING +void C_MTXPerspective(Mtx44 m, f32 fovY, f32 aspect, f32 n, f32 f) +{ + f32 temp_f3; + f32 temp_f4; + + fovY = 0.5F * fovY; + + temp_f4 = 1.0F / tanf(0.017453292F * (fovY)); + temp_f3 = 1.0F / (f - n); + + m[0][0] = temp_f4 / aspect; + m[0][1] = 0.0F; + m[0][2] = 0.0F; + m[0][3] = 0.0F; + + m[1][0] = 0.0F; + m[1][1] = temp_f4; + m[1][2] = 0.0F; + m[1][3] = 0.0F; + + m[2][0] = 0.0F; + m[2][1] = 0.0F; + m[2][2] = -n * temp_f3; + m[2][3] = temp_f3 * -(f * n); + + m[3][0] = 0.0F; + m[3][1] = 0.0F; + m[3][2] = -1.0F; + m[3][3] = 0.0F; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -44,8 +77,40 @@ asm void C_MTXPerspective(Mtx44 m, f32 fovy, f32 aspect, f32 near, f32 far) { #include "asm/dolphin/mtx/mtx44/C_MTXPerspective.s" } #pragma pop +#endif /* 80346FF8-80347090 341938 0098+00 0/0 11/11 2/2 .text C_MTXOrtho */ +#ifdef NONMATCHING +void C_MTXOrtho(Mtx44 m, f32 t, f32 b, f32 l, f32 r, f32 n, f32 f) +{ + f32 temp_f8; + f32 temp_f10; + f32 temp_f4; + + temp_f10 = 1.0F / (r - l); + m[0][0] = 2.0F * temp_f10; + m[0][1] = 0.0F; + m[0][2] = 0.0F; + m[0][3] = temp_f10 * -(r + l); + + temp_f8 = 1.0F / (t - b); + m[1][0] = 0.0F; + m[1][1] = 2.0F * temp_f8; + m[1][2] = 0.0F; + m[1][3] = temp_f8 * -(t + b); + + temp_f4 = 1.0F / (f - n); + m[2][0] = 0.0F; + m[2][1] = 0.0F; + m[2][2] = -1.0F * temp_f4; + m[2][3] = -f * temp_f4; + + m[3][0] = 0.0F; + m[3][1] = 0.0F; + m[3][2] = 0.0F; + m[3][3] = 1.0F; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -54,3 +119,4 @@ asm void C_MTXOrtho(Mtx44 m, f32 top, f32 bottom, f32 left, f32 right, f32 near, #include "asm/dolphin/mtx/mtx44/C_MTXOrtho.s" } #pragma pop +#endif diff --git a/libs/dolphin/os/OS.c b/libs/dolphin/os/OS.c index 9d57618ba60..805da496be2 100644 --- a/libs/dolphin/os/OS.c +++ b/libs/dolphin/os/OS.c @@ -12,7 +12,6 @@ #define OS_CURRENTCONTEXT_PADDR 0x00C0 #define OS_EXCEPTIONTABLE_ADDR 0x3000 #define OS_DBJUMPPOINT_ADDR 0x60 -#define OS_BI2_DEBUG_ADDRESS 0x800000F4 #define OS_DEBUG_ADDRESS_2 0x800030E9 #define DEBUGFLAG_ADDR 0x800030E8 @@ -199,14 +198,13 @@ extern u32 BOOT_REGION_START : 0x812FDFF0; //(*(u32 *)0x812fdff0) extern u32 BOOT_REGION_END : 0x812FDFEC; //(*(u32 *)0x812fdfec) inline void ClearArena(void) { - if ((u32)(OSGetResetCode() + 0x80000000) != 0U) { - __OSSavedRegionStart = 0U; - __OSSavedRegionEnd = 0U; + u32 resetCode = OSGetResetCode(); + BOOL val = resetCode != 0U ? TRUE : FALSE; + if (val) { memset(OSGetArenaLo(), 0U, (u32)OSGetArenaHi() - (u32)OSGetArenaLo()); return; } - __OSSavedRegionStart = (void*)BOOT_REGION_START; - __OSSavedRegionEnd = (void*)BOOT_REGION_END; + if (BOOT_REGION_START == 0U) { memset(OSGetArenaLo(), 0U, (u32)OSGetArenaHi() - (u32)OSGetArenaLo()); return; @@ -404,7 +402,7 @@ void OSInit(void) { // HEAP // // set up bottom of heap (ArenaLo) // grab address from BootInfo if it exists, otherwise use default __ArenaLo - OSSetArenaLo((BootInfo->arena_lo == NULL) ? /* __ArenaLo */ 0 : BootInfo->arena_lo); + OSSetArenaLo((BootInfo->arena_lo == NULL) ? /* __ArenaLo */ _stack_end : BootInfo->arena_lo); // if the input arenaLo is null, and debug flag location exists (and flag is < 2), // set arenaLo to just past the end of the db stack @@ -415,7 +413,7 @@ void OSInit(void) { // set up top of heap (ArenaHi) // grab address from BootInfo if it exists, otherwise use default __ArenaHi - OSSetArenaHi((BootInfo->arena_hi == NULL) ? /* __ArenaHi */ 0 : BootInfo->arena_hi); + OSSetArenaHi((BootInfo->arena_hi == NULL) ? __ArenaHi : BootInfo->arena_hi); // OS INIT AND REPORT // // initialise a whole bunch of OS stuff @@ -455,12 +453,13 @@ void OSInit(void) { // work out what console type this corresponds to and report it // consoleTypeSwitchHi = inputConsoleType & 0xF0000000; - switch (inputConsoleType & 0xffff0000) { // check "first" byte + switch (inputConsoleType & 0xf0000000) { // check "first" byte case OS_CONSOLE_RETAIL: OSReport("Retail %d\n", inputConsoleType); break; - default: - switch (inputConsoleType & 0x0000ffff) { // if "first" byte is 2, check "the rest" + case OS_CONSOLE_DEVELOPMENT: + case OS_CONSOLE_TDEV: + switch (inputConsoleType & 0x0fffffff) { // if "first" byte is 2, check "the rest" case OS_CONSOLE_EMULATOR: OSReport("Mac Emulator\n"); break; @@ -474,11 +473,14 @@ void OSInit(void) { OSReport("EPPC Minnow\n"); break; default: - tdev = ((u32)inputConsoleType & 0x0000ffff); + tdev = ((u32)inputConsoleType & 0x0fffffff); OSReport("Development HW%d (%08x)\n", tdev - 3, inputConsoleType); break; } break; + default: + OSReport("%08x\n", inputConsoleType); + break; } // report memory size diff --git a/libs/dolphin/os/OSError.c b/libs/dolphin/os/OSError.c index b70dc7ee24d..f1727432fc1 100644 --- a/libs/dolphin/os/OSError.c +++ b/libs/dolphin/os/OSError.c @@ -28,8 +28,8 @@ extern OSTime __OSLastInterruptTime; /* ############################################################################################## */ /* 8044BAD0-8044BB20 0787F0 0044+0C 2/2 2/2 0/0 .bss __OSErrorTable */ -extern OSErrorHandler __OSErrorTable[17]; -OSErrorHandler __OSErrorTable[17]; +extern OSErrorHandlerEx __OSErrorTable[17]; +OSErrorHandlerEx __OSErrorTable[17]; /* 804509A0-804509A4 000420 0004+00 1/1 2/2 0/0 .sdata __OSFpscrEnableBits */ #define FPSCR_ENABLE (FPSCR_VE | FPSCR_OE | FPSCR_UE | FPSCR_ZE | FPSCR_XE) @@ -37,12 +37,12 @@ SECTION_SDATA extern u32 __OSFpscrEnableBits = FPSCR_ENABLE; /* 8033C580-8033C798 336EC0 0218+00 0/0 4/4 0/0 .text OSSetErrorHandler */ OSErrorHandler OSSetErrorHandler(OSError error, OSErrorHandler handler) { - OSErrorHandler oldHandler; + OSErrorHandlerEx oldHandler; BOOL enabled; enabled = OSDisableInterrupts(); oldHandler = __OSErrorTable[error]; - __OSErrorTable[error] = handler; + __OSErrorTable[error] = (OSErrorHandlerEx) handler; if (error == EXCEPTION_FLOATING_POINT_EXCEPTION) { u32 msr; diff --git a/libs/dolphin/os/OSInterrupt.c b/libs/dolphin/os/OSInterrupt.c index e86ded77fae..086dbb8ee40 100644 --- a/libs/dolphin/os/OSInterrupt.c +++ b/libs/dolphin/os/OSInterrupt.c @@ -315,8 +315,6 @@ extern u32 __OSLastInterruptSrr0; u32 __OSLastInterruptSrr0; /* 8033DBCC-8033DF10 33850C 0344+00 1/1 0/0 0/0 .text __OSDispatchInterrupt */ -// need compiler epilogue patch -#ifdef NONMATCHING void __OSDispatchInterrupt(__OSException exception, OSContext* context) { u32 intsr; u32 reg; @@ -435,16 +433,6 @@ void __OSDispatchInterrupt(__OSException exception, OSContext* context) { OSLoadContext(context); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __OSDispatchInterrupt(__OSException exception, OSContext* context) { - nofralloc -#include "asm/dolphin/os/OSInterrupt/__OSDispatchInterrupt.s" -} -#pragma pop -#endif /* 8033DF10-8033DF60 338850 0050+00 1/1 0/0 0/0 .text ExternalInterruptHandler */ static asm void ExternalInterruptHandler(register OSInterrupt type, register OSContext* context) { diff --git a/libs/dolphin/os/OSMemory.c b/libs/dolphin/os/OSMemory.c index 1ffd8a4ccbf..10bf3561144 100644 --- a/libs/dolphin/os/OSMemory.c +++ b/libs/dolphin/os/OSMemory.c @@ -17,7 +17,7 @@ vu16 __MEMRegs[64] : 0xCC004000; // External References: // -extern OSErrorHandler __OSErrorTable[16]; +extern OSErrorHandlerEx __OSErrorTable[16]; // // Declarations: @@ -34,7 +34,6 @@ static asm s32 OnReset(s32 param_0) { #pragma pop /* 8033ECA8-8033ED14 3395E8 006C+00 1/1 0/0 0/0 .text MEMIntrruptHandler */ -#ifdef NONMATCHING static void MEMIntrruptHandler(OSInterrupt interrupt, OSContext* context) { u32 addr; u32 cause; @@ -51,16 +50,6 @@ static void MEMIntrruptHandler(OSInterrupt interrupt, OSContext* context) { __OSUnhandledException(EXCEPTION_MEMORY_PROTECTION, context, cause, addr); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void MEMIntrruptHandler(OSInterrupt interrupt, struct OSContext* context) { - nofralloc -#include "asm/dolphin/os/OSMemory/MEMIntrruptHandler.s" -} -#pragma pop -#endif /* 8033ED14-8033EDD8 339654 00C4+00 0/0 1/1 0/0 .text OSProtectRange */ void OSProtectRange(u32 chan, void* addr, u32 nBytes, u32 control) { diff --git a/libs/dolphin/os/OSMutex.c b/libs/dolphin/os/OSMutex.c index ad538a75d87..664e45886c5 100644 --- a/libs/dolphin/os/OSMutex.c +++ b/libs/dolphin/os/OSMutex.c @@ -65,8 +65,6 @@ void OSInitMutex(OSMutex* mutex) { } /* 8033F040-8033F11C 339980 00DC+00 1/1 62/62 0/0 .text OSLockMutex */ -// needs compiler epilogue patch -#ifdef NONMATCHING void OSLockMutex(OSMutex* mutex) { BOOL enabled = OSDisableInterrupts(); OSThread* currentThread = OSGetCurrentThread(); @@ -91,19 +89,8 @@ void OSLockMutex(OSMutex* mutex) { } OSRestoreInterrupts(enabled); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSLockMutex(OSMutex* mutex) { - nofralloc -#include "asm/dolphin/os/OSMutex/OSLockMutex.s" -} -#pragma pop -#endif /* 8033F11C-8033F1E4 339A5C 00C8+00 0/0 71/71 0/0 .text OSUnlockMutex */ -#ifdef NONMATCHING void OSUnlockMutex(OSMutex* mutex) { BOOL enabled = OSDisableInterrupts(); OSThread* currentThread = OSGetCurrentThread(); @@ -111,7 +98,7 @@ void OSUnlockMutex(OSMutex* mutex) { if (mutex->thread == currentThread && --mutex->count == 0) { PopItem(¤tThread->owned_mutexes, mutex, link); mutex->thread = NULL; - if (currentThread->effective_priority < currentThread->base_priority) { + if ((s32)currentThread->effective_priority < (s32)currentThread->base_priority) { currentThread->effective_priority = __OSGetEffectivePriority(currentThread); } @@ -119,93 +106,143 @@ void OSUnlockMutex(OSMutex* mutex) { } OSRestoreInterrupts(enabled); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSUnlockMutex(OSMutex* mutex) { - nofralloc -#include "asm/dolphin/os/OSMutex/OSUnlockMutex.s" -} -#pragma pop -#endif /* 8033F1E4-8033F254 339B24 0070+00 0/0 2/2 0/0 .text __OSUnlockAllMutex */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __OSUnlockAllMutex(OSThread* thread) { - nofralloc -#include "asm/dolphin/os/OSMutex/__OSUnlockAllMutex.s" +void __OSUnlockAllMutex(OSThread* thread) { + OSMutex* mutex; + + while (thread->owned_mutexes.head) { + PopHead(&thread->owned_mutexes, mutex, link); + mutex->count = 0; + mutex->thread = NULL; + OSWakeupThread(&mutex->queue); + } } -#pragma pop /* 8033F254-8033F310 339B94 00BC+00 0/0 9/9 0/0 .text OSTryLockMutex */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 OSTryLockMutex(OSMutex* mutex) { - nofralloc -#include "asm/dolphin/os/OSMutex/OSTryLockMutex.s" + +BOOL OSTryLockMutex(OSMutex* mutex) { + BOOL enabled = OSDisableInterrupts(); + OSThread* currentThread = OSGetCurrentThread(); + BOOL locked; + if (mutex->thread == 0) { + mutex->thread = currentThread; + mutex->count++; + PushTail(¤tThread->owned_mutexes, mutex, link); + locked = TRUE; + } else if (mutex->thread == currentThread) { + mutex->count++; + locked = TRUE; + } else { + locked = FALSE; + } + OSRestoreInterrupts(enabled); + return locked; } -#pragma pop /* 8033F310-8033F330 339C50 0020+00 0/0 1/1 0/0 .text OSInitCond */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSInitCond(OSCond* cond) { - nofralloc -#include "asm/dolphin/os/OSMutex/OSInitCond.s" -} -#pragma pop +void OSInitCond(OSCond* cond) { OSInitThreadQueue(&cond->queue); } /* 8033F330-8033F404 339C70 00D4+00 0/0 1/1 0/0 .text OSWaitCond */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSWaitCond(OSCond* cond, OSMutex* mutex) { - nofralloc -#include "asm/dolphin/os/OSMutex/OSWaitCond.s" +void OSWaitCond(OSCond* cond, OSMutex* mutex) { + BOOL enabled = OSDisableInterrupts(); + OSThread* currentThread = OSGetCurrentThread(); + s32 count; + + if (mutex->thread == currentThread) { + count = mutex->count; + mutex->count = 0; + PopItem(¤tThread->owned_mutexes, mutex, link); + mutex->thread = NULL; + + if (currentThread->effective_priority < (s32)currentThread->base_priority) { + currentThread->effective_priority = __OSGetEffectivePriority(currentThread); + } + + OSDisableScheduler(); + OSWakeupThread(&mutex->queue); + OSEnableScheduler(); + OSSleepThread(&cond->queue); + OSLockMutex(mutex); + mutex->count = count; + } + + OSRestoreInterrupts(enabled); } -#pragma pop /* 8033F404-8033F424 339D44 0020+00 0/0 5/5 0/0 .text OSSignalCond */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSSignalCond(OSCond* con) { - nofralloc -#include "asm/dolphin/os/OSMutex/OSSignalCond.s" +void OSSignalCond(OSCond* cond) { + OSWakeupThread(&cond->queue); +} + +static BOOL IsMember(OSMutexQueue* queue, OSMutex* mutex) { + OSMutex* member; + + for (member = queue->head; member; member = member->link.next) { + if (mutex == member) + return TRUE; + } + return FALSE; } -#pragma pop /* 8033F424-8033F524 339D64 0100+00 1/1 0/0 0/0 .text __OSCheckMutex */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 __OSCheckMutex(OSThread* thread) { - nofralloc -#include "asm/dolphin/os/OSMutex/__OSCheckMutex.s" +BOOL __OSCheckMutex(OSMutex* mutex) { + OSThread* thread; + OSThreadQueue* queue; + OSPriority priority = 0; + + queue = &mutex->queue; + if (!(queue->head == NULL || queue->head->link.prev == NULL)) + return FALSE; + if (!(queue->tail == NULL || queue->tail->link.next == NULL)) + return FALSE; + for (thread = queue->head; thread; thread = thread->link.next) { + if (!(thread->link.next == NULL || thread == thread->link.next->link.prev)) + return FALSE; + if (!(thread->link.prev == NULL || thread == thread->link.prev->link.next)) + return FALSE; + + if (thread->state != OS_THREAD_STATE_WAITING) + return FALSE; + + if (thread->effective_priority < priority) + return FALSE; + priority = thread->effective_priority; + } + + if (mutex->thread) { + if (mutex->count <= 0) + return FALSE; + } else { + if (0 != mutex->count) + return FALSE; + } + + return TRUE; } -#pragma pop /* 8033F524-8033F55C 339E64 0038+00 0/0 1/1 0/0 .text __OSCheckDeadLock */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL __OSCheckDeadLock(OSThread* thread) { - nofralloc -#include "asm/dolphin/os/OSMutex/__OSCheckDeadLock.s" +BOOL __OSCheckDeadLock(OSThread* thread) { + OSMutex* mutex; + + mutex = thread->mutex; + while (mutex && mutex->thread) { + if (mutex->thread == thread) + return TRUE; + mutex = mutex->thread->mutex; + } + return FALSE; } -#pragma pop /* 8033F55C-8033F5D0 339E9C 0074+00 0/0 1/1 0/0 .text __OSCheckMutexes */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL __OSCheckMutexes(OSThread* thread) { - nofralloc -#include "asm/dolphin/os/OSMutex/__OSCheckMutexes.s" +BOOL __OSCheckMutexes(OSThread* thread) { + OSMutex* mutex; + + for (mutex = thread->owned_mutexes.head; mutex; mutex = mutex->link.next) { + if (mutex->thread != thread) + return FALSE; + if (!__OSCheckMutex(mutex)) + return FALSE; + } + return TRUE; } -#pragma pop diff --git a/libs/dolphin/os/OSReset.c b/libs/dolphin/os/OSReset.c index c3a06a02113..4a9ed741a82 100644 --- a/libs/dolphin/os/OSReset.c +++ b/libs/dolphin/os/OSReset.c @@ -16,7 +16,7 @@ OSThreadQueue __OSActiveThreadQueue : (OS_BASE_CACHED | 0x00DC); SECTION_INIT void memset(); int __PADDisableRecalibration(); -extern u8 __OSRebootParams[28 + 4 /* padding */]; +extern OSExecParams __OSRebootParams; // // Declarations: @@ -60,13 +60,19 @@ void OSRegisterResetFunction(OSResetFunctionInfo* func) { } /* 8033F6E4-8033F78C 33A024 00A8+00 1/1 0/0 0/0 .text __OSCallResetFunctions */ -#ifdef NONMATCHING BOOL __OSCallResetFunctions(u32 arg0) { OSResetFunctionInfo* iter; s32 retCode = 0; + u32 priority = 0; + s32 temp; - for (iter = ResetFunctionQueue.first; iter != NULL; iter = iter->next) { - retCode |= !iter->func(arg0); + for (iter = ResetFunctionQueue.first; iter != NULL; ) { + if (retCode != 0 && priority != iter->priority) + break; + temp = !iter->func(arg0); + priority = iter->priority; + iter = iter->next; + retCode |= temp; } retCode |= !__OSSyncSram(); if (retCode) { @@ -74,16 +80,6 @@ BOOL __OSCallResetFunctions(u32 arg0) { } return 1; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL __OSCallResetFunctions(u32 param_0) { - nofralloc -#include "asm/dolphin/os/OSReset/__OSCallResetFunctions.s" -} -#pragma pop -#endif /* 8033F78C-8033F7FC 33A0CC 0070+00 2/2 0/0 0/0 .text Reset */ static asm void Reset(register s32 param_0) { @@ -140,14 +136,24 @@ lbl_8033F7F8: } /* 8033F7FC-8033F864 33A13C 0068+00 1/1 0/0 0/0 .text KillThreads */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void KillThreads(void) { - nofralloc -#include "asm/dolphin/os/OSReset/KillThreads.s" +#pragma dont_inline on +static void KillThreads(void) { + OSThread* thread; + OSThread* next; + + for (thread = __OSActiveThreadQueue.head; thread; thread = next) { + next = thread->active_threads_link.next; + switch (thread->state) { + case 1: + case 4: + OSCancelThread(thread); + continue; + default: + continue; + } + } } -#pragma pop +#pragma dont_inline reset /* 8033F864-8033F8AC 33A1A4 0048+00 0/0 3/3 0/0 .text __OSDoHotReset */ void __OSDoHotReset(s32 arg0) { @@ -158,28 +164,15 @@ void __OSDoHotReset(s32 arg0) { } /* ############################################################################################## */ -/* 803D07E8-803D0838 02D908 004E+02 1/1 0/0 0/0 .data @153 */ -SECTION_DATA static char lit_153[] = - "OSResetSystem(): You can't specify TRUE to forceMenu if you restart. Ignored\n"; - /* 80451698-804516A0 000B98 0004+04 1/1 0/0 0/0 .sbss bootThisDol */ -static u8 bootThisDol[4 + 4 /* padding */]; +static u32 bootThisDol; /* 8033F8AC-8033FAAC 33A1EC 0200+00 0/0 5/5 0/0 .text OSResetSystem */ -#ifdef NONMATCHING void OSResetSystem(int reset, u32 resetCode, BOOL forceMenu) { BOOL rc; BOOL disableRecalibration; - u32 unk[3]; + u32 unk; OSDisableScheduler(); - __OSStopAudioSystem(); - - if (reset == OS_RESET_SHUTDOWN) { - disableRecalibration = __PADDisableRecalibration(TRUE); - } - - while (!__OSCallResetFunctions(FALSE)) - ; if (reset == OS_RESET_HOTRESET && forceMenu) { OSSram* sram; @@ -188,46 +181,52 @@ void OSResetSystem(int reset, u32 resetCode, BOOL forceMenu) { sram->flags |= 0x40; __OSUnlockSram(TRUE); - while (!__OSSyncSram()) - ; + + resetCode = 0; } - OSDisableInterrupts(); - __OSCallResetFunctions(TRUE); - LCDisable(); + + if (reset == OS_RESET_SHUTDOWN || (reset == OS_RESET_RESTART && (bootThisDol || resetCode + 0x3fff0000 == 0))) { + __OSStopAudioSystem(); + disableRecalibration = __PADDisableRecalibration(TRUE); + while (!__OSCallResetFunctions(FALSE)); + while (!__OSSyncSram()); + OSDisableInterrupts(); + __OSCallResetFunctions(TRUE); + LCDisable(); + __PADDisableRecalibration(disableRecalibration); + KillThreads(); + } else { + __OSStopAudioSystem(); + while (!__OSCallResetFunctions(FALSE)); + while (!__OSSyncSram()); + OSDisableInterrupts(); + __OSCallResetFunctions(TRUE); + LCDisable(); + KillThreads(); + } + if (reset == OS_RESET_HOTRESET) { __OSDoHotReset(resetCode); } else if (reset == OS_RESET_RESTART) { - KillThreads(); + if (forceMenu == TRUE) { + OSReport("OSResetSystem(): You can't specify TRUE to forceMenu if you restart. Ignored\n"); + } OSEnableScheduler(); - __OSReboot(resetCode, forceMenu); + __OSReboot(resetCode, bootThisDol); } - KillThreads(); memset(OSPhysicalToCached(0x40), 0, 0xcc - 0x40); memset(OSPhysicalToCached(0xd4), 0, 0xe8 - 0xd4); memset(OSPhysicalToCached(0xf4), 0, 0xf8 - 0xf4); memset(OSPhysicalToCached(0x3000), 0, 0xc0); memset(OSPhysicalToCached(0x30c8), 0, 0xd4 - 0xc8); memset(OSPhysicalToCached(0x30e2), 0, 1); - - __PADDisableRecalibration(disableRecalibration); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSResetSystem(int reset, u32 resetCode, BOOL forceMenu) { - nofralloc -#include "asm/dolphin/os/OSReset/OSResetSystem.s" -} -#pragma pop -#endif /* 8033FAAC-8033FAE4 33A3EC 0038+00 0/0 3/3 0/0 .text OSGetResetCode */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 OSGetResetCode(void) { - nofralloc -#include "asm/dolphin/os/OSReset/OSGetResetCode.s" +u32 OSGetResetCode(void) +{ + if (__OSRebootParams.valid) + return 0x80000000 | __OSRebootParams.restartCode; + + return ((__PIRegs[9] & ~7) >> 3); } -#pragma pop diff --git a/libs/dolphin/os/OSResetSW.c b/libs/dolphin/os/OSResetSW.c index 7b65a5e5940..5d264f34950 100644 --- a/libs/dolphin/os/OSResetSW.c +++ b/libs/dolphin/os/OSResetSW.c @@ -6,11 +6,10 @@ #include "dolphin/os/OSResetSW.h" #include "dol2asm.h" #include "dolphin/os/OS.h" +#include "dolphin/os/OSReset.h" u8 GameChoice : (OS_BASE_CACHED | 0x30E3); -vu32 __PIRegs[12] : 0xCC003000; - void __OSResetSWInterruptHandler(OSInterrupt interrupt, OSContext* context); // @@ -40,7 +39,6 @@ static OSTime HoldUp; static OSTime HoldDown; /* 8033FAE4-8033FBD8 33A424 00F4+00 0/0 1/1 0/0 .text __OSResetSWInterruptHandler */ -#ifdef NONMATCHING void __OSResetSWInterruptHandler(OSInterrupt interrupt, OSContext* context) { OSResetCallback callback; @@ -60,26 +58,58 @@ void __OSResetSWInterruptHandler(OSInterrupt interrupt, OSContext* context) { } __PIRegs[0] = 2; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __OSResetSWInterruptHandler(OSInterrupt interrupt, OSContext* context) { - nofralloc -#include "asm/dolphin/os/OSResetSW/__OSResetSWInterruptHandler.s" -} -#pragma pop -#endif /* 8033FBD8-8033FE70 33A518 0298+00 1/1 0/0 0/0 .text OSGetResetButtonState */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm BOOL OSGetResetButtonState(void) { - nofralloc -#include "asm/dolphin/os/OSResetSW/OSGetResetButtonState.s" +BOOL OSGetResetButtonState(void) { + BOOL enabled = OSDisableInterrupts(); + BOOL state; + OSTime now = __OSGetSystemTime(); + u32 reg = __PIRegs[0]; + + if (!(reg & 0x00010000)) { + if (!Down) { + Down = TRUE; + state = HoldUp ? TRUE : FALSE; + HoldDown = now; + } else { + state = HoldUp || (OSMicrosecondsToTicks(100) < now - HoldDown) + ? TRUE + : FALSE; + } + } else if (Down) { + Down = FALSE; + state = LastState; + if (state) { + HoldUp = now; + } else { + HoldUp = 0; + } + } else if (HoldUp && (now - HoldUp < OSMillisecondsToTicks(40))) { + state = TRUE; + } else { + state = FALSE; + HoldUp = 0; + } + + LastState = state; + + if (GameChoice & 0x1F) { + OSTime fire = (GameChoice & 0x1F) * 60; + fire = __OSStartTime + OSSecondsToTicks(fire); + if (fire < now) { + now -= fire; + now = OSTicksToSeconds(now) / 2; + if ((now & 1) == 0) { + state = TRUE; + } else { + state = FALSE; + } + } + } + + OSRestoreInterrupts(enabled); + return state; } -#pragma pop /* 8033FE70-8033FE90 33A7B0 0020+00 0/0 1/1 0/0 .text OSGetResetSwitchState */ BOOL OSGetResetSwitchState(void) { diff --git a/libs/dolphin/os/OSRtc.c b/libs/dolphin/os/OSRtc.c index 6e2195bd55a..cda2d31b28e 100644 --- a/libs/dolphin/os/OSRtc.c +++ b/libs/dolphin/os/OSRtc.c @@ -87,55 +87,73 @@ void __OSInitSram(void) { OSSetGbsMode(OSGetGbsMode()); } -/* 80340144-803401A0 33AA84 005C+00 0/0 3/3 0/0 .text __OSLockSram */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm OSSram* __OSLockSram(void) { - nofralloc -#include "asm/dolphin/os/OSRtc/__OSLockSram.s" +static void* LockSram(u32 offset) { + BOOL enabled; + enabled = OSDisableInterrupts(); + + if (Scb.locked != FALSE) { + OSRestoreInterrupts(enabled); + return NULL; + } + + Scb.enabled = enabled; + Scb.locked = TRUE; + + return Scb.sram + offset; } -#pragma pop + +/* 80340144-803401A0 33AA84 005C+00 0/0 3/3 0/0 .text __OSLockSram */ +OSSram* __OSLockSram() { return LockSram(0); } /* 803401A0-803401FC 33AAE0 005C+00 0/0 4/4 0/0 .text __OSLockSramEx */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm OSSramEx* __OSLockSramEx(void) { - nofralloc -#include "asm/dolphin/os/OSRtc/__OSLockSramEx.s" -} -#pragma pop +OSSramEx* __OSLockSramEx() { return LockSram(sizeof(OSSram)); } /* 803401FC-80340538 33AB3C 033C+00 10/10 0/0 0/0 .text UnlockSram */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm BOOL UnlockSram(BOOL commit, u32 offset) { - nofralloc -#include "asm/dolphin/os/OSRtc/UnlockSram.s" +static BOOL UnlockSram(BOOL commit, u32 offset) { + u16* p; + + if (commit) { + if (offset == 0) { + OSSram* sram = (OSSram*)Scb.sram; + + if (2u < (sram->flags & 3)) { + sram->flags &= ~3; + } + + sram->checkSum = sram->checkSumInv = 0; + for (p = (u16*)&sram->counterBias; p < (u16*)(Scb.sram + sizeof(OSSram)); p++) { + sram->checkSum += *p; + sram->checkSumInv += ~*p; + } + } + + if (offset < Scb.offset) { + Scb.offset = offset; + } + + if (Scb.offset <= 0x14) { + OSSramEx* sram = (OSSramEx*)(Scb.sram + sizeof(OSSram)); + if (((u32)sram->gbs & 0x7c00) == 0x5000 || ((u32)sram->gbs & 0xc0) == 0xc0) { + sram->gbs = 0; + } + } + + Scb.sync = WriteSram(Scb.sram + Scb.offset, Scb.offset, RTC_SRAM_SIZE - Scb.offset); + if (Scb.sync) { + Scb.offset = RTC_SRAM_SIZE; + } + } + Scb.locked = FALSE; + OSRestoreInterrupts(Scb.enabled); + return Scb.sync; } -#pragma pop + /* 80340538-8034055C 33AE78 0024+00 0/0 3/3 0/0 .text __OSUnlockSram */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL __OSUnlockSram(BOOL commit) { - nofralloc -#include "asm/dolphin/os/OSRtc/__OSUnlockSram.s" -} -#pragma pop +BOOL __OSUnlockSram(BOOL commit) { return UnlockSram(commit, 0); } /* 8034055C-80340580 33AE9C 0024+00 0/0 4/4 0/0 .text __OSUnlockSramEx */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL __OSUnlockSramEx(BOOL commit) { - nofralloc -#include "asm/dolphin/os/OSRtc/__OSUnlockSramEx.s" -} -#pragma pop +BOOL __OSUnlockSramEx(BOOL commit) { return UnlockSram(commit, sizeof(OSSram)); } /* 80340580-80340590 33AEC0 0010+00 0/0 2/2 0/0 .text __OSSyncSram */ BOOL __OSSyncSram(void) { @@ -143,57 +161,74 @@ BOOL __OSSyncSram(void) { } /* 80340590-80340610 33AED0 0080+00 0/0 4/4 0/0 .text OSGetSoundMode */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 OSGetSoundMode(void) { - nofralloc -#include "asm/dolphin/os/OSRtc/OSGetSoundMode.s" +u32 OSGetSoundMode() { + OSSram* sram; + u32 mode; + + sram = __OSLockSram(); + mode = (sram->flags & 0x4) ? OS_SOUND_MODE_STEREO : OS_SOUND_MODE_MONO; + __OSUnlockSram(FALSE); + return mode; } -#pragma pop /* 80340610-803406B4 33AF50 00A4+00 0/0 1/1 0/0 .text OSSetSoundMode */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSSetSoundMode(OSSoundMode mode) { - nofralloc -#include "asm/dolphin/os/OSRtc/OSSetSoundMode.s" +void OSSetSoundMode(u32 mode) { + OSSram* sram; + mode <<= 2; + mode &= 4; + + sram = __OSLockSram(); + if (mode == (sram->flags & 4)) { + __OSUnlockSram(FALSE); + return; + } + + sram->flags &= ~4; + sram->flags |= mode; + __OSUnlockSram(TRUE); } -#pragma pop /* 803406B4-80340724 33AFF4 0070+00 0/0 3/3 0/0 .text OSGetProgressiveMode */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 OSGetProgressiveMode(void) { - nofralloc -#include "asm/dolphin/os/OSRtc/OSGetProgressiveMode.s" +u32 OSGetProgressiveMode() { + OSSram* sram; + u32 mode; + + sram = __OSLockSram(); + mode = (sram->flags & 0x80) >> 7; + __OSUnlockSram(FALSE); + return mode; } -#pragma pop /* 80340724-803407C8 33B064 00A4+00 0/0 2/2 0/0 .text OSSetProgressiveMode */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSSetProgressiveMode(u32 mode) { - nofralloc -#include "asm/dolphin/os/OSRtc/OSSetProgressiveMode.s" + +void OSSetProgressiveMode(u32 mode) { + OSSram* sram; + mode <<= 7; + mode &= 0x80; + + sram = __OSLockSram(); + if (mode == (sram->flags & 0x80)) { + __OSUnlockSram(FALSE); + return; + } + + sram->flags &= ~0x80; + sram->flags |= mode; + __OSUnlockSram(TRUE); } -#pragma pop /* 803407C8-8034084C 33B108 0084+00 0/0 1/1 0/0 .text OSGetWirelessID */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u16 OSGetWirelessID(s32 channel) { - nofralloc -#include "asm/dolphin/os/OSRtc/OSGetWirelessID.s" +u16 OSGetWirelessID(s32 channel) { + OSSramEx* sram; + u16 id; + + sram = __OSLockSramEx(); + id = sram->wirelessPadID[channel]; + __OSUnlockSramEx(FALSE); + return id; } -#pragma pop /* 8034084C-803408F8 33B18C 00AC+00 0/0 4/4 0/0 .text OSSetWirelessID */ -#ifdef NONMATCHING void OSSetWirelessID(s32 channel, u16 id) { OSSramEx* sram; @@ -206,33 +241,33 @@ void OSSetWirelessID(s32 channel, u16 id) { __OSUnlockSramEx(FALSE); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSSetWirelessID(s32 channel, u16 id) { - nofralloc -#include "asm/dolphin/os/OSRtc/OSSetWirelessID.s" -} -#pragma pop -#endif /* 803408F8-80340968 33B238 0070+00 1/1 0/0 0/0 .text OSGetGbsMode */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm u16 OSGetGbsMode(void) { - nofralloc -#include "asm/dolphin/os/OSRtc/OSGetGbsMode.s" +u16 OSGetGbsMode() { + OSSramEx* sram; + u16 gbs; + + sram = __OSLockSramEx(); + gbs = sram->gbs; + __OSUnlockSramEx(FALSE); + return gbs; } -#pragma pop /* 80340968-80340A20 33B2A8 00B8+00 1/1 0/0 0/0 .text OSSetGbsMode */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void OSSetGbsMode(u16 mode) { - nofralloc -#include "asm/dolphin/os/OSRtc/OSSetGbsMode.s" +void OSSetGbsMode(u16 mode) { + OSSramEx* sram; + + if (((u32)mode & 0x7c00) == 0x5000 || ((u32)mode & 0xc0) == 0xc0) { + mode = 0; + } + + sram = __OSLockSramEx(); + + if (mode == sram->gbs) { + __OSUnlockSramEx(FALSE); + return; + } + sram->gbs = mode; + + __OSUnlockSramEx(TRUE); } -#pragma pop diff --git a/libs/dolphin/os/OSThread.c b/libs/dolphin/os/OSThread.c index 3519272ce2e..b6cf5bd25d1 100644 --- a/libs/dolphin/os/OSThread.c +++ b/libs/dolphin/os/OSThread.c @@ -79,7 +79,7 @@ volatile OSContext* __OSFPUContext : OS_BASE_CACHED + 0x00D8; // External References: // -extern u8 __OSErrorTable[68 + 12 /* padding */]; +extern OSErrorHandlerEx __OSErrorTable[17]; extern u32 __OSFpscrEnableBits; void _epilog(); @@ -92,17 +92,27 @@ static void DefaultSwitchThreadCallback(OSThread* from, OSThread* to) {} /* ############################################################################################## */ /* 804509B8-804509BC -00001 0004+00 3/3 0/0 0/0 .sdata SwitchThreadCallback */ -SECTION_SDATA static OSSwitchThreadCallback SwitchThreadCallback = DefaultSwitchThreadCallback; +static OSSwitchThreadCallback SwitchThreadCallback = DefaultSwitchThreadCallback; /* 80340AA8-80340B1C 33B3E8 0074+00 0/0 1/1 0/0 .text OSSetSwitchThreadCallback */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm OSSwitchThreadCallback OSSetSwitchThreadCallback(OSSwitchThreadCallback func) { - nofralloc -#include "asm/dolphin/os/OSThread/OSSetSwitchThreadCallback.s" +OSSwitchThreadCallback OSSetSwitchThreadCallback(OSSwitchThreadCallback func) { + BOOL enable = OSDisableInterrupts(); + OSSwitchThreadCallback prev = SwitchThreadCallback; + OSSwitchThreadCallback temp; + if (func) { + temp = func; + } else { + temp = DefaultSwitchThreadCallback; + } + SwitchThreadCallback = temp; + + OSRestoreInterrupts(enable); + if (prev == DefaultSwitchThreadCallback) { + return NULL; + } + + return prev; } -#pragma pop /* ############################################################################################## */ /* 8044BB78-8044BC78 078898 0100+00 6/6 0/0 0/0 .bss RunQueue */ @@ -127,10 +137,10 @@ static OSContext IdleContext; #pragma pop /* 804516C0-804516C4 000BC0 0004+00 7/7 0/0 0/0 .sbss RunQueueBits */ -static u32 RunQueueBits; +static vu32 RunQueueBits; /* 804516C4-804516C8 000BC4 0004+00 11/11 0/0 0/0 .sbss RunQueueHint */ -static BOOL RunQueueHint; +static volatile BOOL RunQueueHint; /* 804516C8-804516D0 000BC8 0004+04 4/4 0/0 0/0 .sbss Reschedule */ static volatile s32 Reschedule; @@ -213,24 +223,20 @@ BOOL OSIsThreadTerminated(OSThread* thread) { } /* 80340CC4-80340D04 33B604 0040+00 0/0 8/8 0/0 .text OSDisableScheduler */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 OSDisableScheduler(void) { - nofralloc -#include "asm/dolphin/os/OSThread/OSDisableScheduler.s" +s32 OSDisableScheduler(void) { + BOOL intr = OSDisableInterrupts(); + s32 ret = Reschedule++; + OSRestoreInterrupts(intr); + return ret; } -#pragma pop /* 80340D04-80340D44 33B644 0040+00 0/0 10/10 0/0 .text OSEnableScheduler */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 OSEnableScheduler(void) { - nofralloc -#include "asm/dolphin/os/OSThread/OSEnableScheduler.s" +s32 OSEnableScheduler(void) { + BOOL intr = OSDisableInterrupts(); + s32 ret = Reschedule--; + OSRestoreInterrupts(intr); + return ret; } -#pragma pop static inline void SetRun(OSThread* thread) { thread->queue = &RunQueue[thread->effective_priority]; @@ -240,7 +246,8 @@ static inline void SetRun(OSThread* thread) { } /* 80340D44-80340DAC 33B684 0068+00 3/3 0/0 0/0 .text UnsetRun */ -static void UnsetRun(OSThread* thread) { +#pragma dont_inline on +static void UnsetRun(OSThread* thread) { OSThreadQueue* queue; OSThread* next; OSThread* prev; @@ -267,13 +274,14 @@ static void UnsetRun(OSThread* thread) { thread->queue = NULL; } +#pragma dont_inline reset /* 80340DAC-80340DE8 33B6EC 003C+00 4/4 2/2 0/0 .text __OSGetEffectivePriority */ s32 __OSGetEffectivePriority(OSThread* thread) { s32 prio = thread->base_priority; OSMutex* mutex; - for (mutex = thread->owned_mutexes.head; mutex != NULL; mutex = mutex->link.prev) { + for (mutex = thread->owned_mutexes.head; mutex != NULL; mutex = mutex->link.next) { OSThread* mutexThread = mutex->queue.head; if (mutexThread != NULL && mutexThread->effective_priority < prio) { prio = mutexThread->effective_priority; @@ -284,8 +292,6 @@ s32 __OSGetEffectivePriority(OSThread* thread) { } /* 80340DE8-80340FA8 33B728 01C0+00 5/5 0/0 0/0 .text SetEffectivePriority */ -// needs compiler epilogue patch -#ifdef NONMATCHING static OSThread* SetEffectivePriority(OSThread* thread, s32 priority) { switch (thread->state) { case OS_THREAD_STATE_READY: @@ -308,26 +314,32 @@ static OSThread* SetEffectivePriority(OSThread* thread, s32 priority) { } return NULL; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm OSThread* SetEffectivePriority(OSThread* thread, s32 priority) { - nofralloc -#include "asm/dolphin/os/OSThread/SetEffectivePriority.s" + +static void UpdatePriority(OSThread* thread) { + OSPriority priority; + + do { + if (0 < thread->suspend_count) { + break; + } + priority = __OSGetEffectivePriority(thread); + if (thread->effective_priority == priority) { + break; + } + thread = SetEffectivePriority(thread, priority); + } while (thread); } -#pragma pop -#endif /* 80340FA8-80340FF8 33B8E8 0050+00 0/0 1/1 0/0 .text __OSPromoteThread */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __OSPromoteThread(OSThread* thread, s32 priority) { - nofralloc -#include "asm/dolphin/os/OSThread/__OSPromoteThread.s" +void __OSPromoteThread(OSThread* thread, s32 priority) { + do { + if (thread->suspend_count > 0 || thread->effective_priority <= priority) { + break; + } + + thread = SetEffectivePriority(thread, priority); + } while(thread != NULL); } -#pragma pop static inline void __OSSwitchThread(OSThread* nextThread) { OSSetCurrentThread(nextThread); @@ -336,7 +348,6 @@ static inline void __OSSwitchThread(OSThread* nextThread) { } /* 80340FF8-80341220 33B938 0228+00 9/9 0/0 0/0 .text SelectThread */ -#ifdef NONMATCHING inline OSThread* i_OSGetCurrentThread(void) { return OS_CURRENT_THREAD; } @@ -376,8 +387,8 @@ static OSThread* SelectThread(BOOL yield) { } } - OSSetCurrentThread(NULL); if (RunQueueBits == 0) { + OSSetCurrentThread(NULL); OSSetCurrentContext(&IdleContext); do { OSEnableInterrupts(); @@ -402,16 +413,6 @@ static OSThread* SelectThread(BOOL yield) { __OSSwitchThread(nextThread); return nextThread; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm OSThread* SelectThread(BOOL yield) { - nofralloc -#include "asm/dolphin/os/OSThread/SelectThread.s" -} -#pragma pop -#endif /* 80341220-80341250 33BB60 0030+00 0/0 3/3 0/0 .text __OSReschedule */ void __OSReschedule(void) { @@ -432,95 +433,258 @@ void OSYieldThread(void) { } /* 8034128C-80341474 33BBCC 01E8+00 0/0 5/5 3/3 .text OSCreateThread */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL OSCreateThread(OSThread* thread, void* func, void* param, void* stackBase, u32 stackSize, - s32 priority, u16 attribute) { - nofralloc -#include "asm/dolphin/os/OSThread/OSCreateThread.s" +BOOL OSCreateThread(OSThread* thread_, void* func, void* param, void* stackBase, u32 stackSize, + s32 priority, u16 attribute) { + BOOL enabled; + u32 i; + u32* stack; + OSThread* thread; + u32 stack1, stack2; + + if (priority < 0 || priority > 31) { + return FALSE; + } + + thread = thread_; + + thread->state = OS_THREAD_STATE_READY; + thread->attributes = attribute & 1; + thread->base_priority = priority; + thread->effective_priority = priority; + thread->suspend_count = 1; + thread->exit_value = (void*)-1; + thread->mutex = NULL; + thread->join_queue.tail = NULL; + thread->join_queue.head = NULL; + thread->owned_mutexes.tail = NULL; + thread->owned_mutexes.head = NULL; + stack = (u32*)((u32)stackBase & 0xfffffff8); + stack[-2] = 0; + stack[-1] = 0; + OSInitContext(&thread->context, (u32)func,(u32)stack - 8); + thread->context.lr = (u32) OSExitThread; + thread->context.gpr[3] = (u32) param; + thread->stack_base = (u8*)stackBase; + thread->stack_end = (void*)((u32)stackBase - stackSize); + *(u32*)thread->stack_end = OS_THREAD_STACK_MAGIC; + thread->error_code = NULL; + thread->data[0] = NULL; + thread->data[1] = NULL; + enabled = OSDisableInterrupts(); + if (__OSErrorTable[16]) { + thread->context.srr1 |= 0x900; + thread->context.state |= 1; + thread->context.fpscr = (__OSFpscrEnableBits & 0xf8) | 4; + for (i = 0; i < 32; ++i) { + *(u64*)&thread->context.fpr[i] = (u64)0xffffffffffffffffLL; + *(u64*)&thread->context.ps[i] = (u64)0xffffffffffffffffLL; + } + } + + AddTail(&OS_THREAD_QUEUE, thread, active_threads_link); + OSRestoreInterrupts(enabled); + return TRUE; } -#pragma pop /* 80341474-80341558 33BDB4 00E4+00 1/1 1/1 0/0 .text OSExitThread */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSExitThread(void* exitValue) { - nofralloc -#include "asm/dolphin/os/OSThread/OSExitThread.s" +void OSExitThread(void* exitValue) { + OSThread* currentThread; + BOOL enabled; + enabled = OSDisableInterrupts(); + currentThread = OS_CURRENT_THREAD; + OSClearContext(¤tThread->context); + + if (currentThread->attributes & OS_THREAD_ATTR_DETACH) { + RemoveItem(&OS_THREAD_QUEUE, currentThread, active_threads_link); + currentThread->state = OS_THREAD_STATE_UNINITIALIZED; + } else { + currentThread->state = OS_THREAD_STATE_DEAD; + currentThread->exit_value = exitValue; + } + + __OSUnlockAllMutex(currentThread); + OSWakeupThread(¤tThread->join_queue); + RunQueueHint = TRUE; + + if (RunQueueHint) { + SelectThread(FALSE); + } + + OSRestoreInterrupts(enabled); } -#pragma pop /* 80341558-80341714 33BE98 01BC+00 0/0 4/4 3/3 .text OSCancelThread */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSCancelThread(OSThread* thread) { - nofralloc -#include "asm/dolphin/os/OSThread/OSCancelThread.s" +void OSCancelThread(OSThread* thread) { + BOOL enabled; + + enabled = OSDisableInterrupts(); + + switch (thread->state) { + case OS_THREAD_STATE_READY: + if (!(0 < thread->suspend_count)) { + UnsetRun(thread); + } + break; + case OS_THREAD_STATE_RUNNING: + RunQueueHint = TRUE; + break; + case OS_THREAD_STATE_WAITING: + RemoveItem(thread->queue, thread, link); + thread->queue = NULL; + if (!(0 < thread->suspend_count) && thread->mutex) { + UpdatePriority(thread->mutex->thread); + } + break; + default: + OSRestoreInterrupts(enabled); + return; + } + + OSClearContext(&thread->context); + if (thread->attributes & OS_THREAD_ATTR_DETACH) { + RemoveItem(&__OSActiveThreadQueue, thread, active_threads_link); + thread->state = 0; + } else { + thread->state = OS_THREAD_STATE_DEAD; + } + + __OSUnlockAllMutex(thread); + + OSWakeupThread(&thread->join_queue); + + __OSReschedule(); + OSRestoreInterrupts(enabled); } -#pragma pop /* 80341714-803417B4 33C054 00A0+00 0/0 2/2 0/0 .text OSDetachThread */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSDetachThread(OSThread* thread) { - nofralloc -#include "asm/dolphin/os/OSThread/OSDetachThread.s" +void OSDetachThread(OSThread* thread) { + BOOL enabled; + + enabled = OSDisableInterrupts(); + thread->attributes |= OS_THREAD_ATTR_DETACH; + + if (thread->state == OS_THREAD_STATE_DEAD) { + RemoveItem(&__OSActiveThreadQueue, thread, active_threads_link); + thread->state = OS_THREAD_STATE_UNINITIALIZED; + } + + OSWakeupThread(&thread->join_queue); + OSRestoreInterrupts(enabled); } -#pragma pop /* 803417B4-80341A3C 33C0F4 0288+00 0/0 13/13 3/3 .text OSResumeThread */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 OSResumeThread(OSThread* thread) { - nofralloc -#include "asm/dolphin/os/OSThread/OSResumeThread.s" +s32 OSResumeThread(OSThread* thread) { + BOOL enabled; + s32 suspendCount; + + enabled = OSDisableInterrupts(); + suspendCount = thread->suspend_count--; + if (thread->suspend_count < 0) { + thread->suspend_count = 0; + } else if (thread->suspend_count == 0) { + switch (thread->state) { + case OS_THREAD_STATE_READY: + thread->effective_priority = __OSGetEffectivePriority(thread); + SetRun(thread); + break; + case OS_THREAD_STATE_WAITING: + RemoveItem(thread->queue, thread, link); + thread->effective_priority = __OSGetEffectivePriority(thread); + AddPrio(thread->queue, thread, link); + if (thread->mutex) { + UpdatePriority(thread->mutex->thread); + } + break; + } + __OSReschedule(); + } + OSRestoreInterrupts(enabled); + return suspendCount; } -#pragma pop /* 80341A3C-80341BAC 33C37C 0170+00 0/0 7/7 4/4 .text OSSuspendThread */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 OSSuspendThread(OSThread* thread) { - nofralloc -#include "asm/dolphin/os/OSThread/OSSuspendThread.s" +s32 OSSuspendThread(OSThread* thread) { + BOOL enabled; + s32 suspendCount; + + enabled = OSDisableInterrupts(); + suspendCount = thread->suspend_count++; + if (suspendCount == 0) { + switch (thread->state) { + case OS_THREAD_STATE_RUNNING: + RunQueueHint = TRUE; + thread->state = OS_THREAD_STATE_READY; + break; + case OS_THREAD_STATE_READY: + UnsetRun(thread); + break; + case OS_THREAD_STATE_WAITING: + RemoveItem(thread->queue, thread, link); + thread->effective_priority = 32; + AddTail(thread->queue, thread, link); + if (thread->mutex) { + UpdatePriority(thread->mutex->thread); + } + break; + } + + __OSReschedule(); + } + OSRestoreInterrupts(enabled); + return suspendCount; } -#pragma pop /* 80341BAC-80341C98 33C4EC 00EC+00 0/0 12/12 0/0 .text OSSleepThread */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSSleepThread(OSThreadQueue* queue) { - nofralloc -#include "asm/dolphin/os/OSThread/OSSleepThread.s" +void OSSleepThread(OSThreadQueue* queue) { + BOOL enabled; + OSThread* currentThread; + + enabled = OSDisableInterrupts(); + currentThread = OSGetCurrentThread(); + + currentThread->state = OS_THREAD_STATE_WAITING; + currentThread->queue = queue; + AddPrio(queue, currentThread, link); + RunQueueHint = TRUE; + __OSReschedule(); + OSRestoreInterrupts(enabled); } -#pragma pop /* 80341C98-80341D9C 33C5D8 0104+00 3/3 13/13 0/0 .text OSWakeupThread */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSWakeupThread(OSThreadQueue* queue) { - nofralloc -#include "asm/dolphin/os/OSThread/OSWakeupThread.s" +void OSWakeupThread(OSThreadQueue* queue) { + BOOL enabled; + OSThread* thread; + + enabled = OSDisableInterrupts(); + while (queue->head) { + RemoveHead(queue, thread, link); + thread->state = OS_THREAD_STATE_READY; + if (!(0 < thread->suspend_count)) { + SetRun(thread); + } + } + __OSReschedule(); + OSRestoreInterrupts(enabled); } -#pragma pop /* 80341D9C-80341E5C 33C6DC 00C0+00 0/0 1/1 0/0 .text OSSetThreadPriority */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 OSSetThreadPriority(OSThread* thread, s32 priority) { - nofralloc -#include "asm/dolphin/os/OSThread/OSSetThreadPriority.s" +s32 OSSetThreadPriority(OSThread* thread, s32 priority) { + BOOL enabled; + + if (priority < 0 || priority > 31) { + return FALSE; + } + + enabled = OSDisableInterrupts(); + if ((s32)thread->base_priority != priority) { + thread->base_priority = priority; + + UpdatePriority(thread); + __OSReschedule(); + } + OSRestoreInterrupts(enabled); + return TRUE; } -#pragma pop /* 80341E5C-80341E64 33C79C 0008+00 0/0 4/4 0/0 .text OSGetThreadPriority */ s32 OSGetThreadPriority(OSThread* thread) { @@ -528,210 +692,218 @@ s32 OSGetThreadPriority(OSThread* thread) { } /* 80341E64-80341F00 33C7A4 009C+00 1/1 0/0 0/0 .text CheckThreadQueue */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm s32 CheckThreadQueue(OSThread* thread) { - nofralloc -#include "asm/dolphin/os/OSThread/CheckThreadQueue.s" +s32 CheckThreadQueue(OSThreadQueue* thread) { + OSThread* current; + if (thread->head && thread->head->link.prev) { + return 0; + } + + if (thread->tail && thread->tail->link.next) { + return 0; + } + + current = thread->head; + + while(current) { + if (current->link.next && current != current->link.next->link.prev) { + return 0; + } + + if (current->link.prev && current != current->link.prev->link.next) { + return 0; + } + + current = current->link.next; + } + + return 1; } -#pragma pop -/* ############################################################################################## */ -/* 803D0838-803D0898 02D958 005F+01 1/1 0/0 0/0 .data @831 */ -SECTION_DATA static char lit_831[] = "OSCheckActiveThreads: Failed RunQueue[prio].head != NULL && " - "RunQueue[prio].tail != NULL in %d\n"; +static BOOL isMember(OSThreadQueue* queue, OSThread* thread) { + OSThread* current = queue->head; + while (current != NULL) { + if (thread == current) { + return TRUE; + } -/* 803D0898-803D08A4 02D9B8 000B+01 0/1 0/0 0/0 .data @832 */ -#pragma push -#pragma force_active on -SECTION_DATA static char lit_832[] = "OSThread.c"; -#pragma pop - -/* 803D08A4-803D0904 02D9C4 005F+01 0/1 0/0 0/0 .data @834 */ -#pragma push -#pragma force_active on -SECTION_DATA static char lit_834[] = "OSCheckActiveThreads: Failed RunQueue[prio].head == NULL && " - "RunQueue[prio].tail == NULL in %d\n"; -#pragma pop - -/* 803D0904-803D094C 02DA24 0046+02 0/1 0/0 0/0 .data @835 */ -#pragma push -#pragma force_active on -SECTION_DATA static char lit_835[] = - "OSCheckActiveThreads: Failed CheckThreadQueue(&RunQueue[prio]) in %d\n"; -#pragma pop - -/* 803D094C-803D09CC 02DA6C 007E+02 0/1 0/0 0/0 .data @836 */ -#pragma push -#pragma force_active on -SECTION_DATA static char lit_836[] = - "OSCheckActiveThreads: Failed __OSActiveThreadQueue.head == NULL || " - "__OSActiveThreadQueue.head->linkActive.prev == NULL in %d\n"; -#pragma pop - -/* 803D09CC-803D0A4C 02DAEC 007E+02 0/1 0/0 0/0 .data @837 */ -#pragma push -#pragma force_active on -SECTION_DATA static char lit_837[] = - "OSCheckActiveThreads: Failed __OSActiveThreadQueue.tail == NULL || " - "__OSActiveThreadQueue.tail->linkActive.next == NULL in %d\n"; -#pragma pop - -/* 803D0A4C-803D0AC8 02DB6C 007A+02 0/1 0/0 0/0 .data @838 */ -#pragma push -#pragma force_active on -SECTION_DATA static char lit_838[] = - "OSCheckActiveThreads: Failed thread->linkActive.next == NULL || thread == " - "thread->linkActive.next->linkActive.prev in %d\n"; -#pragma pop - -/* 803D0AC8-803D0B44 02DBE8 007A+02 0/1 0/0 0/0 .data @839 */ -#pragma push -#pragma force_active on -SECTION_DATA static char lit_839[] = - "OSCheckActiveThreads: Failed thread->linkActive.prev == NULL || thread == " - "thread->linkActive.prev->linkActive.next in %d\n"; -#pragma pop - -/* 803D0B44-803D0B98 02DC64 0051+03 0/1 0/0 0/0 .data @840 */ -#pragma push -#pragma force_active on -SECTION_DATA static char lit_840[] = - "OSCheckActiveThreads: Failed *(thread->stackEnd) == OS_THREAD_STACK_MAGIC in %d\n"; -#pragma pop - -/* 803D0B98-803D0C0C 02DCB8 0071+03 0/1 0/0 0/0 .data @841 */ -#pragma push -#pragma force_active on -SECTION_DATA static char lit_841[] = - "OSCheckActiveThreads: Failed OS_PRIORITY_MIN <= thread->priority && thread->priority <= " - "OS_PRIORITY_MAX+1 in %d\n"; -#pragma pop - -/* 803D0C0C-803D0C48 02DD2C 0039+03 0/1 0/0 0/0 .data @842 */ -#pragma push -#pragma force_active on -SECTION_DATA static char lit_842[] = "OSCheckActiveThreads: Failed 0 <= thread->suspend in %d\n"; -#pragma pop - -/* 803D0C48-803D0C94 02DD68 0049+03 0/1 0/0 0/0 .data @843 */ -#pragma push -#pragma force_active on -SECTION_DATA static char lit_843[] = - "OSCheckActiveThreads: Failed CheckThreadQueue(&thread->queueJoin) in %d\n"; -#pragma pop - -/* 803D0C94-803D0CE8 02DDB4 0051+03 0/1 0/0 0/0 .data @844 */ -#pragma push -#pragma force_active on -SECTION_DATA static char lit_844[] = - "OSCheckActiveThreads: Failed thread->queue == &RunQueue[thread->priority] in %d\n"; -#pragma pop - -/* 803D0CE8-803D0D3C 02DE08 0052+02 0/1 0/0 0/0 .data @845 */ -#pragma push -#pragma force_active on -SECTION_DATA static char lit_845[] = - "OSCheckActiveThreads: Failed IsMember(&RunQueue[thread->priority], thread) in %d\n"; -#pragma pop - -/* 803D0D3C-803D0D98 02DE5C 0059+03 0/1 0/0 0/0 .data @846 */ -#pragma push -#pragma force_active on -SECTION_DATA static char lit_846[] = - "OSCheckActiveThreads: Failed thread->priority == __OSGetEffectivePriority(thread) in %d\n"; -#pragma pop - -/* 803D0D98-803D0DDC 02DEB8 0042+02 0/1 0/0 0/0 .data @847 */ -#pragma push -#pragma force_active on -SECTION_DATA static char lit_847[] = - "OSCheckActiveThreads: Failed !IsSuspended(thread->suspend) in %d\n"; -#pragma pop - -/* 803D0DDC-803D0E18 02DEFC 003A+02 0/1 0/0 0/0 .data @848 */ -#pragma push -#pragma force_active on -SECTION_DATA static char lit_848[] = "OSCheckActiveThreads: Failed thread->queue == NULL in %d\n"; -#pragma pop - -/* 803D0E18-803D0E54 02DF38 003A+02 0/1 0/0 0/0 .data @849 */ -#pragma push -#pragma force_active on -SECTION_DATA static char lit_849[] = "OSCheckActiveThreads: Failed thread->queue != NULL in %d\n"; -#pragma pop - -/* 803D0E54-803D0E98 02DF74 0044+00 0/1 0/0 0/0 .data @850 */ -#pragma push -#pragma force_active on -SECTION_DATA static char lit_850[] = - "OSCheckActiveThreads: Failed CheckThreadQueue(thread->queue) in %d\n"; -#pragma pop - -/* 803D0E98-803D0EDC 02DFB8 0044+00 0/1 0/0 0/0 .data @851 */ -#pragma push -#pragma force_active on -SECTION_DATA static char lit_851[] = - "OSCheckActiveThreads: Failed IsMember(thread->queue, thread) in %d\n"; -#pragma pop - -/* 803D0EDC-803D0F18 02DFFC 003B+01 0/1 0/0 0/0 .data @852 */ -#pragma push -#pragma force_active on -SECTION_DATA static char lit_852[] = "OSCheckActiveThreads: Failed thread->priority == 32 in %d\n"; -#pragma pop - -/* 803D0F18-803D0F58 02E038 003F+01 0/1 0/0 0/0 .data @853 */ -#pragma push -#pragma force_active on -SECTION_DATA static char lit_853[] = - "OSCheckActiveThreads: Failed !__OSCheckDeadLock(thread) in %d\n"; -#pragma pop - -/* 803D0F58-803D0FC0 02E078 0067+01 0/1 0/0 0/0 .data @854 */ -#pragma push -#pragma force_active on -SECTION_DATA static char lit_854[] = "OSCheckActiveThreads: Failed thread->queueMutex.head == NULL " - "&& thread->queueMutex.tail == NULL in %d\n"; -#pragma pop - -/* 803D0FC0-803D1008 02E0E0 0045+03 0/1 0/0 0/0 .data @855 */ -#pragma push -#pragma force_active on -SECTION_DATA static char lit_855[] = - "OSCheckActiveThreads: Failed. unkown thread state (%d) of thread %p\n"; -#pragma pop - -/* 803D1008-803D1048 02E128 003D+03 0/1 0/0 0/0 .data @856 */ -#pragma push -#pragma force_active on -SECTION_DATA static char lit_856[] = - "OSCheckActiveThreads: Failed __OSCheckMutexes(thread) in %d\n"; -#pragma pop - -/* 804509BC-804509C0 00043C 0001+03 1/1 0/0 0/0 .sdata @833 */ -SECTION_SDATA static char lit_833[] = ""; + current = current->link.next; + } + return FALSE; +} /* 80341F00-80342650 33C840 0750+00 0/0 1/1 0/0 .text OSCheckActiveThreads */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 OSCheckActiveThreads(void) { - nofralloc -#include "asm/dolphin/os/OSThread/OSCheckActiveThreads.s" +s32 OSCheckActiveThreads(void) { + s32 i; + OSThread* thread; + s32 rv = 0; + BOOL enabled; + enabled = OSDisableInterrupts(); + + for (i = 0; i <= 31; i++) { + if (RunQueueBits & (1 << (31-i))) { + if (RunQueue[i].head == NULL || RunQueue[i].tail == NULL) { + OSReport("OSCheckActiveThreads: Failed RunQueue[prio].head != NULL && RunQueue[prio].tail != NULL in %d\n", 0x5e0); + OSPanic(__FILE__, 0x5e0, ""); + } + } else { + if (RunQueue[i].head != NULL || RunQueue[i].tail != NULL) { + OSReport("OSCheckActiveThreads: Failed RunQueue[prio].head == NULL && RunQueue[prio].tail == NULL in %d\n", 0x5e5); + OSPanic(__FILE__, 0x5e5, ""); + } + } + + if (CheckThreadQueue(&RunQueue[i]) == 0) { + OSReport("OSCheckActiveThreads: Failed CheckThreadQueue(&RunQueue[prio]) in %d\n", 0x5e7); + OSPanic(__FILE__, 0x5e7, ""); + } + } + + if (OS_THREAD_QUEUE.head != NULL && OS_THREAD_QUEUE.head->active_threads_link.prev != NULL) { + OSReport("OSCheckActiveThreads: Failed __OSActiveThreadQueue.head == NULL || __OSActiveThreadQueue.head->linkActive.prev == NULL in %d\n", 0x5ec); + OSPanic(__FILE__, 0x5ec, ""); + } + + if (OS_THREAD_QUEUE.tail != NULL && OS_THREAD_QUEUE.tail->active_threads_link.next != NULL) { + OSReport("OSCheckActiveThreads: Failed __OSActiveThreadQueue.tail == NULL || __OSActiveThreadQueue.tail->linkActive.next == NULL in %d\n", 0x5ee); + OSPanic(__FILE__, 0x5ee, ""); + } + + thread = OS_THREAD_QUEUE.head; + + while (thread != NULL) { + rv++; + if (thread->active_threads_link.next != NULL && thread != thread->active_threads_link.next->active_threads_link.prev) { + OSReport("OSCheckActiveThreads: Failed thread->linkActive.next == NULL || thread == thread->linkActive.next->linkActive.prev in %d\n", 0x5f6); + OSPanic(__FILE__, 0x5f6, ""); + } + + if (thread->active_threads_link.prev != NULL && thread != thread->active_threads_link.prev->active_threads_link.next) { + OSReport("OSCheckActiveThreads: Failed thread->linkActive.prev == NULL || thread == thread->linkActive.prev->linkActive.next in %d\n", 0x5f8); + OSPanic(__FILE__, 0x5f8, ""); + } + + if (*(u32*)thread->stack_end != OS_THREAD_STACK_MAGIC) { + OSReport("OSCheckActiveThreads: Failed *(thread->stackEnd) == OS_THREAD_STACK_MAGIC in %d\n", 0x5fb); + OSPanic(__FILE__, 0x5fb, ""); + } + + if (OS_PRIORITY_MIN > thread->effective_priority || thread->effective_priority > OS_PRIORITY_MAX+1) { + OSReport("OSCheckActiveThreads: Failed OS_PRIORITY_MIN <= thread->priority && thread->priority <= OS_PRIORITY_MAX+1 in %d\n", 0x5fe); + OSPanic(__FILE__, 0x5fe, ""); + } + + if (thread->suspend_count < 0) { + OSReport("OSCheckActiveThreads: Failed 0 <= thread->suspend in %d\n", 0x5ff); + OSPanic(__FILE__, 0x5ff, ""); + } + + if (!CheckThreadQueue(&thread->join_queue)) { + OSReport("OSCheckActiveThreads: Failed CheckThreadQueue(&thread->queueJoin) in %d\n", 0x600); + OSPanic(__FILE__, 0x600, ""); + } + + switch (thread->state) { + case OS_THREAD_STATE_READY: + if (thread->suspend_count <= 0) { + if (thread->queue != &RunQueue[thread->effective_priority]) { + OSReport("OSCheckActiveThreads: Failed thread->queue == &RunQueue[thread->priority] in %d\n", 0x606); + OSPanic(__FILE__, 0x606, ""); + } + + if (!isMember(&RunQueue[thread->effective_priority], thread)) { + OSReport("OSCheckActiveThreads: Failed IsMember(&RunQueue[thread->priority], thread) in %d\n", 0x607); + OSPanic(__FILE__, 0x607, ""); + } + + if (thread->effective_priority != __OSGetEffectivePriority(thread)) { + OSReport("OSCheckActiveThreads: Failed thread->priority == __OSGetEffectivePriority(thread) in %d\n", 0x608); + OSPanic(__FILE__, 0x608, ""); + } + } + break; + case OS_THREAD_STATE_RUNNING: + if (thread->suspend_count > 0) { + OSReport("OSCheckActiveThreads: Failed !IsSuspended(thread->suspend) in %d\n", 0x60c); + OSPanic(__FILE__, 0x60c, ""); + } + + if (thread->queue != NULL) { + OSReport("OSCheckActiveThreads: Failed thread->queue == NULL in %d\n", 0x60d); + OSPanic(__FILE__, 0x60d, ""); + } + + if (thread->effective_priority != __OSGetEffectivePriority(thread)) { + OSReport("OSCheckActiveThreads: Failed thread->priority == __OSGetEffectivePriority(thread) in %d\n", 0x60e); + OSPanic(__FILE__, 0x60e, ""); + } + break; + case OS_THREAD_STATE_WAITING: + if (thread->queue == NULL) { + OSReport("OSCheckActiveThreads: Failed thread->queue != NULL in %d\n", 0x611); + OSPanic(__FILE__, 0x611, ""); + } + + if (CheckThreadQueue(thread->queue) == 0) { + OSReport("OSCheckActiveThreads: Failed CheckThreadQueue(thread->queue) in %d\n", 0x612); + OSPanic(__FILE__, 0x612, ""); + } + + if (!isMember(thread->queue, thread)) { + OSReport("OSCheckActiveThreads: Failed IsMember(thread->queue, thread) in %d\n", 0x613); + OSPanic(__FILE__, 0x613, ""); + } + + if (thread->suspend_count <= 0) { + if (thread->effective_priority != __OSGetEffectivePriority(thread)) { + OSReport("OSCheckActiveThreads: Failed thread->priority == __OSGetEffectivePriority(thread) in %d\n", 0x616); + OSPanic(__FILE__, 0x616, ""); + } + } else if (thread->effective_priority != 32) { + OSReport("OSCheckActiveThreads: Failed thread->priority == 32 in %d\n", 0x61a); + OSPanic(__FILE__, 0x61a, ""); + } + + if (__OSCheckDeadLock(thread)) { + OSReport("OSCheckActiveThreads: Failed !__OSCheckDeadLock(thread) in %d\n", 0x61c); + OSPanic(__FILE__, 0x61c, ""); + } + break; + case OS_THREAD_STATE_DEAD: + if (thread->owned_mutexes.head != NULL || thread->owned_mutexes.tail != NULL) { + OSReport("OSCheckActiveThreads: Failed thread->queueMutex.head == NULL && thread->queueMutex.tail == NULL in %d\n", 0x620); + OSPanic(__FILE__, 0x620, ""); + } + break; + default: + OSReport("OSCheckActiveThreads: Failed. unkown thread state (%d) of thread %p\n", thread->state, thread); + OSPanic(__FILE__, 0x626, ""); + break; + } + + if (!__OSCheckMutexes(thread)) { + OSReport("OSCheckActiveThreads: Failed __OSCheckMutexes(thread) in %d\n", 0x62b); + OSPanic(__FILE__, 0x62b, ""); + } + + thread = thread->active_threads_link.next; + } + + OSRestoreInterrupts(enabled); + return rv; } -#pragma pop /* 80342650-803426FC 33CF90 00AC+00 1/1 0/0 0/0 .text OSClearStack */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void OSClearStack(u32 value) { - nofralloc -#include "asm/dolphin/os/OSThread/OSClearStack.s" +void OSClearStack(u8 val) { + u32* sp; + u32* p; + u32 pattern; + + pattern = ((u32)val << 24) | ((u32)val << 16) | ((u32)val << 8) | (u32)val; + sp = (u32*)OSGetStackPointer(); + for (p = ((u32*)__OSCurrentThread->stack_end) + 1; p < sp; ++p) { + *p = pattern; + } } -#pragma pop /* ############################################################################################## */ /* 804516D0-804516D8 000BD0 0008+00 0/0 2/1 0/0 .sbss None */ diff --git a/libs/dolphin/os/OSTime.c b/libs/dolphin/os/OSTime.c index 3e2abdf929e..34d93bde8bd 100644 --- a/libs/dolphin/os/OSTime.c +++ b/libs/dolphin/os/OSTime.c @@ -134,7 +134,7 @@ static void GetDates(s32 days, OSCalendarTime* cal) { #define BIAS (2000 * 365 + (2000 + 3) / 4 - (2000 - 1) / 100 + (2000 - 1) / 400) /* 80342974-80342B78 33D2B4 0204+00 0/0 4/4 0/0 .text OSTicksToCalendarTime */ -#ifdef NONMATCHING +#pragma dont_inline on void OSTicksToCalendarTime(OSTime ticks, OSCalendarTime* td) { int days; int secs; @@ -161,13 +161,4 @@ void OSTicksToCalendarTime(OSTime ticks, OSCalendarTime* td) { td->minutes = (secs / 60) % 60; td->seconds = secs % 60; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSTicksToCalendarTime(OSTime ticks, OSCalendarTime* ct) { - nofralloc -#include "asm/dolphin/os/OSTime/OSTicksToCalendarTime.s" -} -#pragma pop -#endif +#pragma dont_inline reset diff --git a/libs/dolphin/si/SIBios.c b/libs/dolphin/si/SIBios.c index 132316cc60f..5b2e0d1fb75 100644 --- a/libs/dolphin/si/SIBios.c +++ b/libs/dolphin/si/SIBios.c @@ -180,7 +180,6 @@ inline void SITransferNext(s32 chan) { static u8 cmdTypeAndStatus_78[4]; /* 80344EF8-8034523C 33F838 0344+00 1/1 0/0 0/0 .text SIInterruptHandler */ -#ifdef NONMATCHING static void SIInterruptHandler(OSInterrupt interrupt, OSContext* context) { u32 reg; @@ -247,16 +246,6 @@ static void SIInterruptHandler(OSInterrupt interrupt, OSContext* context) { } } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void SIInterruptHandler(OSInterrupt interrupt, OSContext* context) { - nofralloc -#include "asm/dolphin/si/SIBios/SIInterruptHandler.s" -} -#pragma pop -#endif /* 8034523C-803452D4 33FB7C 0098+00 2/2 0/0 0/0 .text SIEnablePollingInterrupt */ static BOOL SIEnablePollingInterrupt(BOOL enable) { @@ -677,7 +666,6 @@ static void GetTypeCallback(s32 chan, u32 error, OSContext* context) { } /* 80345F90-80346154 3408D0 01C4+00 2/2 3/3 0/0 .text SIGetType */ -#ifdef NONMATCHING u32 SIGetType(s32 chan) { static u32 cmdTypeAndStatus; BOOL enabled; @@ -712,16 +700,6 @@ u32 SIGetType(s32 chan) { OSRestoreInterrupts(enabled); return type; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 SIGetType(s32 chan) { - nofralloc -#include "asm/dolphin/si/SIBios/SIGetType.s" -} -#pragma pop -#endif /* 80346154-80346290 340A94 013C+00 0/0 6/6 0/0 .text SIGetTypeAsync */ u32 SIGetTypeAsync(s32 chan, SITypeAndStatusCallback callback) { diff --git a/libs/dolphin/si/SISamplingRate.c b/libs/dolphin/si/SISamplingRate.c index 7a6ff1a28b5..c7c02cf188e 100644 --- a/libs/dolphin/si/SISamplingRate.c +++ b/libs/dolphin/si/SISamplingRate.c @@ -34,18 +34,10 @@ static XY XYPAL[12] = { }; #pragma pop -/* 803D1330-803D1368 02E450 0033+05 0/1 0/0 0/0 .data @16 */ -#pragma push -#pragma force_active on -SECTION_DATA static char lit_16[] = "SISetSamplingRate: unknown TV format. Use default."; -#pragma pop - /* 80451700-80451708 000C00 0004+04 2/2 0/0 0/0 .sbss SamplingRate */ static u32 SamplingRate; /* 80346290-80346374 340BD0 00E4+00 1/1 1/1 0/0 .text SISetSamplingRate */ -// needs compiler epilogue patch -#ifdef NONMATCHING void SISetSamplingRate(u32 msec) { XY* xy; BOOL enabled; @@ -77,16 +69,6 @@ void SISetSamplingRate(u32 msec) { SISetXY((__VIRegs[54] & 1 ? 2u : 1u) * xy[msec].line, xy[msec].count); OSRestoreInterrupts(enabled); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void SISetSamplingRate(u32 msec) { - nofralloc -#include "asm/dolphin/si/SISamplingRate/SISetSamplingRate.s" -} -#pragma pop -#endif /* 80346374-80346398 340CB4 0024+00 0/0 2/2 0/0 .text SIRefreshSamplingRate */ void SIRefreshSamplingRate() { diff --git a/libs/dolphin/vi/Makefile b/libs/dolphin/vi/Makefile index 77b012b0c64..d16012c0cb4 100644 --- a/libs/dolphin/vi/Makefile +++ b/libs/dolphin/vi/Makefile @@ -14,6 +14,7 @@ LIBVI_A_CFLAGS := \ -fp hard \ -nodefaults \ -str reuse \ + -inline auto \ -RTTI off \ -maxerrors 5 \ -enum int $(INCLUDES) \ @@ -35,10 +36,11 @@ $(BUILD_DIR)/libs/dolphin/vi/%.o: libs/dolphin/vi/%.c $(BUILD_DIR)/libs/dolphin/ @mkdir -p $(@D) @echo building... $< @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c + @$(FRANK_CC) $(LIBVI_A_CFLAGS) -c -o $(@:.o=.po) $(basename $@).c @$(DOLPHIN_LIB_CC) $(LIBVI_A_CFLAGS) $(DEPFLAGS) -c -o $(dir $@) $(basename $@).c @if [ -z '$(DISABLE_DEPS)' ]; then tools/transform-dep.py '$(basename $@).d' '$(basename $@).d'; touch -c $@; fi @echo Frank is fixing $@ - @$(PYTHON) $(FRANK) $@ $@ $@ + @$(PYTHON) $(FRANK) $@ $(@:.o=.po) $@ ifndef DISABLE_DEPS LIBVI_A_D_FILES := $(LIBVI_A_O_FILES:.o=.d) diff --git a/libs/dolphin/vi/vi.c b/libs/dolphin/vi/vi.c index 0fec2d2804c..f21ede57002 100644 --- a/libs/dolphin/vi/vi.c +++ b/libs/dolphin/vi/vi.c @@ -14,15 +14,15 @@ void __VIRetraceHandler(); static void getTiming(); void __VIInit(); -static void setFbbRegs(); -static void setVerticalRegs(); +static void setFbbRegs(void**, void**, void**, void**, void**); +static void setVerticalRegs(u16, u16, u8, u16, u16, u16, u16, u16, u32); u32 VIGetRetraceCount(); -static void GetCurrentDisplayPosition(); +static void GetCurrentDisplayPosition(u32* x, u32* y); static void getCurrentFieldEvenOdd(); -void VIGetNextField(); +u32 VIGetNextField(); void VIGetCurrentLine(); void VIGetTvFormat(); -void VIGetDTVStatus(); +u32 VIGetDTVStatus(); void __VIDisplayPositionToXY(); void __VIGetCurrentPosition(); @@ -46,19 +46,19 @@ static u8 regs[118 + 2 /* padding */]; static u8 IsInitialized[4]; /* 804517E4-804517E8 000CE4 0004+00 4/3 0/0 0/0 .sbss retraceCount */ -static u8 retraceCount[4]; +static u32 retraceCount; /* 804517E8-804517EC 000CE8 0004+00 3/3 0/0 0/0 .sbss flushFlag */ static u8 flushFlag[4]; /* 804517EC-804517F4 000CEC 0008+00 3/3 0/0 0/0 .sbss retraceQueue */ -static u8 retraceQueue[8]; +static OSThreadQueue retraceQueue; /* 804517F4-804517F8 000CF4 0004+00 3/3 0/0 0/0 .sbss PreCB */ -static u8 PreCB[4]; +static VIRetraceCallback PreCB; /* 804517F8-804517FC 000CF8 0004+00 3/3 0/0 0/0 .sbss PostCB */ -static u8 PostCB[4]; +static VIRetraceCallback PostCB; /* 804517FC-80451800 000CFC 0004+00 1/1 0/0 0/0 .sbss PositionCallback */ static u8 PositionCallback[4]; @@ -112,24 +112,22 @@ asm void __VIRetraceHandler() { #pragma pop /* 8034C1E0-8034C224 346B20 0044+00 0/0 4/4 0/0 .text VISetPreRetraceCallback */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm VIRetraceCallback VISetPreRetraceCallback(VIRetraceCallback) { - nofralloc -#include "asm/dolphin/vi/vi/VISetPreRetraceCallback.s" +VIRetraceCallback VISetPreRetraceCallback(VIRetraceCallback cb) { + VIRetraceCallback prevCb = PreCB; + BOOL enable = OSDisableInterrupts(); + PreCB = cb; + OSRestoreInterrupts(enable); + return prevCb; } -#pragma pop /* 8034C224-8034C268 346B64 0044+00 0/0 4/4 2/2 .text VISetPostRetraceCallback */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm VIRetraceCallback VISetPostRetraceCallback(VIRetraceCallback) { - nofralloc -#include "asm/dolphin/vi/vi/VISetPostRetraceCallback.s" +VIRetraceCallback VISetPostRetraceCallback(VIRetraceCallback cb) { + VIRetraceCallback prevCb = PostCB; + BOOL enable = OSDisableInterrupts(); + PostCB = cb; + OSRestoreInterrupts(enable); + return prevCb; } -#pragma pop /* ############################################################################################## */ /* 803D1760-803D17A4 02E880 0044+00 4/3 0/0 0/0 .data @1 */ @@ -247,7 +245,7 @@ SECTION_DATA static void* lit_101[31] = { }; /* 80451838-8045183C 000D38 0004+00 2/2 0/0 0/0 .sbss FBSet */ -static u8 FBSet[4]; +static u32 FBSet; /* 8045183C-80451840 000D3C 0004+00 1/1 0/0 0/0 .sbss timingExtra */ static u8 timingExtra[4]; @@ -296,20 +294,22 @@ asm void VIInit() { #pragma pop /* 8034C9C4-8034CA18 347304 0054+00 0/0 10/10 0/0 .text VIWaitForRetrace */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void VIWaitForRetrace() { - nofralloc -#include "asm/dolphin/vi/vi/VIWaitForRetrace.s" +void VIWaitForRetrace() { + BOOL enable = OSDisableInterrupts(); + u32 startVal = retraceCount; + + do { + OSSleepThread(&retraceQueue); + } while(startVal == retraceCount); + + OSRestoreInterrupts(enable); } -#pragma pop /* 8034CA18-8034CCEC 347358 02D4+00 2/2 0/0 0/0 .text setFbbRegs */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void setFbbRegs() { +static asm void setFbbRegs(void**, void**, void**, void**, void**) { nofralloc #include "asm/dolphin/vi/vi/setFbbRegs.s" } @@ -319,7 +319,7 @@ static asm void setFbbRegs() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void setVerticalRegs() { +static asm void setVerticalRegs(u16 arg0, u16 arg1, u8 arg2, u16 arg3, u16 arg4, u16 arg5, u16 arg6, u16 arg7, u32 arg8) { nofralloc #include "asm/dolphin/vi/vi/setVerticalRegs.s" } @@ -395,14 +395,18 @@ asm void VIFlush() { #pragma pop /* 8034D7C4-8034D830 348104 006C+00 0/0 3/3 0/0 .text VISetNextFrameBuffer */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void VISetNextFrameBuffer(void*) { - nofralloc -#include "asm/dolphin/vi/vi/VISetNextFrameBuffer.s" +void VISetNextFrameBuffer(void* buffer) { + void** bufferArray = (void**)regs; + BOOL enable = OSDisableInterrupts(); + + bufferArray[72] = buffer; + FBSet = 1; + setFbbRegs(bufferArray + 60, bufferArray + 73, + bufferArray + 74, bufferArray + 79, bufferArray + 80 + ); + + OSRestoreInterrupts(enable); } -#pragma pop /* 8034D830-8034D838 -00001 0008+00 0/0 0/0 0/0 .text VIGetNextFrameBuffer */ void* VIGetNextFrameBuffer() { @@ -415,29 +419,59 @@ void* VIGetCurrentFrameBuffer() { } /* 8034D840-8034D8BC 348180 007C+00 0/0 7/7 0/0 .text VISetBlack */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void VISetBlack(BOOL) { - nofralloc -#include "asm/dolphin/vi/vi/VISetBlack.s" +void VISetBlack(BOOL isBlack) { + u8* ptr = regs; + u16* ptr2; + BOOL enable = OSDisableInterrupts(); + + ((u32*)ptr)[76] = isBlack; + ptr2 = ((u16**)ptr)[81]; + setVerticalRegs( + ((u16*)ptr)[125], + ((u16*)ptr)[123], + ((u8*)ptr2)[0], + ptr2[1], + ptr2[2], + ptr2[3], + ptr2[4], + ptr2[5], + ((u32*)ptr)[76] + ); + + OSRestoreInterrupts(enable); } -#pragma pop /* 8034D8BC-8034D8C4 -00001 0008+00 0/0 0/0 0/0 .text VIGetRetraceCount */ u32 VIGetRetraceCount() { - return *(u32*)(&retraceCount); + return retraceCount; } /* 8034D8C4-8034D900 348204 003C+00 1/1 0/0 0/0 .text GetCurrentDisplayPosition */ +#ifdef NONMATCHING +void GetCurrentDisplayPosition(u32* x, u32* y) { + u32 val3; + u32 val4; + u32 val = __VIRegs[22] & 0x7FF; + + do { + val4 = val; + val = __VIRegs[22] & 0x7FF; + val3 = __VIRegs[23] & 0x7FF; + } while (val4 != val); + + *x = val3; + *y = val; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void GetCurrentDisplayPosition() { +static asm void GetCurrentDisplayPosition(u32* x, u32* y) { nofralloc #include "asm/dolphin/vi/vi/GetCurrentDisplayPosition.s" } #pragma pop +#endif /* 8034D900-8034D968 348240 0068+00 1/1 0/0 0/0 .text getCurrentFieldEvenOdd */ #pragma push @@ -453,7 +487,7 @@ static asm void getCurrentFieldEvenOdd() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void VIGetNextField() { +asm u32 VIGetNextField() { nofralloc #include "asm/dolphin/vi/vi/VIGetNextField.s" } @@ -495,14 +529,13 @@ asm void VIGetTvFormat() { #pragma pop /* 8034DB04-8034DB40 348444 003C+00 0/0 2/2 0/0 .text VIGetDTVStatus */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void VIGetDTVStatus() { - nofralloc -#include "asm/dolphin/vi/vi/VIGetDTVStatus.s" +u32 VIGetDTVStatus() { + u32 val; + BOOL enable = OSDisableInterrupts(); + val = __VIRegs[55] & 3; + OSRestoreInterrupts(enable); + return val & 1; } -#pragma pop /* 8034DB40-8034DD5C 348480 021C+00 1/1 0/0 0/0 .text __VIDisplayPositionToXY */ #pragma push diff --git a/makewibo.sh b/makewibo.sh new file mode 100755 index 00000000000..4665815c3a5 --- /dev/null +++ b/makewibo.sh @@ -0,0 +1,3 @@ +#!/bin/bash +#used with objdiff to force it to build with wibo +make $1 WINE=wibo WINE_LD=wine \ No newline at end of file diff --git a/rel/d/a/b/d_a_b_go/d_a_b_go.cpp b/rel/d/a/b/d_a_b_go/d_a_b_go.cpp index 7940f6ae33f..e3c26479d80 100644 --- a/rel/d/a/b/d_a_b_go/d_a_b_go.cpp +++ b/rel/d/a/b/d_a_b_go/d_a_b_go.cpp @@ -168,7 +168,6 @@ extern "C" void _savegpr_29(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; @@ -371,7 +370,7 @@ COMPILER_STRIP_GATE(0x80604064, &lit_3705); // matches with literals #ifdef NONMATCHING static void h_wait(b_go_class* b_go) { - b_go->mSpeedF = 0.0f; + b_go->speedF = 0.0f; switch (b_go->field_0x66c) { case 0: @@ -431,7 +430,7 @@ static void h_walk(b_go_class* b_go) { break; } - cLib_addCalc2(&b_go->mSpeedF, speed, 1.0f, 1.0f); + cLib_addCalc2(&b_go->speedF, speed, 1.0f, 1.0f); cLib_addCalcAngleS2(&b_go->current.angle.y, b_go->mAngleToPlayer, 1, 0x200); } #else @@ -449,7 +448,7 @@ static asm void h_walk(b_go_class* param_0) { #ifdef NONMATCHING static void h_attack(b_go_class* b_go) { int frame = b_go->mpMorf->getFrame(); - cLib_addCalc0(&b_go->mSpeedF, 1.0f, 1.0f); + cLib_addCalc0(&b_go->speedF, 1.0f, 1.0f); switch (b_go->field_0x66c) { case 0: @@ -536,15 +535,15 @@ static void action(b_go_class* b_go) { cXyz speed; speed.x = 0.0f; speed.y = 0.0f; - speed.z = b_go->mSpeedF; + speed.z = b_go->speedF; cXyz newSpeed; MtxPosition(&speed, &newSpeed); - b_go->mSpeed.x = newSpeed.x; - b_go->mSpeed.z = newSpeed.z; + b_go->speed.x = newSpeed.x; + b_go->speed.z = newSpeed.z; - PSVECAdd(&b_go->current.pos, &b_go->mSpeed, &b_go->current.pos); - b_go->mSpeed.y += b_go->mGravity; + PSVECAdd(&b_go->current.pos, &b_go->speed, &b_go->current.pos); + b_go->speed.y += b_go->mGravity; b_go->mAcch.CrrPos(dComIfG_Bgsp()); } @@ -581,7 +580,7 @@ static int daB_GO_Execute(b_go_class* b_go) { mDoMtx_stack_c::YrotM(b_go->shape_angle.y); mDoMtx_stack_c::scaleM((*(daB_GO_HIO_c*)l_HIO).mSmallSize, (*(daB_GO_HIO_c*)l_HIO).mSmallSize, (*(daB_GO_HIO_c*)l_HIO).mSmallSize); mDoMtx_stack_c::copy(b_go->mpMorf->getModel()->getBaseTRMtx()); - b_go->mpMorf->play(0, dComIfGp_getReverb(b_go->current.mRoomNo)); + b_go->mpMorf->play(0, dComIfGp_getReverb(b_go->current.roomNo)); b_go->mpMorf->modelCalc(); return 1; @@ -718,7 +717,7 @@ static int daB_GO_Create(fopAc_ac_c* i_actor) { b_go->field_0x560 = 1000; b_go->mAcch.Set(&b_go->current.pos, &b_go->next.pos, b_go, 1, &b_go->mAcchCir, - &b_go->mSpeed, NULL, NULL); + &b_go->speed, NULL, NULL); b_go->mAcchCir.SetWall(100.0f, 300.0f); b_go->mZ2Enemy.init(&b_go->current.pos, &b_go->mEyePos, 3, 1); diff --git a/rel/d/a/b/d_a_b_oh2/d_a_b_oh2.cpp b/rel/d/a/b/d_a_b_oh2/d_a_b_oh2.cpp index 1780ddaa75b..3e1294891aa 100644 --- a/rel/d/a/b/d_a_b_oh2/d_a_b_oh2.cpp +++ b/rel/d/a/b/d_a_b_oh2/d_a_b_oh2.cpp @@ -9,8 +9,6 @@ #include "c/c_damagereaction.h" #include "d/d_procname.h" -extern "C" extern leafdraw_method_class g_fopAc_Method; - /* 8061DCB8-8061DDB0 000078 00F8+00 1/1 0/0 0/0 .text nodeCallBack__FP8J3DJointi */ static int nodeCallBack(J3DJoint* i_joint, int param_1) { if (param_1 == 0) { @@ -83,7 +81,7 @@ static void dmcalc(b_oh2_class* i_this) { f32 var_f30 = 0.0f; f32 var_f29 = -50000.0f; - if (boss->mSpeedF < var_f31) { + if (boss->speedF < var_f31) { var_f29 = boss->field_0x47a0 + 100.0f; var_f30 = -20.0f; } @@ -122,7 +120,7 @@ static void dmcalc(b_oh2_class* i_this) { int temp_r6 = 0; for (int i = 0; i < 30; i++, temp_r6 += -10000) { - if (boss->mSpeedF > 1.0f) { + if (boss->speedF > 1.0f) { i_this->field_0x5e8[i] = i_this->field_0x5e0 + 1.0f + (i_this->field_0x5e0 * cM_ssin(i_this->field_0x5dc + temp_r6)); } else { @@ -164,7 +162,7 @@ static void action(b_oh2_class* i_this) { int roomNo = fopAcM_GetRoomNo(i_this); i_this->mpMorf->play(0, dComIfGp_getReverb(roomNo)); - if (boss->mSpeedF <= 1.0f) { + if (boss->speedF <= 1.0f) { i_this->mpBrk->setFrame(0.0f); i_this->mpBtk->setFrame(0.0f); } else { @@ -324,7 +322,7 @@ extern actor_process_profile_definition g_profile_B_OH2 = { sizeof(b_oh2_class), 0, 0, - &g_fopAc_Method, + &g_fopAc_Method.base, 0x00DB, 0, 0, diff --git a/rel/d/a/d_a_alldie/d_a_alldie.cpp b/rel/d/a/d_a_alldie/d_a_alldie.cpp index 768142b1a4e..09bb3def807 100644 --- a/rel/d/a/d_a_alldie/d_a_alldie.cpp +++ b/rel/d/a/d_a_alldie/d_a_alldie.cpp @@ -1,23 +1,11 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_alldie -// +/** + * d_a_alldie.cpp + * Activates a switch when all enemies are defeated +*/ #include "rel/d/a/d_a_alldie/d_a_alldie.h" -#include "dol2asm.h" -#include "dolphin/types.h" #include "d/com/d_com_inf_game.h" -// -// External References: -// - -extern "C" extern void* g_fopAc_Method[8]; - -// -// Declarations: -// - /* 804D5818-804D5824 000078 000C+00 2/2 0/0 0/0 .text getEventNo__10daAlldie_cFv */ u8 daAlldie_c::getEventNo() { return fopAcM_GetParam(this) >> 0x18; @@ -212,23 +200,33 @@ static int daAlldie_Create(fopAc_ac_c* i_this) { /* ############################################################################################## */ /* 804D5D24-804D5D44 -00001 0020+00 1/0 0/0 0/0 .data l_daAlldie_Method */ -SECTION_DATA static void* l_daAlldie_Method[8] = { - (void*)daAlldie_Create, - (void*)daAlldie_Delete, - (void*)daAlldie_Execute, - (void*)daAlldie_IsDelete, - (void*)daAlldie_Draw, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daAlldie_Method = { + (process_method_func)daAlldie_Create, + (process_method_func)daAlldie_Delete, + (process_method_func)daAlldie_Execute, + (process_method_func)daAlldie_IsDelete, + (process_method_func)daAlldie_Draw, }; /* 804D5D44-804D5D74 -00001 0030+00 0/0 0/0 1/0 .data g_profile_ALLDIE */ -SECTION_DATA extern void* g_profile_ALLDIE[12] = { - (void*)0xFFFFFFFD, (void*)0x0002FFFD, - (void*)0x00140000, (void*)&g_fpcLf_Method, - (void*)0x00000574, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x01160000, (void*)&l_daAlldie_Method, - (void*)0x00044000, (void*)0x00060000, +extern actor_process_profile_definition g_profile_ALLDIE = { + -3, + 2, + 0xFFFD, + PROC_ALLDIE, + 0, + &g_fpcLf_Method.mBase, + sizeof(daAlldie_c), + 0, + 0, + &g_fopAc_Method.base, + 0x0116, + 0, + 0, + &l_daAlldie_Method, + 0x00044000, + 0, + 6, + 0, + 0, }; diff --git a/rel/d/a/d_a_arrow/d_a_arrow.cpp b/rel/d/a/d_a_arrow/d_a_arrow.cpp index 3982cbdb6aa..60dd2568889 100644 --- a/rel/d/a/d_a_arrow/d_a_arrow.cpp +++ b/rel/d/a/d_a_arrow/d_a_arrow.cpp @@ -193,7 +193,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; extern "C" extern void* __vt__22dPa_hermiteEcallBack_c[9]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__8dCcD_Cps[36]; diff --git a/rel/d/a/d_a_bg/d_a_bg.cpp b/rel/d/a/d_a_bg/d_a_bg.cpp index 2b0ba111959..231c09dca9b 100644 --- a/rel/d/a/d_a_bg/d_a_bg.cpp +++ b/rel/d/a/d_a_bg/d_a_bg.cpp @@ -171,7 +171,6 @@ extern "C" void _restgpr_20(); extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; extern "C" extern void* __vt__14J3DMaterialAnm[4]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" u8 mClipper__14mDoLib_clipper[92]; @@ -995,8 +994,8 @@ int daBg_c::create() { fopAcM_OnCondition(this, 8); } - orig.mRoomNo = roomNo; - current.mRoomNo = roomNo; + orig.roomNo = roomNo; + current.roomNo = roomNo; JKRExpHeap* heap = dStage_roomControl_c::getMemoryBlock(roomNo); if (heap != NULL) { diff --git a/rel/d/a/d_a_boomerang/d_a_boomerang.cpp b/rel/d/a/d_a_boomerang/d_a_boomerang.cpp index d9b6feef7d9..fd21617d6e2 100644 --- a/rel/d/a/d_a_boomerang/d_a_boomerang.cpp +++ b/rel/d/a/d_a_boomerang/d_a_boomerang.cpp @@ -229,7 +229,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__8dCcD_Cps[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; diff --git a/rel/d/a/d_a_canoe/d_a_canoe.cpp b/rel/d/a/d_a_canoe/d_a_canoe.cpp index 69dc9952a30..c59f9f98c8b 100644 --- a/rel/d/a/d_a_canoe/d_a_canoe.cpp +++ b/rel/d/a/d_a_canoe/d_a_canoe.cpp @@ -169,7 +169,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; diff --git a/rel/d/a/d_a_crod/d_a_crod.cpp b/rel/d/a/d_a_crod/d_a_crod.cpp index 4b5dae8c3b9..211743b8fe8 100644 --- a/rel/d/a/d_a_crod/d_a_crod.cpp +++ b/rel/d/a/d_a_crod/d_a_crod.cpp @@ -112,7 +112,6 @@ extern "C" void _savegpr_27(); extern "C" void _savegpr_29(); extern "C" void _restgpr_27(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; extern "C" extern void* __vt__8dCcD_Cps[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_CpsAttr[25]; diff --git a/rel/d/a/d_a_cstatue/d_a_cstatue.cpp b/rel/d/a/d_a_cstatue/d_a_cstatue.cpp index 67f19db567b..5e194b95311 100644 --- a/rel/d/a/d_a_cstatue/d_a_cstatue.cpp +++ b/rel/d/a/d_a_cstatue/d_a_cstatue.cpp @@ -181,7 +181,6 @@ extern "C" void _restgpr_23(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__8dCcD_Cps[36]; diff --git a/rel/d/a/d_a_horse/d_a_horse.cpp b/rel/d/a/d_a_horse/d_a_horse.cpp index daadca42174..848defa6e4e 100644 --- a/rel/d/a/d_a_horse/d_a_horse.cpp +++ b/rel/d/a/d_a_horse/d_a_horse.cpp @@ -474,7 +474,6 @@ extern "C" u8 const m_handRightInSidePos__9daAlink_c[12]; extern "C" extern void* __vt__19mDoExt_3DlineMat1_c[5]; extern "C" extern void* __vt__28mDoExt_MtxCalcAnmBlendTblOld[11]; extern "C" extern void* __vt__25mDoExt_MtxCalcAnmBlendTbl[11]; -extern "C" extern void* g_fopAc_Method[8]; extern "C" u8 m_typeFourData__8dPaPoF_c[60]; extern "C" u8 m_emitterFourData__8dPaPoF_c[60 + 28 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; diff --git a/rel/d/a/d_a_movie_player/d_a_movie_player.cpp b/rel/d/a/d_a_movie_player/d_a_movie_player.cpp index 56804c25845..a054d14a088 100644 --- a/rel/d/a/d_a_movie_player/d_a_movie_player.cpp +++ b/rel/d/a/d_a_movie_player/d_a_movie_player.cpp @@ -250,7 +250,6 @@ extern "C" void _restgpr_27(); extern "C" void __div2i(); extern "C" void sprintf(); extern "C" void strcmp(); -extern "C" extern void* g_fopAc_Method[8]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" extern u8 g_clearColor[4]; extern "C" extern u8 mBlureFlag__13mDoGph_gInf_c[4]; diff --git a/rel/d/a/d_a_scene_exit/d_a_scene_exit.cpp b/rel/d/a/d_a_scene_exit/d_a_scene_exit.cpp index f4f6f80eec4..fa39182ef79 100644 --- a/rel/d/a/d_a_scene_exit/d_a_scene_exit.cpp +++ b/rel/d/a/d_a_scene_exit/d_a_scene_exit.cpp @@ -31,7 +31,6 @@ extern "C" void isSwitch__10dSv_info_cCFii(); extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); extern "C" void _savegpr_29(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; diff --git a/rel/d/a/d_a_set_bgobj/d_a_set_bgobj.cpp b/rel/d/a/d_a_set_bgobj/d_a_set_bgobj.cpp index b012442ad1e..5d315e13d45 100644 --- a/rel/d/a/d_a_set_bgobj/d_a_set_bgobj.cpp +++ b/rel/d/a/d_a_set_bgobj/d_a_set_bgobj.cpp @@ -6,8 +6,6 @@ #include "rel/d/a/d_a_set_bgobj/d_a_set_bgobj.h" #include "d/d_procname.h" -extern "C" extern leafdraw_method_class g_fopAc_Method; - /* 80485F00-80485F0C 000000 0009+03 1/1 0/0 0/0 .rodata l_specName */ static const char l_specName[] = "spec.dat"; @@ -78,7 +76,7 @@ extern actor_process_profile_definition g_profile_SET_BG_OBJ = { sizeof(daSetBgObj_c), 0, 0, - &g_fopAc_Method, + &g_fopAc_Method.base, 0x02F2, 0, 0, diff --git a/rel/d/a/d_a_skip_2D/d_a_skip_2D.cpp b/rel/d/a/d_a_skip_2D/d_a_skip_2D.cpp index 7883e680c25..caad67e8cea 100644 --- a/rel/d/a/d_a_skip_2D/d_a_skip_2D.cpp +++ b/rel/d/a/d_a_skip_2D/d_a_skip_2D.cpp @@ -4,17 +4,6 @@ */ #include "rel/d/a/d_a_skip_2D/d_a_skip_2D.h" -#include "dol2asm.h" - -// -// External References: -// - -extern "C" extern void* g_fopAc_Method[8]; - -// -// Declarations: -// /* 80D4D478-80D4D498 000078 0020+00 1/1 0/0 0/0 .text daSkip2D_createHeap__FP10fopAc_ac_c */ @@ -97,23 +86,31 @@ static int daSkip2D_IsDelete(void*) { /* ############################################################################################## */ /* 80D4D6DC-80D4D6FC -00001 0020+00 1/0 0/0 0/0 .data daSkip2D_MethodTable */ -SECTION_DATA static void* daSkip2D_MethodTable[8] = { - (void*)daSkip2D_Create, - (void*)daSkip2D_Delete, - (void*)daSkip2D_Execute, - (void*)daSkip2D_IsDelete, - (void*)daSkip2D_Draw, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class daSkip2D_MethodTable = { + (process_method_func)daSkip2D_Create, (process_method_func)daSkip2D_Delete, + (process_method_func)daSkip2D_Execute, (process_method_func)daSkip2D_IsDelete, + (process_method_func)daSkip2D_Draw, }; /* 80D4D6FC-80D4D72C -00001 0030+00 0/0 0/0 1/0 .data g_profile_SKIP2D */ -SECTION_DATA extern void* g_profile_SKIP2D[12] = { - (void*)0xFFFFFFFD, (void*)0x0003FFFD, - (void*)0x005B0000, (void*)&g_fpcLf_Method, - (void*)0x00000578, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x03040000, (void*)&daSkip2D_MethodTable, - (void*)0x00040000, (void*)NULL, +extern actor_process_profile_definition g_profile_SKIP2D = { + -3, + 3, + 0xFFFD, + PROC_SKIP2D, + 0000, + &g_fpcLf_Method.mBase, + sizeof(daSkip2D_c), + 0, + 0, + &g_fopAc_Method.base, + 0x0304, + 0, + 0, + &daSkip2D_MethodTable, + 0x00040000, + 0, + 0, + 0, + 0, }; \ No newline at end of file diff --git a/rel/d/a/d_a_swc00/d_a_swc00.cpp b/rel/d/a/d_a_swc00/d_a_swc00.cpp index f372879ee65..77919ff4e15 100644 --- a/rel/d/a/d_a_swc00/d_a_swc00.cpp +++ b/rel/d/a/d_a_swc00/d_a_swc00.cpp @@ -62,7 +62,6 @@ extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc(); extern "C" void endCheck__16dEvent_manager_cFs(); extern "C" void __mi__4cXyzCFRC3Vec(); extern "C" void __ptmf_scall(); -extern "C" extern void* g_fopAc_Method[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 data_805A1F28[4]; diff --git a/rel/d/a/d_a_tboxSw/d_a_tboxSw.cpp b/rel/d/a/d_a_tboxSw/d_a_tboxSw.cpp index 367c6747802..dd60f6c45d8 100644 --- a/rel/d/a/d_a_tboxSw/d_a_tboxSw.cpp +++ b/rel/d/a/d_a_tboxSw/d_a_tboxSw.cpp @@ -1,23 +1,11 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tboxSw -// +/** + * d_a_tboxSw.cpp + * Turns on a switch when a treasure chest is opened + */ #include "rel/d/a/d_a_tboxSw/d_a_tboxSw.h" -#include "dol2asm.h" -#include "dolphin/types.h" #include "d/com/d_com_inf_game.h" -// -// External References: -// - -extern "C" extern void* g_fopAc_Method[8]; - -// -// Declarations: -// - /* 80D66858-80D66860 000078 0008+00 1/1 0/0 0/0 .text Create__10daTboxSw_cFv */ int daTboxSw_c::Create() { return 1; @@ -79,23 +67,31 @@ static int daTboxSw_Create(fopAc_ac_c* i_this) { /* ############################################################################################## */ /* 80D669D0-80D669F0 -00001 0020+00 1/0 0/0 0/0 .data l_daTboxSw_Method */ -SECTION_DATA static void* l_daTboxSw_Method[8] = { - (void*)daTboxSw_Create, - (void*)daTboxSw_Delete, - (void*)daTboxSw_Execute, - (void*)NULL, - (void*)daTboxSw_Draw, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daTboxSw_Method = { + (process_method_func)daTboxSw_Create, (process_method_func)daTboxSw_Delete, + (process_method_func)daTboxSw_Execute, (process_method_func)NULL, + (process_method_func)daTboxSw_Draw, }; /* 80D669F0-80D66A20 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TBOX_SW */ -SECTION_DATA extern void* g_profile_TBOX_SW[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x016E0000, (void*)&g_fpcLf_Method, - (void*)0x00000568, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x020E0000, (void*)&l_daTboxSw_Method, - (void*)0x00040100, (void*)0x000E0000, +extern actor_process_profile_definition g_profile_TBOX_SW = { + -3, + 7, + 0xFFFD, + PROC_TBOX_SW, + 0000, + &g_fpcLf_Method.mBase, + sizeof(daTboxSw_c), + 0, + 0, + &g_fopAc_Method.base, + 0x020E, + 0, + 0, + &l_daTboxSw_Method, + 0x00040100, + 0, + 14, + 0, + 0, }; diff --git a/rel/d/a/e/d_a_e_wb/d_a_e_wb.cpp b/rel/d/a/e/d_a_e_wb/d_a_e_wb.cpp index dbf7123ec60..f827e1f34bb 100644 --- a/rel/d/a/e/d_a_e_wb/d_a_e_wb.cpp +++ b/rel/d/a/e/d_a_e_wb/d_a_e_wb.cpp @@ -351,7 +351,6 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" extern void* __vt__19mDoExt_3DlineMat1_c[5]; -extern "C" extern void* g_fopAc_Method[8]; extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; diff --git a/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.cpp b/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.cpp index a026a29d130..d6aeb5c84a7 100644 --- a/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.cpp +++ b/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.cpp @@ -1,64 +1,41 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_kytag05 -// +/** + * d_a_kytag05.cpp + * + */ #include "rel/d/a/kytag/d_a_kytag05/d_a_kytag05.h" -#include "dol2asm.h" -#include "dolphin/types.h" +#include "d/d_procname.h" #include "f_op/f_op_actor_mng.h" -// -// Forward References: -// - -extern "C" static bool daKytag05_Draw__FP13kytag05_class(); -extern "C" static bool daKytag05_Execute__FP13kytag05_class(); -extern "C" static bool daKytag05_IsDelete__FP13kytag05_class(); -extern "C" static bool daKytag05_Delete__FP13kytag05_class(); -extern "C" static void daKytag05_Create__FP10fopAc_ac_c(); -extern "C" extern void* g_profile_KYTAG05[12]; - -// -// External References: -// - -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" extern void* g_fopAc_Method[8]; - -// -// Declarations: -// - /* 80528A58-80528A60 000078 0008+00 1/0 0/0 0/0 .text daKytag05_Draw__FP13kytag05_class */ -static int daKytag05_Draw(kytag05_class* ac) { +static int daKytag05_Draw(kytag05_class* i_this) { return 1; } /* 80528A60-80528A68 000080 0008+00 1/0 0/0 0/0 .text daKytag05_Execute__FP13kytag05_class */ -static int daKytag05_Execute(kytag05_class* ac) { +static int daKytag05_Execute(kytag05_class* i_this) { return 1; } /* 80528A68-80528A70 000088 0008+00 1/0 0/0 0/0 .text daKytag05_IsDelete__FP13kytag05_class */ -static int daKytag05_IsDelete(kytag05_class* ac) { +static int daKytag05_IsDelete(kytag05_class* i_this) { return 1; } /* 80528A70-80528A78 000090 0008+00 1/0 0/0 0/0 .text daKytag05_Delete__FP13kytag05_class */ -static int daKytag05_Delete(kytag05_class* ac) { +static int daKytag05_Delete(kytag05_class* i_this) { return 1; } /* 80528A78-80528B10 000098 0098+00 1/0 0/0 0/0 .text daKytag05_Create__FP10fopAc_ac_c */ -static int daKytag05_Create(fopAc_ac_c* ac) { - if (!fopAcM_CheckCondition(ac, 8)) { - new (ac) kytag05_class(); - fopAcM_OnCondition(ac, 8); +static int daKytag05_Create(fopAc_ac_c* i_this) { + if (!fopAcM_CheckCondition(i_this, 8)) { + new (i_this) kytag05_class(); + fopAcM_OnCondition(i_this, 8); } - kytag05_class* tag = static_cast(ac); + kytag05_class* tag = static_cast(i_this); tag->field_0x56c = fopAcM_GetParam(tag) >> 8; tag->mSceneListID = fopAcM_GetParam(tag); @@ -73,23 +50,31 @@ static int daKytag05_Create(fopAc_ac_c* ac) { /* ############################################################################################## */ /* 80528B1C-80528B3C -00001 0020+00 1/0 0/0 0/0 .data l_daKytag05_Method */ -SECTION_DATA static void* l_daKytag05_Method[8] = { - (void*)daKytag05_Create__FP10fopAc_ac_c, - (void*)daKytag05_Delete__FP13kytag05_class, - (void*)daKytag05_Execute__FP13kytag05_class, - (void*)daKytag05_IsDelete__FP13kytag05_class, - (void*)daKytag05_Draw__FP13kytag05_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daKytag05_Method = { + (process_method_func)daKytag05_Create, (process_method_func)daKytag05_Delete, + (process_method_func)daKytag05_Execute, (process_method_func)daKytag05_IsDelete, + (process_method_func)daKytag05_Draw, }; /* 80528B3C-80528B6C -00001 0030+00 0/0 0/0 1/0 .data g_profile_KYTAG05 */ -SECTION_DATA extern void* g_profile_KYTAG05[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x02AF0000, (void*)&g_fpcLf_Method, - (void*)0x00000570, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00630000, (void*)&l_daKytag05_Method, - (void*)0x00044000, (void*)NULL, +extern actor_process_profile_definition g_profile_KYTAG05 = { + -3, + 7, + 0xFFFD, + PROC_KYTAG05, + 0000, + &g_fpcLf_Method.mBase, + sizeof(kytag05_class), + 0, + 0, + &g_fopAc_Method.base, + 0x0063, + 0, + 0, + &l_daKytag05_Method, + 0x00044000, + 0, + 0, + 0, + 0, }; diff --git a/rel/d/a/kytag/d_a_kytag14/d_a_kytag14.cpp b/rel/d/a/kytag/d_a_kytag14/d_a_kytag14.cpp index 0bc51a37ab5..bc71846ee71 100644 --- a/rel/d/a/kytag/d_a_kytag14/d_a_kytag14.cpp +++ b/rel/d/a/kytag/d_a_kytag14/d_a_kytag14.cpp @@ -6,17 +6,6 @@ #include "rel/d/a/kytag/d_a_kytag14/d_a_kytag14.h" #include "d/com/d_com_inf_game.h" -#include "dol2asm.h" - -// -// External References: -// - -extern "C" extern void* g_fopAc_Method[8]; - -// -// Declarations: -// /* 80529998-805299A0 000078 0008+00 1/0 0/0 0/0 .text daKytag14_Draw__FP13kytag14_class */ @@ -69,7 +58,8 @@ static int daKytag14_Execute(kytag14_class* i_this) { } } - if (event1_set == true && event2_unset == true && switch1_set == true && switch2_unset == true) { + if (event1_set == true && event2_unset == true && switch1_set == true && switch2_unset == true) + { g_dComIfG_gameInfo.info.getPlayer().getPlayerReturnPlace().set( dComIfGp_getStartStageName(), i_this->mSaveRoomNo, i_this->mSavePoint); } @@ -103,8 +93,8 @@ static int daKytag14_Create(fopAc_ac_c* i_this) { kytag->mSwitchNo1 = kytag->current.angle.z; kytag->mSwitchNo2 = (kytag->current.angle.z >> 8) & 0xFF; - if (kytag->orig.mRoomNo != -1) { - kytag->mSaveRoomNo = kytag->orig.mRoomNo; + if (kytag->orig.roomNo != -1) { + kytag->mSaveRoomNo = kytag->orig.roomNo; } return cPhs_COMPLEATE_e; @@ -112,23 +102,31 @@ static int daKytag14_Create(fopAc_ac_c* i_this) { /* ############################################################################################## */ /* 80529BE8-80529C08 -00001 0020+00 1/0 0/0 0/0 .data l_daKytag14_Method */ -SECTION_DATA static void* l_daKytag14_Method[8] = { - (void*)daKytag14_Create, - (void*)daKytag14_Delete, - (void*)daKytag14_Execute, - (void*)daKytag14_IsDelete, - (void*)daKytag14_Draw, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daKytag14_Method = { + (process_method_func)daKytag14_Create, (process_method_func)daKytag14_Delete, + (process_method_func)daKytag14_Execute, (process_method_func)daKytag14_IsDelete, + (process_method_func)daKytag14_Draw, }; /* 80529C08-80529C38 -00001 0030+00 0/0 0/0 1/0 .data g_profile_KYTAG14 */ -SECTION_DATA extern void* g_profile_KYTAG14[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x02B80000, (void*)&g_fpcLf_Method, - (void*)0x00000570, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x006C0000, (void*)&l_daKytag14_Method, - (void*)0x00044000, (void*)NULL, +extern actor_process_profile_definition g_profile_KYTAG14 = { + -3, + 7, + 0xFFFD, + PROC_KYTAG14, + 0, + &g_fpcLf_Method.mBase, + sizeof(kytag14_class), + 0, + 0, + &g_fopAc_Method.base, + 0x006C, + 0, + 0, + &l_daKytag14_Method, + 0x00044000, + 0, + 0, + 0, + 0, }; diff --git a/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr.cpp b/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr.cpp index 958b1ff6265..0efcf71769f 100644 --- a/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr.cpp +++ b/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr.cpp @@ -98,7 +98,6 @@ extern "C" void MtxPosition__FP4cXyzP4cXyz(); extern "C" void __dl__FPv(); extern "C" void _savegpr_28(); extern "C" void _restgpr_28(); -extern "C" extern void* g_fopAc_Method[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; @@ -446,7 +445,7 @@ static void npc_tr_move(npc_tr_class* npc_tr) { } cLib_addCalc2(&npc_tr->field_0x5f8, var_f1_2, 0.5f, 1000.0f); - cLib_addCalc2(&npc_tr->mSpeedF, npc_tr->field_0x5e4 * l_HIO.field_0xc, 1.0f, var_f31); + cLib_addCalc2(&npc_tr->speedF, npc_tr->field_0x5e4 * l_HIO.field_0xc, 1.0f, var_f31); } #else #pragma push diff --git a/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.cpp b/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.cpp index ff2bdad41b6..9e35b9a1189 100644 --- a/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.cpp +++ b/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.cpp @@ -413,7 +413,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; extern "C" extern u8 ZeroQuat[16]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__8dCcD_Cyl[36]; diff --git a/rel/d/a/obj/d_a_obj_catdoor/d_a_obj_catdoor.cpp b/rel/d/a/obj/d_a_obj_catdoor/d_a_obj_catdoor.cpp index 768f5300957..96fdaa93ae8 100644 --- a/rel/d/a/obj/d_a_obj_catdoor/d_a_obj_catdoor.cpp +++ b/rel/d/a/obj/d_a_obj_catdoor/d_a_obj_catdoor.cpp @@ -184,7 +184,6 @@ extern "C" void _savegpr_25(); extern "C" void _savegpr_29(); extern "C" void _restgpr_25(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; extern "C" extern void* __vt__4dBgW[65]; extern "C" u8 now__14mDoMtx_stack_c[48]; diff --git a/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard.cpp b/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard.cpp index 648b20e00c0..0bf59400f8a 100644 --- a/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard.cpp +++ b/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard.cpp @@ -1,335 +1,198 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_obj_cboard -// +/** + * d_a_obj_cboard.cpp + * Clear (Invisible) Wall + */ #include "rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct csXyz {}; - -struct cXyz {}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CE70 */ void scaleM(cXyz const&); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct fopAc_ac_c {}; - -struct daObjBoard_c { - /* 8057B958 */ void initBaseMtx(); - /* 8057B978 */ void setBaseMtx(); - /* 8057B9C8 */ void Create(); - /* 8057BA70 */ bool CreateHeap(); - /* 8057BA78 */ void create1st(); - /* 8057BB74 */ void Execute(f32 (**)[3][4]); - /* 8057BCC0 */ bool Draw(); - /* 8057BCC8 */ void Delete(); -}; - -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dRes_control_c { - /* 8003C6B8 */ void getObjectResName2Index(char const*, char const*); -}; - -struct dBgW_Base {}; - -struct dBgW {}; - -struct cBgS_PolyInfo {}; - -struct dBgS_MoveBgActor { - /* 80078624 */ dBgS_MoveBgActor(); - /* 800786B0 */ bool IsDelete(); - /* 800786B8 */ bool ToFore(); - /* 800786C0 */ bool ToBack(); - /* 800787BC */ void MoveBGCreate(char const*, int, - void (*)(dBgW*, void*, cBgS_PolyInfo const&, bool, cXyz*, - csXyz*, csXyz*), - u32, f32 (*)[3][4]); - /* 800788DC */ void MoveBGDelete(); - /* 80078950 */ void MoveBGExecute(); -}; - -struct dBgS { - /* 80074A08 */ void Regist(dBgW_Base*, fopAc_ac_c*); -}; - -struct cBgW_BgId { - /* 802681D4 */ void ChkUsed() const; -}; - -struct cBgS { - /* 80074250 */ void Release(dBgW_Base*); -}; - -// -// Forward References: -// - -extern "C" void initBaseMtx__12daObjBoard_cFv(); -extern "C" void setBaseMtx__12daObjBoard_cFv(); -extern "C" void Create__12daObjBoard_cFv(); -extern "C" bool CreateHeap__12daObjBoard_cFv(); -extern "C" void create1st__12daObjBoard_cFv(); -extern "C" void Execute__12daObjBoard_cFPPA3_A4_f(); -extern "C" bool Draw__12daObjBoard_cFv(); -extern "C" void Delete__12daObjBoard_cFv(); -extern "C" static void daObjBoard_create1st__FP12daObjBoard_c(); -extern "C" static void daObjBoard_MoveBGDelete__FP12daObjBoard_c(); -extern "C" static void daObjBoard_MoveBGExecute__FP12daObjBoard_c(); -extern "C" static void daObjBoard_MoveBGDraw__FP12daObjBoard_c(); -extern "C" extern char const* const d_a_obj_cboard__stringBase0; - -// -// External References: -// - -extern "C" void transS__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void scaleM__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void getObjectResName2Index__14dRes_control_cFPCcPCc(); -extern "C" void Release__4cBgSFP9dBgW_Base(); -extern "C" void Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c(); -extern "C" void __ct__16dBgS_MoveBgActorFv(); -extern "C" bool IsDelete__16dBgS_MoveBgActorFv(); -extern "C" bool ToFore__16dBgS_MoveBgActorFv(); -extern "C" bool ToBack__16dBgS_MoveBgActorFv(); -extern "C" void -MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f(); -extern "C" void MoveBGDelete__16dBgS_MoveBgActorFv(); -extern "C" void MoveBGExecute__16dBgS_MoveBgActorFv(); -extern "C" void ChkUsed__9cBgW_BgIdCFv(); -extern "C" void PSMTXCopy(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; - -// -// Declarations: -// /* 8057B958-8057B978 000078 0020+00 1/1 0/0 0/0 .text initBaseMtx__12daObjBoard_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjBoard_c::initBaseMtx() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/initBaseMtx__12daObjBoard_cFv.s" +void daObjBoard_c::initBaseMtx() { + setBaseMtx(); } -#pragma pop /* 8057B978-8057B9C8 000098 0050+00 1/1 0/0 0/0 .text setBaseMtx__12daObjBoard_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjBoard_c::setBaseMtx() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/setBaseMtx__12daObjBoard_cFv.s" +void daObjBoard_c::setBaseMtx() { + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(shape_angle); + mDoMtx_stack_c::scaleM(mScale); + PSMTXCopy(mDoMtx_stack_c::get(), field_0x56c); } -#pragma pop - -/* ############################################################################################## */ -/* 8057BDD0-8057BDD4 000000 0004+00 1/1 0/0 0/0 .rodata @3636 */ -SECTION_RODATA static f32 const lit_3636 = 10.0f; -COMPILER_STRIP_GATE(0x8057BDD0, &lit_3636); - -/* 8057BDD4-8057BDD4 000004 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8057BDD4 = "Obj_Board"; -SECTION_DEAD static char const* const stringBase_8057BDDE = "ClearB00.dzb"; -SECTION_DEAD static char const* const stringBase_8057BDEB = "ClearB01.dzb"; -SECTION_DEAD static char const* const stringBase_8057BDF8 = "ClearB02.dzb"; -SECTION_DEAD static char const* const stringBase_8057BE05 = "ClearB03.dzb"; -SECTION_DEAD static char const* const stringBase_8057BE12 = "ClearB04.dzb"; -#pragma pop /* 8057BE20-8057BE24 -00001 0004+00 2/2 0/0 0/0 .data l_arcName */ -SECTION_DATA static void* l_arcName = (void*)&d_a_obj_cboard__stringBase0; +static char* l_arcName = "Obj_Board"; /* 8057BE24-8057BE38 -00001 0014+00 1/1 0/0 0/0 .data l_dzbName */ -SECTION_DATA static void* l_dzbName[5] = { - (void*)(((char*)&d_a_obj_cboard__stringBase0) + 0xA), - (void*)(((char*)&d_a_obj_cboard__stringBase0) + 0x17), - (void*)(((char*)&d_a_obj_cboard__stringBase0) + 0x24), - (void*)(((char*)&d_a_obj_cboard__stringBase0) + 0x31), - (void*)(((char*)&d_a_obj_cboard__stringBase0) + 0x3E), +static char* l_dzbName[5] = { + "ClearB00.dzb", "ClearB01.dzb", "ClearB02.dzb", "ClearB03.dzb", "ClearB04.dzb", }; /* 8057BE38-8057BE50 000018 0018+00 1/1 0/0 0/0 .data l_cull_box */ -SECTION_DATA static u8 l_cull_box[24] = { - 0xC2, 0xC8, 0x00, 0x00, 0xC1, 0x20, 0x00, 0x00, 0xC2, 0xC8, 0x00, 0x00, - 0x42, 0xC8, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, +static Vec l_cull_box[2] = { + {-100.0f, -10.0f, -100.0f}, + {100.0f, 10.0f, 100.0f}, }; /* 8057B9C8-8057BA70 0000E8 00A8+00 1/0 0/0 0/0 .text Create__12daObjBoard_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjBoard_c::Create() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/Create__12daObjBoard_cFv.s" +int daObjBoard_c::Create() { + if (getNameArg() == 1) { + mScale.x *= 10.0f; + mScale.z *= 10.0f; + } + + initBaseMtx(); + fopAcM_SetMtx(this, field_0x5a8); + fopAcM_setCullSizeBox(this, l_cull_box[0].x * mScale.x, l_cull_box[0].y, + l_cull_box[0].z * mScale.z, l_cull_box[1].x * mScale.x, l_cull_box[1].y, + l_cull_box[1].z * mScale.z); + return 1; } -#pragma pop /* 8057BA70-8057BA78 000190 0008+00 1/0 0/0 0/0 .text CreateHeap__12daObjBoard_cFv */ -bool daObjBoard_c::CreateHeap() { - return true; +int daObjBoard_c::CreateHeap() { + return 1; } /* 8057BA78-8057BB74 000198 00FC+00 1/1 0/0 0/0 .text create1st__12daObjBoard_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjBoard_c::create1st() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/create1st__12daObjBoard_cFv.s" -} -#pragma pop +int daObjBoard_c::create1st() { + int ret = dComIfG_resLoad(&mPhase, l_arcName); + if (ret == cPhs_COMPLEATE_e) { + int dzb_no; -/* ############################################################################################## */ -/* 8057BE50-8057BE90 -00001 0040+00 1/1 0/0 0/0 .data @3712 */ -SECTION_DATA static void* lit_3712[16] = { - (void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0xB8), - (void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0x44), - (void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0xB8), - (void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0x44), - (void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0xB8), - (void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0x44), - (void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0xB8), - (void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0x44), - (void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0xB8), - (void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0x128), - (void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0x128), - (void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0x128), - (void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0x128), - (void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0x128), - (void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0x128), - (void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0x44), -}; + switch (getArg0()) { + case 1: + case 2: + dzb_no = 1; + break; + case 3: + case 4: + dzb_no = 2; + break; + case 5: + case 6: + case 7: + case 8: + dzb_no = 4; + break; + default: + dzb_no = 0; + break; + } + + int dzb_id = dComIfG_getObjctResName2Index(l_arcName, l_dzbName[dzb_no]); + ret = MoveBGCreate(l_arcName, dzb_id, NULL, 0x200, NULL); + + if (ret == cPhs_ERROR_e) { + return ret; + } + } + + return ret; +} /* 8057BB74-8057BCC0 000294 014C+00 2/0 0/0 0/0 .text Execute__12daObjBoard_cFPPA3_A4_f */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjBoard_c::Execute(f32 (**param_0)[3][4]) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/Execute__12daObjBoard_cFPPA3_A4_f.s" +int daObjBoard_c::Execute(Mtx** param_0) { + switch (getArg0()) { + case 1: + case 3: + case 5: + case 7: + case 15: + if (i_fopAcM_isSwitch(this, getSwNo())) { + if (!field_0x568->ChkUsed()) { + dComIfG_Bgsp().Regist(field_0x568, this); + } + } else { + if (field_0x568->ChkUsed()) { + dComIfG_Bgsp().Release(field_0x568); + } + } + break; + case 0: + case 2: + case 4: + case 6: + case 8: + if (i_fopAcM_isSwitch(this, getSwNo())) { + if (field_0x568->ChkUsed()) { + dComIfG_Bgsp().Release(field_0x568); + } + } else { + if (!field_0x568->ChkUsed()) { + dComIfG_Bgsp().Regist(field_0x568, this); + } + } + break; + } + + *param_0 = &field_0x56c; + return 1; } -#pragma pop /* 8057BCC0-8057BCC8 0003E0 0008+00 1/0 0/0 0/0 .text Draw__12daObjBoard_cFv */ -bool daObjBoard_c::Draw() { - return true; +int daObjBoard_c::Draw() { + return 1; } /* 8057BCC8-8057BCFC 0003E8 0034+00 1/0 0/0 0/0 .text Delete__12daObjBoard_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjBoard_c::Delete() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/Delete__12daObjBoard_cFv.s" +int daObjBoard_c::Delete() { + dComIfG_resDelete(&mPhase, l_arcName); + return 1; } -#pragma pop - -/* ############################################################################################## */ -/* 8057BE90-8057BEB0 -00001 0020+00 1/0 0/0 0/0 .data daObjBoard_METHODS */ -SECTION_DATA static void* daObjBoard_METHODS[8] = { - (void*)daObjBoard_create1st__FP12daObjBoard_c, - (void*)daObjBoard_MoveBGDelete__FP12daObjBoard_c, - (void*)daObjBoard_MoveBGExecute__FP12daObjBoard_c, - (void*)NULL, - (void*)daObjBoard_MoveBGDraw__FP12daObjBoard_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 8057BEB0-8057BEE0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Cboard */ -SECTION_DATA extern void* g_profile_Obj_Cboard[12] = { - (void*)0xFFFFFFFD, (void*)0x0003FFFD, - (void*)0x00630000, (void*)&g_fpcLf_Method, - (void*)0x000005D8, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x01C50000, (void*)&daObjBoard_METHODS, - (void*)0x00040000, (void*)0x000E0000, -}; - -/* 8057BEE0-8057BF08 0000C0 0028+00 1/1 0/0 0/0 .data __vt__12daObjBoard_c */ -SECTION_DATA extern void* __vt__12daObjBoard_c[10] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)CreateHeap__12daObjBoard_cFv, - (void*)Create__12daObjBoard_cFv, - (void*)Execute__12daObjBoard_cFPPA3_A4_f, - (void*)Draw__12daObjBoard_cFv, - (void*)Delete__12daObjBoard_cFv, - (void*)IsDelete__16dBgS_MoveBgActorFv, - (void*)ToFore__16dBgS_MoveBgActorFv, - (void*)ToBack__16dBgS_MoveBgActorFv, -}; /* 8057BCFC-8057BD5C 00041C 0060+00 1/0 0/0 0/0 .text daObjBoard_create1st__FP12daObjBoard_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjBoard_create1st(daObjBoard_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/daObjBoard_create1st__FP12daObjBoard_c.s" +static int daObjBoard_create1st(daObjBoard_c* i_this) { + if (!fopAcM_CheckCondition(i_this, 8)) { + new (i_this) daObjBoard_c(); + fopAcM_OnCondition(i_this, 8); + } + + return i_this->create1st(); } -#pragma pop /* 8057BD5C-8057BD7C 00047C 0020+00 1/0 0/0 0/0 .text daObjBoard_MoveBGDelete__FP12daObjBoard_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjBoard_MoveBGDelete(daObjBoard_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/daObjBoard_MoveBGDelete__FP12daObjBoard_c.s" +static int daObjBoard_MoveBGDelete(daObjBoard_c* i_this) { + return i_this->MoveBGDelete(); } -#pragma pop /* 8057BD7C-8057BD9C 00049C 0020+00 1/0 0/0 0/0 .text daObjBoard_MoveBGExecute__FP12daObjBoard_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjBoard_MoveBGExecute(daObjBoard_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/daObjBoard_MoveBGExecute__FP12daObjBoard_c.s" +static int daObjBoard_MoveBGExecute(daObjBoard_c* i_this) { + return i_this->MoveBGExecute(); } -#pragma pop /* 8057BD9C-8057BDC8 0004BC 002C+00 1/0 0/0 0/0 .text daObjBoard_MoveBGDraw__FP12daObjBoard_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjBoard_MoveBGDraw(daObjBoard_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/daObjBoard_MoveBGDraw__FP12daObjBoard_c.s" +static int daObjBoard_MoveBGDraw(daObjBoard_c* i_this) { + return i_this->Draw(); } -#pragma pop -/* 8057BDD4-8057BDD4 000004 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +/* ############################################################################################## */ +/* 8057BE90-8057BEB0 -00001 0020+00 1/0 0/0 0/0 .data daObjBoard_METHODS */ +static actor_method_class daObjBoard_METHODS = { + (process_method_func)daObjBoard_create1st, (process_method_func)daObjBoard_MoveBGDelete, + (process_method_func)daObjBoard_MoveBGExecute, (process_method_func)NULL, + (process_method_func)daObjBoard_MoveBGDraw, +}; + +/* 8057BEB0-8057BEE0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Cboard */ +extern actor_process_profile_definition g_profile_Obj_Cboard = { + -3, + 3, + -3, + PROC_Obj_Cboard, + 0, + &g_fpcLf_Method.mBase, + sizeof(daObjBoard_c), + 0, + 0, + &g_fopAc_Method.base, + 0x01C5, + 0, + 0, + &daObjBoard_METHODS, + 0x00040000, + 0, + 14, + 0, + 0, +}; diff --git a/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create.cpp b/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create.cpp index ac5e2d95295..df8bb1212b6 100644 --- a/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create.cpp +++ b/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create.cpp @@ -6,8 +6,6 @@ #include "rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create.h" #include "d/d_procname.h" -extern "C" extern leafdraw_method_class g_fopAc_Method; - /* 80BE3178-80BE3198 000078 0020+00 1/0 0/0 0/0 .text daObjE_CREATE_Create__FP10fopAc_ac_c */ static int daObjE_CREATE_Create(fopAc_ac_c* i_this) { return static_cast(i_this)->create(); @@ -284,7 +282,7 @@ extern actor_process_profile_definition g_profile_Obj_E_CREATE = { sizeof(daObjE_CREATE_c), 0, 0, - &g_fopAc_Method, + &g_fopAc_Method.base, 0x01CA, 0, 0, diff --git a/rel/d/a/obj/d_a_obj_web0/d_a_obj_web0.cpp b/rel/d/a/obj/d_a_obj_web0/d_a_obj_web0.cpp index 68a89067bf4..bdb030c7638 100644 --- a/rel/d/a/obj/d_a_obj_web0/d_a_obj_web0.cpp +++ b/rel/d/a/obj/d_a_obj_web0/d_a_obj_web0.cpp @@ -66,7 +66,6 @@ extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern leafdraw_method_class g_fopAc_Method; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -450,7 +449,7 @@ extern actor_process_profile_definition g_profile_OBJ_WEB0 = { sizeof(obj_web0_class), 0, 0, - &g_fopAc_Method, + &g_fopAc_Method.base, 0x002F, 0, 0, diff --git a/rel/d/a/obj/d_a_obj_web1/d_a_obj_web1.cpp b/rel/d/a/obj/d_a_obj_web1/d_a_obj_web1.cpp index 1b02c8d5f03..bbe800cc637 100644 --- a/rel/d/a/obj/d_a_obj_web1/d_a_obj_web1.cpp +++ b/rel/d/a/obj/d_a_obj_web1/d_a_obj_web1.cpp @@ -8,8 +8,6 @@ #include "SSystem/SComponent/c_math.h" #include "d/d_procname.h" -extern "C" extern leafdraw_method_class g_fopAc_Method; - /* 80D353AC-80D353C4 0000EC 0018+00 1/1 0/0 0/0 .text __ct__16daObj_Web1_HIO_cFv */ daObj_Web1_HIO_c::daObj_Web1_HIO_c() { field_0x4 = -1; @@ -341,7 +339,7 @@ extern actor_process_profile_definition g_profile_OBJ_WEB1 = { sizeof(obj_web1_class), 0, 0, - &g_fopAc_Method, + &g_fopAc_Method.base, 0x0030, 0, 0, diff --git a/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.cpp b/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.cpp index c72e23f43e9..45a66ec8876 100644 --- a/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.cpp +++ b/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.cpp @@ -109,7 +109,6 @@ extern "C" void _savegpr_29(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_CylAttr[25]; diff --git a/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate.cpp b/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate.cpp index 6b9e900c689..c2562aa3091 100644 --- a/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate.cpp +++ b/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate.cpp @@ -255,7 +255,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; diff --git a/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot.cpp b/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot.cpp index dcccd4772fc..6aa8bb8bf18 100644 --- a/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot.cpp +++ b/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot.cpp @@ -1,169 +1,98 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tag_ajnot -// +/** + * d_a_tag_ajnot.cpp + * + */ #include "rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct daTagAJnot_c { - /* 805A2658 */ void create(); - /* 805A26C8 */ ~daTagAJnot_c(); - /* 805A2744 */ void execute(); -}; - -// -// Forward References: -// - -extern "C" void create__12daTagAJnot_cFv(); -extern "C" static void daTagAJnot_Create__FP10fopAc_ac_c(); -extern "C" void __dt__12daTagAJnot_cFv(); -extern "C" static void daTagAJnot_Delete__FP12daTagAJnot_c(); -extern "C" void execute__12daTagAJnot_cFv(); -extern "C" static void daTagAJnot_Execute__FP12daTagAJnot_c(); -extern "C" static bool daTagAJnot_Draw__FP12daTagAJnot_c(); -extern "C" extern void* g_profile_Tag_AJnot[12]; - -// -// External References: -// - -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void __dl__FPv(); -extern "C" void PSVECSquareDistance(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; - -// -// Declarations: -// /* 805A2658-805A26A8 000078 0050+00 1/1 0/0 0/0 .text create__12daTagAJnot_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagAJnot_c::create() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot/create__12daTagAJnot_cFv.s" +int daTagAJnot_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daTagAJnot_c(); + fopAcM_OnCondition(this, 8); + } + + return cPhs_COMPLEATE_e; } -#pragma pop /* 805A26A8-805A26C8 0000C8 0020+00 1/0 0/0 0/0 .text daTagAJnot_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagAJnot_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot/daTagAJnot_Create__FP10fopAc_ac_c.s" +static int daTagAJnot_Create(fopAc_ac_c* i_this) { + return static_cast(i_this)->create(); } -#pragma pop /* 805A26C8-805A271C 0000E8 0054+00 1/1 0/0 0/0 .text __dt__12daTagAJnot_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daTagAJnot_c::~daTagAJnot_c() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot/__dt__12daTagAJnot_cFv.s" -} -#pragma pop +daTagAJnot_c::~daTagAJnot_c() {} /* 805A271C-805A2744 00013C 0028+00 1/0 0/0 0/0 .text daTagAJnot_Delete__FP12daTagAJnot_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagAJnot_Delete(daTagAJnot_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot/daTagAJnot_Delete__FP12daTagAJnot_c.s" +static int daTagAJnot_Delete(daTagAJnot_c* i_this) { + i_this->~daTagAJnot_c(); + return 1; } -#pragma pop - -/* ############################################################################################## */ -/* 805A2880-805A2884 000000 0004+00 1/1 0/0 0/0 .rodata @3713 */ -SECTION_RODATA static u8 const lit_3713[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x805A2880, &lit_3713); - -/* 805A2884-805A2888 000004 0004+00 0/1 0/0 0/0 .rodata @3714 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3714 = 100.0f; -COMPILER_STRIP_GATE(0x805A2884, &lit_3714); -#pragma pop - -/* 805A2888-805A288C 000008 0004+00 0/1 0/0 0/0 .rodata @3715 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3715 = 10000.0f; -COMPILER_STRIP_GATE(0x805A2888, &lit_3715); -#pragma pop /* 805A2744-805A2850 000164 010C+00 1/1 0/0 0/0 .text execute__12daTagAJnot_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagAJnot_c::execute() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot/execute__12daTagAJnot_cFv.s" +int daTagAJnot_c::execute() { + daPy_py_c* player = daPy_getPlayerActorClass(); + f32 y_dist_to_player = player->current.pos.y - current.pos.y; + + if (y_dist_to_player >= 0.0f && y_dist_to_player <= mScale.y * 100.0f && + player->current.pos.abs2XZ(current.pos) <= mScale.x * (10000.0f * mScale.x)) + { + int prm = (fopAcM_GetParam(this) & 0xF); + + if (prm == 1) { + player->onForceAutoJump(); + } else { + player->onNotAutoJump(); + + if (prm == 15) { + player->onNotHang(); + } + } + } + + return 1; } -#pragma pop /* 805A2850-805A2870 000270 0020+00 1/0 0/0 0/0 .text daTagAJnot_Execute__FP12daTagAJnot_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagAJnot_Execute(daTagAJnot_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot/daTagAJnot_Execute__FP12daTagAJnot_c.s" +static int daTagAJnot_Execute(daTagAJnot_c* i_this) { + return i_this->execute(); } -#pragma pop /* 805A2870-805A2878 000290 0008+00 1/0 0/0 0/0 .text daTagAJnot_Draw__FP12daTagAJnot_c */ -static bool daTagAJnot_Draw(daTagAJnot_c* param_0) { - return true; +static int daTagAJnot_Draw(daTagAJnot_c* i_this) { + return 1; } /* ############################################################################################## */ /* 805A288C-805A28AC -00001 0020+00 1/0 0/0 0/0 .data l_daTagAJnot_Method */ -SECTION_DATA static void* l_daTagAJnot_Method[8] = { - (void*)daTagAJnot_Create__FP10fopAc_ac_c, - (void*)daTagAJnot_Delete__FP12daTagAJnot_c, - (void*)daTagAJnot_Execute__FP12daTagAJnot_c, - (void*)NULL, - (void*)daTagAJnot_Draw__FP12daTagAJnot_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daTagAJnot_Method = { + (process_method_func)daTagAJnot_Create, (process_method_func)daTagAJnot_Delete, + (process_method_func)daTagAJnot_Execute, (process_method_func)NULL, + (process_method_func)daTagAJnot_Draw, }; /* 805A28AC-805A28DC -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_AJnot */ -SECTION_DATA extern void* g_profile_Tag_AJnot[12] = { - (void*)0xFFFFFFFD, (void*)0x0003FFFD, - (void*)0x00EB0000, (void*)&g_fpcLf_Method, - (void*)0x00000568, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x01B40000, (void*)&l_daTagAJnot_Method, - (void*)0x00044000, (void*)0x030E0000, +extern actor_process_profile_definition g_profile_Tag_AJnot = { + -3, + 3, + 0xFFFD, + PROC_Tag_AJnot, + 0, + &g_fpcLf_Method.mBase, + sizeof(daTagAJnot_c), + 0, + 0, + &g_fopAc_Method.base, + 0x01B4, + 0, + 0, + &l_daTagAJnot_Method, + 0x00044000, + 3, + 14, + 0, + 0, }; diff --git a/rel/d/a/tag/d_a_tag_escape/d_a_tag_escape.cpp b/rel/d/a/tag/d_a_tag_escape/d_a_tag_escape.cpp index 827190e051a..cfd1f089e70 100644 --- a/rel/d/a/tag/d_a_tag_escape/d_a_tag_escape.cpp +++ b/rel/d/a/tag/d_a_tag_escape/d_a_tag_escape.cpp @@ -1,66 +1,57 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tag_escape -// +/** + * d_a_tag_escape.cpp + * + */ #include "rel/d/a/tag/d_a_tag_escape/d_a_tag_escape.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" static void daTagEscape_Create__FP10fopAc_ac_c(); -extern "C" static void daTagEscape_Delete__FP13daTagEscape_c(); -extern "C" extern void* g_profile_Tag_Escape[12]; - -// -// External References: -// - -extern "C" extern void* g_fopAc_Method[8]; - -// -// Declarations: -// +#include "d/d_procname.h" /* 80D587D8-80D58828 000078 0050+00 1/0 0/0 0/0 .text daTagEscape_Create__FP10fopAc_ac_c */ -static int daTagEscape_Create(fopAc_ac_c* tag) { - if (!fopAcM_CheckCondition(tag, 8)) { - new (tag) daTagEscape_c(); - fopAcM_OnCondition(tag, 8); +static int daTagEscape_Create(fopAc_ac_c* i_this) { + if (!fopAcM_CheckCondition(i_this, 8)) { + new (i_this) daTagEscape_c(); + fopAcM_OnCondition(i_this, 8); } return cPhs_COMPLEATE_e; } /* 80D58828-80D58858 0000C8 0030+00 1/0 0/0 0/0 .text daTagEscape_Delete__FP13daTagEscape_c */ -static int daTagEscape_Delete(daTagEscape_c* tag) { - tag->~daTagEscape_c(); +static int daTagEscape_Delete(daTagEscape_c* i_this) { + i_this->~daTagEscape_c(); return 1; } /* ############################################################################################## */ /* 80D58860-80D58880 -00001 0020+00 1/0 0/0 0/0 .data l_daTagEscape_Method */ -SECTION_DATA static void* l_daTagEscape_Method[8] = { - (void*)daTagEscape_Create__FP10fopAc_ac_c, - (void*)daTagEscape_Delete__FP13daTagEscape_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daTagEscape_Method = { + (process_method_func)daTagEscape_Create, + (process_method_func)daTagEscape_Delete, + (process_method_func)NULL, + (process_method_func)NULL, + (process_method_func)NULL, }; /* 80D58880-80D588B0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Escape */ -SECTION_DATA extern void* g_profile_Tag_Escape[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x028A0000, (void*)&g_fpcLf_Method, - (void*)0x00000568, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x018D0000, (void*)&l_daTagEscape_Method, - (void*)0x00040000, (void*)0x000E0000, +extern actor_process_profile_definition g_profile_Tag_Escape = { + -3, + 07, + 0xFFFD, + PROC_Tag_Escape, + 0, + &g_fpcLf_Method.mBase, + sizeof(daTagEscape_c), + 0, + 0, + &g_fopAc_Method.base, + 0x018D, + 0, + 0, + &l_daTagEscape_Method, + 0x00040000, + 0, + 14, + 0, + 0, }; diff --git a/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart.cpp b/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart.cpp index 016702e8cab..c61deca50b5 100644 --- a/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart.cpp +++ b/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart.cpp @@ -1,22 +1,10 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tag_gstart -// +/** + * d_a_tag_gstart.cpp + * + */ #include "rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart.h" #include "d/com/d_com_inf_game.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// External References: -// - -extern "C" extern void* g_fopAc_Method[8]; - -// -// Declarations: -// /* 805A3478-805A34F4 000078 007C+00 1/1 0/0 0/0 .text create__13daTagGstart_cFv */ int daTagGstart_c::create() { @@ -51,7 +39,8 @@ static int daTagGstart_Delete(daTagGstart_c* i_this) { /* 805A3590-805A3658 000190 00C8+00 1/1 0/0 0/0 .text execute__13daTagGstart_cFv */ int daTagGstart_c::execute() { if ((mSwNo == 0xFF || dComIfGs_isSwitch(mSwNo, fopAcM_GetHomeRoomNo(this))) && - (mSwNo2 == 0xFF || !dComIfGs_isSwitch(mSwNo2, fopAcM_GetHomeRoomNo(this)))) { + (mSwNo2 == 0xFF || !dComIfGs_isSwitch(mSwNo2, fopAcM_GetHomeRoomNo(this)))) + { if (mType != 0 || dComIfGp_getLinkPlayer()->i_checkWolf()) { dComIfGp_getLinkPlayer()->onSceneChangeDead(field_0x56a, fopAcM_GetRoomNo(this)); } @@ -73,23 +62,31 @@ static int daTagGstart_Draw(daTagGstart_c*) { /* ############################################################################################## */ /* 805A3688-805A36A8 -00001 0020+00 1/0 0/0 0/0 .data l_daTagGstart_Method */ -SECTION_DATA static void* l_daTagGstart_Method[8] = { - (void*)daTagGstart_Create, - (void*)daTagGstart_Delete, - (void*)daTagGstart_Execute, - (void*)NULL, - (void*)daTagGstart_Draw, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daTagGstart_Method = { + (process_method_func)daTagGstart_Create, (process_method_func)daTagGstart_Delete, + (process_method_func)daTagGstart_Execute, (process_method_func)NULL, + (process_method_func)daTagGstart_Draw, }; /* 805A36A8-805A36D8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Gstart */ -SECTION_DATA extern void* g_profile_Tag_Gstart[12] = { - (void*)0xFFFFFFFD, (void*)0x0002FFFD, - (void*)0x00190000, (void*)&g_fpcLf_Method, - (void*)0x0000056C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x01B50000, (void*)&l_daTagGstart_Method, - (void*)0x00060000, (void*)0x030E0000, +extern actor_process_profile_definition g_profile_Tag_Gstart = { + -3, + 2, + 0xFFFD, + PROC_Tag_Gstart, + 0, + &g_fpcLf_Method.mBase, + sizeof(daTagGstart_c), + 0, + 0, + &g_fopAc_Method.base, + 0x01B5, + 0, + 0, + &l_daTagGstart_Method, + 0x00060000, + 3, + 14, + 0, + 0, }; diff --git a/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard.cpp b/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard.cpp index 112d0e08a94..f834f092232 100644 --- a/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard.cpp +++ b/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard.cpp @@ -1,122 +1,95 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tag_guard -// +/** + * d_a_tag_guard.cpp + * + */ #include "rel/d/a/tag/d_a_tag_guard/d_a_tag_guard.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct Vec {}; - -struct daTagGuard_c { - /* 80D597F8 */ void getAppearPoint(Vec*); - /* 80D5985C */ void createGuard(u32); -}; - -struct dPath {}; - -struct csXyz {}; - -struct cXyz {}; - -// -// Forward References: -// - -extern "C" void getAppearPoint__12daTagGuard_cFP3Vec(); -extern "C" void createGuard__12daTagGuard_cFUl(); -extern "C" static void daTagGuard_Create__FP10fopAc_ac_c(); -extern "C" static void daTagGuard_Delete__FP12daTagGuard_c(); -extern "C" extern void* g_profile_TAG_GUARD[12]; - -// -// External References: -// - -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i(); -extern "C" void dPath_GetPnt__FPC5dPathi(); -extern "C" void dPath_GetRoomPath__Fii(); -extern "C" void cLib_targetAngleY__FPC3VecPC3Vec(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; - -// -// Declarations: -// +#include "d/d_procname.h" /* 80D597F8-80D5985C 000078 0064+00 0/0 0/0 1/1 .text getAppearPoint__12daTagGuard_cFP3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagGuard_c::getAppearPoint(Vec* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard/getAppearPoint__12daTagGuard_cFP3Vec.s" +int daTagGuard_c::getAppearPoint(Vec* i_appearPnt) { + if (mPath == NULL) { + return 0; + } + + *i_appearPnt = dPath_GetPnt(mPath, mPath->m_num - 1)->m_position; + return 1; } -#pragma pop /* 80D5985C-80D59928 0000DC 00CC+00 0/0 0/0 1/1 .text createGuard__12daTagGuard_cFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagGuard_c::createGuard(u32 param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard/createGuard__12daTagGuard_cFUl.s" +void daTagGuard_c::createGuard(u32 i_parameters) { + cXyz pos = current.pos; + + if (getPathID() != 0xFF) { + pos = dPath_GetPnt(mPath, 0)->m_position; + i_parameters |= (getPathID() << 0x10); + } + + fopAcM_createChild(PROC_NPC_GUARD, fopAcM_GetID(this), i_parameters, &pos, + fopAcM_GetRoomNo(this), ¤t.angle, NULL, -1, NULL); +} + +int daTagGuard_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daTagGuard_c(); + fopAcM_OnCondition(this, 8); + } + + create_init(); + return cPhs_COMPLEATE_e; +} + +void daTagGuard_c::create_init() { + mPath = dPath_GetRoomPath(getPathID(), fopAcM_GetHomeRoomNo(this)); + + dStage_dPnt_c* pnt1 = dPath_GetPnt(mPath, 0); + dStage_dPnt_c* pnt2 = dPath_GetPnt(mPath, 1); + + current.pos.x = pnt1->m_position.x; + current.pos.y = pnt1->m_position.y; + current.pos.z = pnt1->m_position.z; + current.angle.y = cLib_targetAngleY(&pnt1->m_position, &pnt2->m_position); } -#pragma pop /* 80D59928-80D599E0 0001A8 00B8+00 1/0 0/0 0/0 .text daTagGuard_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagGuard_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard/daTagGuard_Create__FP10fopAc_ac_c.s" +static int daTagGuard_Create(fopAc_ac_c* i_this) { + return static_cast(i_this)->create(); } -#pragma pop /* 80D599E0-80D59A10 000260 0030+00 1/0 0/0 0/0 .text daTagGuard_Delete__FP12daTagGuard_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagGuard_Delete(daTagGuard_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard/daTagGuard_Delete__FP12daTagGuard_c.s" +static int daTagGuard_Delete(daTagGuard_c* i_this) { + i_this->~daTagGuard_c(); + return 1; } -#pragma pop /* ############################################################################################## */ /* 80D59A18-80D59A38 -00001 0020+00 1/0 0/0 0/0 .data l_daTagGuard_Method */ -SECTION_DATA static void* l_daTagGuard_Method[8] = { - (void*)daTagGuard_Create__FP10fopAc_ac_c, - (void*)daTagGuard_Delete__FP12daTagGuard_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daTagGuard_Method = { + (process_method_func)daTagGuard_Create, + (process_method_func)daTagGuard_Delete, }; /* 80D59A38-80D59A68 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_GUARD */ -SECTION_DATA extern void* g_profile_TAG_GUARD[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x02960000, (void*)&g_fpcLf_Method, - (void*)0x0000056C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x01980000, (void*)&l_daTagGuard_Method, - (void*)0x00040000, (void*)0x000E0000, +extern actor_process_profile_definition g_profile_TAG_GUARD = { + -3, + 7, + -3, + PROC_TAG_GUARD, + 0, + &g_fpcLf_Method.mBase, + sizeof(daTagGuard_c), + 0, + 0, + &g_fopAc_Method.base, + 0x0198, + 0, + 0, + &l_daTagGuard_Method, + 0x00040000, + 0x00, + 0x0E, + 0, + 0, }; diff --git a/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit.cpp b/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit.cpp index bfc6a3cb369..cc7c008facd 100644 --- a/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit.cpp +++ b/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit.cpp @@ -14,12 +14,6 @@ extern "C" extern void* g_profile_Tag_Hinit[12]; -// -// External References: -// - -extern "C" extern void* g_fopAc_Method[8]; - // // Declarations: // diff --git a/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop.cpp b/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop.cpp index b310eb1ce49..b167afe673f 100644 --- a/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop.cpp +++ b/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop.cpp @@ -1,24 +1,12 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tag_hstop -// +/** + * d_a_tag_hstop.cpp + * + */ #include "rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop.h" #include "d/com/d_com_inf_game.h" -#include "dol2asm.h" -#include "dolphin/types.h" #include "rel/d/a/d_a_horse/d_a_horse.h" -// -// External References: -// - -extern "C" extern void* g_fopAc_Method[8]; - -// -// Declarations: -// - /* 805A43EC-805A45D8 0000EC 01EC+00 1/1 0/0 0/0 .text create__12daTagHstop_cFv */ int daTagHstop_c::create() { if (!fopAcM_CheckCondition(this, 8)) { @@ -107,7 +95,8 @@ static int daTagHstop_Delete(daTagHstop_c* i_this) { void daTagHstop_c::setActive() { if (mPrm0 == 0xFF || mPrm1 == 2 || (mPrm1 == 0 && dComIfGs_isSwitch(mPrm0, fopAcM_GetHomeRoomNo(this))) || - (mPrm1 == 1 && !dComIfGs_isSwitch(mPrm0, fopAcM_GetHomeRoomNo(this)))) { + (mPrm1 == 1 && !dComIfGs_isSwitch(mPrm0, fopAcM_GetHomeRoomNo(this)))) + { mActive = true; } else { mActive = false; @@ -152,7 +141,8 @@ int daTagHstop_c::execute() { field_0x573 = 0; } else if (field_0x573 == 1) { if (i_dComIfGp_getHorseActor()->checkTurnStand() && - !i_dComIfGp_getHorseActor()->checkTurnStandCamera()) { + !i_dComIfGp_getHorseActor()->checkTurnStandCamera()) + { field_0x573 = 2; } } else if (field_0x573 == 2 && !i_dComIfGp_getHorseActor()->checkTurnStand()) { @@ -160,8 +150,8 @@ int daTagHstop_c::execute() { mEvtInfo.i_onCondition(1); } } else if (mPrm1 == 2 && !i_dComIfGp_event_runCheck()) { - if (dComIfGs_getArrowNum() == 0 && - !dComIfGs_isSwitch(0x8D, fopAcM_GetHomeRoomNo(this))) { + if (dComIfGs_getArrowNum() == 0 && !dComIfGs_isSwitch(0x8D, fopAcM_GetHomeRoomNo(this))) + { dComIfGs_onSwitch(0x8D, fopAcM_GetHomeRoomNo(this)); dMeter2Info_setFloatingFlow(43, 90, true); @@ -194,23 +184,31 @@ static int daTagHstop_Draw(daTagHstop_c*) { /* ############################################################################################## */ /* 805A4B24-805A4B44 -00001 0020+00 1/0 0/0 0/0 .data l_daTagHstop_Method */ -SECTION_DATA static void* l_daTagHstop_Method[8] = { - (void*)daTagHstop_Create, - (void*)daTagHstop_Delete, - (void*)daTagHstop_Execute, - (void*)NULL, - (void*)daTagHstop_Draw, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daTagHstop_Method = { + (process_method_func)daTagHstop_Create, (process_method_func)daTagHstop_Delete, + (process_method_func)daTagHstop_Execute, (process_method_func)NULL, + (process_method_func)daTagHstop_Draw, }; /* 805A4B44-805A4B74 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Hstop */ -SECTION_DATA extern void* g_profile_Tag_Hstop[12] = { - (void*)0xFFFFFFFD, (void*)0x0003FFFD, - (void*)0x00EC0000, (void*)&g_fpcLf_Method, - (void*)0x00000578, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x01B30000, (void*)&l_daTagHstop_Method, - (void*)0x00040000, (void*)0x030E0000, +extern actor_process_profile_definition g_profile_Tag_Hstop = { + -3, + 3, + 0xFFFD, + PROC_Tag_Hstop, + 0, + &g_fpcLf_Method.mBase, + sizeof(daTagHstop_c), + 0, + 0, + &g_fopAc_Method.base, + 0x01B3, + 0, + 0, + &l_daTagHstop_Method, + 0x00040000, + 3, + 14, + 0, + 0, }; diff --git a/rel/d/a/tag/d_a_tag_instruction/d_a_tag_instruction.cpp b/rel/d/a/tag/d_a_tag_instruction/d_a_tag_instruction.cpp index a9ade424690..6b6db3586b1 100644 --- a/rel/d/a/tag/d_a_tag_instruction/d_a_tag_instruction.cpp +++ b/rel/d/a/tag/d_a_tag_instruction/d_a_tag_instruction.cpp @@ -1,21 +1,10 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tag_instruction -// +/** + * d_a_tag_instruction.cpp + * + */ #include "rel/d/a/tag/d_a_tag_instruction/d_a_tag_instruction.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// External References: -// - -extern "C" extern void* g_fopAc_Method[8]; - -// -// Declarations: -// +#include "d/d_procname.h" /* 80D59AF8-80D59B48 000078 0050+00 1/0 0/0 0/0 .text daTagInst_Create__FP10fopAc_ac_c */ static int daTagInst_Create(fopAc_ac_c* i_this) { @@ -36,23 +25,33 @@ static int daTagInst_Delete(daTagInst_c* i_this) { /* ############################################################################################## */ /* 80D59B80-80D59BA0 -00001 0020+00 1/0 0/0 0/0 .data l_daTagInst_Method */ -SECTION_DATA static void* l_daTagInst_Method[8] = { - (void*)daTagInst_Create, - (void*)daTagInst_Delete, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daTagInst_Method = { + (process_method_func)daTagInst_Create, + (process_method_func)daTagInst_Delete, + (process_method_func)NULL, + (process_method_func)NULL, + (process_method_func)NULL, }; /* 80D59BA0-80D59BD0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Instruction */ -SECTION_DATA extern void* g_profile_Tag_Instruction[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x024D0000, (void*)&g_fpcLf_Method, - (void*)0x00000568, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x014E0000, (void*)&l_daTagInst_Method, - (void*)0x00040000, (void*)0x000E0000, +extern actor_process_profile_definition g_profile_Tag_Instruction = { + -3, + 7, + 0xFFFD, + PROC_Tag_Instruction, + 0, + &g_fpcLf_Method.mBase, + sizeof(daTagInst_c), + 0, + 0, + &g_fopAc_Method.base, + 0x014E, + 0, + 0, + &l_daTagInst_Method, + 0x00040000, + 0, + 14, + 0, + 0, }; diff --git a/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.cpp b/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.cpp index c561240b683..131c933d444 100644 --- a/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.cpp +++ b/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.cpp @@ -1,78 +1,10 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tag_lv5soup -// +/** + * d_a_tag_lv5soup.cpp + * + */ #include "rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.h" #include "d/com/d_com_inf_game.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" void create__15daTag_Lv5Soup_cFv(); -extern "C" bool Delete__15daTag_Lv5Soup_cFv(); -extern "C" void Execute__15daTag_Lv5Soup_cFv(); -extern "C" bool Draw__15daTag_Lv5Soup_cFv(); -extern "C" void isAreaCheck__15daTag_Lv5Soup_cFv(); -extern "C" static void daTag_Lv5Soup_Create__FPv(); -extern "C" static void daTag_Lv5Soup_Delete__FPv(); -extern "C" static void daTag_Lv5Soup_Execute__FPv(); -extern "C" static void daTag_Lv5Soup_Draw__FPv(); -extern "C" static bool daTag_Lv5Soup_IsDelete__FPv(); -extern "C" void __dt__15daTag_Lv5Soup_cFv(); - -// -// External References: -// - -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff(); -extern "C" void onEventBit__11dSv_event_cFUs(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void __dl__FPv(); -extern "C" extern void* g_fopAc_Method[8]; - -// -// Declarations: -// - -inline int dComIfGs_isEventBit(u16 event) { - return g_dComIfG_gameInfo.info.getSavedata().getEvent().isEventBit(event); -} - -/* 80D5B18C-80D5B1AC -00001 0020+00 1/0 0/0 0/0 .data daTag_Lv5Soup_MethodTable */ -SECTION_DATA static void* daTag_Lv5Soup_MethodTable[8] = { - (void*)daTag_Lv5Soup_Create__FPv, - (void*)daTag_Lv5Soup_Delete__FPv, - (void*)daTag_Lv5Soup_Execute__FPv, - (void*)daTag_Lv5Soup_IsDelete__FPv, - (void*)daTag_Lv5Soup_Draw__FPv, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 80D5B1AC-80D5B1DC -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_LV5SOUP */ -SECTION_DATA extern void* g_profile_TAG_LV5SOUP[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01220000, (void*)&g_fpcLf_Method, - (void*)0x0000056C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00460000, (void*)&daTag_Lv5Soup_MethodTable, - (void*)0x00064100, (void*)0x050E0000, -}; - -/* 80D5B1DC-80D5B1E8 000050 000C+00 2/2 0/0 0/0 .data __vt__15daTag_Lv5Soup_c */ -SECTION_DATA extern void* __vt__15daTag_Lv5Soup_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__15daTag_Lv5Soup_cFv, -}; /* 80D5AD58-80D5ADEC 000078 0094+00 1/1 0/0 0/0 .text create__15daTag_Lv5Soup_cFv */ int daTag_Lv5Soup_c::create() { @@ -95,13 +27,13 @@ int daTag_Lv5Soup_c::Delete() { int daTag_Lv5Soup_c::Execute() { if (isAreaCheck()) { // Yeto took pumpkin and pumpkin not in soup - if (dComIfGs_isEventBit(0x0020) && !dComIfGs_isEventBit(0x0002)) { + if (i_dComIfGs_isEventBit(0x0020) && !i_dComIfGs_isEventBit(0x0002)) { // Pumpkin in soup dComIfGs_onEventBit(0x0002); } // Yeto took cheese and cheese not in soup - if (dComIfGs_isEventBit(0x0010) && !dComIfGs_isEventBit(0x0001)) { + if (i_dComIfGs_isEventBit(0x0010) && !i_dComIfGs_isEventBit(0x0001)) { // Cheese in soup dComIfGs_onEventBit(0x0001); } @@ -128,29 +60,59 @@ bool daTag_Lv5Soup_c::isAreaCheck() { } /* 80D5B06C-80D5B08C 00038C 0020+00 1/0 0/0 0/0 .text daTag_Lv5Soup_Create__FPv */ -static int daTag_Lv5Soup_Create(void* tag) { - return static_cast(tag)->create(); +static int daTag_Lv5Soup_Create(void* i_this) { + return static_cast(i_this)->create(); } /* 80D5B08C-80D5B0AC 0003AC 0020+00 1/0 0/0 0/0 .text daTag_Lv5Soup_Delete__FPv */ -static int daTag_Lv5Soup_Delete(void* tag) { - return static_cast(tag)->Delete(); +static int daTag_Lv5Soup_Delete(void* i_this) { + return static_cast(i_this)->Delete(); } /* 80D5B0AC-80D5B0CC 0003CC 0020+00 1/0 0/0 0/0 .text daTag_Lv5Soup_Execute__FPv */ -static int daTag_Lv5Soup_Execute(void* tag) { - return static_cast(tag)->Execute(); +static int daTag_Lv5Soup_Execute(void* i_this) { + return static_cast(i_this)->Execute(); } /* 80D5B0CC-80D5B0EC 0003EC 0020+00 1/0 0/0 0/0 .text daTag_Lv5Soup_Draw__FPv */ -static int daTag_Lv5Soup_Draw(void* tag) { - return static_cast(tag)->Draw(); +static int daTag_Lv5Soup_Draw(void* i_this) { + return static_cast(i_this)->Draw(); } /* 80D5B0EC-80D5B0F4 00040C 0008+00 1/0 0/0 0/0 .text daTag_Lv5Soup_IsDelete__FPv */ -static int daTag_Lv5Soup_IsDelete(void* tag) { +static int daTag_Lv5Soup_IsDelete(void* i_this) { return 1; } /* 80D5B0F4-80D5B154 000414 0060+00 1/0 0/0 0/0 .text __dt__15daTag_Lv5Soup_cFv */ daTag_Lv5Soup_c::~daTag_Lv5Soup_c() {} + +/* 80D5B18C-80D5B1AC -00001 0020+00 1/0 0/0 0/0 .data daTag_Lv5Soup_MethodTable */ +static actor_method_class daTag_Lv5Soup_MethodTable = { + (process_method_func)daTag_Lv5Soup_Create, (process_method_func)daTag_Lv5Soup_Delete, + (process_method_func)daTag_Lv5Soup_Execute, (process_method_func)daTag_Lv5Soup_IsDelete, + (process_method_func)daTag_Lv5Soup_Draw, +}; + +/* 80D5B1AC-80D5B1DC -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_LV5SOUP */ +extern actor_process_profile_definition g_profile_TAG_LV5SOUP = { + -3, + 7, + 0xFFFD, + 0x122, + 0, + &g_fpcLf_Method.mBase, + sizeof(daTag_Lv5Soup_c), + 0, + 0, + &g_fopAc_Method.base, + 0x0046, + 0, + 0, + &daTag_Lv5Soup_MethodTable, + 0x00064100, + 5, + 14, + 0, + 0, +}; diff --git a/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.cpp b/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.cpp index 14f206254ce..1d0b7dd475c 100644 --- a/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.cpp +++ b/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.cpp @@ -1,21 +1,10 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tag_magne -// +/** + * d_a_tag_magne.cpp + * + */ #include "rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// External References: -// - -extern "C" extern void* g_fopAc_Method[8]; - -// -// Declarations: -// +#include "d/d_procname.h" /* 805A5498-805A54DC 000078 0044+00 1/1 0/0 0/0 .text Create__12daTagMagne_cFv */ int daTagMagne_c::Create() { @@ -37,8 +26,8 @@ int daTagMagne_c::create() { new (this) daTagMagne_c(); fopAcM_OnCondition(this, 8); } - - if (mTagMagne != NULL && mTagMagne->current.mRoomNo != current.mRoomNo) { + + if (mTagMagne != NULL && mTagMagne->current.roomNo != current.roomNo) { return cPhs_ZERO_e; } @@ -57,35 +46,45 @@ int daTagMagne_c::_delete() { /* 805A558C-805A55AC 00016C 0020+00 1/0 0/0 0/0 .text daTagMagne_Delete__FP12daTagMagne_c */ -static void daTagMagne_Delete(daTagMagne_c* p_tag) { - p_tag->_delete(); +static void daTagMagne_Delete(daTagMagne_c* i_this) { + i_this->_delete(); } /* 805A55AC-805A55CC 00018C 0020+00 1/0 0/0 0/0 .text daTagMagne_Create__FP10fopAc_ac_c */ -static void daTagMagne_Create(fopAc_ac_c* p_tag) { - ((daTagMagne_c*)p_tag)->create(); +static void daTagMagne_Create(fopAc_ac_c* i_this) { + ((daTagMagne_c*)i_this)->create(); } /* ############################################################################################## */ /* 805A55D4-805A55F4 -00001 0020+00 1/0 0/0 0/0 .data l_daTagMagne_Method */ -SECTION_DATA static process_method_func l_daTagMagne_Method[8] = { +static actor_method_class l_daTagMagne_Method = { (process_method_func)daTagMagne_Create, (process_method_func)daTagMagne_Delete, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, + (process_method_func)NULL, + (process_method_func)NULL, + (process_method_func)NULL, }; /* 805A55F4-805A5624 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Magne */ -SECTION_DATA extern void* g_profile_Tag_Magne[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01620000, (void*)&g_fpcLf_Method, - (void*)0x0000056C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x024E0000, (void*)&l_daTagMagne_Method, - (void*)0x00040000, (void*)0x000E0000, +extern actor_process_profile_definition g_profile_Tag_Magne = { + -3, + 7, + 0xFFFD, + PROC_Tag_Magne, + 0, + &g_fpcLf_Method.mBase, + sizeof(daTagMagne_c), + 0, + 0, + &g_fopAc_Method.base, + 0x024E, + 0, + 0, + &l_daTagMagne_Method, + 0x00040000, + 0, + 14, + 0, + 0, }; diff --git a/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint.cpp b/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint.cpp index cb5a3fc0af8..d182ee096b0 100644 --- a/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint.cpp +++ b/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint.cpp @@ -86,7 +86,6 @@ extern "C" void __dl__FPv(); extern "C" void _savegpr_29(); extern "C" void _restgpr_29(); extern "C" void strcmp(); -extern "C" extern void* g_fopAc_Method[8]; extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" extern u8 g_meter2_info[248]; diff --git a/rel/d/a/tag/d_a_tag_mmsg/d_a_tag_mmsg.cpp b/rel/d/a/tag/d_a_tag_mmsg/d_a_tag_mmsg.cpp index c56bee44a93..86663e3fc9a 100644 --- a/rel/d/a/tag/d_a_tag_mmsg/d_a_tag_mmsg.cpp +++ b/rel/d/a/tag/d_a_tag_mmsg/d_a_tag_mmsg.cpp @@ -9,12 +9,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// External References: -// - -extern "C" extern leafdraw_method_class g_fopAc_Method; - /* ############################################################################################## */ /* 80D5B918-80D5BA94 000078 017C+00 1/1 0/0 0/0 .text create__11daTagMmsg_cFv */ int daTagMmsg_c::create() { @@ -53,8 +47,8 @@ int daTagMmsg_c::create() { } /* 80D5BA94-80D5BAB4 0001F4 0020+00 1/0 0/0 0/0 .text daTagMmsg_Create__FP10fopAc_ac_c */ -static int daTagMmsg_Create(fopAc_ac_c* tag) { - return static_cast(tag)->create(); +static int daTagMmsg_Create(fopAc_ac_c* i_this) { + return static_cast(i_this)->create(); } /* 80D5BAB4-80D5BB08 000214 0054+00 1/1 0/0 0/0 .text __dt__11daTagMmsg_cFv */ @@ -62,8 +56,8 @@ daTagMmsg_c::~daTagMmsg_c() {} /* 80D5BB08-80D5BB30 000268 0028+00 1/0 0/0 0/0 .text daTagMmsg_Delete__FP11daTagMmsg_c */ -static int daTagMmsg_Delete(daTagMmsg_c* tag) { - tag->~daTagMmsg_c(); +static int daTagMmsg_Delete(daTagMmsg_c* i_this) { + i_this->~daTagMmsg_c(); return 1; } @@ -73,8 +67,8 @@ int daTagMmsg_c::execute() { return 1; } - if (field_0x572 != 0x3FF && - i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[field_0x572])) { + if (field_0x572 != 0x3FF && i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[field_0x572])) + { return 1; } @@ -94,7 +88,8 @@ int daTagMmsg_c::execute() { (fopAcM_searchPlayerDistanceXZ2(this) < field_0x574) && (field_0x570 == 0x3FF || i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[field_0x570])) && - (field_0x568 == 0xFF || dComIfGs_isSwitch(field_0x568, fopAcM_GetHomeRoomNo(this)))) { + (field_0x568 == 0xFF || dComIfGs_isSwitch(field_0x568, fopAcM_GetHomeRoomNo(this)))) + { player->setMidnaMsgNum(this, shape_angle.z); } @@ -103,22 +98,20 @@ int daTagMmsg_c::execute() { /* 80D5BD08-80D5BD28 000468 0020+00 1/0 0/0 0/0 .text daTagMmsg_Execute__FP11daTagMmsg_c */ -static int daTagMmsg_Execute(daTagMmsg_c* tag) { - return tag->execute(); +static int daTagMmsg_Execute(daTagMmsg_c* i_this) { + return i_this->execute(); } /* 80D5BD28-80D5BD30 000488 0008+00 1/0 0/0 0/0 .text daTagMmsg_Draw__FP11daTagMmsg_c */ -static int daTagMmsg_Draw(daTagMmsg_c* tag) { +static int daTagMmsg_Draw(daTagMmsg_c* i_this) { return 1; } /* ############################################################################################## */ /* 80D5BD44-80D5BD64 -00001 0020+00 1/0 0/0 0/0 .data l_daTagMmsg_Method */ static actor_method_class l_daTagMmsg_Method = { - (process_method_func)daTagMmsg_Create, - (process_method_func)daTagMmsg_Delete, - (process_method_func)daTagMmsg_Execute, - (process_method_func)NULL, + (process_method_func)daTagMmsg_Create, (process_method_func)daTagMmsg_Delete, + (process_method_func)daTagMmsg_Execute, (process_method_func)NULL, (process_method_func)daTagMmsg_Draw, }; @@ -133,7 +126,7 @@ extern actor_process_profile_definition g_profile_Tag_Mmsg = { sizeof(daTagMmsg_c), // mSize 0, // mSizeOther 0, // mParameters - &g_fopAc_Method, // mSubMtd + &g_fopAc_Method.base, // mSubMtd 0x00FF, // mPriority 0, // unk22[0] 0, // unk22[1] diff --git a/rel/d/a/tag/d_a_tag_mstop/d_a_tag_mstop.cpp b/rel/d/a/tag/d_a_tag_mstop/d_a_tag_mstop.cpp index afa6f25aac0..ee79c00fdc8 100644 --- a/rel/d/a/tag/d_a_tag_mstop/d_a_tag_mstop.cpp +++ b/rel/d/a/tag/d_a_tag_mstop/d_a_tag_mstop.cpp @@ -76,7 +76,6 @@ extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; diff --git a/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall.cpp b/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall.cpp index a0f75a01f71..3f1967db997 100644 --- a/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall.cpp +++ b/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall.cpp @@ -1,27 +1,10 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tag_setBall -// +/** + * d_a_tag_setBall.cpp + * + */ #include "rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" extern void* g_profile_Tag_SetBall[12]; - -// -// External References: -// - -extern "C" extern void* g_fopAc_Method[8]; - -// -// Declarations: -// +#include "d/d_procname.h" /* 80D601F8-80D60218 000078 0020+00 1/1 0/0 0/0 .text initBaseMtx__14daTagSetBall_cFv */ void daTagSetBall_c::initBaseMtx() { @@ -63,39 +46,49 @@ int daTagSetBall_c::_delete() { } /* 80D602C4-80D602E4 000144 0020+00 1/0 0/0 0/0 .text daTagSetBall_Execute__FP14daTagSetBall_c */ -static int daTagSetBall_Execute(daTagSetBall_c* tag) { - return tag->execute(); +static int daTagSetBall_Execute(daTagSetBall_c* i_this) { + return i_this->execute(); } /* 80D602E4-80D60304 000164 0020+00 1/0 0/0 0/0 .text daTagSetBall_Delete__FP14daTagSetBall_c */ -static int daTagSetBall_Delete(daTagSetBall_c* tag) { - return tag->_delete(); +static int daTagSetBall_Delete(daTagSetBall_c* i_this) { + return i_this->_delete(); } /* 80D60304-80D60324 000184 0020+00 1/0 0/0 0/0 .text daTagSetBall_Create__FP14daTagSetBall_c */ -static int daTagSetBall_Create(daTagSetBall_c* tag) { - return tag->create(); +static int daTagSetBall_Create(daTagSetBall_c* i_this) { + return i_this->create(); } /* ############################################################################################## */ /* 80D6032C-80D6034C -00001 0020+00 1/0 0/0 0/0 .data l_daTagSetBall_Method */ -SECTION_DATA static void* l_daTagSetBall_Method[8] = { - (void*)daTagSetBall_Create, - (void*)daTagSetBall_Delete, - (void*)daTagSetBall_Execute, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daTagSetBall_Method = { + (process_method_func)daTagSetBall_Create, + (process_method_func)daTagSetBall_Delete, + (process_method_func)daTagSetBall_Execute, + (process_method_func)NULL, + (process_method_func)NULL, }; /* 80D6034C-80D6037C -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_SetBall */ -SECTION_DATA extern void* g_profile_Tag_SetBall[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x019F0000, (void*)&g_fpcLf_Method, - (void*)0x0000056C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x023F0000, (void*)&l_daTagSetBall_Method, - (void*)0x00040100, (void*)0x000E0000, +extern actor_process_profile_definition g_profile_Tag_SetBall = { + -3, + 7, + 0xFFFD, + PROC_Tag_SetBall, + 0, + &g_fpcLf_Method.mBase, + sizeof(daTagSetBall_c), + 0, + 0, + &g_fopAc_Method.base, + 0x023F, + 0, + 0, + &l_daTagSetBall_Method, + 0x00040100, + 0, + 14, + 0, + 0, }; diff --git a/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart.cpp b/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart.cpp index aa111959a6e..fb2cce6f620 100644 --- a/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart.cpp +++ b/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart.cpp @@ -6,24 +6,6 @@ #include "rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart.h" #include "d/com/d_com_inf_game.h" -#include "dol2asm.h" - -// -// Forward References: -// - -extern "C" extern void* g_profile_Tag_Restart[12]; - -// -// External References: -// - -extern "C" void __dl__FPv(); -extern "C" extern void* g_fopAc_Method[8]; - -// -// Declarations: -// /* 80D603F8-80D6048C 000078 0094+00 1/1 0/0 0/0 .text Create__14daTagRestart_cFv */ int daTagRestart_c::Create() { @@ -62,21 +44,6 @@ int daTagRestart_c::create() { return cPhs_COMPLEATE_e; } -/* 80D60520-80D6055C 0001A0 003C+00 1/1 0/0 0/0 .text __dt__4cXyzFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm cXyz::~cXyz() { -extern "C" asm void __dt__4cXyzFv() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/__dt__4cXyzFv.s" -} -#pragma pop - -/* 80D6055C-80D60560 0001DC 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -// cXyz::cXyz() { -extern "C" void __ct__4cXyzFv() {} - /* 80D60560-80D60744 0001E0 01E4+00 1/1 0/0 0/0 .text execute__14daTagRestart_cFv */ int daTagRestart_c::execute() { fopAc_ac_c* player = dComIfGp_getPlayer(0); @@ -87,7 +54,8 @@ int daTagRestart_c::execute() { mDoMtx_stack_c::multVec(&player_pos, &player_pos); if (field_0x56c[0].x < player_pos.x && field_0x56c[0].z < player_pos.z && - field_0x56c[2].x > player_pos.x && field_0x56c[2].z > player_pos.z) { + field_0x56c[2].x > player_pos.x && field_0x56c[2].z > player_pos.z) + { int roomNo = dComIfGp_roomControl_getStayNo(); if (roomNo != mPlayerRoomNo) { cXyz pos_offset; @@ -141,23 +109,33 @@ static int daTagRestart_Create(fopAc_ac_c* i_this) { /* ############################################################################################## */ /* 80D607C0-80D607E0 -00001 0020+00 1/0 0/0 0/0 .data l_daTagRestart_Method */ -SECTION_DATA static void* l_daTagRestart_Method[8] = { - (void*)daTagRestart_Create, - (void*)daTagRestart_Delete, - (void*)daTagRestart_Execute, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daTagRestart_Method = { + (process_method_func)daTagRestart_Create, + (process_method_func)daTagRestart_Delete, + (process_method_func)daTagRestart_Execute, + (process_method_func)NULL, + (process_method_func)NULL, }; /* 80D607E0-80D60810 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Restart */ -SECTION_DATA extern void* g_profile_Tag_Restart[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x022F0000, (void*)&g_fpcLf_Method, - (void*)0x0000059C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x02500000, (void*)&l_daTagRestart_Method, - (void*)0x00040000, (void*)0x000E0000, +extern actor_process_profile_definition g_profile_Tag_Restart = { + -3, + 7, + 0xFFFD, + PROC_Tag_Restart, + 0, + &g_fpcLf_Method.mBase, + sizeof(daTagRestart_c), + 0, + 0, + &g_fopAc_Method.base, + 0x0250, + 0, + 0, + &l_daTagRestart_Method, + 0x00040000, + 0, + 14, + 0, + 0, }; diff --git a/rel/d/a/tag/d_a_tag_telop/d_a_tag_telop.cpp b/rel/d/a/tag/d_a_tag_telop/d_a_tag_telop.cpp index 95aa6aa4f75..38e52281de4 100644 --- a/rel/d/a/tag/d_a_tag_telop/d_a_tag_telop.cpp +++ b/rel/d/a/tag/d_a_tag_telop/d_a_tag_telop.cpp @@ -1,40 +1,11 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tag_telop -// +/** + * d_a_tag_telop.cpp + * + */ #include "rel/d/a/tag/d_a_tag_telop/d_a_tag_telop.h" -#include "dol2asm.h" -#include "dolphin/types.h" #include "f_op/f_op_msg_mng.h" -// -// Forward References: -// - -extern "C" void create__13daTag_Telop_cFv(); -extern "C" void execute__13daTag_Telop_cFv(); -extern "C" static bool daTag_Telop_Draw__FP13daTag_Telop_c(); -extern "C" static void daTag_Telop_Execute__FP13daTag_Telop_c(); -extern "C" static bool daTag_Telop_IsDelete__FP13daTag_Telop_c(); -extern "C" static void daTag_Telop_Delete__FP13daTag_Telop_c(); -extern "C" static void daTag_Telop_Create__FP10fopAc_ac_c(); -extern "C" extern void* g_profile_TAG_TELOP[12]; - -// -// External References: -// - -extern "C" extern void* g_fopAc_Method[8]; - -// -// Declarations: -// - -inline int dComIfGs_isEventBit(u16 event) { - return g_dComIfG_gameInfo.info.getSavedata().getEvent().isEventBit(event); -} - /* 80490A58-80490AF8 000078 00A0+00 1/1 0/0 0/0 .text create__13daTag_Telop_cFv */ int daTag_Telop_c::create() { if (!fopAcM_CheckCondition(this, 8)) { @@ -71,52 +42,60 @@ void daTag_Telop_c::execute() { /* 80490B5C-80490B64 00017C 0008+00 1/0 0/0 0/0 .text daTag_Telop_Draw__FP13daTag_Telop_c */ -static int daTag_Telop_Draw(daTag_Telop_c* tag) { +static int daTag_Telop_Draw(daTag_Telop_c* i_this) { return 1; } /* 80490B64-80490B88 000184 0024+00 1/0 0/0 0/0 .text daTag_Telop_Execute__FP13daTag_Telop_c */ -static int daTag_Telop_Execute(daTag_Telop_c* tag) { - tag->execute(); +static int daTag_Telop_Execute(daTag_Telop_c* i_this) { + i_this->execute(); return 1; } /* 80490B88-80490B90 0001A8 0008+00 1/0 0/0 0/0 .text daTag_Telop_IsDelete__FP13daTag_Telop_c */ -static int daTag_Telop_IsDelete(daTag_Telop_c* tag) { +static int daTag_Telop_IsDelete(daTag_Telop_c* i_this) { return 1; } /* 80490B90-80490BC0 0001B0 0030+00 1/0 0/0 0/0 .text daTag_Telop_Delete__FP13daTag_Telop_c */ -static int daTag_Telop_Delete(daTag_Telop_c* tag) { - tag->~daTag_Telop_c(); +static int daTag_Telop_Delete(daTag_Telop_c* i_this) { + i_this->~daTag_Telop_c(); return 1; } /* 80490BC0-80490BE0 0001E0 0020+00 1/0 0/0 0/0 .text daTag_Telop_Create__FP10fopAc_ac_c */ -static int daTag_Telop_Create(fopAc_ac_c* tag) { - return static_cast(tag)->create(); +static int daTag_Telop_Create(fopAc_ac_c* i_this) { + return static_cast(i_this)->create(); } /* ############################################################################################## */ /* 80490BE8-80490C08 -00001 0020+00 1/0 0/0 0/0 .data l_daTag_Telop_Method */ -SECTION_DATA static void* l_daTag_Telop_Method[8] = { - (void*)daTag_Telop_Create__FP10fopAc_ac_c, - (void*)daTag_Telop_Delete__FP13daTag_Telop_c, - (void*)daTag_Telop_Execute__FP13daTag_Telop_c, - (void*)daTag_Telop_IsDelete__FP13daTag_Telop_c, - (void*)daTag_Telop_Draw__FP13daTag_Telop_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daTag_Telop_Method = { + (process_method_func)daTag_Telop_Create, (process_method_func)daTag_Telop_Delete, + (process_method_func)daTag_Telop_Execute, (process_method_func)daTag_Telop_IsDelete, + (process_method_func)daTag_Telop_Draw, }; /* 80490C08-80490C38 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_TELOP */ -SECTION_DATA extern void* g_profile_TAG_TELOP[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x02D30000, (void*)&g_fpcLf_Method, - (void*)0x00000570, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x011A0000, (void*)&l_daTag_Telop_Method, - (void*)0x00044000, (void*)0x00060000, +extern actor_process_profile_definition g_profile_TAG_TELOP = { + -3, + 7, + 0xFFFD, + PROC_TAG_TELOP, + 0, + &g_fpcLf_Method.mBase, + sizeof(daTag_Telop_c), + 0, + 0, + &g_fopAc_Method.base, + 0x011A, + 0, + 0, + &l_daTag_Telop_Method, + 0x00044000, + 0, + 6, + 0, + 0, }; diff --git a/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl.cpp b/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl.cpp index 9742c4be233..5058527fb0c 100644 --- a/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl.cpp +++ b/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl.cpp @@ -1,21 +1,10 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tag_wara_howl -// +/** + * d_a_tag_wara_howl.cpp + * + */ #include "rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl.h" #include "d/com/d_com_inf_game.h" -#include "dol2asm.h" - -// -// External References: -// - -extern "C" extern void* g_fopAc_Method[8]; - -// -// Declarations: -// /* 80D63F38-80D63F74 000078 003C+00 2/2 0/0 0/0 .text __ct__13daTagWrHowl_cFv */ daTagWrHowl_c::daTagWrHowl_c() {} @@ -106,23 +95,31 @@ static int daTagWrHowl_draw(daTagWrHowl_c* i_this) { /* ############################################################################################## */ /* 80D64204-80D64224 -00001 0020+00 1/0 0/0 0/0 .data daTagWrHowl_METHODS */ -SECTION_DATA static void* daTagWrHowl_METHODS[8] = { - (void*)daTagWrHowl_create, - (void*)daTagWrHowl_Delete, - (void*)daTagWrHowl_execute, - (void*)NULL, - (void*)daTagWrHowl_draw, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class daTagWrHowl_METHODS = { + (process_method_func)daTagWrHowl_create, (process_method_func)daTagWrHowl_Delete, + (process_method_func)daTagWrHowl_execute, (process_method_func)NULL, + (process_method_func)daTagWrHowl_draw, }; /* 80D64224-80D64254 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_WaraHowl */ -SECTION_DATA extern void* g_profile_Tag_WaraHowl[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x018B0000, (void*)&g_fpcLf_Method, - (void*)0x00000574, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x02DD0000, (void*)&daTagWrHowl_METHODS, - (void*)0x00040000, (void*)0x000E0000, +extern actor_process_profile_definition g_profile_Tag_WaraHowl = { + -3, + 7, + 0xFFFD, + PROC_Tag_WaraHowl, + 0, + &g_fpcLf_Method.mBase, + sizeof(daTagWrHowl_c), + 0, + 0, + &g_fopAc_Method.base, + 0x02DD, + 0, + 0, + &daTagWrHowl_METHODS, + 0x00040000, + 0, + 14, + 0, + 0, }; \ No newline at end of file diff --git a/src/d/a/d_a_alink.cpp b/src/d/a/d_a_alink.cpp index 6b7ac4fac91..3cb6885a944 100644 --- a/src/d/a/d_a_alink.cpp +++ b/src/d/a/d_a_alink.cpp @@ -3029,7 +3029,6 @@ extern "C" extern void* __vt__28mDoExt_MtxCalcAnmBlendTblOld[11]; extern "C" extern void* __vt__25mDoExt_MtxCalcAnmBlendTbl[11]; extern "C" extern void* __vt__10J3DMtxCalc[11 + 1 /* padding */]; extern "C" extern void* __vt__19JPAParticleCallBack[5]; -extern "C" extern void* g_fopAc_Method[8]; extern "C" extern void* __vt__8cM3dGPla[3]; extern "C" extern void* __vt__14dBgS_ObjGndChk[12 + 1 /* padding */]; extern "C" extern void* __vt__12dDlst_base_c[3]; @@ -14684,7 +14683,7 @@ void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, s16 i_angle, int param_2 i_onEndResetFlg0(ERFLG0_UNK_800000); i_onEndResetFlg2(ERFLG2_UNK_100); if (mDemo.getDemoMode() != 0x59) { - mSpeed.y = FLOAT_LABEL(lit_6108); + speed.y = FLOAT_LABEL(lit_6108); } } @@ -14709,7 +14708,7 @@ void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, s16 i_angle, int param_2 rideAc->current.pos = current.pos; rideAc->shape_angle.y = shape_angle.y; rideAc->current.angle.y = shape_angle.y; - rideAc->mSpeed.y = FLOAT_LABEL(lit_6108); + rideAc->speed.y = FLOAT_LABEL(lit_6108); } field_0x814.ClrCcMove(); @@ -14726,7 +14725,7 @@ void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, csXyz const* p_angle) { field_0x3798 = current.pos; i_onEndResetFlg0(ERFLG0_UNK_800000); i_onEndResetFlg2(ERFLG2_UNK_100); - mSpeed.y = FLOAT_LABEL(lit_6108); + speed.y = FLOAT_LABEL(lit_6108); } if (p_angle != NULL) { @@ -14752,7 +14751,7 @@ void daAlink_c::setPlayerPosAndAngle(Mtx param_0) { mDoMtx_MtxToRot(param_0, &shape_angle); current.angle.y = shape_angle.y; field_0x2fe6 = shape_angle.y; - mSpeed.y = FLOAT_LABEL(lit_6108); + speed.y = FLOAT_LABEL(lit_6108); field_0x814.ClrCcMove(); } } @@ -16185,7 +16184,7 @@ int daAlink_c::checkNextAction(int param_0) { } else if (mProcID == PROC_MOVE_TURN && current.angle.y != shape_angle.y) { ret = procMoveTurnInit(0); } else if (checkInputOnR() && cLib_distanceAngleS(field_0x2fe2, current.angle.y) > 0x7800) { - if (mSpeedF / field_0x594 > daAlinkHIO_move_c0::m.mSlideThresholdSpeed && field_0x2fa8 != 8 && + if (speedF / field_0x594 > daAlinkHIO_move_c0::m.mSlideThresholdSpeed && field_0x2fa8 != 8 && !checkGrabAnime() && getDirectionFromAngle(mPrevStickAngle - mStickAngle) == DIR_BACKWARD) { ret = procSlipInit(); } else { @@ -16471,37 +16470,37 @@ void daAlink_c::posMove() { setFootSpeed(); if (i_checkEndResetFlg0(ERFLG0_UNK_10000000)) { - mSpeedF = 0.0f; + speedF = 0.0f; mNormalSpeed = 0.0f; } - mSpeedF = mNormalSpeed * (1.0f - fabsf(mSpeedModifier)); + speedF = mNormalSpeed * (1.0f - fabsf(mSpeedModifier)); f32 mod = field_0x33a0 * (1.0f - field_0x2060->getOldFrameRate()) * mSpeedModifier; - if (mSpeedF < 0.0f) { - mSpeedF -= mod; + if (speedF < 0.0f) { + speedF -= mod; } else { - mSpeedF += mod; + speedF += mod; } if (getZoraSwim() && !checkZoraWearAbility()) { - mSpeedF *= daAlinkHIO_swim_c0::m.mSurfaceSwimSpeedRate; + speedF *= daAlinkHIO_swim_c0::m.mSurfaceSwimSpeedRate; } - f32 var_f31 = mSpeedF; - mSpeedF *= cM_scos(var_r26); + f32 var_f31 = speedF; + speedF *= cM_scos(var_r26); if (var_r26 < 0 && !checkBoardRide() && !i_checkModeFlg(MODE_SWIMMING)) { - mSpeedF *= 0.85f; + speedF *= 0.85f; } if (mProcID == PROC_AUTO_JUMP && checkGrabGlide() && (field_0xC04[0].ChkTgHit() || field_0xC04[1].ChkTgHit() || field_0xC04[2].ChkTgHit())) { - mSpeedF *= 0.5f; + speedF *= 0.5f; } - mSpeed.x = mSpeedF * cM_ssin(current.angle.y); - mSpeed.z = mSpeedF * cM_scos(current.angle.y); + speed.x = speedF * cM_ssin(current.angle.y); + speed.z = speedF * cM_scos(current.angle.y); if (checkNoCollisionCorret() || (i_checkModeFlg(0x40) && i_checkModeFlg(0x4000))) { field_0x342c = 0.0f; @@ -16522,8 +16521,8 @@ void daAlink_c::posMove() { plane.mNormal.y = 0.0f; plane.mNormal.normalizeZP(); - mSpeed.x += temp_f0 * plane.mNormal.x; - mSpeed.z += temp_f0 * plane.mNormal.z; + speed.x += temp_f0 * plane.mNormal.x; + speed.z += temp_f0 * plane.mNormal.z; } } } @@ -16535,68 +16534,68 @@ void daAlink_c::posMove() { if (i_checkNoResetFlg0(FLG0_UNK_100) && mProcID != PROC_SWIM_DIVE) { current.pos.y = mWaterY; } else if (mDemo.getDemoType() == 4 || mProcID == PROC_ELEC_DAMAGE || i_dComIfGp_checkPlayerStatus0(0, 0x10)) { - mSpeed.y = 0.0f; + speed.y = 0.0f; } else if (i_checkWolf()) { if (checkHeavyStateOn(1, 1)) { - mSpeed.y += daAlinkHIO_wlSwim_c0::m.field_0x9C; + speed.y += daAlinkHIO_wlSwim_c0::m.field_0x9C; - if (mSpeed.y > daAlinkHIO_wlSwim_c0::m.field_0xA4) { - mSpeed.y = daAlinkHIO_wlSwim_c0::m.field_0xA4; + if (speed.y > daAlinkHIO_wlSwim_c0::m.field_0xA4) { + speed.y = daAlinkHIO_wlSwim_c0::m.field_0xA4; } } else { - mSpeed.y += daAlinkHIO_wlSwim_c0::m.field_0x60; + speed.y += daAlinkHIO_wlSwim_c0::m.field_0x60; - if (mSpeed.y > daAlinkHIO_wlSwim_c0::m.field_0x5C) { - mSpeed.y = daAlinkHIO_wlSwim_c0::m.field_0x5C; + if (speed.y > daAlinkHIO_wlSwim_c0::m.field_0x5C) { + speed.y = daAlinkHIO_wlSwim_c0::m.field_0x5C; } } } else if (!i_checkEquipHeavyBoots() && getZoraSwim()) { - mSpeed.y = -var_f31 * cM_ssin(var_r26); + speed.y = -var_f31 * cM_ssin(var_r26); } else if ((checkBootsOrArmorHeavy() && mProcID != PROC_DEAD) || mProcID == PROC_SWIM_DIVE) { - mSpeed.y += mGravity; + speed.y += mGravity; - if (mSpeed.y < mMaxFallSpeed) { - mSpeed.y = mMaxFallSpeed; + if (speed.y < mMaxFallSpeed) { + speed.y = mMaxFallSpeed; } - } else if (mSpeed.y > daAlinkHIO_swim_c0::m.mMaxFloatUpSpeed) { - mSpeed.y += mGravity; - } else if (mSpeed.y < mMaxFallSpeed) { - mSpeed.y += 1.0f; + } else if (speed.y > daAlinkHIO_swim_c0::m.mMaxFloatUpSpeed) { + speed.y += mGravity; + } else if (speed.y < mMaxFallSpeed) { + speed.y += 1.0f; } else { if (checkZoraWearAbility() && mWaterY > current.pos.y + daAlinkHIO_swim_c0::m.mNormalFloatDepth) { - mSpeed.y += daAlinkHIO_swim_c0::m.mZoraFloatDepth; + speed.y += daAlinkHIO_swim_c0::m.mZoraFloatDepth; - if (mSpeed.y < 0.0f) { - mSpeed.y = 0.0f; + if (speed.y < 0.0f) { + speed.y = 0.0f; } } else { - mSpeed.y += daAlinkHIO_swim_c0::m.mBuoyancy; + speed.y += daAlinkHIO_swim_c0::m.mBuoyancy; } - if (mSpeed.y > daAlinkHIO_swim_c0::m.mMaxFloatUpSpeed) { - mSpeed.y = daAlinkHIO_swim_c0::m.mMaxFloatUpSpeed; + if (speed.y > daAlinkHIO_swim_c0::m.mMaxFloatUpSpeed) { + speed.y = daAlinkHIO_swim_c0::m.mMaxFloatUpSpeed; } } } else if (!i_checkModeFlg(0x400)) { if (checkHeavyStateOn(1, 1) && mProcID != PROC_SPINNER_READY && !i_checkNoResetFlg0(FLG0_UNDERWATER)) { - mSpeed.y += mGravity * 2.25f; + speed.y += mGravity * 2.25f; - if (mSpeed.y < mMaxFallSpeed * 1.5f) { - mSpeed.y = mMaxFallSpeed * 1.5f; + if (speed.y < mMaxFallSpeed * 1.5f) { + speed.y = mMaxFallSpeed * 1.5f; } } else { - mSpeed.y += mGravity; + speed.y += mGravity; - if (mSpeed.y < mMaxFallSpeed) { - mSpeed.y = mMaxFallSpeed; + if (speed.y < mMaxFallSpeed) { + speed.y = mMaxFallSpeed; } } } else if (checkBoardRide()) { mLinkAcch.OffLineCheck(); - mSpeed.y += mGravity; + speed.y += mGravity; - if (mSpeed.y < mMaxFallSpeed) { - mSpeed.y = mMaxFallSpeed; + if (speed.y < mMaxFallSpeed) { + speed.y = mMaxFallSpeed; } } @@ -16609,13 +16608,13 @@ void daAlink_c::posMove() { mDoMtx_stack_c::YrotM(current.angle.y); cXyz spFC; - spFC.z = mSpeedF; - mDoMtx_stack_c::multVecSR(&spFC, &mSpeed); - current.pos += mSpeed; + spFC.z = speedF; + mDoMtx_stack_c::multVecSR(&spFC, &speed); + current.pos += speed; current.pos.x += field_0x342c; current.pos.z += field_0x3430; } else { - current.pos += mSpeed; + current.pos += speed; current.pos.x += field_0x342c; current.pos.z += field_0x3430; @@ -16626,12 +16625,12 @@ void daAlink_c::posMove() { } if (checkBoardRide() && !i_checkModeFlg(2)) { - current.pos.y -= mSpeedF * cM_ssin(var_r26); + current.pos.y -= speedF * cM_ssin(var_r26); } if (i_getSumouMode() && mProcID != PROC_SUMOU_WIN_LOSE) { current.pos.y = var_f31 - 1.0f; - mSpeed.y = mGravity; + speed.y = mGravity; } field_0x342c = 0.0f; @@ -17820,7 +17819,7 @@ asm void daAlink_c::changeWarpMaterial(daAlink_c::daAlink_WARP_MAT_MODE param_0) #ifdef NONMATCHING void daAlink_c::commonProcInit(daAlink_c::daAlink_PROC i_procID) { if (mProcID == PROC_TOOL_DEMO) { - mSpeed.y = 0.0f; + speed.y = 0.0f; resetDemoBck(); if (i_checkModeFlg(MODE_RIDING)) { initForceRideHorse(); diff --git a/src/d/a/d_a_alink_boom.inc b/src/d/a/d_a_alink_boom.inc index 7b1b62b5e5f..c9f5eb6a811 100644 --- a/src/d/a/d_a_alink_boom.inc +++ b/src/d/a/d_a_alink_boom.inc @@ -16,8 +16,8 @@ f32 daAlink_c::getBoomSpeed() { if (i_checkModeFlg(0x400)) { fopAc_ac_c* ride_actor = mRideAcKeep.getActor(); - if (ride_actor != NULL && ride_actor->mSpeedF > FLOAT_LABEL(lit_6108)) { - speed += ride_actor->mSpeedF; + if (ride_actor != NULL && ride_actor->speedF > FLOAT_LABEL(lit_6108)) { + speed += ride_actor->speedF; } } @@ -211,8 +211,8 @@ void daAlink_c::throwBoomerang() { mFastShotTime = -1; daPy_boomerangMove_c::offEventKeepFlg(); } else { - item->mSpeedF = daAlinkHIO_pickUp_c0::m.field_0x28; - item->mSpeed.y = daAlinkHIO_pickUp_c0::m.field_0x2C; + item->speedF = daAlinkHIO_pickUp_c0::m.field_0x28; + item->speed.y = daAlinkHIO_pickUp_c0::m.field_0x2C; item->current.angle.y = shape_angle.y; fopAcM_cancelCarryNow(item); diff --git a/src/d/a/d_a_alink_canoe.inc b/src/d/a/d_a_alink_canoe.inc index 6f2121d764d..856f426dcd5 100644 --- a/src/d/a/d_a_alink_canoe.inc +++ b/src/d/a/d_a_alink_canoe.inc @@ -139,7 +139,7 @@ BOOL daAlink_c::checkCanoeJumpRide() { canoe = (daCanoe_c*)field_0x850[1].GetCoHitAc(); } - if (mSpeed.y < FLOAT_LABEL(lit_6108) && canoe != NULL && fopAcM_GetName(canoe) == PROC_CANOE && + if (speed.y < FLOAT_LABEL(lit_6108) && canoe != NULL && fopAcM_GetName(canoe) == PROC_CANOE && canoe->checkJumpRideFlg() && !checkDeadHP() && (mProcID != PROC_FALL || field_0x3010 != 0)) { return procCanoeJumpRideInit(canoe); @@ -257,7 +257,7 @@ int daAlink_c::procCanoeRideInit() { f32 tmp_0 = FLOAT_LABEL(lit_6108); mNormalSpeed = tmp_0; - mSpeed.y = tmp_0; + speed.y = tmp_0; setRideCanoeBasePos(canoe); if ((s16)(fopAcM_searchActorAngleY(canoe, this) - canoe->shape_angle.y) > 0) { @@ -329,7 +329,7 @@ int daAlink_c::procCanoeJumpRideInit(fopAc_ac_c* param_0) { f32 tmp_0 = FLOAT_LABEL(lit_6108); mNormalSpeed = tmp_0; - mSpeed.y = tmp_0; + speed.y = tmp_0; setRideCanoeBasePos(canoe); mDoMtx_multVec(canoe->getModelMtx(), &field_0x37c8, ¤t.pos); current.angle.y = shape_angle.y; diff --git a/src/d/a/d_a_alink_cut.inc b/src/d/a/d_a_alink_cut.inc index 1521bfc777c..207b1e46f17 100644 --- a/src/d/a/d_a_alink_cut.inc +++ b/src/d/a/d_a_alink_cut.inc @@ -686,9 +686,9 @@ void daAlink_c::checkCutAtnActorChange() { void daAlink_c::setCutJumpSpeed(int i_airAt) { if (i_checkNoResetFlg0(FLG0_UNDERWATER)) { mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX; - mSpeed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY; + speed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY; } else if (checkHeavyStateOn(1, 1)) { - mSpeed.y *= 1.35f; + speed.y *= 1.35f; } if (mTargetedActor != NULL && !i_airAt) { @@ -703,7 +703,7 @@ void daAlink_c::setCutJumpSpeed(int i_airAt) { targetPos.y = mTargetedActor->mEyePos.y; } - f32 dvar12 = mSpeed.y + mGravity; + f32 dvar12 = speed.y + mGravity; f32 dvar10 = 1.0f / mGravity; f32 fvar1 = targetPos.y - (current.pos.y - (dvar10 * (dvar12 * dvar12) * 0.5f)); @@ -1027,14 +1027,14 @@ int daAlink_c::procCutFinishJumpUpInit() { } setCutType(CUT_TYPE_TWIRL); - mSpeed.y = daAlinkHIO_cutFnJU_c0::m.mSpeedV; + speed.y = daAlinkHIO_cutFnJU_c0::m.mSpeedV; mNormalSpeed = daAlinkHIO_cutFnJU_c0::m.mSpeedH; if (i_checkNoResetFlg0(FLG0_UNDERWATER)) { mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX; - mSpeed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY; + speed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY; } else if (checkHeavyStateOn(1, 1)) { - mSpeed.y *= lit_7624; + speed.y *= lit_7624; } if (side_roll) { @@ -1255,10 +1255,10 @@ int daAlink_c::procCutJumpInit(int i_airCut) { if (i_airCut) { mNormalSpeed = daAlinkHIO_cutJump_c0::m.mAirJumpSpeedH; - mSpeed.y = daAlinkHIO_cutJump_c0::m.mAirJumpSpeedV; + speed.y = daAlinkHIO_cutJump_c0::m.mAirJumpSpeedV; } else { mNormalSpeed = daAlinkHIO_cutJump_c0::m.mBaseJumpSpeedH; - mSpeed.y = daAlinkHIO_cutJump_c0::m.mBaseJumpSpeedV; + speed.y = daAlinkHIO_cutJump_c0::m.mBaseJumpSpeedV; } setCutJumpSpeed(i_airCut); @@ -1639,7 +1639,7 @@ int daAlink_c::procCutDown() { return 1; } - if (mLinkAcch.ChkGroundHit() && mSpeed.y <= FLOAT_LABEL(lit_6108)) { + if (mLinkAcch.ChkGroundHit() && speed.y <= FLOAT_LABEL(lit_6108)) { procCutDownLandInit((fopEn_enemy_c*)field_0x280c.getActor()); } else if (mUnderFrameCtrl[0].checkAnmEnd() && mCommonCounter == 0) { mCommonCounter = 1; @@ -1685,11 +1685,11 @@ int daAlink_c::procCutHead() { if (field_0x300e == 0) { cLib_chaseF(&mNormalSpeed, FLOAT_LABEL(lit_6108), field_0x3478); - if (mSpeed.y <= FLOAT_LABEL(lit_6108)) { + if (speed.y <= FLOAT_LABEL(lit_6108)) { setSingleAnimeParam(ANM_CUT_HEAD, &daAlinkHIO_cutHead_c0::m.mCutAnm); f32 tmp_0 = FLOAT_LABEL(lit_6108); mNormalSpeed = tmp_0; - mSpeed.y = tmp_0; + speed.y = tmp_0; setSpecialGravity(tmp_0, mMaxFallSpeed, 0); field_0x300e = 1; setCutWaterDropEffect(); @@ -1700,7 +1700,7 @@ int daAlink_c::procCutHead() { mNormalSpeed *= lit_8501; if (frameCtrl->checkPass(lit_8502)) { - mSpeed.y = daAlinkHIO_cutHead_c0::m.mAddSpeedV; + speed.y = daAlinkHIO_cutHead_c0::m.mAddSpeedV; mNormalSpeed = daAlinkHIO_cutHead_c0::m.mAddSpeedH; initGravity(); } @@ -1837,7 +1837,7 @@ int daAlink_c::procCutLargeJump() { if (!i_checkModeFlg(2) && frameCtrl->getFrame() >= lit_7808) { setJumpMode(); mNormalSpeed = daAlinkHIO_cutLargeJump_c0::m.mCutSpeedH; - mSpeed.y = daAlinkHIO_cutLargeJump_c0::m.mCutSpeedV; + speed.y = daAlinkHIO_cutLargeJump_c0::m.mCutSpeedV; setCutJumpSpeed(0); } diff --git a/src/d/a/d_a_alink_iceleaf.inc b/src/d/a/d_a_alink_iceleaf.inc index c6edc3f52c6..345c7902365 100644 --- a/src/d/a/d_a_alink_iceleaf.inc +++ b/src/d/a/d_a_alink_iceleaf.inc @@ -207,7 +207,7 @@ int daAlink_c::procBoardJumpInit(f32 param_0, int param_1) { daAlinkHIO_board_c0::m.mAirborneAnm.mInterpolation); if (param_1 == 0) { - mSpeed.y = cLib_minMaxLimit(param_0, daAlinkHIO_board_c0::m.mMinJumpSpeedY, daAlinkHIO_board_c0::m.mMaxJumpSpeedY); + speed.y = cLib_minMaxLimit(param_0, daAlinkHIO_board_c0::m.mMinJumpSpeedY, daAlinkHIO_board_c0::m.mMaxJumpSpeedY); } field_0x3010 = 0; diff --git a/src/d/a/d_a_alink_link.inc b/src/d/a/d_a_alink_link.inc index 9368dbbacdc..6a159ccd979 100644 --- a/src/d/a/d_a_alink_link.inc +++ b/src/d/a/d_a_alink_link.inc @@ -425,7 +425,7 @@ int daAlink_c::procSideStepInit(int jump_type) { current.angle.y = shape_angle.y + 0x8000; setSingleAnimeParam(ANM_BACK_JUMP, &daAlinkHIO_sideStep_c0::m.mBackJumpAnm); mNormalSpeed = daAlinkHIO_sideStep_c0::m.mBackJumpSpeedH; - mSpeed.y = daAlinkHIO_sideStep_c0::m.mBackJumpSpeedV; + speed.y = daAlinkHIO_sideStep_c0::m.mBackJumpSpeedV; field_0x300a = 0; } else { daAlink_ANM anm_id; @@ -439,13 +439,13 @@ int daAlink_c::procSideStepInit(int jump_type) { setSingleAnimeParam(anm_id, &daAlinkHIO_sideStep_c0::m.mSideJumpAnm); mNormalSpeed = daAlinkHIO_sideStep_c0::m.mSideJumpSpeedH; - mSpeed.y = daAlinkHIO_sideStep_c0::m.mSideJumpSpeedV; + speed.y = daAlinkHIO_sideStep_c0::m.mSideJumpSpeedV; field_0x300a = 1; } if (i_checkNoResetFlg0(FLG0_UNDERWATER)) { mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX; - mSpeed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY; + speed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY; } voiceStart(Z2SE_AL_V_JUMP_S); @@ -686,7 +686,7 @@ int daAlink_c::procFrontRollInit() { daAlinkHIO_frontRoll_c0::m.mRollAnm.field_0x00, daAlinkHIO_frontRoll_c0::m.mRollAnm.field_0x0c); mNormalSpeed = - mSpeedF * daAlinkHIO_frontRoll_c0::m.mInitSpeed + daAlinkHIO_frontRoll_c0::m.mSpeedRate; + speedF * daAlinkHIO_frontRoll_c0::m.mInitSpeed + daAlinkHIO_frontRoll_c0::m.mSpeedRate; if (mNormalSpeed > daAlinkHIO_frontRoll_c0::m.mCrashHitAnm.field_0x08) { mNormalSpeed = daAlinkHIO_frontRoll_c0::m.mCrashHitAnm.field_0x08; } @@ -751,11 +751,11 @@ int daAlink_c::procFrontRollCrashInit() { daAlinkHIO_frontRoll_c0::m.mCrashAnm.mInterpolation); mNormalSpeed = daAlinkHIO_frontRoll_c0::m.mCrashSpeedH; - mSpeed.y = daAlinkHIO_frontRoll_c0::m.mCrashSpeedV; + speed.y = daAlinkHIO_frontRoll_c0::m.mCrashSpeedV; if (i_checkNoResetFlg0(FLG0_UNDERWATER)) { mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX; - mSpeed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY; + speed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY; } current.angle.y -= -0x8000; @@ -931,12 +931,12 @@ int daAlink_c::procBackJumpInit(int param_0) { if (param_0) { setSingleAnimeParam(ANM_BACKFLIP, &daAlinkHIO_cutDown_c0::m.mRecoverAnm); mNormalSpeed = daAlinkHIO_cutDown_c0::m.mRecoverSpeedV; - mSpeed.y = daAlinkHIO_cutDown_c0::m.mSpeedV; + speed.y = daAlinkHIO_cutDown_c0::m.mSpeedV; voiceStart(Z2SE_AL_V_TODOME_RETURN); } else { setSingleAnimeParam(ANM_BACKFLIP, &daAlinkHIO_backJump_c0::m.mBackflipAnm); mNormalSpeed = daAlinkHIO_backJump_c0::m.mBackflipSpeedH; - mSpeed.y = daAlinkHIO_backJump_c0::m.mBackflipSpeedV; + speed.y = daAlinkHIO_backJump_c0::m.mBackflipSpeedV; voiceStart(Z2SE_AL_V_BACKTEN); } @@ -1047,7 +1047,7 @@ int daAlink_c::procBackJumpLand() { int daAlink_c::procSlipInit() { commonProcInit(PROC_SLIP); setSingleAnimeParam(ANM_SLIP, &daAlinkHIO_move_c0::m.mSlideAnm); - mNormalSpeed = mSpeedF * daAlinkHIO_move_c0::m.mSlideSpeed; + mNormalSpeed = speedF * daAlinkHIO_move_c0::m.mSlideSpeed; field_0x2f9d = 0x40; setFootEffectProcType(1); @@ -1097,7 +1097,7 @@ int daAlink_c::procDiveJumpInit() { deleteEquipItem(TRUE, TRUE); setHeavyBoots(0); - mSpeed.y = daAlinkHIO_autoJump_c0::m.mDiveSpeedV; + speed.y = daAlinkHIO_autoJump_c0::m.mDiveSpeedV; mNormalSpeed = daAlinkHIO_autoJump_c0::m.mDiveSpeedH; mGravity = daAlinkHIO_autoJump_c0::m.mDiveGravity; @@ -1142,7 +1142,7 @@ int daAlink_c::procRollJumpInit() { field_0x3478 = field_0x3410; mNormalSpeed = field_0x3410; - mSpeed.y = field_0x3414; + speed.y = field_0x3414; field_0x2fe6 = field_0x30ee; shape_angle.y = field_0x30ee; @@ -1165,7 +1165,7 @@ int daAlink_c::procRollJump() { return checkLandAction(0); } - if (mSpeed.y < FLOAT_LABEL(lit_6108)) { + if (speed.y < FLOAT_LABEL(lit_6108)) { procFallInit(3, daAlinkHIO_autoJump_c0::m.mSpinJumpFallInterpolation); } else { s16 old_angle = shape_angle.x; @@ -1469,7 +1469,7 @@ int daAlink_c::procCoMetamorphoseInit() { if ((i_checkWolf() && mDemo.getDemoMode() == 0x39) || (!i_checkWolf() && mDemo.getDemoMode() == 0x3A)) { field_0x300a = 1; - mSpeed.y = 0.0f; + speed.y = 0.0f; mNormalSpeed = 0.0f; if (i_checkWolf()) { @@ -1549,7 +1549,7 @@ int daAlink_c::procCoMetamorphoseInit() { mCommonCounter = 0; } } - mSpeed.y = 0.0f; + speed.y = 0.0f; mNormalSpeed = 0.0f; field_0x3012 = 0; } @@ -1639,7 +1639,7 @@ int daAlink_c::procCoMetamorphoseOnlyInit() { f32 tmp_0 = FLOAT_LABEL(lit_6108); mNormalSpeed = tmp_0; - mSpeed.y = tmp_0; + speed.y = tmp_0; setSpecialGravity(tmp_0, mMaxFallSpeed, 0); return 1; @@ -2161,7 +2161,7 @@ int daAlink_c::execute() { } cXyz pos = current.pos; - field_0x3528 = mSpeed; + field_0x3528 = speed; mLinkAcch.ClrGroundHit(); mLinkAcch.CrrPos(dComIfG_Bgsp()); @@ -2203,7 +2203,7 @@ int daAlink_c::execute() { Vec tmp; mDoMtx_stack_c::multVec(&tmp, ¤t.pos); - mSpeed.y = 0.0f; + speed.y = 0.0f; if (field_0x3198 != 0) { if (mLinkAcch.GetGroundH() != -1000000000.0f) { @@ -2218,13 +2218,13 @@ int daAlink_c::execute() { } else if (checkModeFlg(MODE_UNK_4000)) { if (mProcID == PROC_DOOR_OPEN || mProcID == PROC_HANG_LEVER_DOWN) { current.pos.y = old_pos.y; - mSpeed.y = 0.0f; + speed.y = 0.0f; } current.pos.x = pos.x; current.pos.z = pos.z; } else if (checkFlyAtnWait() || mProcID == PROC_WARP) { current.pos.y = old_pos.y; - mSpeed.y = 0.0f; + speed.y = 0.0f; } field_0x3178 = field_0x3174; @@ -2629,7 +2629,7 @@ int daAlink_c::execute() { } else if (dComIfGp_getDoStatus() == 0x91) { if (checkWolf() || (field_0x27f4 != NULL && - (field_0x27f4->mSpeedF > 0.1f || (checkGoatCatchActor(field_0x27f4) && + (field_0x27f4->speedF > 0.1f || (checkGoatCatchActor(field_0x27f4) && fopAcM_GetName(field_0x27f4) != PROC_COW)))) { setDoStatusEmphasys(0x15); } else { @@ -3192,7 +3192,7 @@ int daAlink_c::procCoPeepSubjectivityInit() { i_onPlayerNoDraw(); setSpecialGravity(FLOAT_LABEL(lit_6108), mMaxFallSpeed, 0); - mSpeed.y = FLOAT_LABEL(lit_6108); + speed.y = FLOAT_LABEL(lit_6108); dComIfGp_setPlayerStatus0(0, 0x2000); field_0x3478 = lit_6183; mCommonCounter = shape_angle.y; diff --git a/src/d/a/d_a_alink_spinner.inc b/src/d/a/d_a_alink_spinner.inc index 2e2867833cc..016fd8e163d 100644 --- a/src/d/a/d_a_alink_spinner.inc +++ b/src/d/a/d_a_alink_spinner.inc @@ -137,7 +137,7 @@ int daAlink_c::procSpinnerReadyInit() { mNormalSpeed = FLOAT_LABEL(lit_6108); setHeavyBoots(0); - mSpeed.y = lit_7451; + speed.y = lit_7451; voiceStart(Z2SE_AL_V_JUMP_S); seStartOnlyReverb(Z2SE_AL_SPINNER_START); @@ -194,7 +194,7 @@ int daAlink_c::procSpinnerWaitInit() { mRideStatus = 5; setBgCheckParam(); setSingleAnimeBaseSpeed(ANM_RIDE_CROUCH, daAlinkHIO_board_c0::m.mSitAnmSpeed, 4.0f); - mSpeed.y = 0.0f; + speed.y = 0.0f; setSpecialGravity(0.0f, mMaxFallSpeed, 0); mNormalSpeed = 0.0f; mCommonCounter = 0; @@ -276,7 +276,7 @@ int daAlink_c::procSpinnerWait() { setSpinnerStatus(ACTION_STR_JUMP2, ACTION_FLG_DEFAULT); } - mNormalSpeed = spinner->mSpeedF; + mNormalSpeed = spinner->speedF; current.angle.y = spinner->current.angle.y; if (spinner->checkSpinnerTagIntoIncRot()) { diff --git a/src/d/a/d_a_alink_wolf.inc b/src/d/a/d_a_alink_wolf.inc index 46ef687f67c..3f1df634e45 100644 --- a/src/d/a/d_a_alink_wolf.inc +++ b/src/d/a/d_a_alink_wolf.inc @@ -1129,9 +1129,9 @@ int daAlink_c::procWolfSlipInit() { setSingleAnimeWolfParam(WANM_SLIP, &daAlinkHIO_wlMove_c0::m.field_0x0); if (checkWolfDashMode()) { - mNormalSpeed = mSpeedF * daAlinkHIO_wlMove_c0::m.field_0xA4; + mNormalSpeed = speedF * daAlinkHIO_wlMove_c0::m.field_0xA4; } else { - mNormalSpeed = mSpeedF * daAlinkHIO_wlMoveNoP_c0::m.field_0x3C; + mNormalSpeed = speedF * daAlinkHIO_wlMoveNoP_c0::m.field_0x3C; } current.angle.y = shape_angle.y; @@ -1634,7 +1634,7 @@ int daAlink_c::procWolfRopeSubjectivityInit() { setSpecialGravity(FLOAT_LABEL(lit_6108), mMaxFallSpeed, 0); f32 tmp_0 = FLOAT_LABEL(lit_6108); - mSpeed.y = tmp_0; + speed.y = tmp_0; mNormalSpeed = tmp_0; setWolfRopeOffsetY(setWolfRopePosY()); @@ -1806,7 +1806,7 @@ int daAlink_c::procWolfHangReadyInit() { f32 tmp_0 = FLOAT_LABEL(lit_6108); mNormalSpeed = tmp_0; - mSpeed.y = tmp_0; + speed.y = tmp_0; return 1; } @@ -2261,7 +2261,7 @@ int daAlink_c::procWolfSwimMoveInit() { if (i_checkNoResetFlg0(FLG0_UNK_100)) { current.pos.y = mWaterY; - mSpeed.y = FLOAT_LABEL(lit_6108); + speed.y = FLOAT_LABEL(lit_6108); } dComIfGp_setPlayerStatus0(0, 0x100000); @@ -2654,7 +2654,7 @@ int daAlink_c::procWolfJumpAttackKickInit() { setSingleAnimeWolfParam(WANM_JUMP_KICK, &daAlinkHIO_wlAtCjump_c0::m.field_0x14); f32 tmp_0 = FLOAT_LABEL(lit_6108); - mSpeed.y = tmp_0; + speed.y = tmp_0; mNormalSpeed = tmp_0; setSpecialGravity(tmp_0, mMaxFallSpeed, 0); @@ -2955,7 +2955,7 @@ int daAlink_c::procWolfEnemyHangBiteInit() { f32 tmp_0 = FLOAT_LABEL(lit_6108); mNormalSpeed = tmp_0; - mSpeed.y = tmp_0; + speed.y = tmp_0; setSpecialGravity(tmp_0, mMaxFallSpeed, 0); if (!setWolfEnemyHangBitePos((fopEn_enemy_c*)field_0x281c.getActor())) { @@ -3123,7 +3123,7 @@ int daAlink_c::procWolfCargoCarryInit() { f32 tmp_0 = FLOAT_LABEL(lit_6108); mNormalSpeed = tmp_0; - mSpeed.y = tmp_0; + speed.y = tmp_0; setSpecialGravity(tmp_0, mMaxFallSpeed, 0); daAlink_WANM wanm; diff --git a/src/d/a/d_a_npc.cpp b/src/d/a/d_a_npc.cpp index 723d4d7c9ed..efa9296dc31 100644 --- a/src/d/a/d_a_npc.cpp +++ b/src/d/a/d_a_npc.cpp @@ -2550,8 +2550,8 @@ int daNpcT_c::initTalk(int param_0, fopAc_ac_c** param_1) { } f32 tmp = FLOAT_LABEL(lit_4116); - mSpeedF = tmp; - mSpeed.set(tmp,tmp,tmp); + speedF = tmp; + speed.set(tmp,tmp,tmp); return 1; } @@ -3685,7 +3685,7 @@ void daBaseNpc_c::setEnvTevColor() { /* 8014F0FC-8014F140 149A3C 0044+00 1/1 0/0 2/2 .text setRoomNo__11daBaseNpc_cFv */ void daBaseNpc_c::setRoomNo() { s32 room_id = dComIfG_Bgsp().GetRoomId(mBgSPolyInfo); - current.mRoomNo = room_id; + current.roomNo = room_id; mRoomId = room_id; } @@ -5090,8 +5090,8 @@ asm void daNpcF_c::chkActorInAttnArea(fopAc_ac_c* param_0, fopAc_ac_c* param_1, int daNpcF_c::initTalk(int param_0, fopAc_ac_c** param_1) { mFlow.init(this,param_0,0,param_1); f32 tmp = FLOAT_LABEL(lit_4116); - mSpeedF = tmp; - mSpeed.set(tmp,tmp,tmp); + speedF = tmp; + speed.set(tmp,tmp,tmp); field_0x9e9 = 0; field_0x9ec = 0; return 1; diff --git a/src/d/a/d_a_obj_item.cpp b/src/d/a/d_a_obj_item.cpp index 80608168b8f..561124c5893 100644 --- a/src/d/a/d_a_obj_item.cpp +++ b/src/d/a/d_a_obj_item.cpp @@ -191,7 +191,6 @@ extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" u8 const m_data__12daItemBase_c[56]; extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */]; -extern "C" extern void* g_fopAc_Method[8]; extern "C" extern void* __vt__8cM3dGPla[3]; extern "C" extern void* __vt__8cM3dGCyl[3]; extern "C" extern void* __vt__8cM3dGAab[3]; @@ -545,7 +544,7 @@ SECTION_SDATA2 static f64 lit_4072 = 4503599627370496.0 /* cast u32 to float */; #ifdef NONMATCHING void daItem_c::CreateInit() { mAcchCir.SetWall(30.0f, 30.0f); - mAcch.Set(¤t.pos, &next.pos, this, 1, &mAcchCir, &mSpeed, NULL, NULL); + mAcch.Set(¤t.pos, &next.pos, this, 1, &mAcchCir, &speed, NULL, NULL); mAcch.ClrWaterNone(); mAcch.ClrRoofNone(); mAcch.SetWtrChkMode(2); @@ -615,8 +614,8 @@ void daItem_c::CreateInit() { field_0x978.init(¤t.pos, 1); - f32 old_speedF = mSpeedF; - cXyz old_speed = mSpeed; + f32 old_speedF = speedF; + cXyz old_speed = speed; mAcch.CrrPos(dComIfG_Bgsp()); @@ -628,8 +627,8 @@ void daItem_c::CreateInit() { field_0x9c0 = 1; } - mSpeedF = old_speedF; - mSpeed = old_speed; + speedF = old_speedF; + speed = old_speed; mAcch.ClrGroundLanding(); mAcch.i_ClrGroundHit(); @@ -817,7 +816,7 @@ SECTION_SDATA2 static f32 lit_4321 = 18.0f; // eyepos.y issue / need sinit for mFuncPtr #ifdef NONMATCHING int daItem_c::_daItem_execute() { - field_0x950 = mSpeed; + field_0x950 = speed; CountTimer(); mEyePos = current.pos; @@ -1190,7 +1189,7 @@ void daItem_c::mode_water_init() { /* 8015CCD0-8015CDCC 157610 00FC+00 1/0 0/0 0/0 .text mode_wait__8daItem_cFv */ void daItem_c::mode_wait() { - if (field_0x924 < 5 && mSpeed.y > FLOAT_LABEL(lit_3857)) { + if (field_0x924 < 5 && speed.y > FLOAT_LABEL(lit_3857)) { mAcch.SetGrndNone(); } @@ -1460,7 +1459,7 @@ int daItem_c::itemActionForRupee() { if (mAcch.ChkGroundHit()) { RotateYBase(); - mSpeedF *= 0.95f; + speedF *= 0.95f; } if (field_0x94b >= 2) { @@ -1572,7 +1571,7 @@ int daItem_c::initAction() { initAngle(); if (isHeart(m_itemNo)) { - mSpeedF = (cM_rndF(5.0f) + 20.0f) - 15.0f; + speedF = (cM_rndF(5.0f) + 20.0f) - 15.0f; shape_angle.z = cM_rndFX(getData().field_0x2a); } diff --git a/src/d/a/d_a_player.cpp b/src/d/a/d_a_player.cpp index 3f4012ccceb..60a9cd7d040 100644 --- a/src/d/a/d_a_player.cpp +++ b/src/d/a/d_a_player.cpp @@ -773,7 +773,7 @@ f32 daPy_py_c::getSpinnerRideSpeed() const { f32 rideSpeed; if (checkSpinnerRide()) { - rideSpeed = mSpeedF; + rideSpeed = speedF; } else { rideSpeed = lit_4215[0]; } diff --git a/src/d/bg/d_bg_s_movebg_actor.cpp b/src/d/bg/d_bg_s_movebg_actor.cpp index 09f479d0837..029651eb0b4 100644 --- a/src/d/bg/d_bg_s_movebg_actor.cpp +++ b/src/d/bg/d_bg_s_movebg_actor.cpp @@ -67,43 +67,43 @@ static int CheckCreateHeap(fopAc_ac_c* p_actor) { } /* 80078688-80078690 072FC8 0008+00 1/0 0/0 2/0 .text CreateHeap__16dBgS_MoveBgActorFv */ -s32 dBgS_MoveBgActor::CreateHeap() { +int dBgS_MoveBgActor::CreateHeap() { return 1; } /* 80078690-80078698 072FD0 0008+00 1/0 0/0 60/0 .text Create__16dBgS_MoveBgActorFv */ -bool dBgS_MoveBgActor::Create() { - return true; +int dBgS_MoveBgActor::Create() { + return 1; } /* 80078698-800786A0 072FD8 0008+00 1/0 0/0 3/0 .text Execute__16dBgS_MoveBgActorFPPA3_A4_f */ -bool dBgS_MoveBgActor::Execute(f32 (**param_0)[3][4]) { - return true; +int dBgS_MoveBgActor::Execute(f32 (**param_0)[3][4]) { + return 1; } /* 800786A0-800786A8 072FE0 0008+00 1/0 0/0 2/0 .text Draw__16dBgS_MoveBgActorFv */ -bool dBgS_MoveBgActor::Draw() { - return true; +int dBgS_MoveBgActor::Draw() { + return 1; } /* 800786A8-800786B0 072FE8 0008+00 1/0 0/0 6/0 .text Delete__16dBgS_MoveBgActorFv */ -bool dBgS_MoveBgActor::Delete() { - return true; +int dBgS_MoveBgActor::Delete() { + return 1; } /* 800786B0-800786B8 072FF0 0008+00 1/0 0/0 171/0 .text IsDelete__16dBgS_MoveBgActorFv */ -bool dBgS_MoveBgActor::IsDelete() { - return true; +int dBgS_MoveBgActor::IsDelete() { + return 1; } /* 800786B8-800786C0 072FF8 0008+00 1/0 0/0 171/0 .text ToFore__16dBgS_MoveBgActorFv */ -bool dBgS_MoveBgActor::ToFore() { - return true; +int dBgS_MoveBgActor::ToFore() { + return 1; } /* 800786C0-800786C8 073000 0008+00 1/0 0/0 171/0 .text ToBack__16dBgS_MoveBgActorFv */ -bool dBgS_MoveBgActor::ToBack() { - return true; +int dBgS_MoveBgActor::ToBack() { + return 1; } /* ############################################################################################## */ @@ -189,8 +189,8 @@ asm int dBgS_MoveBgActor::MoveBGCreate(char const* param_0, int param_1, MoveBGA #endif /* 800788DC-80078950 07321C 0074+00 0/0 0/0 169/169 .text MoveBGDelete__16dBgS_MoveBgActorFv */ -bool dBgS_MoveBgActor::MoveBGDelete() { - bool ret = Delete(); +int dBgS_MoveBgActor::MoveBGDelete() { + int ret = Delete(); if (field_0x568 != NULL && field_0x568->ChkUsed()) { dComIfG_Bgsp().Release(field_0x568); @@ -199,10 +199,10 @@ bool dBgS_MoveBgActor::MoveBGDelete() { } /* 80078950-80078A14 073290 00C4+00 0/0 0/0 183/183 .text MoveBGExecute__16dBgS_MoveBgActorFv */ -bool dBgS_MoveBgActor::MoveBGExecute() { +int dBgS_MoveBgActor::MoveBGExecute() { Mtx* tmp = NULL; - bool ret = Execute(&tmp); + int ret = Execute(&tmp); if (tmp == NULL) { mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); mDoMtx_stack_c::YrotM(shape_angle.y); diff --git a/src/d/cc/d_cc_uty.cpp b/src/d/cc/d_cc_uty.cpp index 17667dd9d73..2fe2e1ebfd0 100644 --- a/src/d/cc/d_cc_uty.cpp +++ b/src/d/cc/d_cc_uty.cpp @@ -446,11 +446,11 @@ fopAc_ac_c* cc_at_check(fopAc_ac_c* p_enemy, dCcU_AtInfo* p_info) { p_info->mpActor = at_power_check(p_info); if (p_info->mpActor != NULL) { - cXyz tmp = p_info->mpActor->mSpeed; + cXyz tmp = p_info->mpActor->speed; tmp.y = 0.0f; if (tmp.abs() > 100.0f) { - f32 x = p_info->mpActor->mSpeed.x; - f32 z = p_info->mpActor->mSpeed.z; + f32 x = p_info->mpActor->speed.x; + f32 z = p_info->mpActor->speed.z; p_info->mHitDirection = cM_atan2s(-x, -z) + (s16)cM_rndFX(4000.0f); } else { if (fopAcM_GetName(p_info->mpActor) == PROC_BOOMERANG) { diff --git a/src/d/com/d_com_inf_game.cpp b/src/d/com/d_com_inf_game.cpp index ccf5326297d..a8591eb4ecd 100644 --- a/src/d/com/d_com_inf_game.cpp +++ b/src/d/com/d_com_inf_game.cpp @@ -1417,7 +1417,7 @@ void dComIfGp_setNextStage(char const* i_stage, s16 i_point, s8 i_roomNo, s8 i_l if (dComIfGs_isPlayerFieldLastStayFieldDataExistFlag() && daPy_getLinkPlayerActorClass() != NULL) { - s8 curPoint = (s8)daPy_getLinkPlayerActorClass()->current.mRoomNo; + s8 curPoint = (s8)daPy_getLinkPlayerActorClass()->current.roomNo; cXyz pos = dMapInfo_n::getMapPlayerPos(); s16 angle = daPy_getLinkPlayerActorClass()->shape_angle.y; u8 level = dComIfGp_getNowLevel(); diff --git a/src/d/d_cam_param.cpp b/src/d/d_cam_param.cpp index c8569314ea6..389d7e4db6e 100644 --- a/src/d/d_cam_param.cpp +++ b/src/d/d_cam_param.cpp @@ -1,159 +1,115 @@ -// -// Generated By: dol2asm -// Translation Unit: d/d_cam_param -// +/** + * d_cam_param.cpp + * + */ #include "d/d_cam_param.h" -#include "dol2asm.h" -#include "dolphin/types.h" +#include "SSystem/SComponent/c_math.h" #include "d/com/d_com_inf_game.h" +#include "dol2asm.h" // // Forward References: // -extern "C" void rationalBezierRatio__8dCamMathFff(); -extern "C" void zoomFovy__8dCamMathFff(); -extern "C" void __dt__7cDegreeFv(); -extern "C" void xyzRotateX__8dCamMathFR4cXyz7cSAngle(); -extern "C" void xyzRotateY__8dCamMathFR4cXyz7cSAngle(); -extern "C" void xyzHorizontalDistance__8dCamMathFR4cXyzR4cXyz(); -extern "C" void __ct__9dCstick_cFv(); -extern "C" bool Shift__9dCstick_cFUl(); -extern "C" void __ct__11dCamBGChk_cFv(); -extern "C" void __ct__11dCamParam_cFl(); extern "C" void __dt__11dCamParam_cFv(); -extern "C" void Change__11dCamParam_cFl(); -extern "C" void SearchStyle__11dCamParam_cFUl(); -extern "C" void __ct__11dCamSetup_cFv(); extern "C" void __dt__11dCamSetup_cFv(); -extern "C" void CheckLatitudeRange__11dCamSetup_cFPs(); -extern "C" void PlayerHideDist__11dCamSetup_cFv(); extern "C" void __dt__9dCstick_cFv(); -extern "C" extern char const* const d_d_cam_param__stringBase0; // // External References: // -extern "C" void mDoMtx_XrotS__FPA4_fs(); -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void getRes__14dRes_control_cFPCcPCcP11dRes_info_ci(); -extern "C" void EventRecoverNotime__9dCamera_cFv(); -extern "C" void dCam_getBody__Fv(); -extern "C" void cM_atan2f__Fff(); -extern "C" void __ct__7cDegreeFf(); -extern "C" void Sin__7cDegreeCFv(); -extern "C" void Cos__7cDegreeCFv(); extern "C" void __dl__FPv(); // // Declarations: // -/* ############################################################################################## */ -/* 804527C8-804527D0 000DC8 0004+04 2/2 0/0 0/0 .sdata2 @3769 */ -SECTION_SDATA2 static f32 lit_3769[1 + 1 /* padding */] = { - 0.0f, - /* padding */ - 0.0f, -}; - -/* 804527D0-804527D8 000DD0 0008+00 1/1 0/0 0/0 .sdata2 @3770 */ -SECTION_SDATA2 static f64 lit_3770 = 1.0; - -/* 804527D8-804527E0 000DD8 0008+00 1/1 0/0 0/0 .sdata2 @3771 */ -SECTION_SDATA2 static f64 lit_3771 = -1.0; - -/* 804527E0-804527E8 000DE0 0008+00 1/1 0/0 0/0 .sdata2 @3772 */ -SECTION_SDATA2 static f64 lit_3772 = 2.0; - -/* 804527E8-804527F0 000DE8 0008+00 1/1 0/0 0/0 .sdata2 @3773 */ -SECTION_SDATA2 static f64 lit_3773 = 4.0; - -/* 804527F0-804527F8 000DF0 0008+00 1/1 0/0 0/0 .sdata2 @3774 */ -SECTION_SDATA2 static u8 lit_3774[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 804527F8-80452800 000DF8 0008+00 1/1 0/0 0/0 .sdata2 @3775 */ -SECTION_SDATA2 static f64 lit_3775 = 1e-07; - -/* 80452800-80452808 000E00 0008+00 1/1 0/0 0/0 .sdata2 @3776 */ -SECTION_SDATA2 static f64 lit_3776 = -1e-07; - -/* 80452808-80452810 000E08 0008+00 1/1 0/0 0/0 .sdata2 @3777 */ -SECTION_SDATA2 static f64 lit_3777 = 1.0000000116860974e-07; - /* 8008813C-80088284 082A7C 0148+00 0/0 12/12 0/0 .text rationalBezierRatio__8dCamMathFff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dCamMath::rationalBezierRatio(f32 param_0, f32 param_1) { - nofralloc -#include "asm/d/d_cam_param/rationalBezierRatio__8dCamMathFff.s" +f32 dCamMath::rationalBezierRatio(f32 param_0, f32 param_1) { + f64 var_f31; + f32 var_f1 = param_0; + + if (var_f1 >= 0.0f) { + var_f31 = 1.0; + } else { + var_f31 = -1.0; + var_f1 = -var_f1; + } + + f64 temp_f2 = 2.0 * var_f1; + f64 temp_f2_2 = ((temp_f2 * param_1) - temp_f2) - (2.0 * param_1); + f64 temp_f29 = -temp_f2_2; + f64 temp_f28 = temp_f29 - 1.0; + f64 var_f1_2 = (temp_f2_2 * temp_f2_2) - (4.0 * temp_f28 * var_f1); + + if (var_f1_2 > 0.0) { + var_f1_2 = sqrt(var_f1_2); + } else { + var_f1_2 = 0.0; + } + + f64 temp = temp_f29 - var_f1_2; + f64 temp_f2_3 = temp_f28 * 2.0; + if (temp_f2_3 > 1e-07 || temp_f2_3 < -1e-07) { + f64 temp_f2_4 = temp / temp_f2_3; + f64 temp_f3 = temp_f2_4 * temp_f2_4; + f64 temp_f4 = 1.0 - temp_f2_4; + f64 temp_f1 = temp_f3 + ((temp_f4 * temp_f4) + (param_1 * (2.0 * temp_f4 * temp_f2_4))); + + if (temp_f1 > 1.0000000116860974e-07) { + return var_f31 * (temp_f3 / temp_f1); + } + return 0.0f; + } + + return 0.0f; } -#pragma pop /* ############################################################################################## */ /* 80452810-80452814 000E10 0004+00 2/2 0/0 0/0 .sdata2 @3791 */ -SECTION_SDATA2 static f32 lit_3791 = 1.0f; - -/* 80452814-80452818 000E14 0004+00 1/1 0/0 0/0 .sdata2 @3807 */ -SECTION_SDATA2 static f32 lit_3807 = 57.2957763671875f; +SECTION_SDATA2 static f32 lit_3791 = 1.0f; // placed in a weird order, so can't remove until fixed /* 80088284-800882E0 082BC4 005C+00 0/0 1/1 0/0 .text zoomFovy__8dCamMathFff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dCamMath::zoomFovy(f32 param_0, f32 param_1) { - nofralloc -#include "asm/d/d_cam_param/zoomFovy__8dCamMathFff.s" -} -#pragma pop +f32 dCamMath::zoomFovy(f32 param_0, f32 param_1) { + cDegree deg(param_0); -/* 800882E0-8008831C 082C20 003C+00 0/0 1/1 0/0 .text __dt__7cDegreeFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm cDegree::~cDegree() { -extern "C" asm void __dt__7cDegreeFv() { - nofralloc -#include "asm/d/d_cam_param/__dt__7cDegreeFv.s" + f32 radian = cM_atan2f(deg.Sin(), param_1 * deg.Cos()); + return cAngle::r2d(radian); } -#pragma pop /* 8008831C-80088384 082C5C 0068+00 0/0 1/1 0/0 .text xyzRotateX__8dCamMathFR4cXyz7cSAngle */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dCamMath::xyzRotateX(cXyz& param_0, cSAngle param_1) { - nofralloc -#include "asm/d/d_cam_param/xyzRotateX__8dCamMathFR4cXyz7cSAngle.s" +cXyz dCamMath::xyzRotateX(cXyz& i_xyz, cSAngle i_angle) { + Mtx m; + cXyz rot_xyz; + + s16 angle = i_angle.Val(); + mDoMtx_XrotS(m, angle); + PSMTXMultVec(m, &i_xyz, &rot_xyz); + return rot_xyz; } -#pragma pop /* 80088384-800883EC 082CC4 0068+00 0/0 13/13 0/0 .text xyzRotateY__8dCamMathFR4cXyz7cSAngle */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dCamMath::xyzRotateY(cXyz& param_0, cSAngle param_1) { - nofralloc -#include "asm/d/d_cam_param/xyzRotateY__8dCamMathFR4cXyz7cSAngle.s" +cXyz dCamMath::xyzRotateY(cXyz& i_xyz, cSAngle i_angle) { + Mtx m; + cXyz rot_xyz; + + s16 angle = i_angle.Val(); + mDoMtx_YrotS(m, angle); + PSMTXMultVec(m, &i_xyz, &rot_xyz); + return rot_xyz; } -#pragma pop /* 800883EC-80088434 082D2C 0048+00 0/0 9/9 0/0 .text * xyzHorizontalDistance__8dCamMathFR4cXyzR4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dCamMath::xyzHorizontalDistance(cXyz& param_0, cXyz& param_1) { - nofralloc -#include "asm/d/d_cam_param/xyzHorizontalDistance__8dCamMathFR4cXyzR4cXyz.s" +f32 dCamMath::xyzHorizontalDistance(cXyz& i_posA, cXyz& i_posB) { + f64 x = i_posA.x - i_posB.x; + f64 z = i_posA.z - i_posB.z; + + return sqrt((x * x) + (z * z)); } -#pragma pop /* ############################################################################################## */ /* 803AC500-803AC50C 009620 000C+00 2/2 0/0 0/0 .data __vt__11dCamSetup_c */ @@ -179,98 +135,56 @@ SECTION_DATA extern void* __vt__9dCstick_c[3 + 1 /* padding */] = { NULL, }; -/* 80452818-8045281C 000E18 0004+00 3/3 0/0 0/0 .sdata2 @3991 */ -SECTION_SDATA2 static f32 lit_3991 = 1.0f / 5.0f; - -/* 8045281C-80452820 000E1C 0004+00 1/1 0/0 0/0 .sdata2 @3992 */ -SECTION_SDATA2 static f32 lit_3992 = 19.0f / 20.0f; - /* 80088434-8008845C 082D74 0028+00 1/1 0/0 0/0 .text __ct__9dCstick_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dCstick_c::dCstick_c() { - nofralloc -#include "asm/d/d_cam_param/__ct__9dCstick_cFv.s" +dCstick_c::dCstick_c() { + mThresholdLow = 0.2f; + mThresholdHigh = 0.95f; + mInputSpeed = 6; } -#pragma pop /* 8008845C-80088464 082D9C 0008+00 0/0 1/1 0/0 .text Shift__9dCstick_cFUl */ bool dCstick_c::Shift(u32 param_0) { return false; } -/* ############################################################################################## */ -/* 80452820-80452824 000E20 0004+00 1/1 0/0 0/0 .sdata2 @4001 */ -SECTION_SDATA2 static f32 lit_4001 = 32.0f; - -/* 80452824-80452828 000E24 0004+00 2/2 0/0 0/0 .sdata2 @4002 */ -SECTION_SDATA2 static f32 lit_4002 = 25.0f; - -/* 80452828-8045282C 000E28 0004+00 2/2 0/0 0/0 .sdata2 @4003 */ -SECTION_SDATA2 static f32 lit_4003 = 2.0f / 5.0f; - -/* 8045282C-80452830 000E2C 0004+00 1/1 0/0 0/0 .sdata2 @4004 */ -SECTION_SDATA2 static f32 lit_4004 = 3.0f / 5.0f; - -/* 80452830-80452834 000E30 0004+00 1/1 0/0 0/0 .sdata2 @4005 */ -SECTION_SDATA2 static f32 lit_4005 = 3.0f; - -/* 80452834-80452838 000E34 0004+00 2/2 0/0 0/0 .sdata2 @4006 */ -SECTION_SDATA2 static f32 lit_4006 = 15.0f; - -/* 80452838-8045283C 000E38 0004+00 2/2 0/0 0/0 .sdata2 @4007 */ -SECTION_SDATA2 static f32 lit_4007 = 0.5f; - -/* 8045283C-80452840 000E3C 0004+00 2/2 0/0 0/0 .sdata2 @4008 */ -SECTION_SDATA2 static f32 lit_4008 = 3.0f / 10.0f; - -/* 80452840-80452844 000E40 0004+00 2/2 0/0 0/0 .sdata2 @4009 */ -SECTION_SDATA2 static f32 lit_4009 = 10.0f; - -/* 80452844-80452848 000E44 0004+00 2/2 0/0 0/0 .sdata2 @4010 */ -SECTION_SDATA2 static f32 lit_4010 = 1.0f / 10.0f; - -/* 80452848-8045284C 000E48 0004+00 2/2 0/0 0/0 .sdata2 @4011 */ -SECTION_SDATA2 static f32 lit_4011 = 0.75f; - -/* 8045284C-80452850 000E4C 0004+00 2/2 0/0 0/0 .sdata2 @4012 */ -SECTION_SDATA2 static f32 lit_4012 = 80.0f; - -/* 80452850-80452854 000E50 0004+00 1/1 0/0 0/0 .sdata2 @4013 */ -SECTION_SDATA2 static f32 lit_4013 = 2.0f / 25.0f; - -/* 80452854-80452858 000E54 0004+00 2/2 0/0 0/0 .sdata2 @4014 */ -SECTION_SDATA2 static f32 lit_4014 = 120.0f; - /* 80088464-800884F0 082DA4 008C+00 1/1 0/0 0/0 .text __ct__11dCamBGChk_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dCamBGChk_c::dCamBGChk_c() { - nofralloc -#include "asm/d/d_cam_param/__ct__11dCamBGChk_cFv.s" -} -#pragma pop +dCamBGChk_c::dCamBGChk_c() { + mFloorMargin = 32.0f; -/* ############################################################################################## */ -/* 8037A7E0-8037A7E0 006E40 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8037A7E0 = "camstyle.dat"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_8037A7ED = "\0\0"; -#pragma pop + mChkInfo[0].mDistance = lit_3791; + mChkInfo[0].mChkAngle = 25.0f; + mChkInfo[0].mWeightH = 0.4f; + mChkInfo[0].mWeightL = 0.6f; + + mChkInfo[1].mDistance = 3.0f; + mChkInfo[1].mChkAngle = 15.0f; + mChkInfo[1].mWeightH = 0.5f; + mChkInfo[1].mWeightL = 0.3f; + + mFwdBackMargin = 10.0f; + mFwdCushion = 0.1f; + field_0x2c = 0.2f; + mGazeBackMargin = 10.0f; + mCornerCushion = 0.75f; + mWallCushion = 0.5f; + mWallUpDistance = 80.0f; + mWallBackCushion = 0.08f; + mCornerAngleMax = 120.0f; +} /* 800884F0-8008858C 082E30 009C+00 0/0 1/1 0/0 .text __ct__11dCamParam_cFl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dCamParam_c::dCamParam_c(s32 param_0) { - nofralloc -#include "asm/d/d_cam_param/__ct__11dCamParam_cFl.s" +dCamParam_c::dCamParam_c(s32 i_styleID) { + u8* cam_data = (u8*)dComIfG_getObjectRes(dComIfGp_getCameraParamFileName(0), "camstyle.dat"); + + mCamStyleData = (dCamStyleData::StyleData*)(cam_data + 8); + mStyleNum = ((dCamStyleData*)cam_data)->mStyleNum; + Change(i_styleID); + + mMapToolFovy = 0xFF; + mMapToolArg0 = 0xFF; + mMapToolArg1 = 0xFF; + mMapToolArg2 = -1; } -#pragma pop /* 8008858C-800885D4 082ECC 0048+00 1/0 1/1 0/0 .text __dt__11dCamParam_cFv */ #pragma push @@ -284,104 +198,118 @@ extern "C" asm void __dt__11dCamParam_cFv() { #pragma pop /* 800885D4-80088620 082F14 004C+00 1/1 7/7 0/0 .text Change__11dCamParam_cFl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dCamParam_c::Change(s32 param_0) { - nofralloc -#include "asm/d/d_cam_param/Change__11dCamParam_cFl.s" +int dCamParam_c::Change(s32 i_styleID) { + if (i_styleID >= 0 && i_styleID < mStyleNum) { + mStyleID = i_styleID; + mCurrentStyle = &mCamStyleData[mStyleID]; + return 1; + } + + mStyleID = 0; + mCurrentStyle = mCamStyleData; + return 0; } -#pragma pop /* 80088620-80088668 082F60 0048+00 0/0 4/4 0/0 .text SearchStyle__11dCamParam_cFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dCamParam_c::SearchStyle(u32 param_0) { - nofralloc -#include "asm/d/d_cam_param/SearchStyle__11dCamParam_cFUl.s" +int dCamParam_c::SearchStyle(u32 param_0) { + int styleID = -1; + + for (int i = 0; i < mStyleNum; i++) { + if (param_0 == mCamStyleData[i].field_0x0) { + styleID = i; + break; + } + } + + return styleID; } -#pragma pop /* ############################################################################################## */ /* 80452858-8045285C 000E58 0004+00 1/1 0/0 0/0 .sdata2 @4058 */ -SECTION_SDATA2 static f32 lit_4058 = 0.25f; - -/* 8045285C-80452860 000E5C 0004+00 1/1 0/0 0/0 .sdata2 @4119 */ -SECTION_SDATA2 static f32 lit_4119 = 100000.0f; - -/* 80452860-80452864 000E60 0004+00 1/1 0/0 0/0 .sdata2 @4120 */ -SECTION_SDATA2 static f32 lit_4120 = 1.0f / 20.0f; - -/* 80452864-80452868 000E64 0004+00 1/1 0/0 0/0 .sdata2 @4121 */ -SECTION_SDATA2 static f32 lit_4121 = -60.0f; - -/* 80452868-8045286C 000E68 0004+00 1/1 0/0 0/0 .sdata2 @4122 */ -SECTION_SDATA2 static f32 lit_4122 = 33.0f / 100.0f; - -/* 8045286C-80452870 000E6C 0004+00 1/1 0/0 0/0 .sdata2 @4123 */ -SECTION_SDATA2 static f32 lit_4123 = 1.0f / 50.0f; - -/* 80452870-80452874 000E70 0004+00 1/1 0/0 0/0 .sdata2 @4124 */ -SECTION_SDATA2 static f32 lit_4124 = 100.0f; - -/* 80452874-80452878 000E74 0004+00 1/1 0/0 0/0 .sdata2 @4125 */ -SECTION_SDATA2 static f32 lit_4125 = 7.0f / 25.0f; - -/* 80452878-8045287C 000E78 0004+00 1/1 0/0 0/0 .sdata2 @4126 */ -SECTION_SDATA2 static f32 lit_4126 = 3.0f / 20.0f; - -/* 8045287C-80452880 000E7C 0004+00 1/1 0/0 0/0 .sdata2 @4127 */ -SECTION_SDATA2 static f32 lit_4127 = 0.004999999888241291f; - -/* 80452880-80452884 000E80 0004+00 1/1 0/0 0/0 .sdata2 @4128 */ -SECTION_SDATA2 static f32 lit_4128 = 3.0f / 50.0f; - -/* 80452884-80452888 000E84 0004+00 1/1 0/0 0/0 .sdata2 @4129 */ -SECTION_SDATA2 static f32 lit_4129 = 70.0f; - -/* 80452888-8045288C 000E88 0004+00 1/1 0/0 0/0 .sdata2 @4130 */ -SECTION_SDATA2 static f32 lit_4130 = 60.0f; - -/* 8045288C-80452890 000E8C 0004+00 1/1 0/0 0/0 .sdata2 @4131 */ -SECTION_SDATA2 static f32 lit_4131 = 35.0f; - -/* 80452890-80452894 000E90 0004+00 1/1 0/0 0/0 .sdata2 @4132 */ -SECTION_SDATA2 static f32 lit_4132 = 65.0f; - -/* 80452894-80452898 000E94 0004+00 1/1 0/0 0/0 .sdata2 @4133 */ -SECTION_SDATA2 static f32 lit_4133 = 30.0f; - -/* 80452898-8045289C 000E98 0004+00 1/1 0/0 0/0 .sdata2 @4134 */ -SECTION_SDATA2 static f32 lit_4134 = 27.0f; - -/* 8045289C-804528A0 000E9C 0004+00 1/1 0/0 0/0 .sdata2 @4135 */ -SECTION_SDATA2 static f32 lit_4135 = 45.0f; - -/* 804528A0-804528A4 000EA0 0004+00 1/1 0/0 0/0 .sdata2 @4136 */ -SECTION_SDATA2 static f32 lit_4136 = 3500.0f; - -/* 804528A4-804528A8 000EA4 0004+00 1/1 0/0 0/0 .sdata2 @4137 */ -SECTION_SDATA2 static f32 lit_4137 = 4.0f; - -/* 804528A8-804528AC 000EA8 0004+00 1/1 0/0 0/0 .sdata2 @4138 */ -SECTION_SDATA2 static f32 lit_4138 = 1200.0f; - -/* 804528AC-804528B0 000EAC 0004+00 1/1 0/0 0/0 .sdata2 @4139 */ -SECTION_SDATA2 static f32 lit_4139 = 17.0f / 20.0f; - -/* 804528B0-804528B4 000EB0 0004+00 1/1 0/0 0/0 .sdata2 @4140 */ -SECTION_SDATA2 static f32 lit_4140 = 50.0f; +SECTION_SDATA2 static f32 lit_4058 = 0.25f; // placed in a weird order, so can't remove until fixed /* 80088668-800888B8 082FA8 0250+00 0/0 1/1 0/0 .text __ct__11dCamSetup_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dCamSetup_c::dCamSetup_c() { - nofralloc -#include "asm/d/d_cam_param/__ct__11dCamSetup_cFv.s" +dCamSetup_c::dCamSetup_c() { + f32 temp_1 = lit_3791; + + mDrawNear = temp_1; + mDrawFar = 100000.0f; + field_0xc = 1; + mModeSwitchType = -1; + mForceType = -1; + mCusCus = 0.2f; + field_0x24 = 0.05f; + field_0x60 = 80.0f; + field_0x5c = -60.0f; + field_0x28 = 0.33f; + field_0x2c = 0.02f; + field_0x50 = 100.0f; + field_0x30 = 0.75f; + mBaseCushion = 0.28f; + mJumpCushion = temp_1; + field_0x58 = 0.15f; + field_0x44 = 0.005f; + field_0x54 = 0.06f; + mCurveWeight = temp_1; + field_0x34 = 25.0f; + mSubjLinkCullDist = 70.0f; + mParallelDist = 60.0f; + mTrimVistaHeight = 35.0f; + mTrimCineScopeHeight = 65.0f; + field_0xb0 = 150; + field_0xb4 = 60.0f; + mManualStartCThreshold = 0.3f; + mManualEndVal = 0.2f; + mFalseValue = 0.1f; + mFalseAngle = 30.0f; + mDebugFlags = 1; + + field_0xa = 0x118; + field_0xa |= 0x200; + field_0xa |= 0x400; + + mChargeLatitude = 27.0f; + mChargeTimer = 90; + mChargeBRatio = 0.5f; + mLockonChangeTimer = 40; + mLockonChangeCushion = lit_4058; + field_0x6c = 45.0f; + mForceLockOffDist = 3500.0f; + mForceLockOffTimer = 90; + mThrowTimer = 30; + mThrowVAngle = 25.0f; + mThrowCushion = 0.05f; + mThrowCtrOffset = 10.0f; + field_0x78 = 0.5f; + field_0x7c = 0.4f; + field_0x80 = 10.0f; + field_0x84 = 4.0f; + field_0xd4 = 60.0f; + field_0xd8 = 100.0f; + mWindShakeCtr = 15.0f; + mWindShakeFvy = 0.3f; + mMapToolCamShortTimer = 60; + mMapToolCamLongTimer = 120; + mDebugFlags |= 0x4800; + field_0x15c = 0.0f; + field_0x160 = 0.0f; + mDebugFlags |= 0x800; + mWaitRollTimer = 120; + mWaitRollSpeed = 0.02f; + field_0x16c = 1200.0f; + field_0xe0 = 0.06f; + field_0xec = 25; + field_0xf4 = 0.85f; + field_0xf8 = temp_1; + field_0xf0 = 12; + field_0xe4 = 50.0f; + field_0xe8 = 0.0f; + mScreensaverFirstWaitTimer = 30; + mScreensaverWaitTimer = 600; + mScreensaverExecTimer = 120; + + dCam_getBody()->EventRecoverNotime(); } -#pragma pop /* 800888B8-80088918 0831F8 0060+00 1/0 1/1 0/0 .text __dt__11dCamSetup_cFv */ #pragma push @@ -394,38 +322,32 @@ extern "C" asm void __dt__11dCamSetup_cFv() { } #pragma pop -/* ############################################################################################## */ -/* 804528B4-804528B8 000EB4 0004+00 1/1 0/0 0/0 .sdata2 @4173 */ -SECTION_SDATA2 static f32 lit_4173 = 182.04444885253906f; - /* 80088918-80088988 083258 0070+00 0/0 1/1 0/0 .text CheckLatitudeRange__11dCamSetup_cFPs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dCamSetup_c::CheckLatitudeRange(s16* param_0) { - nofralloc -#include "asm/d/d_cam_param/CheckLatitudeRange__11dCamSetup_cFPs.s" +bool dCamSetup_c::CheckLatitudeRange(s16* param_0) { + s16 temp0 = cAngle::d2s(field_0x60); + s16 temp1 = cAngle::d2s(field_0x5c); + + if (*param_0 > temp0) { + *param_0 = temp0; + return false; + } + + if (*param_0 < temp1) { + *param_0 = temp1; + return false; + } + + return true; } -#pragma pop /* 80088988-800889B0 0832C8 0028+00 0/0 1/1 0/0 .text PlayerHideDist__11dCamSetup_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dCamSetup_c::PlayerHideDist() { - nofralloc -#include "asm/d/d_cam_param/PlayerHideDist__11dCamSetup_cFv.s" +f32 dCamSetup_c::PlayerHideDist() { + if (daPy_py_c::i_checkNowWolf()) { + return 120.0f; + } + + return mSubjLinkCullDist; } -#pragma pop /* 800889B0-800889F8 0832F0 0048+00 1/0 0/0 0/0 .text __dt__9dCstick_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dCstick_c::~dCstick_c() { - nofralloc -#include "asm/d/d_cam_param/__dt__9dCstick_cFv.s" -} -#pragma pop - -/* 8037A7E0-8037A7E0 006E40 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +dCstick_c::~dCstick_c() {} diff --git a/src/d/d_door_param2.cpp b/src/d/d_door_param2.cpp index 8c98dacc821..ba9fcd64f31 100644 --- a/src/d/d_door_param2.cpp +++ b/src/d/d_door_param2.cpp @@ -1,257 +1,107 @@ -// -// Generated By: dol2asm -// Translation Unit: d/d_door_param2 -// +/** + * d_door_param2.cpp + * + */ #include "d/d_door_param2.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct fopAc_ac_c {}; - -struct door_param2_c { - /* 8003A188 */ void getKind(fopAc_ac_c*); - /* 8003A194 */ void getDoorModel(fopAc_ac_c*); - /* 8003A1A0 */ void getFrontOption(fopAc_ac_c*); - /* 8003A1AC */ void getBackOption(fopAc_ac_c*); - /* 8003A1B8 */ void getFRoomNo(fopAc_ac_c*); - /* 8003A1C4 */ void getBRoomNo(fopAc_ac_c*); - /* 8003A1D0 */ void getSwbit(fopAc_ac_c*); - /* 8003A1DC */ void getSwbit2(fopAc_ac_c*); - /* 8003A1E8 */ void getSwbit3(fopAc_ac_c*); - /* 8003A1F4 */ void isMsgDoor(fopAc_ac_c*); - /* 8003A200 */ void getEventNo(fopAc_ac_c*); - /* 8003A20C */ void getEventNo2(fopAc_ac_c*); - /* 8003A218 */ void getMsgNo(fopAc_ac_c*); - /* 8003A224 */ void getExitNo(fopAc_ac_c*); - /* 8003A230 */ void getFLightInf(fopAc_ac_c*); - /* 8003A23C */ void getBLightInf(fopAc_ac_c*); - /* 8003A248 */ void getMFLightInf(fopAc_ac_c*); - /* 8003A254 */ void getMBLightInf(fopAc_ac_c*); -}; - -// -// Forward References: -// - -extern "C" void getKind__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getDoorModel__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getFrontOption__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getBackOption__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getFRoomNo__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getBRoomNo__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getSwbit__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getSwbit2__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getSwbit3__13door_param2_cFP10fopAc_ac_c(); -extern "C" void isMsgDoor__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getEventNo__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getEventNo2__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getMsgNo__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getExitNo__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getFLightInf__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getBLightInf__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getMFLightInf__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getMBLightInf__13door_param2_cFP10fopAc_ac_c(); - -// -// External References: -// - -// -// Declarations: -// /* 8003A188-8003A194 034AC8 000C+00 0/0 0/0 17/17 .text getKind__13door_param2_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void door_param2_c::getKind(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/d_door_param2/getKind__13door_param2_cFP10fopAc_ac_c.s" +u8 door_param2_c::getKind(fopAc_ac_c* i_actor) { + return fopAcM_GetParamBit(i_actor, 0, 5); } -#pragma pop /* 8003A194-8003A1A0 034AD4 000C+00 0/0 0/0 2/2 .text getDoorModel__13door_param2_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void door_param2_c::getDoorModel(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/d_door_param2/getDoorModel__13door_param2_cFP10fopAc_ac_c.s" +u8 door_param2_c::getDoorModel(fopAc_ac_c* i_actor) { + return fopAcM_GetParamBit(i_actor, 5, 3); } -#pragma pop /* 8003A1A0-8003A1AC 034AE0 000C+00 0/0 0/0 17/17 .text * getFrontOption__13door_param2_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void door_param2_c::getFrontOption(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/d_door_param2/getFrontOption__13door_param2_cFP10fopAc_ac_c.s" +u8 door_param2_c::getFrontOption(fopAc_ac_c* i_actor) { + return fopAcM_GetParamBit(i_actor, 8, 2); } -#pragma pop /* 8003A1AC-8003A1B8 034AEC 000C+00 0/0 0/0 14/14 .text * getBackOption__13door_param2_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void door_param2_c::getBackOption(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/d_door_param2/getBackOption__13door_param2_cFP10fopAc_ac_c.s" +u8 door_param2_c::getBackOption(fopAc_ac_c* i_actor) { + return fopAcM_GetParamBit(i_actor, 10, 3); } -#pragma pop /* 8003A1B8-8003A1C4 034AF8 000C+00 0/0 0/0 19/19 .text getFRoomNo__13door_param2_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void door_param2_c::getFRoomNo(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/d_door_param2/getFRoomNo__13door_param2_cFP10fopAc_ac_c.s" +u8 door_param2_c::getFRoomNo(fopAc_ac_c* i_actor) { + return fopAcM_GetParamBit(i_actor, 13, 6); } -#pragma pop /* 8003A1C4-8003A1D0 034B04 000C+00 0/0 0/0 10/10 .text getBRoomNo__13door_param2_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void door_param2_c::getBRoomNo(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/d_door_param2/getBRoomNo__13door_param2_cFP10fopAc_ac_c.s" +u8 door_param2_c::getBRoomNo(fopAc_ac_c* i_actor) { + return fopAcM_GetParamBit(i_actor, 19, 6); } -#pragma pop /* 8003A1D0-8003A1DC 034B10 000C+00 0/0 0/0 25/25 .text getSwbit__13door_param2_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void door_param2_c::getSwbit(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/d_door_param2/getSwbit__13door_param2_cFP10fopAc_ac_c.s" +u8 door_param2_c::getSwbit(fopAc_ac_c* i_actor) { + return i_actor->orig.angle.z & 0xFF; } -#pragma pop /* 8003A1DC-8003A1E8 034B1C 000C+00 0/0 0/0 12/12 .text getSwbit2__13door_param2_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void door_param2_c::getSwbit2(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/d_door_param2/getSwbit2__13door_param2_cFP10fopAc_ac_c.s" +u8 door_param2_c::getSwbit2(fopAc_ac_c* i_actor) { + return (i_actor->orig.angle.z >> 8) & 0xFF; } -#pragma pop /* 8003A1E8-8003A1F4 034B28 000C+00 0/0 0/0 3/3 .text getSwbit3__13door_param2_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void door_param2_c::getSwbit3(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/d_door_param2/getSwbit3__13door_param2_cFP10fopAc_ac_c.s" +u8 door_param2_c::getSwbit3(fopAc_ac_c* i_actor) { + return (i_actor->orig.angle.x >> 8) & 0xFF; } -#pragma pop /* 8003A1F4-8003A200 034B34 000C+00 0/0 0/0 4/4 .text isMsgDoor__13door_param2_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void door_param2_c::isMsgDoor(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/d_door_param2/isMsgDoor__13door_param2_cFP10fopAc_ac_c.s" +u8 door_param2_c::isMsgDoor(fopAc_ac_c* i_actor) { + return fopAcM_GetParamBit(i_actor, 31, 1); } -#pragma pop /* 8003A200-8003A20C 034B40 000C+00 0/0 0/0 3/3 .text getEventNo__13door_param2_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void door_param2_c::getEventNo(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/d_door_param2/getEventNo__13door_param2_cFP10fopAc_ac_c.s" +u8 door_param2_c::getEventNo(fopAc_ac_c* i_actor) { + return i_actor->orig.angle.x & 0xFF; } -#pragma pop /* 8003A20C-8003A218 034B4C 000C+00 0/0 0/0 2/2 .text getEventNo2__13door_param2_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void door_param2_c::getEventNo2(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/d_door_param2/getEventNo2__13door_param2_cFP10fopAc_ac_c.s" +u8 door_param2_c::getEventNo2(fopAc_ac_c* i_actor) { + return (i_actor->orig.angle.x >> 8) & 0xFF; } -#pragma pop /* 8003A218-8003A224 034B58 000C+00 0/0 0/0 2/2 .text getMsgNo__13door_param2_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void door_param2_c::getMsgNo(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/d_door_param2/getMsgNo__13door_param2_cFP10fopAc_ac_c.s" +u16 door_param2_c::getMsgNo(fopAc_ac_c* i_actor) { + return i_actor->orig.angle.x; } -#pragma pop /* 8003A224-8003A230 034B64 000C+00 0/0 0/0 6/6 .text getExitNo__13door_param2_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void door_param2_c::getExitNo(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/d_door_param2/getExitNo__13door_param2_cFP10fopAc_ac_c.s" +u8 door_param2_c::getExitNo(fopAc_ac_c* i_actor) { + return fopAcM_GetParamBit(i_actor, 25, 6); } -#pragma pop /* 8003A230-8003A23C 034B70 000C+00 0/0 0/0 1/1 .text getFLightInf__13door_param2_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void door_param2_c::getFLightInf(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/d_door_param2/getFLightInf__13door_param2_cFP10fopAc_ac_c.s" +u8 door_param2_c::getFLightInf(fopAc_ac_c* i_actor) { + return fopAcM_GetParamBit(i_actor, 25, 3); } -#pragma pop /* 8003A23C-8003A248 034B7C 000C+00 0/0 0/0 1/1 .text getBLightInf__13door_param2_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void door_param2_c::getBLightInf(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/d_door_param2/getBLightInf__13door_param2_cFP10fopAc_ac_c.s" +u8 door_param2_c::getBLightInf(fopAc_ac_c* i_actor) { + return fopAcM_GetParamBit(i_actor, 28, 3); } -#pragma pop /* 8003A248-8003A254 034B88 000C+00 0/0 0/0 1/1 .text getMFLightInf__13door_param2_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void door_param2_c::getMFLightInf(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/d_door_param2/getMFLightInf__13door_param2_cFP10fopAc_ac_c.s" +u8 door_param2_c::getMFLightInf(fopAc_ac_c* i_actor) { + return fopAcM_GetParamBit(i_actor, 19, 3); } -#pragma pop /* 8003A254-8003A260 034B94 000C+00 0/0 0/0 1/1 .text getMBLightInf__13door_param2_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void door_param2_c::getMBLightInf(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/d_door_param2/getMBLightInf__13door_param2_cFP10fopAc_ac_c.s" +u8 door_param2_c::getMBLightInf(fopAc_ac_c* i_actor) { + return fopAcM_GetParamBit(i_actor, 22, 3); } -#pragma pop diff --git a/src/d/d_drawlist.cpp b/src/d/d_drawlist.cpp index 772ac395b58..e52dd6bcdc7 100644 --- a/src/d/d_drawlist.cpp +++ b/src/d/d_drawlist.cpp @@ -6,13 +6,14 @@ #include "d/d_drawlist.h" #include "JSystem/J3DGraphBase/J3DShape.h" #include "JSystem/J3DGraphBase/J3DSys.h" +#include "d/com/d_com_inf_game.h" #include "dol2asm.h" #include "dolphin/mtx/mtx44.h" #include "dolphin/mtx/mtxvec.h" #include "dolphin/types.h" -#include "m_Do/m_Do_mtx.h" -#include "m_Do/m_Do_lib.h" #include "m_Do/m_Do_graphic.h" +#include "m_Do/m_Do_lib.h" +#include "m_Do/m_Do_mtx.h" // // Types: @@ -50,16 +51,6 @@ struct dDlst_2DM_c { /* 80052C58 */ void draw(); }; -struct cBgS_ShdwDraw { - /* 80267F88 */ cBgS_ShdwDraw(); - /* 80267FD0 */ ~cBgS_ShdwDraw(); - /* 80268048 */ void Set(cXyz&, cXyz&); -}; - -struct cBgS { - /* 80074840 */ void ShdwDraw(cBgS_ShdwDraw*); -}; - struct ShdwDrawPoly_c { /* 80054A6C */ ~ShdwDrawPoly_c(); }; @@ -226,13 +217,9 @@ extern "C" extern void* __vt__12dDlst_base_c[3]; extern "C" extern void* __vt__9J3DPacket[5]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" u8 mClipper__14mDoLib_clipper[92]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" extern u8 g_envHIO[68]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" u8 mBackColor__13mDoGph_gInf_c[4]; -extern "C" extern u8 g_clearColor[4]; -extern "C" extern u32 g_blackColor; -extern "C" extern u32 g_whiteColor; extern "C" f32 mSystemFar__14mDoLib_clipper; extern "C" f32 mFovyRate__14mDoLib_clipper; extern "C" u8 sOldVcdVatCmd__8J3DShape[4]; @@ -242,8 +229,7 @@ extern "C" u8 sOldVcdVatCmd__8J3DShape[4]; // /* 80051AC0-80051ADC 04C400 001C+00 0/0 3/3 0/0 .text setViewPort__14dDlst_window_cFffffff */ -void dDlst_window_c::setViewPort(f32 xOrig, f32 yOrig, f32 width, f32 height, f32 nearZ, - f32 farZ) { +void dDlst_window_c::setViewPort(f32 xOrig, f32 yOrig, f32 width, f32 height, f32 nearZ, f32 farZ) { mXOrig = xOrig; mYOrig = yOrig; mWidth = width; @@ -346,779 +332,104 @@ extern "C" asm void draw__12dDlst_2DT2_cFv() { /* ############################################################################################## */ /* 803A87A0-803A87C0 0058C0 000C+14 2/2 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12 + 20 /* padding */] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, +SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 803A87C0-803A8800 0058E0 003C+04 0/0 0/0 0/0 .data l_frontZMat */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_frontZMat[60 + 4 /* padding */] = { - 0x61, - 0x40, - 0x00, - 0x00, - 0x07, - 0x10, - 0x00, - 0x00, - 0x10, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x00, - 0x10, - 0x00, - 0x00, - 0x10, - 0x09, - 0x00, - 0x00, - 0x00, - 0x01, - 0x61, - 0x00, - 0x00, - 0x40, - 0x10, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, +SECTION_DATA static u8 l_frontZMat[] ALIGN_DECL(32) = { + 0x61, 0x40, 0x00, 0x00, 0x07, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x10, + 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; #pragma pop /* 803A8800-803A882C 005920 002A+02 0/0 0/0 0/0 .data l_frontNoZSubMat */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_frontNoZSubMat[42 + 2 /* padding */] = { - 0x61, - 0x40, - 0x00, - 0x00, - 0x06, - 0x61, - 0x41, - 0x00, - 0x09, - 0x35, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, +SECTION_DATA static u8 l_frontNoZSubMat[] ALIGN_DECL(32) = { + 0x61, 0x40, 0x00, 0x00, 0x06, 0x61, 0x41, 0x00, 0x09, 0x35, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; #pragma pop /* 803A882C-803A88A0 00594C 0060+14 0/1 0/0 0/0 .data l_shadowVolPos */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_shadowVolPos[96 + 20 /* padding */] = { - 0xBF, - 0x80, - 0x00, - 0x00, - 0xBF, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0xBF, - 0x80, - 0x00, - 0x00, - 0xBF, - 0x80, - 0x00, - 0x00, - 0xC3, - 0x96, - 0x00, - 0x00, - 0xBF, - 0x80, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0xBF, - 0x80, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0xC3, - 0x96, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0xBF, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0xBF, - 0x80, - 0x00, - 0x00, - 0xC3, - 0x96, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0xC3, - 0x96, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, +SECTION_DATA static Vec l_shadowVolPos[] = { + {-1.0f, -1.0f, 0.0f}, {-1.0f, -1.0f, -300.0f}, {-1.0f, 1.0f, 0.0f}, {-1.0f, 1.0f, -300.0f}, + {1.0f, -1.0f, 0.0f}, {1.0f, -1.0f, -300.0f}, {1.0f, 1.0f, 0.0f}, {1.0f, 1.0f, -300.0f}, }; #pragma pop /* 803A88A0-803A88E0 0059C0 003B+05 0/0 0/0 0/0 .data l_shadowVolDL */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_shadowVolDL[59 + 5 /* padding */] = { - 0x80, - 0x00, - 0x18, - 0x06, - 0x02, - 0x03, - 0x07, - 0x00, - 0x04, - 0x05, - 0x01, - 0x06, - 0x04, - 0x00, - 0x02, - 0x07, - 0x05, - 0x04, - 0x06, - 0x03, - 0x01, - 0x05, - 0x07, - 0x02, - 0x00, - 0x01, - 0x03, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, +SECTION_DATA static u8 l_shadowVolDL[] ALIGN_DECL(32) = { + 0x80, 0x00, 0x18, 0x06, 0x02, 0x03, 0x07, 0x00, 0x04, 0x05, 0x01, 0x06, 0x04, 0x00, 0x02, + 0x07, 0x05, 0x04, 0x06, 0x03, 0x01, 0x05, 0x07, 0x02, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; #pragma pop /* 803A88E0-803A8940 005A00 005A+06 1/1 0/0 0/0 .data l_shadowProjMat */ -SECTION_DATA static u8 l_shadowProjMat[90 + 6 /* padding */] = { - 0x61, - 0x28, - 0x38, - 0x03, - 0xC0, - 0x61, - 0xC0, - 0x08, - 0xFF, - 0xFF, - 0x61, - 0xC1, - 0x08, - 0xE6, - 0x70, - 0x61, - 0x43, - 0x00, - 0x00, - 0x01, - 0x61, - 0x40, - 0x00, - 0x00, - 0x07, - 0x61, - 0x41, - 0x00, - 0x04, - 0xAD, - 0x61, - 0xF3, - 0x64, - 0x00, - 0x00, - 0x10, - 0x00, - 0x00, - 0x10, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x01, - 0x10, - 0x00, - 0x00, - 0x10, - 0x09, - 0x00, - 0x00, - 0x00, - 0x00, - 0x61, - 0x00, - 0x00, - 0x40, - 0x01, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, +SECTION_DATA static u8 l_shadowProjMat[] ALIGN_DECL(32) = { + 0x61, 0x28, 0x38, 0x03, 0xC0, 0x61, 0xC0, 0x08, 0xFF, 0xFF, 0x61, 0xC1, 0x08, 0xE6, 0x70, + 0x61, 0x43, 0x00, 0x00, 0x01, 0x61, 0x40, 0x00, 0x00, 0x07, 0x61, 0x41, 0x00, 0x04, 0xAD, + 0x61, 0xF3, 0x64, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x01, 0x10, + 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 803A8940-803A89A0 005A60 005A+06 0/0 0/0 0/0 .data l_shadowVolMat */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_shadowVolMat[90 + 6 /* padding */] = { - 0x61, - 0x28, - 0x38, - 0x00, - 0x00, - 0x61, - 0xC0, - 0x08, - 0xFF, - 0xFC, - 0x61, - 0xC1, - 0x08, - 0xFF, - 0x90, - 0x61, - 0x43, - 0x00, - 0x00, - 0x41, - 0x61, - 0x40, - 0x00, - 0x00, - 0x0D, - 0x61, - 0x41, - 0x00, - 0x01, - 0x35, - 0x61, - 0xF3, - 0x7F, - 0x00, - 0x00, - 0x10, - 0x00, - 0x00, - 0x10, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x00, - 0x10, - 0x00, - 0x00, - 0x10, - 0x09, - 0x00, - 0x00, - 0x00, - 0x01, - 0x61, - 0x00, - 0x00, - 0x80, - 0x10, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, +SECTION_DATA static u8 l_shadowVolMat[] ALIGN_DECL(32) = { + 0x61, 0x28, 0x38, 0x00, 0x00, 0x61, 0xC0, 0x08, 0xFF, 0xFC, 0x61, 0xC1, 0x08, 0xFF, 0x90, + 0x61, 0x43, 0x00, 0x00, 0x41, 0x61, 0x40, 0x00, 0x00, 0x0D, 0x61, 0x41, 0x00, 0x01, 0x35, + 0x61, 0xF3, 0x7F, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x10, + 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x80, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; #pragma pop /* 803A89A0-803A8A00 005AC0 0055+0B 0/1 0/0 0/0 .data l_clearMat */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_clearMat[85 + 11 /* padding */] = { - 0x61, - 0x28, - 0x38, - 0x00, - 0x00, - 0x61, - 0xC0, - 0x08, - 0xFF, - 0xFF, - 0x61, - 0xC1, - 0x08, - 0xFF, - 0xA0, - 0x61, - 0x40, - 0x00, - 0x00, - 0x06, - 0x61, - 0x41, - 0x00, - 0x00, - 0x14, - 0x61, - 0xF3, - 0x7F, - 0x00, - 0x00, - 0x10, - 0x00, - 0x00, - 0x10, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x00, - 0x10, - 0x00, - 0x00, - 0x10, - 0x09, - 0x00, - 0x00, - 0x00, - 0x01, - 0x61, - 0x00, - 0x00, - 0x00, - 0x10, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, +SECTION_DATA static u8 l_clearMat[] ALIGN_DECL(32) = { + 0x61, 0x28, 0x38, 0x00, 0x00, 0x61, 0xC0, 0x08, 0xFF, 0xFF, 0x61, 0xC1, 0x08, 0xFF, 0xA0, + 0x61, 0x40, 0x00, 0x00, 0x06, 0x61, 0x41, 0x00, 0x00, 0x14, 0x61, 0xF3, 0x7F, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, + 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; #pragma pop /* 803A8A00-803A8A60 005B20 0055+0B 0/1 0/0 0/0 .data l_frontMat */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_frontMat[85 + 11 /* padding */] = { - 0x61, - 0x28, - 0x38, - 0x00, - 0x00, - 0x61, - 0xC0, - 0x08, - 0xFF, - 0xFF, - 0x61, - 0xC1, - 0x08, - 0xFF, - 0x90, - 0x61, - 0x43, - 0x00, - 0x00, - 0x41, - 0x61, - 0x40, - 0x00, - 0x00, - 0x07, - 0x61, - 0x41, - 0x00, - 0x01, - 0x15, - 0x10, - 0x00, - 0x00, - 0x10, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x00, - 0x10, - 0x00, - 0x00, - 0x10, - 0x09, - 0x00, - 0x00, - 0x00, - 0x01, - 0x61, - 0x00, - 0x00, - 0x40, - 0x10, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, +SECTION_DATA static u8 l_frontMat[] ALIGN_DECL(32) = { + 0x61, 0x28, 0x38, 0x00, 0x00, 0x61, 0xC0, 0x08, 0xFF, 0xFF, 0x61, 0xC1, 0x08, 0xFF, 0x90, + 0x61, 0x43, 0x00, 0x00, 0x41, 0x61, 0x40, 0x00, 0x00, 0x07, 0x61, 0x41, 0x00, 0x01, 0x15, + 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, + 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; #pragma pop /* 803A8A60-803A8A9C 005B80 003C+00 0/1 0/0 0/0 .data l_backSubMat */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_backSubMat[60] = { +SECTION_DATA static u8 l_backSubMat[] ALIGN_DECL(32) = { 0x61, 0x41, 0x00, 0x09, 0x35, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x80, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1129,804 +440,105 @@ SECTION_DATA static u8 l_backSubMat[60] = { /* 803A8A9C-803A8B60 005BBC 00A8+1C 0/1 0/0 0/0 .data l_simpleShadowPos */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_simpleShadowPos[168 + 28 /* padding */] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0xBF, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0xBF, - 0x80, - 0x00, - 0x00, - 0xBF, - 0x80, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0xBF, - 0x80, - 0x00, - 0x00, - 0xBF, - 0x80, - 0x00, - 0x00, - 0xBF, - 0x80, - 0x00, - 0x00, - 0xBF, - 0x80, - 0x00, - 0x00, - 0xBF, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0xBF, - 0x80, - 0x00, - 0x00, - 0xBF, - 0x80, - 0x00, - 0x00, - 0xBF, - 0x80, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0xBF, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0xBF, - 0x80, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0xBF, - 0x80, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0xBF, - 0x80, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0xBF, - 0x80, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0xBF, - 0x80, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, +SECTION_DATA static Vec l_simpleShadowPos[] = { + {0.0f, -1.0f, 0.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, -1.0f, -1.0f}, {1.0f, 0.0f, -1.0f}, + {-1.0f, -1.0f, -1.0f}, {-1.0f, 0.0f, -1.0f}, {-1.0f, -1.0f, 1.0f}, {-1.0f, 0.0f, 1.0f}, + {1.0f, -1.0f, 1.0f}, {1.0f, 0.0f, 1.0f}, {-1.0f, 1.0f, -1.0f}, {1.0f, 1.0f, -1.0f}, + {1.0f, 1.0f, 1.0f}, {-1.0f, 1.0f, 1.0f}, }; #pragma pop /* 803A8B60-803A8BC0 005C80 0058+08 0/1 0/0 0/0 .data l_shadowVolumeDL */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_shadowVolumeDL[88 + 8 /* padding */] = { - 0x98, - 0x00, - 0x05, - 0x03, - 0x09, - 0x01, - 0x07, - 0x05, - 0x98, - 0x00, - 0x05, - 0x04, - 0x06, - 0x00, - 0x08, - 0x02, - 0x98, - 0x00, - 0x04, - 0x04, - 0x05, - 0x06, - 0x07, - 0x98, - 0x00, - 0x04, - 0x02, - 0x03, - 0x04, - 0x05, - 0x98, - 0x00, - 0x04, - 0x08, - 0x09, - 0x02, - 0x03, - 0x98, - 0x00, - 0x04, - 0x06, - 0x07, - 0x08, - 0x09, - 0x98, - 0x00, - 0x03, - 0x01, - 0x05, - 0x03, - 0x98, - 0x00, - 0x03, - 0x00, - 0x02, - 0x04, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, +SECTION_DATA static u8 l_shadowVolumeDL[] ALIGN_DECL(32) = { + 0x98, 0x00, 0x05, 0x03, 0x09, 0x01, 0x07, 0x05, 0x98, 0x00, 0x05, 0x04, 0x06, 0x00, 0x08, + 0x02, 0x98, 0x00, 0x04, 0x04, 0x05, 0x06, 0x07, 0x98, 0x00, 0x04, 0x02, 0x03, 0x04, 0x05, + 0x98, 0x00, 0x04, 0x08, 0x09, 0x02, 0x03, 0x98, 0x00, 0x04, 0x06, 0x07, 0x08, 0x09, 0x98, + 0x00, 0x03, 0x01, 0x05, 0x03, 0x98, 0x00, 0x03, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; #pragma pop /* 803A8BC0-803A8C20 005CE0 0055+0B 0/1 0/0 0/0 .data l_shadowSealTexDL */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_shadowSealTexDL[85 + 11 /* padding */] = { - 0x61, - 0x28, - 0x38, - 0x03, - 0xC0, - 0x61, - 0x40, - 0x00, - 0x00, - 0x06, - 0x61, - 0x41, - 0x00, - 0x06, - 0x15, - 0x10, - 0x00, - 0x00, - 0x10, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x01, - 0x10, - 0x00, - 0x00, - 0x10, - 0x09, - 0x00, - 0x00, - 0x00, - 0x00, - 0x61, - 0x00, - 0x00, - 0x40, - 0x01, - 0x80, - 0x00, - 0x04, - 0x0A, - 0x00, - 0x00, - 0x0B, - 0x01, - 0x00, - 0x0C, - 0x01, - 0x01, - 0x0D, - 0x00, - 0x01, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, +SECTION_DATA static u8 l_shadowSealTexDL[] ALIGN_DECL(32) = { + 0x61, 0x28, 0x38, 0x03, 0xC0, 0x61, 0x40, 0x00, 0x00, 0x06, 0x61, 0x41, 0x00, 0x06, 0x15, + 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, + 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x40, 0x01, 0x80, 0x00, 0x04, 0x0A, 0x00, 0x00, 0x0B, + 0x01, 0x00, 0x0C, 0x01, 0x01, 0x0D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; #pragma pop /* 803A8C20-803A8C80 005D40 0055+0B 0/1 0/0 0/0 .data l_shadowSealTex2DL */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_shadowSealTex2DL[85 + 11 /* padding */] = { - 0x61, - 0x28, - 0x38, - 0x03, - 0xC0, - 0x61, - 0x40, - 0x00, - 0x00, - 0x06, - 0x61, - 0x41, - 0x00, - 0x06, - 0x15, - 0x10, - 0x00, - 0x00, - 0x10, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x01, - 0x10, - 0x00, - 0x00, - 0x10, - 0x09, - 0x00, - 0x00, - 0x00, - 0x00, - 0x61, - 0x00, - 0x00, - 0x40, - 0x01, - 0x80, - 0x00, - 0x04, - 0x0A, - 0x00, - 0x00, - 0x0B, - 0x02, - 0x00, - 0x0C, - 0x02, - 0x01, - 0x0D, - 0x00, - 0x01, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, +SECTION_DATA static u8 l_shadowSealTex2DL[] ALIGN_DECL(32) = { + 0x61, 0x28, 0x38, 0x03, 0xC0, 0x61, 0x40, 0x00, 0x00, 0x06, 0x61, 0x41, 0x00, 0x06, 0x15, + 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, + 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x40, 0x01, 0x80, 0x00, 0x04, 0x0A, 0x00, 0x00, 0x0B, + 0x02, 0x00, 0x0C, 0x02, 0x01, 0x0D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; #pragma pop /* 803A8C80-803A8D00 005DA0 0069+17 0/1 0/0 0/0 .data l_shadowSealDL */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_shadowSealDL[105 + 23 /* padding */] = { - 0x10, - 0x00, - 0x00, - 0x10, - 0x0E, - 0x00, - 0x00, - 0x05, - 0x00, - 0x10, - 0x00, - 0x00, - 0x10, - 0x10, - 0x00, - 0x00, - 0x05, - 0x00, - 0x61, - 0x28, - 0x38, - 0x00, - 0x00, - 0x61, - 0xC0, - 0x08, - 0xFF, - 0xFF, - 0x61, - 0xC1, - 0x08, - 0xFF, - 0xB0, - 0x61, - 0x40, - 0x00, - 0x00, - 0x06, - 0x61, - 0x41, - 0x00, - 0x06, - 0xED, - 0x10, - 0x00, - 0x00, - 0x10, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x00, - 0x10, - 0x00, - 0x00, - 0x10, - 0x09, - 0x00, - 0x00, - 0x00, - 0x01, - 0x61, - 0x00, - 0x00, - 0x40, - 0x10, - 0x80, - 0x00, - 0x04, - 0x0A, - 0x0B, - 0x0C, - 0x0D, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, +SECTION_DATA static u8 l_shadowSealDL[] ALIGN_DECL(32) = { + 0x10, 0x00, 0x00, 0x10, 0x0E, 0x00, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, + 0x00, 0x05, 0x00, 0x61, 0x28, 0x38, 0x00, 0x00, 0x61, 0xC0, 0x08, 0xFF, 0xFF, 0x61, 0xC1, + 0x08, 0xFF, 0xB0, 0x61, 0x40, 0x00, 0x00, 0x06, 0x61, 0x41, 0x00, 0x06, 0xED, 0x10, 0x00, + 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, + 0x01, 0x61, 0x00, 0x00, 0x40, 0x10, 0x80, 0x00, 0x04, 0x0A, 0x0B, 0x0C, 0x0D, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; #pragma pop /* 803A8D00-803A8D7C 005E20 007B+01 1/1 0/0 0/0 .data l_matDL$5404 */ -SECTION_DATA static u8 l_matDL[123 + 1 /* padding */] = { - 0x10, - 0x00, - 0x00, - 0x10, - 0x0E, - 0x00, - 0x00, - 0x04, - 0x00, - 0x10, - 0x00, - 0x00, - 0x10, - 0x10, - 0x00, - 0x00, - 0x04, - 0x00, - 0x61, - 0x28, - 0x38, - 0x00, - 0x00, - 0x61, - 0xC0, - 0x08, - 0xFF, - 0xF2, - 0x61, - 0xC1, - 0x08, - 0xFF, - 0x90, - 0x61, - 0x43, - 0x00, - 0x00, - 0x41, - 0x61, - 0xF3, - 0x7F, - 0x00, - 0x00, - 0x10, - 0x00, - 0x00, - 0x10, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x00, - 0x10, - 0x00, - 0x00, - 0x10, - 0x09, - 0x00, - 0x00, - 0x00, - 0x01, - 0x61, - 0x00, - 0x00, - 0x40, - 0x10, - 0x61, - 0xEE, - 0x00, - 0x00, - 0x00, - 0x61, - 0xEF, - 0x00, - 0x00, - 0x00, - 0x61, - 0xF0, - 0x00, - 0x00, - 0x00, - 0x61, - 0xF1, - 0x00, - 0x00, - 0x00, - 0x61, - 0xF2, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, +SECTION_DATA static u8 l_matDL[] ALIGN_DECL(32) = { + 0x10, 0x00, 0x00, 0x10, 0x0E, 0x00, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, + 0x04, 0x00, 0x61, 0x28, 0x38, 0x00, 0x00, 0x61, 0xC0, 0x08, 0xFF, 0xF2, 0x61, 0xC1, 0x08, 0xFF, + 0x90, 0x61, 0x43, 0x00, 0x00, 0x41, 0x61, 0xF3, 0x7F, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x3F, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, + 0x40, 0x10, 0x61, 0xEE, 0x00, 0x00, 0x00, 0x61, 0xEF, 0x00, 0x00, 0x00, 0x61, 0xF0, 0x00, 0x00, + 0x00, 0x61, 0xF1, 0x00, 0x00, 0x00, 0x61, 0xF2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 803A8D7C-803A8D8C 005E9C 0010+00 1/1 0/0 0/0 .data l_imageDrawColor$5405 */ -SECTION_DATA static GXColor l_imageDrawColor[4] = {{0xFF, 0x00, 0x00, 0x00}, - {0x00, 0xFF, 0x00, 0x00}, - {0x00, 0x00, 0xFF, 0x00}, - {0x00, 0x00, 0x00, 0xFF}}; +SECTION_DATA static GXColor l_imageDrawColor[4] = { + {255, 0, 0, 0}, + {0, 255, 0, 0}, + {0, 0, 255, 0}, + {0, 0, 0, 255}, +}; /* 803A8D8C-803A8D9C 005EAC 0010+00 0/1 0/0 0/0 .data l_tevColorChan$5438 */ #pragma push #pragma force_active on -SECTION_DATA static GXTevColor l_tevColorChan[4] = {GX_CH_RED, GX_CH_GREEN, GX_CH_BLUE, - GX_CH_ALPHA}; +SECTION_DATA static GXTevColor l_tevColorChan[4] = { + GX_CH_RED, + GX_CH_GREEN, + GX_CH_BLUE, + GX_CH_ALPHA, +}; #pragma pop /* 803A8D9C-803A8DCC 005EBC 0030+00 0/0 0/0 0/0 .data mtx_adj$5842 */ #pragma push #pragma force_active on -SECTION_DATA static u8 mtx_adj[48] = { - 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +SECTION_DATA static Mtx mtx_adj = { + {0.5f, 0.0f, 0.0f, 0.5f}, + {0.0f, -0.5f, 0.0f, 0.5f}, + {0.0f, 0.0f, 1.0f, 0.0f}, }; #pragma pop @@ -2759,52 +1371,20 @@ dDlst_shadowSimple_c::dDlst_shadowSimple_c() { /* ############################################################################################## */ /* 8037A178-8037A1A4 0067D8 002A+02 1/1 0/0 0/0 .rodata l_drawlistSize$5656 */ SECTION_RODATA static u16 const l_drawlistSize[21] = { - 0x0001, - 0x0001, - 0x0001, - 0x0080, - 0x0001, - 0x0001, - 0x0001, - 0x0080, - 0x0100, - 0x0001, - 0x0100, - 0x0001, - 0x0020, - 0x0010, - 0x0010, - 0x0020, - 0x0020, - 0x0100, - 0x0001, - 0x0004, - 0x0004, + 0x0001, 0x0001, 0x0001, 0x0080, 0x0001, 0x0001, 0x0001, 0x0080, 0x0100, 0x0001, 0x0100, + 0x0001, 0x0020, 0x0010, 0x0010, 0x0020, 0x0020, 0x0100, 0x0001, 0x0004, 0x0004, }; COMPILER_STRIP_GATE(0x8037A178, &l_drawlistSize); /* 8037A1A4-8037A1B0 006804 0009+03 1/1 0/0 0/0 .rodata l_nonSortId$5662 */ SECTION_RODATA static u8 const l_nonSortId[9] = { - 0x00, - 0x01, - 0x02, - 0x04, - 0x05, - 0x06, - 0x09, - 0x12, - 0x0D, + 0x00, 0x01, 0x02, 0x04, 0x05, 0x06, 0x09, 0x12, 0x0D, }; COMPILER_STRIP_GATE(0x8037A1A4, &l_nonSortId); /* 804520C4-804520CC 0006C4 0006+02 1/1 0/0 0/0 .sdata2 l_zSortId$5668 */ SECTION_SDATA2 static u8 l_zSortId[6] = { - 0x08, - 0x0A, - 0x0C, - 0x0E, - 0x10, - 0x11, + 0x08, 0x0A, 0x0C, 0x0E, 0x10, 0x11, }; /* 80056390-8005648C 050CD0 00FC+00 0/0 1/1 0/0 .text init__12dDlst_list_cFv */ @@ -2812,7 +1392,7 @@ SECTION_SDATA2 static u8 l_zSortId[6] = { void dDlst_list_c::init() { J3DDrawBuffer** buffer = mDrawBuffers; const u16* size = l_drawlistSize; - + for (int i = 0; i < 21; i++) { u32 bufSize = *size; size++; @@ -2959,7 +1539,7 @@ u8 dDlst_list_c::mWipe; f32 dDlst_list_c::mWipeRate; /* 80450ED8-80450EE0 0003D8 0004+04 2/2 0/0 0/0 .sbss mWipeSpeed__12dDlst_list_c */ -f32 dDlst_list_c::mWipeSpeed[1 + 1 /* padding */]; +f32 dDlst_list_c::mWipeSpeed; /* 804520D0-804520D4 0006D0 0004+00 1/1 0/0 0/0 .sdata2 @5809 */ SECTION_SDATA2 static f32 lit_5809 = 608.0f; @@ -2972,24 +1552,35 @@ SECTION_SDATA2 static f32 lit_5811 = 2.436000108718872f; /* 8005681C-800568D8 05115C 00BC+00 1/1 0/0 0/0 .text wipeIn__12dDlst_list_cFfR8_GXColor */ +// matches with literals +#ifdef NONMATCHING +void dDlst_list_c::wipeIn(f32 i_wipeSpeed, GXColor& i_wipeColor) { + mWipe = true; + mWipeSpeed = i_wipeSpeed; + mWipeColor = i_wipeColor; + mWipeRate = i_wipeSpeed >= 0.0f ? 0.0f : 1.0f; + + JKRArchive* main2d = dComIfGp_getMain2DArchive(); + ResTIMG* texture = (ResTIMG*)JKRArchive::getGlbResource('TIMG', "wipe_00.bti", main2d); + + mWipeDlst.init(texture, mDoGph_gInf_c::getMinX(), mDoGph_gInf_c::getMinY(), + mDoGph_gInf_c::getWidth(), mDoGph_gInf_c::getHeight(), 0, 1, 1, 2.0f, 2.436f); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dDlst_list_c::wipeIn(f32 param_0, _GXColor& param_1) { +asm void dDlst_list_c::wipeIn(f32 i_wipeSpeed, GXColor& i_wipeColor) { nofralloc #include "asm/d/d_drawlist/wipeIn__12dDlst_list_cFfR8_GXColor.s" } #pragma pop +#endif /* 800568D8-80056900 051218 0028+00 0/0 1/1 0/0 .text wipeIn__12dDlst_list_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDlst_list_c::wipeIn(f32 param_0) { - nofralloc -#include "asm/d/d_drawlist/wipeIn__12dDlst_list_cFf.s" +void dDlst_list_c::wipeIn(f32 i_wipeSpeed) { + wipeIn(-i_wipeSpeed, g_blackColor); } -#pragma pop /* ############################################################################################## */ /* 804520DC-804520E0 0006DC 0004+00 1/1 0/0 0/0 .sdata2 @5838 */ @@ -3060,6 +1651,6 @@ SECTION_DATA extern void* __vt__13dDlst_2DTri_c[3] = { /* 80450EE0-80450EE8 0003E0 0008+00 0/0 1/1 0/0 .sbss None */ extern u8 data_80450EE0[8]; -u8 data_80450EE0[8]; +u8 data_80450EE0[8] ALIGN_DECL(8); /* 8037A1B0-8037A1B0 006810 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/d_gameover.cpp b/src/d/d_gameover.cpp index 6385a1aa39b..db84dfce6f1 100644 --- a/src/d/d_gameover.cpp +++ b/src/d/d_gameover.cpp @@ -4,128 +4,23 @@ // #include "d/d_gameover.h" +#include "d/com/d_com_inf_game.h" +#include "d/d_procname.h" +#include "d/menu/d_menu_save.h" +#include "d/meter/d_meter_HIO.h" #include "dol2asm.h" -#include "dolphin/types.h" +#include "f_op/f_op_msg_mng.h" // // Types: // -struct request_of_phase_process_class {}; - -struct mDoRst { - static u8 mResetData[4 + 4 /* padding */]; -}; - -struct mDoGph_gInf_c { - static u8 mFadeColor[4]; - static u8 mFader[4]; - static u8 mFrameBufferTimg[4]; - static u8 mFrameBufferTex[4]; - static u8 mZbufferTex[4]; - static f32 mFadeRate; -}; - -struct dSv_player_item_c { - /* 80032FB8 */ void setItem(int, u8); - /* 80033030 */ void getItem(int, bool) const; -}; - -struct dSv_player_get_item_c { - /* 80033EC8 */ void isFirstBit(u8) const; -}; - -struct dSv_event_flag_c { - static u8 saveBitLabels[1644 + 4 /* padding */]; -}; - -struct dSv_event_c { - /* 800349A4 */ void offEventBit(u16); - /* 800349BC */ void isEventBit(u16) const; -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C1E4 */ void getResInfo(char const*, dRes_info_c*, int); -}; - -struct JUtility { - struct TColor {}; -}; - struct dMsgScrnLight_c { /* 80245934 */ dMsgScrnLight_c(u8, u8); /* 80245F90 */ void draw(f32*, f32, f32, f32, f32, f32, f32, JUtility::TColor, JUtility::TColor); -}; -struct JMSMesgEntry_c {}; - -struct dMeter2Info_c { - /* 8021C250 */ void getString(u32, char*, JMSMesgEntry_c*); - /* 8021E0C4 */ void resetMiniGameItem(bool); -}; - -struct dMenu_save_c { - /* 8019C314 */ ~dMenu_save_c(); - /* 801EF6A0 */ dMenu_save_c(); - /* 801EF7AC */ void _create(); - /* 801F09AC */ void _open(); - /* 801F0B28 */ void _delete(); - /* 801F1048 */ void _move(); - /* 801F69FC */ void _draw2(); -}; - -class dGov_HIO_c { -public: - /* 8019AFE0 */ dGov_HIO_c(); - /* 8019C06C */ virtual ~dGov_HIO_c(); - - /* 0x04 */ s8 field_0x4; - /* 0x08 */ f32 mScale; - /* 0x0C */ f32 mAlpha; - /* 0x10 */ f32 mAnimSpeed; - /* 0x14 */ GXColor mBlack; - /* 0x18 */ GXColor mWhite; -}; // Size: 0x1C - -struct dDlst_base_c {}; - -struct dDlst_list_c { - /* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*); -}; - -struct dDlst_Gameover_CAPTURE_c { - /* 8019ACF8 */ void draw(); - /* 8019C2CC */ ~dDlst_Gameover_CAPTURE_c(); -}; - -struct dDlst_GameOverScrnDraw_c { - /* 8019B940 */ dDlst_GameOverScrnDraw_c(JKRArchive*); - /* 8019BBFC */ ~dDlst_GameOverScrnDraw_c(); - /* 8019BCB0 */ void setBackAlpha(f32); - /* 8019BCF4 */ void draw(); -}; - -struct JFWDisplay { - static u8 sManager[4]; -}; - -struct J2DTextBox { - /* 80300660 */ void setString(char const*, ...); -}; - -struct J2DGrafContext {}; - -struct J2DScreen { - /* 802F8498 */ J2DScreen(); - /* 802F8648 */ void setPriority(char const*, u32, JKRArchive*); - /* 802F8ED4 */ void draw(f32, f32, J2DGrafContext const*); -}; - -struct J2DPicture { - /* 802FC800 */ J2DPicture(u64, JGeometry::TBox2 const&, ResTIMG const*, ResTLUT const*); + /* 0x00 */ u8 field_0x0[0x24]; }; // @@ -221,26 +116,19 @@ extern "C" void _savegpr_29(); extern "C" void _restgpr_24(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void strcmp(); -extern "C" extern u8 g_mDoMtx_identity[48 + 24 /* padding */]; extern "C" extern void* g_fopMsg_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__12dDlst_base_c[3]; extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" extern void* __vt__14mDoHIO_entry_c[3]; extern "C" extern void* __vt__16dDlst_MenuSave_c[4]; extern "C" extern void* __vt__23dDlst_MenuSaveExplain_c[4 + 18 /* padding */]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_meter2_info[248]; extern "C" u8 mFadeColor__13mDoGph_gInf_c[4]; -extern "C" extern u8 g_clearColor[4]; -extern "C" extern u32 g_blackColor; extern "C" u8 mFader__13mDoGph_gInf_c[4]; extern "C" u8 mFrameBufferTimg__13mDoGph_gInf_c[4]; extern "C" u8 mFrameBufferTex__13mDoGph_gInf_c[4]; extern "C" u8 mZbufferTex__13mDoGph_gInf_c[4]; extern "C" f32 mFadeRate__13mDoGph_gInf_c; extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; -extern "C" extern u8 g_menuHIO[8]; extern "C" u8 sManager__10JFWDisplay[4]; // @@ -264,6 +152,65 @@ SECTION_SDATA2 static f32 lit_3870 = 10.0f; /* 8019ACF8-8019AFE0 195638 02E8+00 1/0 0/0 0/0 .text draw__24dDlst_Gameover_CAPTURE_cFv */ +// matches with literals +#ifdef NONMATCHING +void dDlst_Gameover_CAPTURE_c::draw() { + GXTexObj tex_obj; + Mtx44 m; + + GXSetTexCopySrc(0, 0, 608, 448); + GXSetTexCopyDst(304, 224, GX_TF_RGB565, 1); + GXCopyTex(mDoGph_gInf_c::mZbufferTex, 0); + GXPixModeSync(); + GXInitTexObj(&tex_obj, mDoGph_gInf_c::mFrameBufferTex, 304, 224, + (GXTexFmt)mDoGph_gInf_c::mFrameBufferTimg->format, GX_CLAMP, GX_CLAMP, GX_FALSE); + GXInitTexObjLOD(&tex_obj, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, + GX_ANISO_1); + GXLoadTexObj(&tex_obj, GX_TEXMAP0); + GXSetNumChans(0); + GXSetNumTexGens(1); + GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 60, GX_FALSE, 125); + GXSetNumTevStages(1); + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL); + GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_TEXC); + GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); + GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetZCompLoc(1); + GXSetZMode(GX_FALSE, GX_ALWAYS, GX_FALSE); + GXSetBlendMode(GX_BM_NONE, GX_BL_ZERO, GX_BL_ZERO, GX_LO_OR); + GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0); + GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, g_clearColor); + GXSetFogRangeAdj(GX_FALSE, 0, NULL); + GXSetCullMode(GX_CULL_NONE); + GXSetDither(1); + C_MTXOrtho(m, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 10.0f); + GXSetProjection(m, GX_ORTHOGRAPHIC); + GXLoadPosMtxImm(g_mDoMtx_identity, GX_PNMTX0); + GXSetCurrentMtx(0); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_RGB8, 0); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGB8, 0); + + GXBegin(GX_QUADS, GX_VTXFMT0, 4); + + GXPosition3s8(0, 0, -5); + GXTexCoord2s8(0, 0); + + GXPosition3s8(1, 0, -5); + GXTexCoord2s8(1, 0); + + GXPosition3s8(1, 1, -5); + GXTexCoord2s8(1, 1); + + GXPosition3s8(0, 1, -5); + GXTexCoord2s8(0, 1); + + i_GXEnd(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -272,6 +219,7 @@ asm void dDlst_Gameover_CAPTURE_c::draw() { #include "asm/d/d_gameover/draw__24dDlst_Gameover_CAPTURE_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 803BBB50-803BBB5C 018C70 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ @@ -380,6 +328,13 @@ SECTION_DATA static u8 init_process[108] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; +/* typedef void (dGameover_c::*initFunc)(); +SECTION_DATA initFunc init_process[] = { + &dGameover_c::playerAnmWait_init, &dGameover_c::dispFadeOut_init, &dGameover_c::dispWait_init, + &dGameover_c::demoFadeIn_init, &dGameover_c::demoFadeOut_init, &dGameover_c::saveOpen_init, + &dGameover_c::saveMove_init, &dGameover_c::saveClose_init, &dGameover_c::deleteWait_init, +}; */ + /* 803BBC34-803BBC40 -00001 000C+00 0/1 0/0 0/0 .data @3892 */ #pragma push #pragma force_active on @@ -481,10 +436,16 @@ SECTION_DATA static u8 move_process[108] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; +/* typedef void (dGameover_c::*moveFunc)(); +SECTION_DATA moveFunc move_process[] = { + &dGameover_c::playerAnmWait_proc, &dGameover_c::dispFadeOut_proc, &dGameover_c::dispWait_proc, + &dGameover_c::demoFadeIn_proc, &dGameover_c::demoFadeOut_proc, &dGameover_c::saveOpen_proc, + &dGameover_c::saveMove_proc, &dGameover_c::saveClose_proc, &dGameover_c::deleteWait_proc, +}; */ + /* 803BBD0C-803BBD2C 018E2C 0020+00 1/1 0/0 0/0 .data offset$4331 */ -SECTION_DATA static u8 offset[32] = { - 0xC3, 0x0A, 0x00, 0x00, 0xC2, 0xC0, 0x00, 0x00, 0xC2, 0x60, 0x00, 0x00, 0xC1, 0x90, 0x00, 0x00, - 0x42, 0x28, 0x00, 0x00, 0x42, 0x96, 0x00, 0x00, 0x42, 0xDC, 0x00, 0x00, 0x43, 0x0F, 0x00, 0x00, +SECTION_DATA static f32 offset[8] = { + -138.0f, -96.0f, -56.0f, -18.0f, 42.0f, 75.0f, 110.0f, 143.0f, }; /* 803BBD2C-803BBD40 -00001 0014+00 1/0 0/0 0/0 .data l_dGameover_Method */ @@ -533,21 +494,22 @@ SECTION_DATA extern void* __vt__10dGov_HIO_c[3 + 3 /* padding */] = { NULL, }; -/* 80453B8C-80453B90 00218C 0004+00 1/1 0/0 0/0 .sdata2 @3878 */ -SECTION_SDATA2 static f32 lit_3878 = 27.0f / 10.0f; - -/* 80453B90-80453B94 002190 0004+00 1/1 0/0 0/0 .sdata2 @3879 */ -SECTION_SDATA2 static f32 lit_3879 = 1.0f / 5.0f; - /* 8019AFE0-8019B044 195920 0064+00 1/1 0/0 0/0 .text __ct__10dGov_HIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dGov_HIO_c::dGov_HIO_c() { - nofralloc -#include "asm/d/d_gameover/__ct__10dGov_HIO_cFv.s" +dGov_HIO_c::dGov_HIO_c() { + mScale = 2.7f; + mAlpha = lit_3869; + mAnimSpeed = 0.2f; + + mBlack.r = 0; + mBlack.g = 0; + mBlack.b = 0; + mBlack.a = 0; + + mWhite.r = 255; + mWhite.g = 220; + mWhite.b = 125; + mWhite.a = 255; } -#pragma pop /* ############################################################################################## */ /* 80394C28-80394C28 021288 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -566,207 +528,288 @@ SECTION_DATA extern void* __vt__24dDlst_Gameover_CAPTURE_c[4] = { }; /* 8019B044-8019B2F4 195984 02B0+00 1/1 0/0 0/0 .text _create__11dGameover_cFv */ +#ifdef NONMATCHING +int dGameover_c::_create() { + int phase = dComIfG_resLoad(&mPhase, "Gover"); + + if (dComIfGp_isPauseFlag() || + (dComIfGp_isHeapLockFlag() != 0 && dComIfGp_isHeapLockFlag() != 6) || + dComIfGp_getMesgStatus() != 0) + { + return 0; + } + + if (phase == cPhs_COMPLEATE_e) { + if (dMeter2Info_getGameOverType() == 0) { + mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor); + dComIfGs_addDeathCount(); + } + + dRes_info_c* resInfo = dComIfG_getObjectResInfo("Gover"); + + mpHeap = dComIfGp_getExpHeap2D(); + dComIfGp_setHeapLockFlag(6); + JKRHeap* old_heap = mDoExt_setCurrentHeap(mpHeap); + mpHeap->getTotalFreeSize(); + + dgo_screen_c = new dDlst_GameOverScrnDraw_c(resInfo->getArchive()); + dMs_c = new dMenu_save_c(); + + if (dMeter2Info_getGameOverType() == 1) { + if (!strcmp(dComIfGp_getLastPlayStageName(), "D_MN10A")) { + // Last stage was Stallord Arena + // Remove Ooccoo from inventory + dComIfGs_setItem(SLOT_18, NO_ITEM); + dComIfGs_resetLastWarpAcceptStage(); + } + + dMs_c->setUseType(3); + } else if (dMeter2Info_getGameOverType() == 2) { + dMs_c->setUseType(4); + } else { + dMs_c->setUseType(2); + } + + dMs_c->_create(); + dgo_capture_c = new dDlst_Gameover_CAPTURE_c(); + + mDoExt_setCurrentHeap(old_heap); + field_0x116 = g_menuHIO.mGameover; + + if (dMeter2Info_getGameOverType() == 1 || dMeter2Info_getGameOverType() == 2) { + mIsDemoSave = true; + mProc = PROC_DEMO_FADE_IN; + dgo_screen_c->setBackAlpha(1.0f); + } else { + mIsDemoSave = false; + mProc = PROC_PLAYER_ANM_WAIT; + } + + (this->*init_process[mProc])(); + return cPhs_COMPLEATE_e; + } + + return phase; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dGameover_c::_create() { +asm int dGameover_c::_create() { nofralloc #include "asm/d/d_gameover/_create__11dGameover_cFv.s" } #pragma pop +#endif /* 8019B2F4-8019B384 195C34 0090+00 1/1 0/0 0/0 .text _execute__11dGameover_cFv */ +// matches with sinit +#ifdef NONMATCHING +int dGameover_c::_execute() { + JKRHeap* old_heap = mDoExt_setCurrentHeap(mpHeap); + u8 old_proc = mProc; + + (this->*move_process[mProc])(); + if (mProc != old_proc) { + (this->*init_process[mProc])(); + } + + mDoExt_setCurrentHeap(old_heap); + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dGameover_c::_execute() { +asm int dGameover_c::_execute() { nofralloc #include "asm/d/d_gameover/_execute__11dGameover_cFv.s" } #pragma pop +#endif /* 8019B384-8019B388 195CC4 0004+00 1/0 0/0 0/0 .text playerAnmWait_init__11dGameover_cFv */ -void dGameover_c::playerAnmWait_init() { - /* empty function */ -} +void dGameover_c::playerAnmWait_init() {} /* 8019B388-8019B3A0 195CC8 0018+00 1/0 0/0 0/0 .text playerAnmWait_proc__11dGameover_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dGameover_c::playerAnmWait_proc() { - nofralloc -#include "asm/d/d_gameover/playerAnmWait_proc__11dGameover_cFv.s" +void dGameover_c::playerAnmWait_proc() { + if (mIsDemoSave) { + mProc = PROC_DISP_FADE_OUT; + } } -#pragma pop /* 8019B3A0-8019B3E8 195CE0 0048+00 1/0 0/0 0/0 .text dispFadeOut_init__11dGameover_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dGameover_c::dispFadeOut_init() { - nofralloc -#include "asm/d/d_gameover/dispFadeOut_init__11dGameover_cFv.s" +void dGameover_c::dispFadeOut_init() { + mTimer = 30; + mDoGph_gInf_c::startFadeOut(15); } -#pragma pop /* 8019B3E8-8019B40C 195D28 0024+00 1/0 0/0 0/0 .text dispFadeOut_proc__11dGameover_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dGameover_c::dispFadeOut_proc() { - nofralloc -#include "asm/d/d_gameover/dispFadeOut_proc__11dGameover_cFv.s" +void dGameover_c::dispFadeOut_proc() { + if (mTimer != 0) { + mTimer--; + } else { + mProc = PROC_DISP_WAIT; + } } -#pragma pop /* 8019B40C-8019B454 195D4C 0048+00 1/0 0/0 0/0 .text dispWait_init__11dGameover_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dGameover_c::dispWait_init() { - nofralloc -#include "asm/d/d_gameover/dispWait_init__11dGameover_cFv.s" +void dGameover_c::dispWait_init() { + mTimer = 90; + mDoGph_gInf_c::startFadeIn(30); } -#pragma pop /* 8019B454-8019B478 195D94 0024+00 1/0 0/0 0/0 .text dispWait_proc__11dGameover_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dGameover_c::dispWait_proc() { - nofralloc -#include "asm/d/d_gameover/dispWait_proc__11dGameover_cFv.s" +void dGameover_c::dispWait_proc() { + if (mTimer != 0) { + mTimer--; + } else { + mProc = PROC_SAVE_OPEN; + } } -#pragma pop /* 8019B478-8019B484 195DB8 000C+00 1/0 0/0 0/0 .text demoFadeIn_init__11dGameover_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dGameover_c::demoFadeIn_init() { - nofralloc -#include "asm/d/d_gameover/demoFadeIn_init__11dGameover_cFv.s" +void dGameover_c::demoFadeIn_init() { + mTimer = 0; } -#pragma pop /* 8019B484-8019B4D8 195DC4 0054+00 1/0 0/0 0/0 .text demoFadeIn_proc__11dGameover_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dGameover_c::demoFadeIn_proc() { - nofralloc -#include "asm/d/d_gameover/demoFadeIn_proc__11dGameover_cFv.s" +void dGameover_c::demoFadeIn_proc() { + mTimer++; + dgo_screen_c->setBackAlpha(lit_3869); + + if (mTimer >= 30) { + mProc = PROC_SAVE_OPEN; + } } -#pragma pop /* 8019B4D8-8019B4E4 195E18 000C+00 1/0 0/0 0/0 .text demoFadeOut_init__11dGameover_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dGameover_c::demoFadeOut_init() { - nofralloc -#include "asm/d/d_gameover/demoFadeOut_init__11dGameover_cFv.s" +void dGameover_c::demoFadeOut_init() { + mTimer = 30; } -#pragma pop - -/* ############################################################################################## */ -/* 80453B94-80453B98 002194 0004+00 1/1 0/0 0/0 .sdata2 @4069 */ -SECTION_SDATA2 static f32 lit_4069 = 900.0f; - -/* 80453B98-80453BA0 002198 0008+00 1/1 0/0 0/0 .sdata2 @4071 */ -SECTION_SDATA2 static f64 lit_4071 = 4503601774854144.0 /* cast s32 to float */; /* 8019B4E4-8019B560 195E24 007C+00 1/0 0/0 0/0 .text demoFadeOut_proc__11dGameover_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dGameover_c::demoFadeOut_proc() { - nofralloc -#include "asm/d/d_gameover/demoFadeOut_proc__11dGameover_cFv.s" +void dGameover_c::demoFadeOut_proc() { + mTimer--; + dgo_screen_c->setBackAlpha((mTimer * mTimer) / 900.0f); + + if (mTimer <= 0) { + mProc = PROC_DELETE_WAIT; + } } -#pragma pop /* 8019B560-8019B564 195EA0 0004+00 1/0 0/0 0/0 .text saveOpen_init__11dGameover_cFv */ -void dGameover_c::saveOpen_init() { - /* empty function */ -} +void dGameover_c::saveOpen_init() {} /* 8019B564-8019B5A4 195EA4 0040+00 1/0 0/0 0/0 .text saveOpen_proc__11dGameover_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dGameover_c::saveOpen_proc() { - nofralloc -#include "asm/d/d_gameover/saveOpen_proc__11dGameover_cFv.s" +void dGameover_c::saveOpen_proc() { + if (dMs_c->_open()) { + mProc = PROC_SAVE_MOVE; + } } -#pragma pop /* 8019B5A4-8019B5A8 195EE4 0004+00 1/0 0/0 0/0 .text saveMove_init__11dGameover_cFv */ -void dGameover_c::saveMove_init() { - /* empty function */ -} +void dGameover_c::saveMove_init() {} /* 8019B5A8-8019B5F0 195EE8 0048+00 1/0 0/0 0/0 .text saveMove_proc__11dGameover_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dGameover_c::saveMove_proc() { - nofralloc -#include "asm/d/d_gameover/saveMove_proc__11dGameover_cFv.s" +void dGameover_c::saveMove_proc() { + dMs_c->_move(); + + if (dMs_c->getSaveStatus() == 3) { + mProc = PROC_SAVE_CLOSE; + } } -#pragma pop /* 8019B5F0-8019B5F4 195F30 0004+00 1/0 0/0 0/0 .text saveClose_init__11dGameover_cFv */ -void dGameover_c::saveClose_init() { - /* empty function */ -} +void dGameover_c::saveClose_init() {} /* 8019B5F4-8019B7BC 195F34 01C8+00 1/0 0/0 0/0 .text saveClose_proc__11dGameover_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dGameover_c::saveClose_proc() { - nofralloc -#include "asm/d/d_gameover/saveClose_proc__11dGameover_cFv.s" +void dGameover_c::saveClose_proc() { + if (dMs_c->getEndStatus() == 0) { + dComIfGp_setGameoverStatus(3); + dComIfGp_offPauseFlag(); + mDoRst::onReset(); + } else if (dMs_c->getEndStatus() == 1) { + if (dMeter2Info_getGameOverType() == 1 || dMeter2Info_getGameOverType() == 2) { + dComIfGp_setGameoverStatus(1); + } else { + dComIfGp_setGameoverStatus(2); + } + + dComIfGp_offPauseFlag(); + + // Reset Monkey lantern steal sequence flags if player hasn't regained lantern + if (!i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[226])) { + dComIfGs_offEventBit(dSv_event_flag_c::saveBitLabels[224]); + dComIfGs_offEventBit(dSv_event_flag_c::saveBitLabels[225]); + } + + // Reset Lantern and oil status back into inventory if gameover during monkey steal sequence + if (i_dComIfGs_isItemFirstBit(KANTERA) && dComIfGs_getItem(SLOT_1, true) == NO_ITEM) { + dComIfGs_setItem(SLOT_1, KANTERA); + dComIfGs_setOil(dMeter2Info_getOilGaugeBackUp()); + } + + dMeter2Info_resetMiniGameItem(false); + } + + if (dMeter2Info_getGameOverType() == 1 && dMeter2Info_getGameOverType() == 2 && + dComIfGp_getGameoverStatus() == 1) + { + mProc = PROC_DEMO_FADE_OUT; + } else { + mProc = PROC_DELETE_WAIT; + } } -#pragma pop /* 8019B7BC-8019B7C0 1960FC 0004+00 1/0 0/0 0/0 .text deleteWait_init__11dGameover_cFv */ -void dGameover_c::deleteWait_init() { - /* empty function */ -} +void dGameover_c::deleteWait_init() {} /* 8019B7C0-8019B7C4 196100 0004+00 1/0 0/0 0/0 .text deleteWait_proc__11dGameover_cFv */ -void dGameover_c::deleteWait_proc() { - /* empty function */ -} +void dGameover_c::deleteWait_proc() {} /* 8019B7C4-8019B864 196104 00A0+00 1/1 0/0 0/0 .text _draw__11dGameover_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dGameover_c::_draw() { - nofralloc -#include "asm/d/d_gameover/_draw__11dGameover_cFv.s" +int dGameover_c::_draw() { + if (dgo_capture_c != NULL && dComIfGp_isPauseFlag()) { + dComIfGd_set2DOpa(dgo_capture_c); + } + + if (mIsDemoSave && mProc >= PROC_DISP_WAIT) { + if (dgo_screen_c != NULL) { + dComIfGd_set2DOpa(dgo_screen_c); + } + dMs_c->_draw2(); + } + + return 1; } -#pragma pop /* 8019B864-8019B940 1961A4 00DC+00 1/1 0/0 0/0 .text _delete__11dGameover_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dGameover_c::_delete() { - nofralloc -#include "asm/d/d_gameover/_delete__11dGameover_cFv.s" +int dGameover_c::_delete() { + JKRHeap* old_heap = mDoExt_setCurrentHeap(mpHeap); + + if (dgo_screen_c != NULL) { + delete dgo_screen_c; + dgo_screen_c = NULL; + } + + dMs_c->_delete(); + delete dMs_c; + delete dgo_capture_c; + + mpHeap->freeAll(); + dComIfGp_offHeapLockFlag(0); + mDoExt_setCurrentHeap(old_heap); + + dComIfG_resDelete(&mPhase, "Gover"); + return 1; } -#pragma pop /* ############################################################################################## */ /* 80394C28-80394C28 021288 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -786,6 +829,46 @@ SECTION_SDATA2 static f32 lit_4291 = 660.0f; /* 8019B940-8019BBFC 196280 02BC+00 1/1 0/0 0/0 .text * __ct__24dDlst_GameOverScrnDraw_cFP10JKRArchive */ +// matches with literals +#ifdef NONMATCHING +dDlst_GameOverScrnDraw_c::dDlst_GameOverScrnDraw_c(JKRArchive* i_archive) { + mpScreen = new J2DScreen(); + mpScreen->setPriority("zelda_game_over.blo", 0x100000, i_archive); + dPaneClass_showNullPane(mpScreen); + + mFadeColor.set(0, 0, 0, 0); + + if (dMeter2Info_getGameOverType() != 0) { + mpScreen->search('n_base')->hide(); + + if (mDoGph_gInf_c::getFadeRate() == 1.0f) { + mFadeColor = mDoGph_gInf_c::getFadeColor(); + } + } + + mpScreen->search('base_b')->hide(); + + JUtility::TColor img_white(mFadeColor); + JUtility::TColor img_black(mFadeColor); + img_white.a = 0; + img_black.a = 255; + + ResTIMG* img = (ResTIMG*)dComIfGp_getMain2DArchive()->getResource('TIMG', "tt_block8x8.bti"); + mpBackImg = + new J2DPicture('PICT01', JGeometry::TBox2(0.0f, 486.0f, 0.0f, 660.0f), img, NULL); + mpBackImg->setBlackWhite(img_white, img_black); + + J2DTextBox* gold_tbox = (J2DTextBox*)mpScreen->search('gold_00'); + gold_tbox->setFont(mDoExt_getSubFont()); + + char string[64]; + dMeter2Info_getString(0x381, string, NULL); + gold_tbox->setString(string); + + mpLight = new dMsgScrnLight_c(6, 0xFF); + field_0x10 = 0.0f; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -794,39 +877,21 @@ asm dDlst_GameOverScrnDraw_c::dDlst_GameOverScrnDraw_c(JKRArchive* param_0) { #include "asm/d/d_gameover/__ct__24dDlst_GameOverScrnDraw_cFP10JKRArchive.s" } #pragma pop +#endif /* 8019BBFC-8019BCB0 19653C 00B4+00 1/0 0/0 0/0 .text __dt__24dDlst_GameOverScrnDraw_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dDlst_GameOverScrnDraw_c::~dDlst_GameOverScrnDraw_c() { - nofralloc -#include "asm/d/d_gameover/__dt__24dDlst_GameOverScrnDraw_cFv.s" +dDlst_GameOverScrnDraw_c::~dDlst_GameOverScrnDraw_c() { + delete mpBackImg; + delete mpScreen; + dComIfGp_getMain2DArchive()->removeResourceAll(); } -#pragma pop - -/* ############################################################################################## */ -/* 80453BA8-80453BAC 0021A8 0004+00 1/1 0/0 0/0 .sdata2 @4316 */ -SECTION_SDATA2 static f32 lit_4316 = 255.0f; /* 8019BCB0-8019BCF4 1965F0 0044+00 3/3 0/0 0/0 .text setBackAlpha__24dDlst_GameOverScrnDraw_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDlst_GameOverScrnDraw_c::setBackAlpha(f32 param_0) { - nofralloc -#include "asm/d/d_gameover/setBackAlpha__24dDlst_GameOverScrnDraw_cFf.s" +void dDlst_GameOverScrnDraw_c::setBackAlpha(f32 i_alpha) { + mpBackImg->setAlpha(i_alpha * 255.0f); } -#pragma pop - -/* ############################################################################################## */ -/* 8042CA20-8042CA2C 059740 000C+00 1/1 0/0 0/0 .bss @3882 */ -static u8 lit_3882[12]; - -/* 8042CA2C-8042CA48 05974C 001C+00 2/2 0/0 0/0 .bss l_HIO */ -static u8 l_HIO[28]; /* 80453BAC-80453BB0 0021AC 0004+00 1/1 0/0 0/0 .sdata2 @4374 */ SECTION_SDATA2 static f32 lit_4374 = 608.0f; @@ -846,82 +911,119 @@ SECTION_SDATA2 static f32 lit_4377[1 + 1 /* padding */] = { /* 8019BCF4-8019BF3C 196634 0248+00 1/0 0/0 0/0 .text draw__24dDlst_GameOverScrnDraw_cFv */ +// matches with literals / sinit +#ifdef NONMATCHING +/* ############################################################################################## */ +/* 8042CA20-8042CA2C 059740 000C+00 1/1 0/0 0/0 .bss @3882 */ +static u8 lit_3882[12]; + +/* 8042CA2C-8042CA48 05974C 001C+00 2/2 0/0 0/0 .bss l_HIO */ +static dGov_HIO_c l_HIO; + +void dDlst_GameOverScrnDraw_c::draw() { + J2DGrafContext* graf_ctx = dComIfGp_getCurrentGrafPort(); + graf_ctx->setup2D(); + + if (dMeter2Info_getGameOverType() == 1 || dMeter2Info_getGameOverType() == 2) { + if (mDoGph_gInf_c::getFadeRate() == 1.0f) { + mFadeColor = mDoGph_gInf_c::getFadeColor(); + } + + JUtility::TColor img_black(mFadeColor); + JUtility::TColor img_white(mFadeColor); + img_black.a = 0; + img_white.a = 255; + + mpBackImg->setBlackWhite(img_black, img_white); + mpBackImg->draw(0.0f, 0.0f, 608.0f, 448.0f, false, false, false); + } else { + JUtility::TColor img_black; + JUtility::TColor img_white; + + img_black.r = l_HIO.mBlack.r; + img_black.g = l_HIO.mBlack.g; + img_black.b = l_HIO.mBlack.b; + img_black.a = l_HIO.mBlack.a; + + img_white.r = l_HIO.mWhite.r; + img_white.g = l_HIO.mWhite.g; + img_white.b = l_HIO.mWhite.b; + img_white.a = l_HIO.mWhite.a; + + mpBackImg->draw(0.0f, 0.0f, 608.0f, 448.0f, false, false, false); + + for (int i = 0; i < 8; i++) { + mpLight->draw(&field_0x10, offset[i] + 304.0f, 224.0f, l_HIO.mScale, l_HIO.mScale, + l_HIO.mAlpha, l_HIO.mAnimSpeed, img_black, img_white); + } + } + + mpScreen->draw(0.0f, 0.0f, graf_ctx); +} +#else +/* ############################################################################################## */ +/* 8042CA20-8042CA2C 059740 000C+00 1/1 0/0 0/0 .bss @3882 */ +static u8 lit_3882[12]; + +/* 8042CA2C-8042CA48 05974C 001C+00 2/2 0/0 0/0 .bss l_HIO */ +static u8 l_HIO[28]; + #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dDlst_GameOverScrnDraw_c::draw() { +// asm void dDlst_GameOverScrnDraw_c::draw() { +extern "C" asm void draw__24dDlst_GameOverScrnDraw_cFv() { nofralloc #include "asm/d/d_gameover/draw__24dDlst_GameOverScrnDraw_cFv.s" } #pragma pop +#endif /* 8019BF3C-8019BF5C 19687C 0020+00 1/0 0/0 0/0 .text dGameover_Draw__FP11dGameover_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dGameover_Draw(dGameover_c* param_0) { - nofralloc -#include "asm/d/d_gameover/dGameover_Draw__FP11dGameover_c.s" +static int dGameover_Draw(dGameover_c* i_this) { + return i_this->_draw(); } -#pragma pop /* 8019BF5C-8019BF7C 19689C 0020+00 1/0 0/0 0/0 .text dGameover_Execute__FP11dGameover_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dGameover_Execute(dGameover_c* param_0) { - nofralloc -#include "asm/d/d_gameover/dGameover_Execute__FP11dGameover_c.s" +static int dGameover_Execute(dGameover_c* i_this) { + return i_this->_execute(); } -#pragma pop /* 8019BF7C-8019BF84 1968BC 0008+00 1/0 0/0 0/0 .text dGameover_IsDelete__FP11dGameover_c */ -static bool dGameover_IsDelete(dGameover_c* param_0) { - return true; +static int dGameover_IsDelete(dGameover_c* i_this) { + return 1; } /* 8019BF84-8019BFA4 1968C4 0020+00 1/0 0/0 0/0 .text dGameover_Delete__FP11dGameover_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dGameover_Delete(dGameover_c* param_0) { - nofralloc -#include "asm/d/d_gameover/dGameover_Delete__FP11dGameover_c.s" +static int dGameover_Delete(dGameover_c* i_this) { + return i_this->_delete(); } -#pragma pop /* 8019BFA4-8019BFC4 1968E4 0020+00 1/0 0/0 0/0 .text dGameover_Create__FP9msg_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dGameover_Create(msg_class* param_0) { - nofralloc -#include "asm/d/d_gameover/dGameover_Create__FP9msg_class.s" +static int dGameover_Create(msg_class* i_this) { + return static_cast(i_this)->_create(); } -#pragma pop /* 8019BFC4-8019C008 196904 0044+00 0/0 2/2 0/0 .text d_GameOver_Create__FUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 d_GameOver_Create(u8 param_0) { - nofralloc -#include "asm/d/d_gameover/d_GameOver_Create__FUc.s" +s32 d_GameOver_Create(u8 i_gameoverType) { + dMeter2Info_setGameOverType(i_gameoverType); + return fopMsgM_create(PROC_GAMEOVER, NULL, NULL, NULL, NULL, NULL); } -#pragma pop /* 8019C008-8019C06C 196948 0064+00 0/0 1/1 0/0 .text d_GameOver_Delete__FRUi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void d_GameOver_Delete(unsigned int& param_0) { - nofralloc -#include "asm/d/d_gameover/d_GameOver_Delete__FRUi.s" +bool d_GameOver_Delete(unsigned int& i_id) { + if (i_id != UINT32_MAX) { + fopMsgM_Delete(fopMsgM_SearchByID(i_id)); + i_id = -1; + dMeter2Info_setGameOverType(0); + return true; + } + + return false; } -#pragma pop /* 8019C06C-8019C0C8 1969AC 005C+00 2/1 0/0 0/0 .text __dt__10dGov_HIO_cFv */ #pragma push @@ -938,8 +1040,7 @@ extern "C" asm void __dt__10dGov_HIO_cFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __sinit_d_gameover_cpp() { - nofralloc +asm void __sinit_d_gameover_cpp(){nofralloc #include "asm/d/d_gameover/__sinit_d_gameover_cpp.s" } #pragma pop @@ -964,7 +1065,8 @@ asm dDlst_Gameover_CAPTURE_c::~dDlst_Gameover_CAPTURE_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dMenu_save_c::~dMenu_save_c() { +// asm dMenu_save_c::~dMenu_save_c() { +extern "C" asm void __dt__12dMenu_save_cFv() { nofralloc #include "asm/d/d_gameover/__dt__12dMenu_save_cFv.s" } diff --git a/src/d/d_insect.cpp b/src/d/d_insect.cpp index b47e3c80b51..6d54fd86e38 100644 --- a/src/d/d_insect.cpp +++ b/src/d/d_insect.cpp @@ -15,38 +15,21 @@ // Forward References: // -extern "C" void __ct__9dInsect_cFv(); -extern "C" void Insect_GetDemoMain__9dInsect_cFv(); -extern "C" void CalcZBuffer__9dInsect_cFf(); -extern "C" extern char const* const d_d_insect__stringBase0; - // // External References: // -extern "C" void mDoLib_project__FP3VecP3Vec(); -extern "C" void mDoLib_pos2camera__FP3VecP3Vec(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fopAcM_orderItemEvent__FP10fopAc_ac_cUsUs(); -extern "C" void fopAcM_createItemForTrBoxDemo__FPC4cXyziiiPC5csXyzPC4cXyz(); -extern "C" void fopAcM_createItem__FPC4cXyziiiPC5csXyzPC4cXyzi(); -extern "C" void fopAcM_cancelCarryNow__FP10fopAc_ac_c(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void setPtI_Id__14dEvt_control_cFUi(); -extern "C" void endCheckOld__16dEvent_manager_cFPCc(); -extern "C" void newData__13dDlst_peekZ_cFssPUl(); extern "C" void Insect_Release__9dInsect_cFv(); -extern "C" void isCatchNotGiveInsect__14dMenu_Insect_cFUc(); -extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; // // Declarations: // +inline int dComIfGs_isEventBit(u16 event) { + return g_dComIfG_gameInfo.info.getSavedata().getEvent().isEventBit(event); +} + /* ############################################################################################## */ -/* 803BA078-803BA088 017198 000C+04 1/1 0/0 0/0 .data __vt__9dInsect_c */ SECTION_DATA extern void* __vt__9dInsect_c[3 + 1 /* padding */] = { (void*)NULL /* RTTI */, (void*)NULL, @@ -67,17 +50,12 @@ dInsect_c::dInsect_c() { } /* ############################################################################################## */ -/* 80393D98-80393D98 0203F8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80393D98 = "DEFAULT_GETITEM"; -#pragma pop /* 8015E078-8015E26C 1589B8 01F4+00 0/0 0/0 24/24 .text Insect_GetDemoMain__9dInsect_cFv */ -#ifdef NONMATCHING void dInsect_c::Insect_GetDemoMain() { - if (field_0x58C != 1) { + switch (field_0x58C) { + case 0: if (fopAcM_checkCarryNow(this)) { cLib_offBit(mAttentionInfo.mFlags,0x10); fopAcM_cancelCarryNow(this); @@ -93,7 +71,8 @@ void dInsect_c::Insect_GetDemoMain() { } else { cLib_onBit(mAttentionInfo.mFlags,0x10); } - } else { + break; + case 1: if (mEvtInfo.checkCommandItem()) { if (field_0x588 != -1) { dComIfGp_event_setItemPartnerId(field_0x588); @@ -105,87 +84,49 @@ void dInsect_c::Insect_GetDemoMain() { fopAcM_orderItemEvent(this,0,0); mEvtInfo.i_onCondition(8); } - } - - if (dComIfGp_evmng_endCheck("DEFAULT_GETITEM")) { - i_dComIfGp_event_reset(); - if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[field_0x582]) || field_0x585 != 0) { - field_0x56D = 1; - field_0x58C = 0; - if (field_0x584 == 0) { - fopAcM_createItem(¤t.pos,0,-1,-1,0,0,0); - field_0x584 = 1; + break; + case 2: + if (dComIfGp_evmng_endCheck("DEFAULT_GETITEM")) { + i_dComIfGp_event_reset(); + if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[field_0x582]) || field_0x585 != 0) { + field_0x56D = 1; + field_0x58C = 0; + if (field_0x584 == 0) { + fopAcM_createItem(¤t.pos,0,-1,-1,0,0,0); + field_0x584 = 1; + } + } else { + fopAcM_delete(this); + } - } else { - fopAcM_delete(this); - } + break; } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dInsect_c::Insect_GetDemoMain() { - nofralloc -#include "asm/d/d_insect/Insect_GetDemoMain__9dInsect_cFv.s" -} -#pragma pop -#endif /* ############################################################################################## */ -/* 804535E0-804535E4 001BE0 0004+00 1/1 0/0 0/0 .sdata2 @3871 */ -SECTION_SDATA2 static f32 lit_3871 = 20.0f; - -/* 804535E4-804535E8 001BE4 0004+00 1/1 0/0 0/0 .sdata2 @3872 */ -SECTION_SDATA2 static u8 lit_3872[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 804535E8-804535EC 001BE8 0004+00 1/1 0/0 0/0 .sdata2 @3873 */ -SECTION_SDATA2 static f32 lit_3873 = 608.0f; - -/* 804535EC-804535F0 001BEC 0004+00 1/1 0/0 0/0 .sdata2 @3874 */ -SECTION_SDATA2 static f32 lit_3874 = 448.0f; - -/* 804535F0-804535F4 001BF0 0004+00 1/1 0/0 0/0 .sdata2 @3875 */ -SECTION_SDATA2 static f32 lit_3875 = -10.0f; - -/* 804535F4-804535F8 001BF4 0004+00 1/1 0/0 0/0 .sdata2 @3876 */ -SECTION_SDATA2 static f32 lit_3876 = 16777215.0f; - -/* 804535F8-80453600 001BF8 0004+04 1/1 0/0 0/0 .sdata2 @3877 */ -SECTION_SDATA2 static f32 lit_3877[1 + 1 /* padding */] = { - 1.0f, - /* padding */ - 0.0f, -}; /* 8015E26C-8015E3F8 158BAC 018C+00 0/0 0/0 3/3 .text CalcZBuffer__9dInsect_cFf */ -#ifdef NONMATCHING void dInsect_c::CalcZBuffer(f32 param_0) { f32 camera_trim_height; - cXyz pos; cXyz pos_projected; + cXyz pos; pos = current.pos; - pos.y += FLOAT_LABEL(lit_3871); + pos.y += 20.0f; - mDoLib_project(&pos_projected,&pos); + mDoLib_project(&pos, &pos_projected); if (dComIfGp_getCamera(0)) { - camera_trim_height = dComIfGp_getCamera(0)->mCamera.field_0x93c; + camera_trim_height = *(f32*)&dComIfGp_getCamera(0)->mCamera.mCamSetup.mTypeTable; } else { - camera_trim_height = FLOAT_LABEL(lit_3872); + camera_trim_height = 0.0f; } - if (pos_projected.x < FLOAT_LABEL(lit_3872) || - pos_projected.x > FLOAT_LABEL(lit_3873) || - pos_projected.y < camera_trim_height || - pos_projected.y < FLOAT_LABEL(lit_3874) - camera_trim_height) { + if (pos_projected.x > 0.0f && + pos_projected.x < 608.0f && + pos_projected.y > camera_trim_height && + pos_projected.y < 448.0f - camera_trim_height) { dComIfGd_peekZ(pos_projected.x,pos_projected.y,&field_0x578); } else { field_0x578 = 0; @@ -194,23 +135,13 @@ void dInsect_c::CalcZBuffer(f32 param_0) { f32 view_near = dComIfGd_getView()->mNear; f32 view_far = dComIfGd_getView()->mFar; - mDoLib_pos2camera(&pos_projected,&pos); + mDoLib_pos2camera(&pos, &pos_projected); pos_projected.z += param_0; - if (pos_projected.z == FLOAT_LABEL(lit_3872)) { - pos_projected.z = FLOAT_LABEL(lit_3875); + if (!pos_projected.z) { + pos_projected.z = -10.0f; } - field_0x57C = view_near + ((view_far * view_near) / pos_projected.z) / (view_far - view_near); + field_0x57C = (((view_near + ((view_far * view_near) / pos_projected.z)) / (view_far - view_near)) + 1.0f) * 16777215.0f; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dInsect_c::CalcZBuffer(f32 param_0) { - nofralloc -#include "asm/d/d_insect/CalcZBuffer__9dInsect_cFf.s" -} -#pragma pop -#endif /* 80393D98-80393D98 0203F8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/d_ky_thunder.cpp b/src/d/d_ky_thunder.cpp index 546a81f8fc1..95f721cca35 100644 --- a/src/d/d_ky_thunder.cpp +++ b/src/d/d_ky_thunder.cpp @@ -218,13 +218,11 @@ static asm void dThunder_Delete(dThunder_c* param_0) { /* 801AE3FC-801AE458 1A8D3C 005C+00 1/0 0/0 0/0 .text dThunder_Create__FP12kankyo_class */ -#ifdef NONMATCHING -// regalloc static int dThunder_Create(kankyo_class* param_0) { dThunder_c* thunder_ptr = (dThunder_c*)param_0; - int ret = thunder_ptr->createHeap(); + int ret; - if (ret == 0) { + if (thunder_ptr->createHeap() == 0) { return 5; } else { ret = thunder_ptr->create(); @@ -233,16 +231,6 @@ static int dThunder_Create(kankyo_class* param_0) { return ret; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dThunder_Create(kankyo_class* param_0) { - nofralloc -#include "asm/d/d_ky_thunder/dThunder_Create__FP12kankyo_class.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 80394F40-80394F40 0215A0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/d_stage.cpp b/src/d/d_stage.cpp index a502a41ddcb..5b099442a4e 100644 --- a/src/d/d_stage.cpp +++ b/src/d/d_stage.cpp @@ -448,7 +448,7 @@ static u8 dStage_isBossStage(dStage_dt_c* stageDt) { /* 80023F50-80023F84 01E890 0034+00 1/1 0/0 0/1 .text dStage_KeepDoorInfoInit__FP11dStage_dt_c */ static void dStage_KeepDoorInfoInit(dStage_dt_c* param_0) { if (dStage_isBossStage(param_0) == 0) { - DoorInfo.unk_0x0 = NULL; + DoorInfo.unk_0x0 = 0; } } @@ -471,7 +471,7 @@ dStage_KeepDoorInfo* dStage_GetRoomKeepDoorInfo() { } static void dStage_initRoomKeepDoorInfo() { - l_RoomKeepDoorInfo.unk_0x0 = NULL; + l_RoomKeepDoorInfo.unk_0x0 = 0; } /* 80024078-80024174 01E9B8 00FC+00 1/1 0/0 0/0 .text diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index a887623e67a..7edfb5108bc 100644 --- a/src/d/d_timer.cpp +++ b/src/d/d_timer.cpp @@ -5,9 +5,9 @@ #include "d/d_timer.h" #include "d/com/d_com_inf_game.h" -#include "f_op/f_op_msg_mng.h" +#include "d/d_procname.h" #include "dol2asm.h" -#include "dolphin/types.h" +#include "f_op/f_op_msg_mng.h" #include "m_Do/m_Do_lib.h" // @@ -195,18 +195,12 @@ asm void dTimer_c::_execute() { /* 8025D33C-8025D3BC 257C7C 0080+00 1/1 0/0 0/0 .text _draw__8dTimer_cFv */ int dTimer_c::_draw() { - int ret; - if (dComIfGp_isPauseFlag() || dMsgObject_isTalkNowCheck()) { - ret = 1; - } else { - dComIfGd_set2DOpa((dDlst_base_c*)field_0xfc); - ret = 1; + return 1; } - - return ret; - + dComIfGd_set2DOpa(mp_tm_scrn); + return 1; } /* 8025D3BC-8025D524 257CFC 0168+00 1/1 0/0 0/0 .text _delete__8dTimer_cFv */ @@ -252,7 +246,7 @@ bool dTimer_c::stock_start() { OSTime current_time = dLib_time_c::getTime(); mTime1 = current_time; mTime2 = current_time; - + mTime1 -= OS_TIMER_CLOCK_MS * dComIfG_getTimerNowTimeMs(); } return mDeleteCheck == 5; @@ -275,61 +269,54 @@ int dTimer_c::stock_start(s16 param_0) { mDeleteCheck = 5; return 1; } + return 0; } /* 8025D7E8-8025D86C 258128 0084+00 3/3 1/1 0/0 .text stop__8dTimer_cFUc */ int dTimer_c::stop(u8 param_0) { - int ret; - if (field_0x16A == 1 || field_0x16B != 0) { - ret = 0; + return 0; } else if (mDeleteCheck != 4) { - ret = 0; + return 0; } else { mTime3 = dLib_time_c::getTime(); field_0x16A = 1; field_0x16B = param_0; - ret = 1; + return 1; } - - return ret; } /* 8025D86C-8025D920 2581AC 00B4+00 1/1 1/1 0/0 .text restart__8dTimer_cFUc */ int dTimer_c::restart(u8 param_0) { if (field_0x16A != 1 || field_0x16B != param_0) { return 0; + } else if (mDeleteCheck != 4 && mDeleteCheck != 2) { + return 0; } else { - if (mDeleteCheck != 4 && mDeleteCheck != 2) { - return 0; - } else { - mTime2 = dLib_time_c::getTime(); - mTime5 += mTime2 - mTime3; - field_0x16A = 0; - field_0x16B = 0; - return 1; - } + mTime2 = dLib_time_c::getTime(); + mTime5 += mTime2 - mTime3; + field_0x16A = 0; + field_0x16B = 0; + return 1; } } /* 8025D920-8025D9E0 258260 00C0+00 0/0 1/1 0/0 .text end__8dTimer_cFi */ int dTimer_c::end(int param_0) { - int ret; if (mDeleteCheck != 4) { - ret = 0; - - } else { - mTime6 = dLib_time_c::getTime(); - mDeleteCheck = 6; - dComIfG_setTimerNowTimeMs((mTime6 - mTime1 - mTime5) / OS_TIMER_CLOCK_MS); - if (param_0 != -1) { - field_0x158 = param_0; - } - ret = 1; + return 0; } - return ret; + mTime6 = dLib_time_c::getTime(); + mDeleteCheck = 6; + dComIfG_setTimerNowTimeMs((mTime6 - mTime1 - mTime5) / OS_TIMER_CLOCK_MS); + + if (param_0 != -1) { + field_0x158 = param_0; + } + + return 1; } /* 8025D9E0-8025D9F0 258320 0010+00 0/0 1/1 0/0 .text deleteRequest__8dTimer_cFv */ @@ -353,8 +340,8 @@ int dTimer_c::getLimitTimeMs() { int dTimer_c::getRestTimeMs() { OSTime tmpTime2 = mTime2 - mTime1 - mTime5; // OSTime tmpTime = (mTime5) - mLimitTime; - - return (tmpTime2 - mLimitTime) / OS_TIMER_CLOCK_MS; + + return (tmpTime2 - mLimitTime) / OS_TIMER_CLOCK_MS; } #else #pragma push @@ -372,6 +359,7 @@ int dTimer_c::isStart() { if (field_0x16A != 1 && mDeleteCheck == 4) { return 1; } + return 0; } /* ############################################################################################## */ @@ -422,10 +410,10 @@ dDlst_TimerScrnDraw_c::dDlst_TimerScrnDraw_c() { field_0x3D0 = -1; field_0x3D4 = 0; - field_0x3B0 = 0; // fix - field_0x3B4 = 0; // fix - field_0x3B8 = 0; // fix - field_0x3BC = 0; // fix + field_0x3B0 = 0; // fix + field_0x3B4 = 0; // fix + field_0x3B8 = 0; // fix + field_0x3BC = 0; // fix field_0x3DE = 0; field_0x3DF = 0; @@ -790,43 +778,39 @@ asm void dDlst_TimerScrnDraw_c::drawPikari(int param_0) { #pragma pop /* 80260F04-80260F24 25B844 0020+00 1/0 0/0 0/0 .text dTimer_Draw__FP8dTimer_c */ -static void dTimer_Draw(dTimer_c* i_timer) { - i_timer->_draw(); +static void dTimer_Draw(dTimer_c* i_this) { + i_this->_draw(); } /* 80260F24-80260F44 25B864 0020+00 1/0 0/0 0/0 .text dTimer_Execute__FP8dTimer_c */ -static void dTimer_Execute(dTimer_c* i_timer) { - i_timer->_execute(); +static void dTimer_Execute(dTimer_c* i_this) { + i_this->_execute(); } /* 80260F44-80260F4C 25B884 0008+00 1/0 0/0 0/0 .text dTimer_IsDelete__FP8dTimer_c */ -static bool dTimer_IsDelete(dTimer_c* i_timer) { +static bool dTimer_IsDelete(dTimer_c* i_this) { return true; } /* 80260F4C-80260F6C 25B88C 0020+00 1/0 0/0 0/0 .text dTimer_Delete__FP8dTimer_c */ -static void dTimer_Delete(dTimer_c* i_timer) { - i_timer->_delete(); +static void dTimer_Delete(dTimer_c* i_this) { + i_this->_delete(); } /* 80260F6C-80260F8C 25B8AC 0020+00 1/0 0/0 0/0 .text dTimer_Create__FP9msg_class */ -static void dTimer_Create(msg_class* i_timer) { - ((dTimer_c*)i_timer)->_create(); +static void dTimer_Create(msg_class* i_this) { + ((dTimer_c*)i_this)->_create(); } /* 80260F8C-80261034 25B8CC 00A8+00 0/0 1/1 9/9 .text dTimer_createTimer__FlUlUcUcffff */ -s32 dTimer_createTimer(s32 param_0, u32 param_1, u8 param_2, u8 param_3, f32 param_4, - f32 param_5, f32 param_6, f32 param_7) { - s32 ret; - +s32 dTimer_createTimer(s32 param_0, u32 param_1, u8 param_2, u8 param_3, f32 param_4, f32 param_5, + f32 param_6, f32 param_7) { if (dComIfG_getTimerMode() == -1) { - ret = fopMsgM_Timer_create(0x315,param_0,param_1,param_2,param_3,param_4,param_5,param_6,param_7,0); + return fopMsgM_Timer_create(PROC_TIMER, param_0, param_1, param_2, param_3, param_4, + param_5, param_6, param_7, 0); } - else { - ret = -1; - } - - return ret; + + return -1; } /* ############################################################################################## */ /* 8039A3D8-8039A3D8 026A38 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -852,12 +836,16 @@ SECTION_SDATA2 static f32 lit_5547 = 419.0f; /* 80261034-80261100 25B974 00CC+00 0/0 1/1 0/0 .text dTimer_createStockTimer__Fv */ s32 dTimer_createStockTimer() { if (dComIfG_getTimerMode() != -1) { - if ((dComIfG_getTimerMode() == 3 || dComIfG_getTimerMode() == 4) && strcmp(dComIfGp_getStartStageName(),"F_SP115")) { + if ((dComIfG_getTimerMode() == 3 || dComIfG_getTimerMode() == 4) && + strcmp(dComIfGp_getStartStageName(), "F_SP115")) + { dComIfG_setTimerMode(-1); return -1; } else { u8 timer_type = dComIfG_getTimerType(); - return fopMsgM_Timer_create(0x315,10,0,timer_type,0,FLOAT_LABEL(lit_5544),FLOAT_LABEL(lit_5545),FLOAT_LABEL(lit_5546),FLOAT_LABEL(lit_5547),0); + return fopMsgM_Timer_create(PROC_TIMER, 10, 0, timer_type, 0, FLOAT_LABEL(lit_5544), + FLOAT_LABEL(lit_5545), FLOAT_LABEL(lit_5546), + FLOAT_LABEL(lit_5547), 0); } } else { return -1; @@ -868,7 +856,7 @@ s32 dTimer_createStockTimer() { u32 dTimer_createGetIn2D(s32 param_0, cXyz param_1) { if (dComIfG_getTimerPtr()) { cXyz tmp; - mDoLib_project(¶m_1,&tmp); + mDoLib_project(¶m_1, &tmp); param_0 = dComIfG_getTimerPtr()->createGetIn(tmp); } else { param_0 = 0; @@ -890,28 +878,20 @@ static int dTimer_createStart2D(s32 param_0, u16 param_1) { /* 802611F0-80261244 25BB30 0054+00 0/0 0/0 5/5 .text dTimer_isStart__Fv */ int dTimer_isStart() { - int ret; - if (dComIfG_getTimerPtr()) { - ret = dComIfG_getTimerPtr()->isStart(); - } else { - ret = 0; + return dComIfG_getTimerPtr()->isStart(); } - return ret; - + return 0; } + /* 80261244-80261298 25BB84 0054+00 0/0 0/0 2/2 .text dTimer_getRestTimeMs__Fv */ int dTimer_getRestTimeMs() { - int ret; - if (dComIfG_getTimerPtr()) { - ret = dComIfG_getTimerPtr()->getRestTimeMs(); - } else { - ret = 0; + return dComIfG_getTimerPtr()->getRestTimeMs(); } - return ret; + return 0; } /* 80261298-802612EC 25BBD8 0054+00 0/0 0/0 2/2 .text dTimer_show__Fv */ @@ -930,15 +910,11 @@ void dTimer_hide() { /* 80261340-80261394 25BC80 0054+00 0/0 0/0 1/1 .text dTimer_isReadyFlag__Fv */ u32 dTimer_isReadyFlag() { - u32 ret; - if (dComIfG_getTimerPtr()) { - ret = dComIfG_getTimerPtr()->isReadyFlag(); - } else { - ret = 0; + return dComIfG_getTimerPtr()->isReadyFlag(); } - return ret; + return 0; } /* 80261394-802613DC 25BCD4 0048+00 1/0 0/0 0/0 .text __dt__21dDlst_TimerScrnDraw_cFv */ diff --git a/src/d/d_tresure.cpp b/src/d/d_tresure.cpp index 6726996672e..e27fa831419 100644 --- a/src/d/d_tresure.cpp +++ b/src/d/d_tresure.cpp @@ -8,14 +8,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct dMapInfo_c { - /* 8003F40C */ static s8 calcFloorNo(f32, bool, int); -}; - // // Forward References: // @@ -272,7 +264,8 @@ dTres_c::typeGroupData_c* dTres_c::getFirstData(u8 listIdx) { return NULL; } - return mTypeGroupListAll[listIdx].field_0x0; + // this is wrong, fix later + return (dTres_c::typeGroupData_c*)mTypeGroupListAll[listIdx].field_0x0; } /* 8009C39C-8009C3B4 096CDC 0018+00 2/2 3/3 0/0 .text @@ -335,8 +328,8 @@ int dTres_c::getTypeGroupNoToType(u8 i_typeGroupNo) { /* 8009C4B0-8009C4FC 096DF0 004C+00 1/1 3/3 0/0 .text getTypeToTypeGroupNo__7dTres_cFUc */ -int dTres_c::getTypeToTypeGroupNo(u8 i_type) { - u8 groupNo = 17; +u8 dTres_c::getTypeToTypeGroupNo(u8 i_type) { + int groupNo = 17; for (int i = 0; i < 17; i++) { if (i_type == typeToTypeGroup[i][0]) { groupNo = typeToTypeGroup[i][1]; diff --git a/src/d/kankyo/d_kankyo_wether.cpp b/src/d/kankyo/d_kankyo_wether.cpp index 0665fb820c2..19d038f3c2b 100644 --- a/src/d/kankyo/d_kankyo_wether.cpp +++ b/src/d/kankyo/d_kankyo_wether.cpp @@ -1754,9 +1754,9 @@ asm void dKyw_get_AllWind_vec(cXyz* param_0, cXyz* param_1, f32* param_2) { #pragma pop /* 8005B530-8005B60C 055E70 00DC+00 0/0 0/0 5/5 .text dKyw_get_AllWind_vecpow__FP4cXyz */ -// missing mr instruction +// matches with literals #ifdef NONMATCHING -void dKyw_get_AllWind_vecpow(cXyz* param_0) { +cXyz dKyw_get_AllWind_vecpow(cXyz* param_0) { f32 sp8; cXyz spC; cXyz sp18; @@ -1768,7 +1768,7 @@ void dKyw_get_AllWind_vecpow(cXyz* param_0) { sp24 = sp30 * (5.0f * sp8); spC = sp18 + sp24; - *param_0 = spC; + return spC; } #else #pragma push diff --git a/src/d/map/d_map.cpp b/src/d/map/d_map.cpp index 5f04dd65dcb..ed09ee976fd 100644 --- a/src/d/map/d_map.cpp +++ b/src/d/map/d_map.cpp @@ -366,8 +366,8 @@ extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" extern u8 g_Counter[12 + 4 /* padding */]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" u32 mNextRoomNo__10dMapInfo_c; -extern "C" extern u8 data_80450E58[4]; -extern "C" extern u8 data_80450E60[4]; +extern "C" extern u8 mNowStayFloorNo__10dMapInfo_c[4]; +extern "C" extern u8 mNowStayFloorNoDecisionFlg__10dMapInfo_c[4]; extern "C" f32 mMinX__8dMpath_c; extern "C" f32 mMaxX__8dMpath_c; extern "C" f32 mMinZ__8dMpath_c; diff --git a/src/d/map/d_map_path.cpp b/src/d/map/d_map_path.cpp index ed5edf5e531..1e8c06b367c 100644 --- a/src/d/map/d_map_path.cpp +++ b/src/d/map/d_map_path.cpp @@ -4,8 +4,6 @@ // #include "d/map/d_map_path.h" -#include "dol2asm.h" -#include "dolphin/types.h" #include "d/com/d_com_inf_game.h" #include "m_Do/m_Do_lib.h" @@ -42,25 +40,12 @@ extern "C" u8 m_texObjAgg__8dMpath_n[28]; // External References: // -extern "C" void mDoLib_setResTimgObj__FPC7ResTIMGP9_GXTexObjUlP10_GXTlutObj(); extern "C" void draw__12dDlst_base_cFv(); extern "C" bool isDrawType__11dDrawPath_cFi(); extern "C" void __dt__18dRenderingFDAmap_cFv(); extern "C" void __dt__11dDrawPath_cFv(); extern "C" void getLineColor__11dDrawPath_cFii(); extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void GXClearVtxDesc(); -extern "C" void GXPixModeSync(); -extern "C" void __register_global_object(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" extern Mtx g_mDoMtx_identity; // // Declarations: @@ -93,7 +78,7 @@ void dMpath_n::dTexObjAggregate_c::remove() { void dDrawPath_c::rendering(dDrawPath_c::line_class const* p_line) { if (isDrawType(p_line->unk0)) { int width = getLineWidth(p_line->unk1); - + if (width > 0 && p_line->unk2 >= 2) { GXSetLineWidth(width, GX_TO_ZERO); GXSetTevColor(GX_TEVREG0, *getLineColor(p_line->unk0 & 0x3F, p_line->unk1)); @@ -114,7 +99,7 @@ void dDrawPath_c::rendering(dDrawPath_c::line_class const* p_line) { void dDrawPath_c::rendering(dDrawPath_c::poly_class const* p_poly) { if (isDrawType(p_poly->field_0x0)) { GXSetTevColor(GX_TEVREG0, *getColor(p_poly->field_0x0 & 0x3F)); - + if (p_poly->field_0x1 >= 3) { GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, p_poly->field_0x1); @@ -169,7 +154,7 @@ void dDrawPath_c::rendering(dDrawPath_c::room_class const* p_room) { if (floor != NULL) { for (int i = 0; i < p_room->field_0x0; i++) { if (isRenderingFloor(floor->field_0x0)) { - rendering(floor); + rendering(floor); } floor++; } @@ -189,7 +174,7 @@ void dDrawPath_c::drawPath() { /* 8003CD38-8003CDAC 037678 0074+00 0/0 3/3 0/0 .text * makeResTIMG__15dRenderingMap_cCFP7ResTIMGUsUsPUcPUcUs */ void dRenderingMap_c::makeResTIMG(ResTIMG* p_image, u16 width, u16 height, u8* p_data, - u8* p_palette, u16 param_5) const { + u8* p_palette, u16 param_5) const { p_image->format = GX_TF_CI14; p_image->alphaEnabled = 2; p_image->width = width; @@ -253,7 +238,8 @@ void dRenderingFDAmap_c::setTevSettingIntensityTextureToCI() const { GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_KONST, GX_CC_TEXC, GX_CC_C1); GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); GXSetTevColorIn(GX_TEVSTAGE1, GX_CC_CPREV, GX_CC_C2, GX_CC_CPREV, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_COMP_R8_GT, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_COMP_R8_GT, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, + GX_TEVPREV); GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); GXSetTevAlphaIn(GX_TEVSTAGE1, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_TEXA); @@ -324,7 +310,7 @@ dMpath_n::dTexObjAggregate_c dMpath_n::m_texObjAgg; * make the map look worse for extra speed in the emulator, especially in large * areas such as hyrule field. */ -//#define HYRULE_FIELD_SPEEDHACK +// #define HYRULE_FIELD_SPEEDHACK /* 8003D3C0-8003D68C 037D00 02CC+00 0/0 2/2 0/0 .text * renderingDecoration__18dRenderingFDAmap_cFPCQ211dDrawPath_c10line_class */ @@ -333,6 +319,7 @@ void dRenderingFDAmap_c::renderingDecoration(dDrawPath_c::line_class const* p_li if (width <= 0) { return; } + setTevSettingIntensityTextureToCI(); GXClearVtxDesc(); GXSetVtxDesc(GX_VA_POS, GX_INDEX16); @@ -341,6 +328,7 @@ void dRenderingFDAmap_c::renderingDecoration(dDrawPath_c::line_class const* p_li GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_POS_XYZ, GX_F32, 0); GXSetNumTevStages(1); GXLoadTexObj(dMpath_n::m_texObjAgg.mp_texObj[6], GX_TEXMAP0); + u16* unk = p_line->unk4; s32 unk2 = p_line->unk2; GXSetLineWidth(width, GX_TO_ONE); @@ -349,6 +337,7 @@ void dRenderingFDAmap_c::renderingDecoration(dDrawPath_c::line_class const* p_li GXSetTevColor(GX_TEVREG0, lineColor); lineColor.r = lineColor.r - 4; GXSetTevColor(GX_TEVREG1, lineColor); + for (int i = 0; i < unk2; unk++, i++) { #ifndef HYRULE_FIELD_SPEEDHACK if (i < unk2 - 1) { @@ -374,6 +363,7 @@ void dRenderingFDAmap_c::renderingDecoration(dDrawPath_c::line_class const* p_li GXTexCoord2f32(0, 0); i_GXEnd(); } + setTevSettingNonTextureDirectColor(); GXClearVtxDesc(); GXSetVtxDesc(GX_VA_POS, GX_INDEX16); @@ -393,7 +383,7 @@ s32 dRenderingFDAmap_c::getDecorationLineWidth(int param_0) { /* ############################################################################################## */ /* 803A7C90-803A7CF8 004DB0 0068+00 0/0 12/12 0/0 .data __vt__18dRenderingFDAmap_c */ -SECTION_DATA extern void* __vt__18dRenderingFDAmap_c[26] = { +extern void* __vt__18dRenderingFDAmap_c[26] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)draw__12dDlst_base_cFv, @@ -423,7 +413,7 @@ SECTION_DATA extern void* __vt__18dRenderingFDAmap_c[26] = { }; /* 803A7CF8-803A7D38 004E18 0040+00 0/0 15/15 0/0 .data __vt__11dDrawPath_c */ -SECTION_DATA extern void* __vt__11dDrawPath_c[16] = { +extern void* __vt__11dDrawPath_c[16] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)draw__12dDlst_base_cFv, diff --git a/src/d/map/d_map_path_dmap.cpp b/src/d/map/d_map_path_dmap.cpp index 4b3aaaa8c7b..f95e1b9f9ce 100644 --- a/src/d/map/d_map_path_dmap.cpp +++ b/src/d/map/d_map_path_dmap.cpp @@ -1,33 +1,15 @@ -// -// Generated By: dol2asm -// Translation Unit: d/map/d_map_path_dmap -// +/** + * d_map_path_dmap.cpp + * + */ #include "d/map/d_map_path_dmap.h" -#include "d/map/d_map_path.h" +#include "MSL_C/math.h" #include "d/com/d_com_inf_game.h" +#include "d/map/d_map_path.h" #include "d/meter/d_meter_HIO.h" #include "dol2asm.h" -#include "dolphin/types.h" #include "m_Do/m_Do_mtx.h" -#include "MSL_C/math.h" - -// -// Types: -// - -struct dMapInfo_c { - /* 8003F40C */ void calcFloorNo(f32, bool, int); - /* 8003F570 */ void calcNowStayFloorNo(f32, bool); - /* 8003F6C8 */ void move(int, f32); - /* 8003F6FC */ void init(); - /* 8003F714 */ void reset(); - /* 8003F734 */ void create(); - /* 8003F754 */ void remove(); - - static u32 mNextRoomNo; - static u8 mNowStayRoomNo[4]; -}; // // Forward References: @@ -105,7 +87,10 @@ extern "C" extern void* __vt__28renderingPlusDoorAndCursor_c[47]; extern "C" extern void* __vt__16renderingDAmap_c[38]; extern "C" u32 mNextRoomNo__10dMapInfo_c; extern "C" u8 mNowStayRoomNo__10dMapInfo_c[4]; +extern "C" u8 mNowStayFloorNoDecisionFlg__10dMapInfo_c[4]; +extern "C" u8 mNowStayFloorNo__10dMapInfo_c[4]; extern "C" u8 mLayerList__8dMpath_c[4]; +extern "C" u8 mBottomFloorNo__8dMpath_c; extern "C" f32 mMinX__8dMpath_c; extern "C" f32 mMaxX__8dMpath_c; extern "C" f32 mMinZ__8dMpath_c; @@ -193,29 +178,29 @@ bool dMapInfo_n::isVisitedRoom(int i_roomNo) { } /* 8003ED60-8003EDC0 0396A0 0060+00 1/1 2/2 0/0 .text correctionOriginPos__10dMapInfo_nFScP3Vec */ -void dMapInfo_n::correctionOriginPos(s8 i_roomNo, Vec* pos_p) { +void dMapInfo_n::correctionOriginPos(s8 i_roomNo, Vec* o_pos) { dStage_FileList2_dt_c* filelist = dStage_roomControl_c::getFileList2(i_roomNo); - if (pos_p != NULL) { - rotAngle(filelist, pos_p); - offsetPlus(filelist, pos_p); + if (o_pos != NULL) { + rotAngle(filelist, o_pos); + offsetPlus(filelist, o_pos); } } /* 8003EDC0-8003EDEC 039700 002C+00 3/3 0/0 0/0 .text * offsetPlus__10dMapInfo_nFPC21dStage_FileList2_dt_cP3Vec */ -void dMapInfo_n::offsetPlus(dStage_FileList2_dt_c const* filelist, Vec* p_pos) { +void dMapInfo_n::offsetPlus(dStage_FileList2_dt_c const* filelist, Vec* o_pos) { if (filelist == NULL) { return; } - p_pos->x += filelist->field_0x14; - p_pos->z += filelist->field_0x18; + o_pos->x += filelist->field_0x14; + o_pos->z += filelist->field_0x18; } /* 8003EDEC-8003EE5C 03972C 0070+00 3/3 0/0 0/0 .text * rotAngle__10dMapInfo_nFPC21dStage_FileList2_dt_cP3Vec */ -void dMapInfo_n::rotAngle(dStage_FileList2_dt_c const* filelist, Vec* p_pos) { +void dMapInfo_n::rotAngle(dStage_FileList2_dt_c const* filelist, Vec* o_pos) { s16 rot = 0; if (filelist != NULL) { @@ -224,36 +209,24 @@ void dMapInfo_n::rotAngle(dStage_FileList2_dt_c const* filelist, Vec* p_pos) { mDoMtx_stack_c::YrotS(rot); Vec mult; - mDoMtx_stack_c::multVec(p_pos, &mult); + mDoMtx_stack_c::multVec(o_pos, &mult); - *p_pos = mult; + *o_pos = mult; } -/* ############################################################################################## */ -/* 80451E28-80451E2C 000428 0004+00 6/6 0/0 0/0 .sdata2 @3796 */ -SECTION_SDATA2 static u8 lit_3796[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - /* 8003EE5C-8003EF20 03979C 00C4+00 1/1 6/6 0/0 .text getMapPlayerPos__10dMapInfo_nFv */ -// stayNo / mStatus loads switched -#ifdef NONMATCHING Vec dMapInfo_n::getMapPlayerPos() { Vec pos; fopAc_ac_c* player = daPy_getPlayerActorClass(); if (player != NULL) { pos = player->current.pos; } else { - f32 tmp = FLOAT_LABEL(lit_3796); - pos.x = tmp; - pos.y = tmp; - pos.z = tmp; + pos.x = 0.0f; + pos.y = 0.0f; + pos.z = 0.0f; } - s8 stayNo = dComIfGp_roomControl_getStayNo(); + s32 stayNo = dComIfGp_roomControl_getStayNo(); dStage_FileList2_dt_c* fileList2_p = dStage_roomControl_c::getFileList2(stayNo); if (fileList2_p != NULL) { rotAngle(fileList2_p, &pos); @@ -262,195 +235,313 @@ Vec dMapInfo_n::getMapPlayerPos() { return pos; } + +/* 8003EF20-8003EF70 039860 0050+00 1/1 1/1 0/0 .text getMapPlayerAngleY__10dMapInfo_nFv + */ +s16 dMapInfo_n::getMapPlayerAngleY() { + s32 stayNo = dComIfGp_roomControl_getStayNo(); + s16 angle = 0; + + daPy_py_c* player = daPy_getPlayerActorClass(); + if (player != NULL) { + angle = player->shape_angle.y; + } + + dStage_FileList2_dt_c* fileList2_p = dStage_roomControl_c::getFileList2(stayNo); + if (fileList2_p != NULL) { + angle += fileList2_p->field_0x1c; + } + + return angle; +} + +/* 8003EF70-8003F02C 0398B0 00BC+00 2/2 0/0 0/0 .text getConstRestartIconPointer__10dMapInfo_nFv + */ +const dTres_c::typeGroupData_c* dMapInfo_n::getConstRestartIconPointer() { + int group_num = dTres_c::getTypeGroupNumber(7); + const dTres_c::typeGroupData_c* group_data = dTres_c::getFirstData(7); + + for (int i = 0; i < group_num && group_data != NULL; i++) { + if (group_data->getRoomNo() == dComIfGs_getRestartRoomNo()) { + if (group_data->getSwBit() == 0xFF) { + break; + } + + if (group_data->getSwBit() != 0xFF) { + if (dComIfGs_isSwitch(group_data->getSwBit(), group_data->getRoomNo())) { + break; + } + } + } + + group_data = dTres_c::getNextData(group_data); + } + + return group_data; +} + +/* 8003F02C-8003F0F8 03996C 00CC+00 1/1 2/2 0/0 .text getMapRestartPos__10dMapInfo_nFv */ +Vec dMapInfo_n::getMapRestartPos() { + Vec pos; + const dTres_c::typeGroupData_c* icon_data = getConstRestartIconPointer(); + + if (icon_data != NULL) { + pos = *icon_data->getPos(); + } else { + pos = dComIfGs_getRestartRoomPos(); + } + + s32 roomNo = dComIfGs_getRestartRoomNo(); + dStage_FileList2_dt_c* fileList2_p = dStage_roomControl_c::getFileList2(roomNo); + rotAngle(fileList2_p, &pos); + offsetPlus(fileList2_p, &pos); + return pos; +} + +/* 8003F0F8-8003F19C 039A38 00A4+00 1/1 1/1 0/0 .text getMapRestartAngleY__10dMapInfo_nFv + */ +// small regalloc +#ifdef NONMATCHING +s16 dMapInfo_n::getMapRestartAngleY() { + int angle = dComIfGs_getRestartRoomAngleY(); + + const dTres_c::typeGroupData_c* icon_data = getConstRestartIconPointer(); + if (icon_data != NULL) { + int icon_angle = icon_data->getAngleY(); + bool tmp = icon_angle > 0; + + if (tmp) { + icon_angle = -icon_angle; + } + + angle = icon_angle * 0x0100; + if (tmp) { + angle = icon_angle * -0x0100; + } + } + + s32 roomNo = dComIfGs_getRestartRoomNo(); + dStage_FileList2_dt_c* fileList2_p = dStage_roomControl_c::getFileList2(roomNo); + if (fileList2_p != NULL) { + angle += fileList2_p->field_0x1c; + } + + return angle; +} #else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm Vec dMapInfo_n::getMapPlayerPos() { - nofralloc -#include "asm/d/map/d_map_path_dmap/getMapPlayerPos__10dMapInfo_nFv.s" -} -#pragma pop -#endif - -/* 8003EF20-8003EF70 039860 0050+00 1/1 1/1 0/0 .text getMapPlayerAngleY__10dMapInfo_nFv - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMapInfo_n::getMapPlayerAngleY() { - nofralloc -#include "asm/d/map/d_map_path_dmap/getMapPlayerAngleY__10dMapInfo_nFv.s" -} -#pragma pop - -/* 8003EF70-8003F02C 0398B0 00BC+00 2/2 0/0 0/0 .text getConstRestartIconPointer__10dMapInfo_nFv - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMapInfo_n::getConstRestartIconPointer() { - nofralloc -#include "asm/d/map/d_map_path_dmap/getConstRestartIconPointer__10dMapInfo_nFv.s" -} -#pragma pop - -/* 8003F02C-8003F0F8 03996C 00CC+00 1/1 2/2 0/0 .text getMapRestartPos__10dMapInfo_nFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMapInfo_n::getMapRestartPos() { - nofralloc -#include "asm/d/map/d_map_path_dmap/getMapRestartPos__10dMapInfo_nFv.s" -} -#pragma pop - -/* 8003F0F8-8003F19C 039A38 00A4+00 1/1 1/1 0/0 .text getMapRestartAngleY__10dMapInfo_nFv - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMapInfo_n::getMapRestartAngleY() { +asm s16 dMapInfo_n::getMapRestartAngleY() { nofralloc #include "asm/d/map/d_map_path_dmap/getMapRestartAngleY__10dMapInfo_nFv.s" } #pragma pop - -/* ############################################################################################## */ -/* 80451E2C-80451E30 00042C 0004+00 4/4 0/0 0/0 .sdata2 @3887 */ -SECTION_SDATA2 static f32 lit_3887 = 0.5f; +#endif /* 8003F19C-8003F1F4 039ADC 0058+00 0/0 1/1 0/0 .text getRoomCenter__10dMapInfo_nFiPfPf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMapInfo_n::getRoomCenter(int param_0, f32* param_1, f32* param_2) { - nofralloc -#include "asm/d/map/d_map_path_dmap/getRoomCenter__10dMapInfo_nFiPfPf.s" +void dMapInfo_n::getRoomCenter(int i_roomNo, f32* i_roomCenterX, f32* i_roomCenterZ) { + dStage_FileList2_dt_c* fileList2_p = dStage_roomControl_c::getFileList2(i_roomNo); + + if (i_roomCenterX != NULL) { + *i_roomCenterX = (dStage_FileList2_dt_GetRightRmX(fileList2_p) + + dStage_FileList2_dt_GetLeftRmX(fileList2_p)) * + 0.5f; + } + + if (i_roomCenterZ != NULL) { + *i_roomCenterZ = (dStage_FileList2_dt_GetFrontRmZ(fileList2_p) + + dStage_FileList2_dt_GetInnerRmZ(fileList2_p)) * + 0.5f; + } } -#pragma pop /* 8003F1F4-8003F24C 039B34 0058+00 1/1 2/2 0/0 .text getRoomMinMaxXZ__10dMapInfo_nFiPfPfPfPf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMapInfo_n::getRoomMinMaxXZ(int param_0, f32* param_1, f32* param_2, f32* param_3, - f32* param_4) { - nofralloc -#include "asm/d/map/d_map_path_dmap/getRoomMinMaxXZ__10dMapInfo_nFiPfPfPfPf.s" -} -#pragma pop +void dMapInfo_n::getRoomMinMaxXZ(int i_roomNo, f32* i_roomLeftX, f32* i_roomInnerZ, + f32* i_roomRightX, f32* i_roomFrontZ) { + dStage_FileList2_dt_c* fileList2_p = dStage_roomControl_c::getFileList2(i_roomNo); -/* ############################################################################################## */ -/* 80451E30-80451E38 000430 0008+00 1/1 0/0 0/0 .sdata2 @3957 */ -SECTION_SDATA2 static f64 lit_3957 = 4503601774854144.0 /* cast s32 to float */; + if (i_roomLeftX != NULL) { + *i_roomLeftX = dStage_FileList2_dt_GetLeftRmX(fileList2_p); + } + + if (i_roomRightX != NULL) { + *i_roomRightX = dStage_FileList2_dt_GetRightRmX(fileList2_p); + } + + if (i_roomInnerZ != NULL) { + *i_roomInnerZ = dStage_FileList2_dt_GetInnerRmZ(fileList2_p); + } + + if (i_roomFrontZ != NULL) { + *i_roomFrontZ = dStage_FileList2_dt_GetFrontRmZ(fileList2_p); + } +} /* 8003F24C-8003F40C 039B8C 01C0+00 2/2 0/0 0/0 .text getFloorParameter__10dMapInfo_nFfPScPfPfPfPf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMapInfo_n::getFloorParameter(f32 param_0, s8* param_1, f32* param_2, f32* param_3, - f32* param_4, f32* param_5) { - nofralloc -#include "asm/d/map/d_map_path_dmap/getFloorParameter__10dMapInfo_nFfPScPfPfPfPf.s" +void dMapInfo_n::getFloorParameter(f32 param_0, s8* i_floorNo, f32* param_2, f32* param_3, + f32* param_4, f32* param_5) { + f32 gap_level = dStage_stagInfo_GetGapLevel(dComIfGp_getStageStagInfo()); + f32 range_up = fabsf(dStage_stagInfo_GetRangeUp(dComIfGp_getStageStagInfo())); + f32 range_down = fabsf(dStage_stagInfo_GetRangeDown(dComIfGp_getStageStagInfo())); + s8 floorNo = (f32)floor(param_0 / gap_level); + + if (i_floorNo != NULL) { + *i_floorNo = floorNo; + } + + f32 fvar1 = floorNo * gap_level; + if (param_2 != NULL) { + *param_2 = fvar1; + } + + if (param_3 != NULL) { + *param_3 = fvar1 + range_up; + } + + if (param_4 != NULL) { + *param_4 = (fvar1 + gap_level) - range_down; + } + + if (param_5 != NULL) { + *param_5 = gap_level; + } } -#pragma pop /* ############################################################################################## */ /* 80450E58-80450E5C 000358 0004+00 4/4 3/3 0/0 .sbss None */ -extern u8 data_80450E58[4]; -u8 data_80450E58[4]; +s8 dMapInfo_c::mNowStayFloorNo; /* 80450E5C-80450E60 00035C 0004+00 4/4 0/0 0/0 .sbss mNowStayRoomNo__10dMapInfo_c */ -u8 dMapInfo_c::mNowStayRoomNo[4]; +int dMapInfo_c::mNowStayRoomNo; /* 80450E60-80450E64 000360 0004+00 4/4 3/3 0/0 .sbss None */ -extern u8 data_80450E60[4]; -u8 data_80450E60[4]; +u8 dMapInfo_c::mNowStayFloorNoDecisionFlg; /* 8003F40C-8003F570 039D4C 0164+00 2/2 1/1 0/0 .text calcFloorNo__10dMapInfo_cFfbi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMapInfo_c::calcFloorNo(f32 param_0, bool param_1, int param_2) { - nofralloc -#include "asm/d/map/d_map_path_dmap/calcFloorNo__10dMapInfo_cFfbi.s" +s8 dMapInfo_c::calcFloorNo(f32 param_0, bool i_chkMinMax, int i_roomNo) { + f32 sp10; + f32 spC; + s8 floorNo; + dMapInfo_n::getFloorParameter(param_0, &floorNo, NULL, &sp10, &spC, NULL); + + if (param_0 < sp10) { + if (param_0 >= spC) { + if (i_roomNo == mNowStayRoomNo && mNowStayFloorNoDecisionFlg && + (mNowStayFloorNo == floorNo || mNowStayFloorNo == floorNo + 1)) + { + floorNo = mNowStayFloorNo; + } else if (param_0 >= 0.5f * (spC + sp10)) { + floorNo++; + } + } + } else { + floorNo++; + } + + if (i_chkMinMax && i_roomNo >= 0 && i_roomNo < 64) { + dStage_FileList2_dt_c* fileList2_p = dStage_roomControl_c::getFileList2(i_roomNo); + if (fileList2_p != NULL) { + s8 min_floorNo = dStage_FileList2_dt_GetMinFloorNo(fileList2_p); + s8 max_floorNo = dStage_FileList2_dt_GetMaxFloorNo(fileList2_p); + + if (floorNo < min_floorNo) { + floorNo = min_floorNo; + } + + if (floorNo > max_floorNo) { + floorNo = max_floorNo; + } + } + } + + return floorNo; } -#pragma pop /* 8003F570-8003F6C8 039EB0 0158+00 1/1 1/1 0/0 .text calcNowStayFloorNo__10dMapInfo_cFfb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMapInfo_c::calcNowStayFloorNo(f32 param_0, bool param_1) { - nofralloc -#include "asm/d/map/d_map_path_dmap/calcNowStayFloorNo__10dMapInfo_cFfb.s" +s8 dMapInfo_c::calcNowStayFloorNo(f32 param_0, bool i_chkMinMax) { + f32 sp10; + f32 spC; + s8 floorNo; + dMapInfo_n::getFloorParameter(param_0, &floorNo, NULL, &sp10, &spC, NULL); + + if (mNowStayFloorNoDecisionFlg) { + if (param_0 < sp10) { + if (param_0 >= spC && (mNowStayFloorNo == floorNo || mNowStayFloorNo == floorNo + 1)) { + floorNo = mNowStayFloorNo; + } + } else { + floorNo++; + } + } else if (param_0 >= 0.5f * (spC + sp10)) { + floorNo++; + } + + if (i_chkMinMax && mNowStayRoomNo >= 0 && mNowStayRoomNo < 64) { + dStage_FileList2_dt_c* fileList2_p = dStage_roomControl_c::getFileList2(mNowStayRoomNo); + if (fileList2_p != NULL) { + s8 min_floorNo = dStage_FileList2_dt_GetMinFloorNo(fileList2_p); + s8 max_floorNo = dStage_FileList2_dt_GetMaxFloorNo(fileList2_p); + + if (floorNo < min_floorNo) { + floorNo = min_floorNo; + } + + if (floorNo > max_floorNo) { + floorNo = max_floorNo; + } + } + } + + return floorNo; } -#pragma pop /* 8003F6C8-8003F6FC 03A008 0034+00 0/0 1/1 0/0 .text move__10dMapInfo_cFif */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMapInfo_c::move(int param_0, f32 param_1) { - nofralloc -#include "asm/d/map/d_map_path_dmap/move__10dMapInfo_cFif.s" +void dMapInfo_c::move(int i_roomNo, f32 param_1) { + mNowStayRoomNo = i_roomNo; + mNowStayFloorNo = calcNowStayFloorNo(param_1, true); + mNowStayFloorNoDecisionFlg = true; } -#pragma pop /* 8003F6FC-8003F714 03A03C 0018+00 2/2 0/0 0/0 .text init__10dMapInfo_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMapInfo_c::init() { - nofralloc -#include "asm/d/map/d_map_path_dmap/init__10dMapInfo_cFv.s" +void dMapInfo_c::init() { + mNowStayFloorNo = 0; + mNowStayFloorNoDecisionFlg = false; + mNowStayRoomNo = -1; } -#pragma pop /* 8003F714-8003F734 03A054 0020+00 1/1 0/0 0/0 .text reset__10dMapInfo_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMapInfo_c::reset() { - nofralloc -#include "asm/d/map/d_map_path_dmap/reset__10dMapInfo_cFv.s" +void dMapInfo_c::reset() { + init(); } -#pragma pop /* 8003F734-8003F754 03A074 0020+00 1/1 0/0 0/0 .text create__10dMapInfo_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMapInfo_c::create() { - nofralloc -#include "asm/d/map/d_map_path_dmap/create__10dMapInfo_cFv.s" +void dMapInfo_c::create() { + init(); } -#pragma pop /* 8003F754-8003F758 03A094 0004+00 1/1 0/0 0/0 .text remove__10dMapInfo_cFv */ -void dMapInfo_c::remove() { - /* empty function */ -} +void dMapInfo_c::remove() {} /* ############################################################################################## */ /* 80450E64-80450E68 000364 0004+00 5/5 1/1 0/0 .sbss mLayerList__8dMpath_c */ -u8 dMpath_c::mLayerList[4]; +dDrawPath_c::room_class** dMpath_c::mLayerList; /* 80450E68-80450E6C 000368 0004+00 3/3 1/1 0/0 .sbss mMinX__8dMpath_c */ -f32 dMpath_c::mMinX; +// these are needed for sinit, but its got reversed reg alloc? +f32 dMpath_c::mMinX /* = __float_max[0] */; /* 80450E6C-80450E70 00036C 0004+00 3/3 1/1 0/0 .sbss mMaxX__8dMpath_c */ -f32 dMpath_c::mMaxX; +f32 dMpath_c::mMaxX /* = -__float_max[0] */; /* 80450E70-80450E74 000370 0004+00 3/3 2/2 0/0 .sbss mMinZ__8dMpath_c */ -f32 dMpath_c::mMinZ; +f32 dMpath_c::mMinZ /* = __float_max[0] */; /* 80450E74-80450E78 000374 0004+00 3/3 1/1 0/0 .sbss mMaxZ__8dMpath_c */ -f32 dMpath_c::mMaxZ; +f32 dMpath_c::mMaxZ /* = -__float_max[0] */; /* 80450E78-80450E7C 000378 0004+00 1/1 2/2 0/0 .sbss mAllCenterX__8dMpath_c */ f32 dMpath_c::mAllCenterX; @@ -465,34 +556,45 @@ f32 dMpath_c::mAllSizeX; f32 dMpath_c::mAllSizeZ; /* 80450E88-80450E90 000388 0008+00 4/3 0/0 0/0 .sbss None */ -static u8 data_80450E88[8]; +static bool data_80450E88; /* 8003F758-8003F760 -00001 0008+00 0/0 0/0 0/0 .text isExistMapPathData__8dMpath_cFv */ -u8 dMpath_c::isExistMapPathData() { - return *(u8*)(&data_80450E88); +bool dMpath_c::isExistMapPathData() { + return data_80450E88; } /* ############################################################################################## */ /* 80450630-80450634 0000B0 0004+00 0/0 1/1 2/2 .sdata mNextRoomNo__10dMapInfo_c */ -SECTION_SDATA u32 dMapInfo_c::mNextRoomNo = 0xFFFFFFFF; +SECTION_SDATA int dMapInfo_c::mNextRoomNo = -1; -/* 80450634-80450636 -00001 0002+00 3/3 0/0 0/0 .sdata None */ -SECTION_SDATA static u8 struct_80450634[2] = { - /* 80450634 0001+00 data_80450634 None */ - 0x7F, - /* 80450635 0001+00 data_80450635 None */ - 0x80, -}; +/* 80450634 0001+00 data_80450634 None */ +s8 dMpath_c::mBottomFloorNo = 127; + +/* 80450635 0001+00 data_80450635 None */ +s8 dMpath_c::mTopFloorNo = 128; /* 8003F760-8003F7E8 03A0A0 0088+00 0/0 1/1 0/0 .text getTopBottomFloorNo__8dMpath_cFPScPSc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMpath_c::getTopBottomFloorNo(s8* param_0, s8* param_1) { - nofralloc -#include "asm/d/map/d_map_path_dmap/getTopBottomFloorNo__8dMpath_cFPScPSc.s" +int dMpath_c::getTopBottomFloorNo(s8* i_topFloorNo, s8* i_bottomFloorNo) { + if (isExistMapPathData()) { + if (i_topFloorNo != NULL) { + *i_topFloorNo = mTopFloorNo; + } + + if (i_bottomFloorNo != NULL) { + *i_bottomFloorNo = mBottomFloorNo; + } + } else { + if (i_topFloorNo != NULL) { + *i_topFloorNo = 0; + } + + if (i_bottomFloorNo != NULL) { + *i_bottomFloorNo = 0; + } + } + + return 1; } -#pragma pop /* 8003F7E8-8003F810 03A128 0028+00 0/0 1/1 0/0 .text createWork__8dMpath_cFv */ #pragma push @@ -515,29 +617,72 @@ asm void dMpath_c::setPointer(dDrawPath_c::room_class* param_0, s8* param_1, s8* } #pragma pop +struct map_path_class { + int field_0x0; + dDrawPath_c::room_class* field_0x4; +}; + /* 8003FA40-8003FB70 03A380 0130+00 0/0 2/2 0/0 .text setPointer__8dMpath_cFScPvi */ #pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMpath_c::setPointer(s8 param_0, void* param_1, int param_2) { - nofralloc -#include "asm/d/map/d_map_path_dmap/setPointer__8dMpath_cFScPvi.s" +#pragma optimization_level 2 +void dMpath_c::setPointer(s8 i_roomNo, void* i_data, int i_mapLayerNo) { + s32 roomNo; + dDrawPath_c::room_class* room = ((map_path_class*)i_data)->field_0x4; + + if (room != NULL) { + roomNo = i_roomNo; + + reset(); + data_80450E88 = true; + setPointer(room, &mBottomFloorNo, &mTopFloorNo); + + f32 minX = 0.0f; + f32 maxX = 0.0f; + f32 minZ = 0.0f; + f32 maxZ = 0.0f; + dMapInfo_n::getRoomMinMaxXZ(roomNo, &minX, &minZ, &maxX, &maxZ); + + if (minX < mMinX) { + mMinX = minX; + } + + if (maxX > mMaxX) { + mMaxX = maxX; + } + + if (minZ < mMinZ) { + mMinZ = minZ; + } + + if (maxZ > mMaxZ) { + mMaxZ = maxZ; + } + + mAllCenterX = (mMaxX + mMinX) * 0.5f; + mAllCenterZ = (mMaxZ + mMinZ) * 0.5f; + mAllSizeX = mMaxX - mMinX; + mAllSizeZ = mMaxZ - mMinZ; + + (mLayerList + i_mapLayerNo * 0x40)[(s8)i_roomNo] = room; + } } #pragma pop /* 8003FB70-8003FBD0 03A4B0 0060+00 0/0 1/1 0/0 .text create__8dMpath_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMpath_c::create() { - nofralloc -#include "asm/d/map/d_map_path_dmap/create__8dMpath_cFv.s" +void dMpath_c::create() { + stage_stag_info_class* p_stag = i_dComIfGp_getStage()->getStagInfo(); + if (dStage_stagInfo_GetSTType(p_stag) != ST_BOSS_ROOM) { + reset(); + data_80450E88 = false; + } + + dMpath_n::m_texObjAgg.create(); + dMapInfo_c::create(); } -#pragma pop /* ############################################################################################## */ /* 80450636-80450638 0000B6 0002+00 2/2 0/0 0/0 .sdata None */ -SECTION_SDATA static u16 data_80450636 = 0x0100; +SECTION_SDATA static u8 data_80450636 = 0x01; /* 8003FBD0-8003FC70 03A510 00A0+00 2/2 0/0 0/0 .text reset__8dMpath_cFv */ #pragma push @@ -550,187 +695,204 @@ asm void dMpath_c::reset() { #pragma pop /* 8003FC70-8003FCA4 03A5B0 0034+00 0/0 1/1 0/0 .text remove__8dMpath_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMpath_c::remove() { - nofralloc -#include "asm/d/map/d_map_path_dmap/remove__8dMpath_cFv.s" +void dMpath_c::remove() { + data_80450636 = 1; + dMpath_n::m_texObjAgg.remove(); + dMapInfo_c::remove(); } -#pragma pop /* 8003FCA4-8003FCC8 03A5E4 0024+00 2/2 0/0 0/0 .text * calcFloorNoForObjectByMapPathRend__16renderingDAmap_cCFfi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingDAmap_c::calcFloorNoForObjectByMapPathRend(f32 param_0, int param_1) const { - nofralloc -#include "asm/d/map/d_map_path_dmap/calcFloorNoForObjectByMapPathRend__16renderingDAmap_cCFfi.s" +s8 renderingDAmap_c::calcFloorNoForObjectByMapPathRend(f32 param_0, int i_roomNo) const { + return dMapInfo_c::calcFloorNo(param_0, true, i_roomNo); } -#pragma pop - -/* ############################################################################################## */ -/* 80451E38-80451E40 000438 0004+04 3/3 0/0 0/0 .sdata2 @4202 */ -SECTION_SDATA2 static f32 lit_4202[1 + 1 /* padding */] = { - 1.0f, - /* padding */ - 0.0f, -}; /* 8003FCC8-8003FD08 03A608 0040+00 0/0 2/2 0/0 .text init__16renderingDAmap_cFPUcUsUsUsUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingDAmap_c::init(u8* param_0, u16 param_1, u16 param_2, u16 param_3, u16 param_4) { - nofralloc -#include "asm/d/map/d_map_path_dmap/init__16renderingDAmap_cFPUcUsUsUsUs.s" -} -#pragma pop +void renderingDAmap_c::init(u8* param_0, u16 param_1, u16 param_2, u16 param_3, u16 param_4) { + mIsDraw = false; + field_0x4 = param_0; + field_0x1c = param_1; + field_0x1e = param_2; + field_0x20 = param_3; + field_0x22 = param_4; -/* ############################################################################################## */ -/* 80451E40-80451E48 000440 0008+00 2/2 0/0 0/0 .sdata2 @4211 */ -SECTION_SDATA2 static f64 lit_4211 = 4503599627370496.0 /* cast u32 to float */; + field_0x10 = 0.0f; + field_0x14 = 0.0f; + field_0x8 = 1.0f; + field_0xc = 1.0f; + mRoomNoSingle = 0; + mRenderedFloor = 0; +} /* 8003FD08-8003FD9C 03A648 0094+00 0/0 2/2 0/0 .text entry__16renderingDAmap_cFfffiSc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingDAmap_c::entry(f32 param_0, f32 param_1, f32 param_2, int param_3, s8 param_4) { - nofralloc -#include "asm/d/map/d_map_path_dmap/entry__16renderingDAmap_cFfffiSc.s" +void renderingDAmap_c::entry(f32 param_0, f32 param_1, f32 i_cmPerTexel, int i_roomNoSingle, + s8 param_4) { + field_0x10 = param_0; + field_0x14 = param_1; + mCmPerTexel = i_cmPerTexel; + field_0x8 = mCmPerTexel * field_0x20; + field_0xc = mCmPerTexel * field_0x22; + mRoomNoSingle = i_roomNoSingle; + mRenderedFloor = param_4; + dComIfGd_setCopy2D(this); } -#pragma pop /* 8003FD9C-8003FE18 03A6DC 007C+00 3/0 3/0 0/0 .text * isSwitch__16renderingDAmap_cFPCQ211dDrawPath_c11group_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool renderingDAmap_c::isSwitch(dDrawPath_c::group_class const* param_0) { - nofralloc -#include "asm/d/map/d_map_path_dmap/isSwitch__16renderingDAmap_cFPCQ211dDrawPath_c11group_class.s" +bool renderingDAmap_c::isSwitch(dDrawPath_c::group_class const* i_group) { + if (i_group->field_0x0 == 0xFF) { + return true; + } else if (i_group->field_0x1 == 0) { + return dComIfGs_isSwitch(i_group->field_0x0, mRoomNo) == false; + } else { + return dComIfGs_isSwitch(i_group->field_0x0, mRoomNo) != false; + } } -#pragma pop /* 8003FE18-8003FE4C 03A758 0034+00 3/0 2/1 0/0 .text draw__16renderingDAmap_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingDAmap_c::draw() { - nofralloc -#include "asm/d/map/d_map_path_dmap/draw__16renderingDAmap_cFv.s" +void renderingDAmap_c::draw() { + renderingMap(); + mIsDraw = true; } -#pragma pop /* ############################################################################################## */ /* 80451E48-80451E4C 000448 0004+00 1/1 0/0 0/0 .sdata2 l_mapBaseColor$4239 */ -SECTION_SDATA2 static u8 l_mapBaseColor[4] = { - 0x04, - 0x00, - 0x00, - 0x00, -}; +SECTION_SDATA2 static GXColor l_mapBaseColor = {4, 0, 0, 0}; /* 8003FE4C-8003FE54 03A78C 0008+00 3/0 3/0 0/0 .text getBackColor__16renderingDAmap_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm GXColor* renderingDAmap_c::getBackColor() const { - nofralloc -#include "asm/d/map/d_map_path_dmap/getBackColor__16renderingDAmap_cCFv.s" +GXColor* renderingDAmap_c::getBackColor() const { + return &l_mapBaseColor; } -#pragma pop /* 8003FE54-8003FE6C 03A794 0018+00 3/0 3/0 0/0 .text isRenderingFloor__16renderingDAmap_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool renderingDAmap_c::isRenderingFloor(int param_0) { - nofralloc -#include "asm/d/map/d_map_path_dmap/isRenderingFloor__16renderingDAmap_cFi.s" +bool renderingDAmap_c::isRenderingFloor(int i_floorNo) { + return i_floorNo == mRenderedFloor; } -#pragma pop /* 8003FE6C-8003FE70 03A7AC 0004+00 2/2 0/0 0/0 .text setSingleRoomSetting__16renderingDAmap_cFv */ -void renderingDAmap_c::setSingleRoomSetting() { - /* empty function */ -} +void renderingDAmap_c::setSingleRoomSetting() {} /* 8003FE70-8003FF14 03A7B0 00A4+00 3/0 3/1 0/0 .text isDrawRoom__16renderingDAmap_cCFii */ +// regalloc. probably supposed to be a one liner or some kind of ternary +#ifdef NONMATCHING +bool renderingDAmap_c::isDrawRoom(int param_0, int param_1) const { + bool var_r31; + bool var_r30 = false; + if (hasMap() || param_0 == param_1) { + var_r30 = true; + } + + if (isRendAllRoom()) { + var_r31 = false; + if (var_r30 || dMapInfo_n::isVisitedRoom(param_1)) { + var_r31 = true; + } + + var_r30 = var_r31; + } + + return var_r30; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void renderingDAmap_c::isDrawRoom(int param_0, int param_1) const { +asm bool renderingDAmap_c::isDrawRoom(int param_0, int param_1) const { nofralloc #include "asm/d/map/d_map_path_dmap/isDrawRoom__16renderingDAmap_cCFii.s" } #pragma pop - -/* ############################################################################################## */ -/* 80451E4C-80451E50 00044C 0004+00 1/1 0/0 0/0 .sdata2 @4264 */ -SECTION_SDATA2 static f32 lit_4264 = -5000.0f; - -/* 80451E50-80451E54 000450 0004+00 1/1 0/0 0/0 .sdata2 @4265 */ -SECTION_SDATA2 static f32 lit_4265 = 5000.0f; - -/* 80451E54-80451E58 000454 0004+00 1/1 0/0 0/0 .sdata2 @4266 */ -SECTION_SDATA2 static f32 lit_4266 = -1.0f; +#endif /* 8003FF14-8003FFC4 03A854 00B0+00 3/0 3/0 0/0 .text preDrawPath__16renderingDAmap_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingDAmap_c::preDrawPath() { - nofralloc -#include "asm/d/map/d_map_path_dmap/preDrawPath__16renderingDAmap_cFv.s" +void renderingDAmap_c::preDrawPath() { + Mtx m; + Vec sp20; + Vec sp14; + Vec sp8; + + sp20.x = field_0x10; + sp20.y = field_0x14; + sp20.z = -5000.0f; + + sp14.x = field_0x10; + sp14.y = field_0x14; + sp14.z = 5000.0f; + + sp8.x = 0.0f; + sp8.y = -1.0f; + sp8.z = 0.0f; + + mDoMtx_lookAt(m, &sp20, &sp14, &sp8, 0); + GXLoadPosMtxImm(m, GX_PNMTX0); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_INDEX16); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGB, GX_F32, 0); + GXSetMisc(1, 8); } -#pragma pop /* 8003FFC4-8003FFEC 03A904 0028+00 3/0 3/0 0/0 .text postDrawPath__16renderingDAmap_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingDAmap_c::postDrawPath() { - nofralloc -#include "asm/d/map/d_map_path_dmap/postDrawPath__16renderingDAmap_cFv.s" +void renderingDAmap_c::postDrawPath() { + GXSetMisc(1, 0); } -#pragma pop /* 8003FFEC-8003FFF4 03A92C 0008+00 3/0 3/1 0/0 .text getRoomNoSingle__16renderingDAmap_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingDAmap_c::getRoomNoSingle() { - nofralloc -#include "asm/d/map/d_map_path_dmap/getRoomNoSingle__16renderingDAmap_cFv.s" +int renderingDAmap_c::getRoomNoSingle() { + return mRoomNoSingle; } -#pragma pop /* 8003FFF4-80040094 03A934 00A0+00 2/2 0/0 0/0 .text getFirstDrawRoomNo__16renderingDAmap_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingDAmap_c::getFirstDrawRoomNo() { - nofralloc -#include "asm/d/map/d_map_path_dmap/getFirstDrawRoomNo__16renderingDAmap_cFv.s" +int renderingDAmap_c::getFirstDrawRoomNo() { + int roomNo = 0; + + if (isRendAllRoom()) { + if (!isDrawRoom(0, mRoomNoSingle)) { + roomNo = getNextDrawRoomNo(0); + } + } else { + roomNo = getRoomNoSingle(); + } + + return roomNo; } -#pragma pop /* 80040094-80040134 03A9D4 00A0+00 2/2 0/0 0/0 .text getNextDrawRoomNo__16renderingDAmap_cFi */ +// weird loop +#ifdef NONMATCHING +int renderingDAmap_c::getNextDrawRoomNo(int param_0) { + int i = param_0 + 1; + + if (isRendAllRoom()) { + if (i >= 64) { + i = -1; + } else { + for (; i < 64; ++i) { + if (isDrawRoom(i, mRoomNoSingle)) { + return i; + } + } + } + } else { + i = -1; + } + + return i; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void renderingDAmap_c::getNextDrawRoomNo(int param_0) { +asm int renderingDAmap_c::getNextDrawRoomNo(int param_0) { nofralloc #include "asm/d/map/d_map_path_dmap/getNextDrawRoomNo__16renderingDAmap_cFi.s" } #pragma pop +#endif /* 80040134-800401E8 03AA74 00B4+00 3/0 3/0 0/0 .text getFirstRoomPointer__16renderingDAmap_cFv */ #pragma push @@ -753,14 +915,9 @@ asm dDrawPath_c::room_class* renderingDAmap_c::getNextRoomPointer() { #pragma pop /* 800402C0-800402E0 03AC00 0020+00 3/0 3/0 0/0 .text isDrawPath__16renderingDAmap_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool renderingDAmap_c::isDrawPath() { - nofralloc -#include "asm/d/map/d_map_path_dmap/isDrawPath__16renderingDAmap_cFv.s" +bool renderingDAmap_c::isDrawPath() { + return dMpath_c::isExistMapPathData(); } -#pragma pop /* 800402E0-800402E8 03AC20 0008+00 3/0 3/0 0/0 .text getFirstDrawLayerNo__16renderingDAmap_cFv */ bool renderingDAmap_c::getFirstDrawLayerNo() { @@ -768,70 +925,93 @@ bool renderingDAmap_c::getFirstDrawLayerNo() { } /* 800402E8-800402FC 03AC28 0014+00 3/0 3/0 0/0 .text getNextDrawLayerNo__16renderingDAmap_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingDAmap_c::getNextDrawLayerNo(int param_0) { - nofralloc -#include "asm/d/map/d_map_path_dmap/getNextDrawLayerNo__16renderingDAmap_cFi.s" +int renderingDAmap_c::getNextDrawLayerNo(int param_0) { + int layerNo = param_0 + 1; + if (layerNo >= 2) { + layerNo = -1; + } + + return layerNo; } -#pragma pop /* 800402FC-80040518 03AC3C 021C+00 1/0 1/1 0/0 .text * afterDrawPath__28renderingPlusDoorAndCursor_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingPlusDoorAndCursor_c::afterDrawPath() { - nofralloc -#include "asm/d/map/d_map_path_dmap/afterDrawPath__28renderingPlusDoorAndCursor_cFv.s" +void renderingPlusDoorAndCursor_c::afterDrawPath() { + renderingPlusDoor_c::afterDrawPath(); + bool check_floor = isCheckFloor(); + + if (isRendCursor() && isRendRestart()) { + bool tmp = true; + + if (check_floor) { + s8 calc_floor = dMapInfo_c::calcFloorNo(dMapInfo_n::getMapRestartPos().y, true, + dComIfGs_getRestartRoomNo()); + if (calc_floor != mRenderedFloor) { + tmp = false; + } + } + + if (tmp) { + int tmp2 = 0x1F; + if (mRoomNoSingle != dComIfGs_getRestartRoomNo()) { + tmp2 = 0x20; + } + + f32 cursor_size = getRestartCursorSize(); + s16 angle_y = dMapInfo_n::getMapRestartAngleY(); + drawCursor(dMapInfo_n::getMapRestartPos(), angle_y, tmp2, cursor_size); + } + } + + if (mRoomNoSingle >= 0 && isRendIcon()) { + drawTreasure(); + } + + if (isRendCursor() && daPy_getPlayerActorClass() != NULL) { + f32 cursor_size = getPlayerCursorSize(); + drawCursor(dMapInfo_n::getMapPlayerPos(), dMapInfo_n::getMapPlayerAngleY(), 0x1E, + cursor_size); + } + + if (mRoomNoSingle >= 0 && isRendIcon()) { + drawTreasureAfterPlayer(); + } } -#pragma pop /* 80040518-80040574 03AE58 005C+00 2/1 1/1 0/0 .text afterDrawPath__19renderingPlusDoor_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingPlusDoor_c::afterDrawPath() { - nofralloc -#include "asm/d/map/d_map_path_dmap/afterDrawPath__19renderingPlusDoor_cFv.s" +void renderingPlusDoor_c::afterDrawPath() { + if (mRoomNoSingle >= 0 && isRendDoor()) { + drawDoor1(); + drawDoor2(); + } } -#pragma pop /* 80040574-800405B8 03AEB4 0044+00 1/1 0/0 0/0 .text drawDoor1__19renderingPlusDoor_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingPlusDoor_c::drawDoor1() { - nofralloc -#include "asm/d/map/d_map_path_dmap/drawDoor1__19renderingPlusDoor_cFv.s" +void renderingPlusDoor_c::drawDoor1() { + dStage_KeepDoorInfo* door_info = dStage_GetKeepDoorInfo(); + drawDoorCommon(door_info->unk_0x4, door_info->unk_0x0, true); } -#pragma pop /* 800405B8-800405FC 03AEF8 0044+00 1/1 0/0 0/0 .text drawDoor2__19renderingPlusDoor_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingPlusDoor_c::drawDoor2() { - nofralloc -#include "asm/d/map/d_map_path_dmap/drawDoor2__19renderingPlusDoor_cFv.s" +void renderingPlusDoor_c::drawDoor2() { + dStage_KeepDoorInfo* door_info = dStage_GetRoomKeepDoorInfo(); + drawDoorCommon(door_info->unk_0x4, door_info->unk_0x0, false); } -#pragma pop /* ############################################################################################## */ /* 80451E58-80451E5C 000458 0004+00 1/1 0/0 0/0 .sdata2 l_doorWhite */ -SECTION_SDATA2 static u32 l_doorWhite = 0x64000000; +SECTION_SDATA2 static GXColor l_doorWhite = {100, 0, 0, 0}; /* 80451E5C-80451E60 00045C 0004+00 1/1 0/0 0/0 .sdata2 l_doorWhiteNoStay */ -SECTION_SDATA2 static u32 l_doorWhiteNoStay = 0x6C000000; +SECTION_SDATA2 static GXColor l_doorWhiteNoStay = {108, 0, 0, 0}; /* 80451E60-80451E64 000460 0004+00 1/1 0/0 0/0 .sdata2 l_doorWhite2 */ -SECTION_SDATA2 static u32 l_doorWhite2 = 0x64000000; +SECTION_SDATA2 static GXColor l_doorWhite2 = {100, 0, 0, 0}; /* 80451E64-80451E68 000464 0004+00 1/1 0/0 0/0 .sdata2 l_doorWhiteNoStay2 */ -SECTION_SDATA2 static u32 l_doorWhiteNoStay2 = 0x6C000000; +SECTION_SDATA2 static GXColor l_doorWhiteNoStay2 = {108, 0, 0, 0}; /* 80451E68-80451E70 000468 0008+00 1/1 0/0 0/0 .sdata2 l_tex0$4406 */ SECTION_SDATA2 static u8 l_tex0[8] = { @@ -840,168 +1020,175 @@ SECTION_SDATA2 static u8 l_tex0[8] = { /* 800405FC-80040710 03AF3C 0114+00 2/2 0/0 0/0 .text * drawDoorCommon__19renderingPlusDoor_cFPC21stage_tgsc_data_classib */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingPlusDoor_c::drawDoorCommon(stage_tgsc_data_class const* param_0, int param_1, - bool param_2) { - nofralloc -#include "asm/d/map/d_map_path_dmap/drawDoorCommon__19renderingPlusDoor_cFPC21stage_tgsc_data_classib.s" +void renderingPlusDoor_c::drawDoorCommon(stage_tgsc_data_class const* i_doorData, int i_dataNum, + bool param_2) { + int prm0; + int prm1; + + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxDesc(GX_VA_TEX0, GX_INDEX8); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_F32, 0); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGB565, 0); + GXSetArray(GX_VA_TEX0, l_tex0, 2); + + setTevSettingIntensityTextureToCI(); + + for (int i = 0; i < i_dataNum; i++, i_doorData++) { + prm0 = (i_doorData->mParameter >> 0xD) & 0x3F; + prm1 = (i_doorData->mParameter >> 0x13) & 0x3F; + + if (checkDispDoorS(prm0, prm1, i_doorData->mSpawnPos.y)) { + GXLoadTexObj(dMpath_n::m_texObjAgg.getTexObjPointer(0), GX_TEXMAP0); + drawNormalDoorS(i_doorData, prm0, prm1, param_2); + } + } + + setTevSettingNonTextureDirectColor(); } -#pragma pop /* 80040710-80040838 03B050 0128+00 1/1 0/0 0/0 .text checkDispDoorS__19renderingPlusDoor_cFiif */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingPlusDoor_c::checkDispDoorS(int param_0, int param_1, f32 param_2) { - nofralloc -#include "asm/d/map/d_map_path_dmap/checkDispDoorS__19renderingPlusDoor_cFiif.s" +bool renderingPlusDoor_c::checkDispDoorS(int param_0, int param_1, f32 param_2) { + if (isRendAllRoom()) { + if (!hasMap() && (!dMapInfo_n::isVisitedRoom(param_0) && param_0 != mRoomNoSingle) && + (!dMapInfo_n::isVisitedRoom(param_1) && param_1 != mRoomNoSingle)) + { + return false; + } + } else if (param_0 != mRoomNoSingle && param_1 != mRoomNoSingle) { + return false; + } + + if (mRenderedFloor == calcFloorNoForObjectByMapPathRend(param_2, param_0) || + mRenderedFloor == calcFloorNoForObjectByMapPathRend(param_2, param_1)) + { + return true; + } + + return false; } -#pragma pop - -/* ############################################################################################## */ -/* 80379C58-80379C88 0062B8 0030+00 1/1 0/0 0/0 .rodata l_100x100BoxVertexList */ -SECTION_RODATA static u8 const l_100x100BoxVertexList[48] = { - 0xC2, 0x48, 0x00, 0x00, 0xC2, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, - 0xC2, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xC2, 0x48, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80379C58, &l_100x100BoxVertexList); - -/* 80451E70-80451E74 000470 0004+00 1/1 0/0 0/0 .sdata2 @4484 */ -SECTION_SDATA2 static f32 lit_4484 = 6.0f; /* 80040838-800409B4 03B178 017C+00 1/1 0/0 0/0 .text * drawNormalDoorS__19renderingPlusDoor_cFPC21stage_tgsc_data_classiib */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingPlusDoor_c::drawNormalDoorS(stage_tgsc_data_class const* param_0, int param_1, - int param_2, bool param_3) { - nofralloc -#include "asm/d/map/d_map_path_dmap/drawNormalDoorS__19renderingPlusDoor_cFPC21stage_tgsc_data_classiib.s" +void renderingPlusDoor_c::drawNormalDoorS(stage_tgsc_data_class const* i_doorData, int i_roomNo, + int param_2, bool param_3) { + static Vec const l_100x100BoxVertexList[4] = { + {-50.0f, -50.0f, 0.0f}, + {50.0f, -50.0f, 0.0f}, + {50.0f, 50.0f, 0.0f}, + {-50.0f, 50.0f, 0.0f}, + }; + + if (i_roomNo == dComIfGp_roomControl_getStayNo() || param_2 == dComIfGp_roomControl_getStayNo()) + { + GXSetTevColor(GX_TEVREG1, l_doorWhite); + GXSetTevColor(GX_TEVREG2, l_doorWhite2); + } else { + GXSetTevColor(GX_TEVREG1, l_doorWhiteNoStay); + GXSetTevColor(GX_TEVREG2, l_doorWhiteNoStay2); + } + + Vec spC; + spC.x = i_doorData->mSpawnPos.x; + spC.y = i_doorData->mSpawnPos.y; + spC.z = i_doorData->mSpawnPos.z; + + if (param_3) { + dMapInfo_n::correctionOriginPos(i_roomNo, &spC); + } + + mDoMtx_stack_c::transS(spC.x, spC.z, 0.0f); + mDoMtx_stack_c::ZrotM(i_doorData->mAngle.y); + mDoMtx_stack_c::scaleM(6.0f, 6.0f, 1.0f); + + Vec sp18[4]; + mDoMtx_stack_c::multVecArray(l_100x100BoxVertexList, sp18, 4); + + GXBegin(GX_QUADS, GX_VTXFMT0, 4); + for (u8 i = 0; i < 4; i++) { + GXPosition3f32(sp18[i].x, sp18[i].y, sp18[i].z); + GXTexCoord1x8(i); + } + i_GXEnd(); } -#pragma pop /* 800409B4-800409E0 03B2F4 002C+00 3/0 2/0 0/0 .text isDrawRoomIcon__16renderingDAmap_cCFii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingDAmap_c::isDrawRoomIcon(int param_0, int param_1) const { - nofralloc -#include "asm/d/map/d_map_path_dmap/isDrawRoomIcon__16renderingDAmap_cCFii.s" +bool renderingDAmap_c::isDrawRoomIcon(int param_0, int param_1) const { + return isDrawRoom(param_0, param_1); } -#pragma pop /* 800409E0-80040A94 03B320 00B4+00 3/0 3/0 0/0 .text * isDrawIconSingle__16renderingDAmap_cCFPCQ27dTres_c6data_siibbPC3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingDAmap_c::isDrawIconSingle(dTres_c::data_s const* param_0, int param_1, - int param_2, bool param_3, bool param_4, - Vec const* param_5) const { - nofralloc -#include "asm/d/map/d_map_path_dmap/isDrawIconSingle__16renderingDAmap_cCFPCQ27dTres_c6data_siibbPC3Vec.s" +bool renderingDAmap_c::isDrawIconSingle(dTres_c::data_s const* data, int param_1, int param_2, + bool param_3, bool param_4, Vec const* param_5) const { + bool draw_room_icon = isDrawRoomIcon(data->mRoomNo, param_1); + bool tmp = false; + + if (param_4) { + int floorNo = calcFloorNoForObjectByMapPathRend(param_5->y, data->mRoomNo); + if (floorNo == param_2) { + tmp = true; + } + } + + return isDrawIconSingle2(data, tmp, draw_room_icon, param_1); } -#pragma pop /* 80040A94-80040AB8 03B3D4 0024+00 1/0 2/1 0/0 .text * getFirstData__28renderingPlusDoorAndCursor_cFUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingPlusDoorAndCursor_c::getFirstData(u8 param_0) { - nofralloc -#include "asm/d/map/d_map_path_dmap/getFirstData__28renderingPlusDoorAndCursor_cFUc.s" +dTres_c::typeGroupData_c* renderingPlusDoorAndCursor_c::getFirstData(u8 param_0) { + return dTres_c::getFirstData((int)param_0); } -#pragma pop /* 80040AB8-80040ADC 03B3F8 0024+00 1/0 2/1 0/0 .text * getNextData__28renderingPlusDoorAndCursor_cFPQ27dTres_c15typeGroupData_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingPlusDoorAndCursor_c::getNextData(dTres_c::typeGroupData_c* param_0) { - nofralloc -#include "asm/d/map/d_map_path_dmap/getNextData__28renderingPlusDoorAndCursor_cFPQ27dTres_c15typeGroupData_c.s" +dTres_c::typeGroupData_c* +renderingPlusDoorAndCursor_c::getNextData(dTres_c::typeGroupData_c* param_0) { + return dTres_c::getNextData(param_0); } -#pragma pop /* 80040ADC-80040AE4 03B41C 0008+00 1/0 2/1 0/0 .text * getIconPosition__28renderingPlusDoorAndCursor_cCFPQ27dTres_c15typeGroupData_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingPlusDoorAndCursor_c::getIconPosition(dTres_c::typeGroupData_c* param_0) const { - nofralloc -#include "asm/d/map/d_map_path_dmap/getIconPosition__28renderingPlusDoorAndCursor_cCFPQ27dTres_c15typeGroupData_c.s" +const Vec* +renderingPlusDoorAndCursor_c::getIconPosition(dTres_c::typeGroupData_c* i_typeGroupData) const { + return i_typeGroupData->getPos(); } -#pragma pop /* 80040AE4-80040B00 03B424 001C+00 3/0 2/1 0/0 .text getIconGroupNumber__16renderingDAmap_cCFUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingDAmap_c::getIconGroupNumber(u8 param_0) const { - nofralloc -#include "asm/d/map/d_map_path_dmap/getIconGroupNumber__16renderingDAmap_cCFUc.s" +int renderingDAmap_c::getIconGroupNumber(u8 param_0) const { + return dTres_c::getTypeGroupNumber(param_0); } -#pragma pop - -/* ############################################################################################## */ -/* 80451E74-80451E78 000474 0004+00 1/0 0/0 0/0 .sdata2 l_entranceStartColor */ -extern "C" u32 l_entranceStartColor; - -/* 80451E78-80451E7C 000478 0004+00 1/0 0/0 0/0 .sdata2 l_entranceLv8StartColor */ -extern "C" u32 l_entranceLv8StartColor; - -/* 80451E7C-80451E80 00047C 0004+00 3/2 0/0 0/0 .sdata2 l_treasureStartColor */ -extern "C" u32 l_treasureStartColor; - -/* 80451E8C-80451E90 00048C 0004+00 1/0 0/0 0/0 .sdata2 l_destinationStartColor */ -extern "C" u32 l_destinationStartColor; - -/* 80379C88-80379CB8 -00001 0030+00 1/1 0/0 0/0 .rodata l_treasureDispList$4524 */ -SECTION_RODATA static void* const l_treasureDispList_4524[12] = { - (void*)0x01000000, (void*)0x00000002, (void*)&l_entranceStartColor, - (void*)0x08000000, (void*)0x00000005, (void*)&l_entranceLv8StartColor, - (void*)NULL, (void*)0x00000001, (void*)&l_treasureStartColor, - (void*)0x05000000, (void*)0x00000003, (void*)&l_destinationStartColor, -}; -COMPILER_STRIP_GATE(0x80379C88, &l_treasureDispList_4524); /* 80451E74-80451E78 000474 0004+00 1/0 0/0 0/0 .sdata2 l_entranceStartColor */ -SECTION_SDATA2 static u32 l_entranceStartColor = 0x94000000; +SECTION_SDATA2 static GXColor l_entranceStartColor = {148, 0, 0, 0}; /* 80451E78-80451E7C 000478 0004+00 1/0 0/0 0/0 .sdata2 l_entranceLv8StartColor */ -SECTION_SDATA2 static u32 l_entranceLv8StartColor = 0x9C000000; +SECTION_SDATA2 static GXColor l_entranceLv8StartColor = {156, 0, 0, 0}; /* 80451E7C-80451E80 00047C 0004+00 3/2 0/0 0/0 .sdata2 l_treasureStartColor */ -SECTION_SDATA2 static u32 l_treasureStartColor = 0x7C000000; +SECTION_SDATA2 static GXColor l_treasureStartColor = {124, 0, 0, 0}; /* 80451E80-80451E84 000480 0004+00 1/0 0/0 0/0 .sdata2 l_smallKeyStartColor */ -SECTION_SDATA2 static u32 l_smallKeyStartColor = 0x84000000; +SECTION_SDATA2 static GXColor l_smallKeyStartColor = {132, 0, 0, 0}; /* 80451E84-80451E88 000484 0004+00 1/0 0/0 0/0 .sdata2 l_bossStartColor */ -SECTION_SDATA2 static u32 l_bossStartColor = 0x88000000; +SECTION_SDATA2 static GXColor l_bossStartColor = {136, 0, 0, 0}; /* 80451E88-80451E8C 000488 0004+00 1/0 0/0 0/0 .sdata2 l_npc0StartColor */ -SECTION_SDATA2 static u32 l_npc0StartColor = 0x8C000000; +SECTION_SDATA2 static GXColor l_npc0StartColor = {140, 0, 0, 0}; /* 80451E8C-80451E90 00048C 0004+00 1/0 0/0 0/0 .sdata2 l_destinationStartColor */ -SECTION_SDATA2 static u32 l_destinationStartColor = 0x90000000; +SECTION_SDATA2 static GXColor l_destinationStartColor = {144, 0, 0, 0}; /* 80451E90-80451E94 000490 0004+00 1/0 0/0 0/0 .sdata2 l_npcYkmStartColor */ -SECTION_SDATA2 static u32 l_npcYkmStartColor = 0x8C000000; +SECTION_SDATA2 static GXColor l_npcYkmStartColor = {140, 0, 0, 0}; /* 80451E94-80451E98 000494 0004+00 1/0 0/0 0/0 .sdata2 l_npcYkwStartColor */ -SECTION_SDATA2 static u32 l_npcYkwStartColor = 0x8C000000; +SECTION_SDATA2 static GXColor l_npcYkwStartColor = {140, 0, 0, 0}; /* 80451E98-80451E9C 000498 0004+00 1/0 0/0 0/0 .sdata2 l_tksStartColor */ -SECTION_SDATA2 static u32 l_tksStartColor = 0xA4000000; +SECTION_SDATA2 static GXColor l_tksStartColor = {164, 0, 0, 0}; /* 80451E9C-80451EA4 00049C 0008+00 1/1 0/0 0/0 .sdata2 l_iconTex0$4523 */ SECTION_SDATA2 static u8 l_iconTex0_4523[8] = { @@ -1009,18 +1196,95 @@ SECTION_SDATA2 static u8 l_iconTex0_4523[8] = { }; /* 80451EA4-80451EA8 0004A4 0004+00 1/1 0/0 0/0 .sdata2 tboxNotStayColor$4542 */ -SECTION_SDATA2 static u8 tboxNotStayColor_4542[4] = { - 0x80, - 0x00, - 0x00, - 0x00, -}; +SECTION_SDATA2 static GXColor tboxNotStayColor_4542 = {128, 0, 0, 0}; /* 80451EA8-80451EAC 0004A8 0004+00 2/2 0/0 0/0 .sdata2 @4600 */ SECTION_SDATA2 static f32 lit_4600 = 2.0f; +struct treasureDispData { + /* 0x0 */ u8 field_0x0; + /* 0x4 */ int field_0x4; + /* 0x8 */ GXColor* field_0x8; +}; + +/* 80379C88-80379CB8 -00001 0030+00 1/1 0/0 0/0 .rodata l_treasureDispList$4524 */ +static const treasureDispData l_treasureDispList_4524[4] = { + {1, 2, &l_entranceStartColor}, + {8, 5, &l_entranceLv8StartColor}, + {0, 1, &l_treasureStartColor}, + {5, 3, &l_destinationStartColor}, +}; + /* 80040B00-80040E84 03B440 0384+00 1/1 0/0 0/0 .text * drawTreasure__28renderingPlusDoorAndCursor_cFv */ +#ifdef NONMATCHING +void renderingPlusDoorAndCursor_c::drawTreasure() { + bool rend_all_room = isRendAllRoom(); + + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxDesc(GX_VA_TEX0, GX_INDEX8); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGB, GX_F32, 0); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGB565, 0); + GXSetArray(GX_VA_TEX0, l_iconTex0_4523, 2); + + setTevSettingIntensityTextureToCI(); + + for (int i = 0; i < 4; i++) { + u8 tmp = l_treasureDispList_4524[i].field_0x0; + dTres_c::typeGroupData_c* typeGroupData_p = getFirstData(tmp); + int group_num = getIconGroupNumber(tmp); + + if (group_num != 0) { + f32 icon_size = getIconSize(tmp) * mCmPerTexel; + + GXInvalidateTexAll(); + GXTexObj* texObj_p = + dMpath_n::m_texObjAgg.getTexObjPointer(l_treasureDispList_4524[i].field_0x4); + GXLoadTexObj(texObj_p, GX_TEXMAP0); + GXColor sp18; + GXColor* temp_r3_2 = l_treasureDispList_4524[i].field_0x8; + sp18.r = temp_r3_2->r; + sp18.g = temp_r3_2->g; + sp18.b = temp_r3_2->b; + sp18.a = temp_r3_2->a; + + GXSetTevColor(GX_TEVREG1, sp18); + + sp18.r += 4; + GXSetTevColor(GX_TEVREG2, sp18); + + for (int j = 0; j < group_num && typeGroupData_p != NULL; j++) { + Vec* icon_pos = getIconPosition(typeGroupData_p); + + if (tmp == 0) { + if (mRoomNoSingle != typeGroupData_p->getRoomNo()) { + sp18 = tboxNotStayColor_4542; + } else { + sp18 = l_treasureStartColor; + } + + GXSetTevColor(GX_TEVREG1, sp18); + + sp18.r += 4; + GXSetTevColor(GX_TEVREG2, sp18); + } + + if (isDrawAreaCheck(*icon_pos) && + isDrawIconSingle(typeGroupData_p->getConstDataPointer(), mRoomNoSingle, + mRenderedFloor, rend_all_room, true, icon_pos)) + { + drawIconSingle(*icon_pos, icon_size, icon_size); + } + + typeGroupData_p = getNextData(typeGroupData_p); + } + } + } + + setTevSettingNonTextureDirectColor(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1029,41 +1293,15 @@ asm void renderingPlusDoorAndCursor_c::drawTreasure() { #include "asm/d/map/d_map_path_dmap/drawTreasure__28renderingPlusDoorAndCursor_cFv.s" } #pragma pop - -/* ############################################################################################## */ -/* 80451E80-80451E84 000480 0004+00 1/0 0/0 0/0 .sdata2 l_smallKeyStartColor */ -extern "C" u32 l_smallKeyStartColor; - -/* 80451E84-80451E88 000484 0004+00 1/0 0/0 0/0 .sdata2 l_bossStartColor */ -extern "C" u32 l_bossStartColor; - -/* 80451E88-80451E8C 000488 0004+00 1/0 0/0 0/0 .sdata2 l_npc0StartColor */ -extern "C" u32 l_npc0StartColor; - -/* 80451E90-80451E94 000490 0004+00 1/0 0/0 0/0 .sdata2 l_npcYkmStartColor */ -extern "C" u32 l_npcYkmStartColor; - -/* 80451E94-80451E98 000494 0004+00 1/0 0/0 0/0 .sdata2 l_npcYkwStartColor */ -extern "C" u32 l_npcYkwStartColor; - -/* 80451E98-80451E9C 000498 0004+00 1/0 0/0 0/0 .sdata2 l_tksStartColor */ -extern "C" u32 l_tksStartColor; +#endif /* 80379CB8-80379D3C -00001 0084+00 1/1 0/0 0/0 .rodata l_treasureDispList$4606 */ -SECTION_RODATA static void* const l_treasureDispList_4606[33] = { - (void*)0x10000000, (void*)0x00000004, (void*)&l_tksStartColor, - (void*)0x02000000, (void*)0x00000004, (void*)&l_smallKeyStartColor, - (void*)0x0A000000, (void*)0x00000004, (void*)&l_npc0StartColor, - (void*)0x09000000, (void*)0x00000004, (void*)&l_npc0StartColor, - (void*)0x0E000000, (void*)0x00000004, (void*)&l_npcYkwStartColor, - (void*)0x0D000000, (void*)0x00000004, (void*)&l_npcYkmStartColor, - (void*)0x0F000000, (void*)0x00000004, (void*)&l_npc0StartColor, - (void*)0x0B000000, (void*)0x00000004, (void*)&l_npc0StartColor, - (void*)0x0C000000, (void*)0x00000004, (void*)&l_npc0StartColor, - (void*)0x04000000, (void*)0x00000004, (void*)&l_smallKeyStartColor, - (void*)0x03000000, (void*)0x00000004, (void*)&l_bossStartColor, +static const treasureDispData l_treasureDispList_4606[11] = { + {16, 4, &l_tksStartColor}, {2, 4, &l_smallKeyStartColor}, {10, 4, &l_npc0StartColor}, + {9, 4, &l_npc0StartColor}, {14, 4, &l_npcYkwStartColor}, {13, 4, &l_npcYkmStartColor}, + {15, 4, &l_npc0StartColor}, {11, 4, &l_npc0StartColor}, {12, 4, &l_npc0StartColor}, + {4, 4, &l_smallKeyStartColor}, {3, 4, &l_bossStartColor}, }; -COMPILER_STRIP_GATE(0x80379CB8, &l_treasureDispList_4606); /* 80451EAC-80451EB4 0004AC 0008+00 1/1 0/0 0/0 .sdata2 l_iconTex0$4605 */ SECTION_SDATA2 static u8 l_iconTex0_4605[8] = { @@ -1089,78 +1327,74 @@ asm void renderingPlusDoorAndCursor_c::drawTreasureAfterPlayer() { } #pragma pop -/* ############################################################################################## */ -/* 80379D3C-80379D5C 00639C 0020+00 1/1 0/0 0/0 .rodata l_iconPosData$4686 */ -SECTION_RODATA static u8 const l_iconPosData[32] = { - 0xC2, 0x48, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, - 0x42, 0x48, 0x00, 0x00, 0xC2, 0x48, 0x00, 0x00, 0xC2, 0x48, 0x00, 0x00, 0xC2, 0x48, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80379D3C, &l_iconPosData); - /* 80041208-800412C0 03BB48 00B8+00 2/2 0/0 0/0 .text * drawIconSingle__28renderingPlusDoorAndCursor_cFRC3Vecff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingPlusDoorAndCursor_c::drawIconSingle(Vec const& param_0, f32 param_1, - f32 param_2) { - nofralloc -#include "asm/d/map/d_map_path_dmap/drawIconSingle__28renderingPlusDoorAndCursor_cFRC3Vecff.s" +void renderingPlusDoorAndCursor_c::drawIconSingle(Vec const& param_0, f32 param_1, f32 param_2) { + static f32 const l_iconPosData[4][2] = { + {-50.0f, 50.0f}, + {50.0f, 50.0f}, + {50.0f, -50.0f}, + {-50.0f, -50.0f}, + }; + + GXBegin(GX_QUADS, GX_VTXFMT0, 4); + for (u8 i = 0; i < 4; i++) { + GXPosition2f32(param_0.x + param_1 * l_iconPosData[i][0], + param_0.z + param_2 * l_iconPosData[i][1]); + GXTexCoord1x8(i); + } + + i_GXEnd(); } -#pragma pop - -/* ############################################################################################## */ -/* 80379D5C-80379D80 0063BC 0024+00 1/1 0/0 0/0 .rodata l_offset$4703 */ -SECTION_RODATA static u8 const l_offset[36] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, - 0xC3, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x70, 0x00, 0x00, - 0x43, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x70, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80379D5C, &l_offset); - -/* 80450638-80450640 0000B8 0004+04 1/1 0/0 0/0 .sdata l_cursorColor$4709 */ -SECTION_SDATA static u8 l_cursorColor[4 + 4 /* padding */] = { - 0x78, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 80451EB8-80451EC0 0004B8 0004+04 1/1 0/0 0/0 .sdata2 @4731 */ -SECTION_SDATA2 static f32 lit_4731[1 + 1 /* padding */] = { - 640.0f, - /* padding */ - 0.0f, -}; /* 800412C0-8004145C 03BC00 019C+00 1/1 0/0 0/0 .text * drawCursor__28renderingPlusDoorAndCursor_cFRC3Vecsif */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingPlusDoorAndCursor_c::drawCursor(Vec const& param_0, s16 param_1, int param_2, - f32 param_3) { - nofralloc -#include "asm/d/map/d_map_path_dmap/drawCursor__28renderingPlusDoorAndCursor_cFRC3Vecsif.s" +void renderingPlusDoorAndCursor_c::drawCursor(Vec const& param_0, s16 param_1, int param_2, + f32 param_3) { + static Vec const l_offset[3] = { + {0.0f, 0.0f, 400.0f}, + {-200.0f, 0.0f, -240.0f}, + {200.0f, 0.0f, -240.0f}, + }; + + static GXColor l_cursorColor = {120, 0, 0, 0}; + + f32 temp_f3 = param_3 / 640.0f; + f32 temp_f31 = temp_f3 * (field_0x8 / field_0x20); + f32 temp_f30 = temp_f3 * (field_0xc / field_0x22); + + mDoMtx_stack_c::transS(param_0.x, 0.0f, param_0.z); + mDoMtx_stack_c::scaleM(temp_f31, 1.0f, temp_f30); + mDoMtx_stack_c::YrotM(param_1); + + Vec offset[3]; + for (int i = 0; i < 3; i++) { + mDoMtx_stack_c::multVec(&l_offset[i], &offset[i]); + } + + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGB, GX_F32, 0); + + l_cursorColor.r = param_2 * 4; + GXSetTevColor(GX_TEVREG0, l_cursorColor); + + GXBegin(GX_TRIANGLES, GX_VTXFMT0, 3); + for (int i = 0; i < 3; i++) { + GXPosition2f32(offset[i].x, offset[i].z); + } + + i_GXEnd(); } -#pragma pop /* 8004145C-80041460 03BD9C 0004+00 2/0 0/0 0/0 .text beforeDrawPath__19renderingPlusDoor_cFv */ -void renderingPlusDoor_c::beforeDrawPath() { - /* empty function */ -} +void renderingPlusDoor_c::beforeDrawPath() {} /* 80041460-80041480 03BDA0 0020+00 0/0 1/0 0/0 .text __sinit_d_map_path_dmap_cpp */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __sinit_d_map_path_dmap_cpp() { - nofralloc +asm void __sinit_d_map_path_dmap_cpp(){nofralloc #include "asm/d/map/d_map_path_dmap/__sinit_d_map_path_dmap_cpp.s" } #pragma pop diff --git a/src/d/map/d_map_path_fmap.cpp b/src/d/map/d_map_path_fmap.cpp index b252fe87b59..58b65a0e565 100644 --- a/src/d/map/d_map_path_fmap.cpp +++ b/src/d/map/d_map_path_fmap.cpp @@ -4,78 +4,143 @@ // #include "d/map/d_map_path_fmap.h" +#include "d/com/d_com_inf_game.h" #include "dol2asm.h" -#include "dolphin/types.h" // // Types: // -struct fmpTresTypeGroupData_c { +class fmpTresTypeGroupData_c { +public: + fmpTresTypeGroupData_c() { + mpTresData = NULL; + mpNext = NULL; + } + /* 8003EB70 */ ~fmpTresTypeGroupData_c(); -}; -struct dTres_c { - struct data_s {}; + void setTypeGroupNo(u8 i_no) { mTypeGroupNo = i_no; } + void setNextData(fmpTresTypeGroupData_c* i_next) { mpNext = i_next; } + void setTresData(const dTres_c::data_s* i_data) { mpTresData = i_data; } + const dTres_c::data_s* getTresData() { return mpTresData; } + fmpTresTypeGroupData_c* getNextData() { return mpNext; } - struct typeGroupData_c {}; + /* 0x0 */ const dTres_c::data_s* mpTresData; + /* 0x0 */ fmpTresTypeGroupData_c* mpNext; + /* 0x8 */ u8 mTypeGroupNo; +}; // Size: 0xC - /* 8009C360 */ void getFirstData(u8); - /* 8009C39C */ void getNextData(dTres_c::typeGroupData_c*); - /* 8009C49C */ void getTypeGroupNoToType(u8); - /* 8009C4B0 */ void getTypeToTypeGroupNo(u8); -}; - -struct fmpTresTypeGroupDataList_c { +class fmpTresTypeGroupDataList_c { +public: /* 8003D790 */ void addTypeGroupData(u8, dTres_c::data_s const*); /* 8003EB10 */ ~fmpTresTypeGroupDataList_c(); /* 8003EC90 */ fmpTresTypeGroupDataList_c(); + + /* 0x0 */ fmpTresTypeGroupData_c* mpTypeGroupDataHead; + /* 0x4 */ fmpTresTypeGroupData_c* mpNextData; }; -struct dSv_save_c { - /* 800350A8 */ void getSave2(int); +class fmpTresTypeGroupDataListAll_c { +public: + void addTypeGroupData(u8 i_typeGroupNo, const dTres_c::data_s* i_data) { + mpTypeGroupData[i_typeGroupNo].addTypeGroupData(i_typeGroupNo, i_data); + } + + /* 0x0 */ fmpTresTypeGroupDataList_c mpTypeGroupData[17]; }; -struct dSv_memory2_c { - /* 80034AEC */ void isVisitedRoom(int); +class dMenu_Fmap_data_c { +public: + dTres_c::list_class* getTresure() { return mp_tresure; } + f32 getFilelist2MinX() { return m_fileList2->mLeftRmX; } + f32 getFilelist2MinZ() { return m_fileList2->mInnerRmZ; } + f32 getFilelist2MaxX() { return m_fileList2->mRightRmX; } + f32 getFilelist2MaxZ() { return m_fileList2->mFrontRmZ; } + + /* 0x0 */ dTres_c::list_class* mp_tresure; + /* 0x4 */ dStage_FileList2_dt_c* m_fileList2; + /* 0x8 */ dDrawPath_c::room_class* mp_mapPath; + /* 0xC */ void* mp_dzsData; }; -struct dSv_memBit_c { - /* 800347E8 */ void isTbox(int) const; +class dMenu_Fmap_stage_data_c; +class dMenu_Fmap_room_data_c { +public: + /* 8003D818 */ bool isArrival(); + /* 8003D868 */ void buildTresTypeGroup(int, int, int); + /* 8003D92C */ void buildFmapRoomData(int, int, f32, f32, f32, f32); + + f32 getFileList2MinX() { return mp_fmapData->getFilelist2MinX(); } + f32 getFileList2MinZ() { return mp_fmapData->getFilelist2MinZ(); } + f32 getFileList2MaxX() { return mp_fmapData->getFilelist2MaxX(); } + f32 getFileList2MaxZ() { return mp_fmapData->getFilelist2MaxZ(); } + dMenu_Fmap_room_data_c* getNextData() { return mp_nextData; } + int getRoomNo() { return m_roomNo; } + + /* 0x00 */ dMenu_Fmap_data_c* mp_fmapData; + /* 0x04 */ fmpTresTypeGroupDataListAll_c* mp_fmpTresTypeGroupDataListAll; + /* 0x08 */ dMenu_Fmap_room_data_c* mp_nextData; + /* 0x0C */ dMenu_Fmap_stage_data_c* mp_parentStage; + /* 0x10 */ u8 m_roomNo; }; -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; +class dMenu_Fmap_stage_arc_data_c { +public: + u8 getVisitedRoomSaveTableNo() { return mVisitedRoomSaveTableNo; } + + /* 0x0 */ u8 field_0x0; + /* 0x1 */ u8 mSaveTableNo; + /* 0x2 */ u8 mVisitedRoomSaveTableNo; }; -struct dSv_event_flag_c { - static u8 saveBitLabels[1644 + 4 /* padding */]; +class dMenu_Fmap_stage_data_c { +public: + /* 8003D95C */ bool isArrival(); + /* 8003D9D8 */ int buildFmapStageData(int, f32, f32); + + dMenu_Fmap_stage_arc_data_c* getStageArc() { return mpStageArc; } + dMenu_Fmap_stage_data_c* getNextData() { return mpNextData; } + + /* 0x00 */ char name[8]; + /* 0x08 */ dMenu_Fmap_stage_arc_data_c* mpStageArc; + /* 0x0C */ dMenu_Fmap_room_data_c* mp_roomTop; + /* 0x10 */ dMenu_Fmap_stage_data_c* mpNextData; + /* 0x14 */ f32 m_offsetX; + /* 0x18 */ f32 m_offsetZ; + /* 0x1C */ f32 m_stageMinX; + /* 0x20 */ f32 m_stageMinZ; + /* 0x24 */ f32 m_stageMaxX; + /* 0x28 */ f32 m_stageMaxZ; + /* 0x2C */ int m_stageCntNo; }; -struct dSv_event_c { - /* 800349BC */ void isEventBit(u16) const; -}; - -struct dMenu_Fmap_region_data_c { - /* 8003DB48 */ void getMenuFmapStageData(int); +class dMenu_Fmap_region_data_c { +public: + /* 8003DB48 */ dMenu_Fmap_stage_data_c* getMenuFmapStageData(int); /* 8003DB70 */ void getPointStagePathInnerNo(f32, f32, int, int*, int*); /* 8003DEE0 */ void buildFmapRegionData(int); + + /* 0x00 */ dMenu_Fmap_stage_data_c* mpMenuFmapStageDataTop; + /* 0x04 */ dMenu_Fmap_region_data_c* mpNextData; + /* 0x08 */ f32 mRegionOffsetX; + /* 0x0C */ f32 mRegionOffsetZ; + /* 0x10 */ f32 mRegionMinX; + /* 0x14 */ f32 mRegionMaxX; + /* 0x18 */ f32 mRegionMinZ; + /* 0x1C */ f32 mRegionMaxZ; + /* 0x20 */ int mRegionNo; }; struct dMenu_Fmap_world_data_c { /* 8003E028 */ void create(dMenu_Fmap_region_data_c*); /* 8003E04C */ void buildFmapWorldData(); -}; -struct dMenu_Fmap_stage_data_c { - /* 8003D95C */ void isArrival(); - /* 8003D9D8 */ void buildFmapStageData(int, f32, f32); -}; - -struct dMenu_Fmap_room_data_c { - /* 8003D818 */ void isArrival(); - /* 8003D868 */ void buildTresTypeGroup(int, int, int); - /* 8003D92C */ void buildFmapRoomData(int, int, f32, f32, f32, f32); + /* 0x00 */ dMenu_Fmap_region_data_c* mp_fmapRegionData; + /* 0x04 */ f32 m_worldMinX; + /* 0x08 */ f32 m_worldMinZ; + /* 0x0C */ f32 m_worldMaxX; + /* 0x10 */ f32 m_worldMaxZ; }; struct dMenuFmapIconPointer_c { @@ -145,7 +210,6 @@ extern "C" void getTypeGroupNoToType__7dTres_cFUc(); extern "C" void getTypeToTypeGroupNo__7dTres_cFUc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); -extern "C" void PSVECCrossProduct(); extern "C" void __construct_array(); extern "C" void __save_gpr(); extern "C" void _savegpr_22(); @@ -159,10 +223,7 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void strcmp(); extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u32 __float_max; // // Declarations: @@ -170,57 +231,98 @@ extern "C" extern u32 __float_max; /* 8003D790-8003D818 0380D0 0088+00 1/1 0/0 0/0 .text * addTypeGroupData__26fmpTresTypeGroupDataList_cFUcPCQ27dTres_c6data_s */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fmpTresTypeGroupDataList_c::addTypeGroupData(u8 param_0, dTres_c::data_s const* param_1) { - nofralloc -#include "asm/d/map/d_map_path_fmap/addTypeGroupData__26fmpTresTypeGroupDataList_cFUcPCQ27dTres_c6data_s.s" +void fmpTresTypeGroupDataList_c::addTypeGroupData(u8 i_typeGroupNo, + dTres_c::data_s const* i_tresData) { + fmpTresTypeGroupData_c* next = mpNextData; + fmpTresTypeGroupData_c* fmpTresTypeGroupData_p = new fmpTresTypeGroupData_c(); + + if (mpTypeGroupDataHead == NULL) { + mpTypeGroupDataHead = fmpTresTypeGroupData_p; + } + + fmpTresTypeGroupData_p->setTresData(i_tresData); + fmpTresTypeGroupData_p->setNextData(NULL); + fmpTresTypeGroupData_p->setTypeGroupNo(i_typeGroupNo); + + if (next != NULL) { + next->setNextData(fmpTresTypeGroupData_p); + } + + mpNextData = fmpTresTypeGroupData_p; } -#pragma pop /* 8003D818-8003D868 038158 0050+00 1/1 1/1 0/0 .text isArrival__22dMenu_Fmap_room_data_cFv */ +#ifdef NONMATCHING +bool dMenu_Fmap_room_data_c::isArrival() { + u8 table_no = mp_parentStage->getStageArc()->getVisitedRoomSaveTableNo(); + return dComIfGs_isSaveVisitedRoom(table_no, m_roomNo) != false; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMenu_Fmap_room_data_c::isArrival() { +asm bool dMenu_Fmap_room_data_c::isArrival() { nofralloc #include "asm/d/map/d_map_path_fmap/isArrival__22dMenu_Fmap_room_data_cFv.s" } #pragma pop +#endif /* 8003D868-8003D92C 0381A8 00C4+00 1/1 0/0 0/0 .text * buildTresTypeGroup__22dMenu_Fmap_room_data_cFiii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Fmap_room_data_c::buildTresTypeGroup(int param_0, int param_1, int param_2) { - nofralloc -#include "asm/d/map/d_map_path_fmap/buildTresTypeGroup__22dMenu_Fmap_room_data_cFiii.s" +void dMenu_Fmap_room_data_c::buildTresTypeGroup(int param_0, int param_1, int param_2) { + dTres_c::list_class* tresure_p = mp_fmapData->getTresure(); + if (tresure_p != NULL) { + int num = tresure_p->field_0x0; + dTres_c::data_s* data_p = tresure_p->field_0x4; + + if (mp_fmpTresTypeGroupDataListAll == NULL) { + mp_fmpTresTypeGroupDataListAll = new fmpTresTypeGroupDataListAll_c(); + } + + for (int i = 0; i < num; i++) { + data_p->mRoomNo = param_2; + u8 typeGroupNo = dTres_c::getTypeToTypeGroupNo(data_p->mType); + mp_fmpTresTypeGroupDataListAll->addTypeGroupData(typeGroupNo, data_p); + data_p++; + } + } } -#pragma pop /* 8003D92C-8003D95C 03826C 0030+00 1/1 0/0 0/0 .text * buildFmapRoomData__22dMenu_Fmap_room_data_cFiiffff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Fmap_room_data_c::buildFmapRoomData(int param_0, int param_1, f32 param_2, - f32 param_3, f32 param_4, f32 param_5) { - nofralloc -#include "asm/d/map/d_map_path_fmap/buildFmapRoomData__22dMenu_Fmap_room_data_cFiiffff.s" +void dMenu_Fmap_room_data_c::buildFmapRoomData(int param_0, int param_1, f32 param_2, f32 param_3, + f32 param_4, f32 param_5) { + int roomNo = m_roomNo; + + if (mp_fmapData != NULL) { + buildTresTypeGroup(param_0, param_1, roomNo); + } } -#pragma pop /* 8003D95C-8003D9D8 03829C 007C+00 1/1 0/0 0/0 .text isArrival__23dMenu_Fmap_stage_data_cFv */ +#ifdef NONMATCHING +bool dMenu_Fmap_stage_data_c::isArrival() { + bool is_arrival = false; + + dMenu_Fmap_room_data_c* room = mp_roomTop; + u8 table_no = mpStageArc->getVisitedRoomSaveTableNo(); + for (; !is_arrival && room != NULL; room = room->getNextData()) { + is_arrival = dComIfGs_isSaveVisitedRoom(table_no, room->getRoomNo()) != false; + } + + return is_arrival; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMenu_Fmap_stage_data_c::isArrival() { +asm bool dMenu_Fmap_stage_data_c::isArrival() { nofralloc #include "asm/d/map/d_map_path_fmap/isArrival__23dMenu_Fmap_stage_data_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80451E20-80451E28 000420 0004+04 5/5 0/0 0/0 .sdata2 @3894 */ @@ -232,25 +334,66 @@ SECTION_SDATA2 static f32 lit_3894[1 + 1 /* padding */] = { /* 8003D9D8-8003DB48 038318 0170+00 1/1 0/0 0/0 .text * buildFmapStageData__23dMenu_Fmap_stage_data_cFiff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Fmap_stage_data_c::buildFmapStageData(int param_0, f32 param_1, f32 param_2) { - nofralloc -#include "asm/d/map/d_map_path_fmap/buildFmapStageData__23dMenu_Fmap_stage_data_cFiff.s" +int dMenu_Fmap_stage_data_c::buildFmapStageData(int param_0, f32 param_1, f32 param_2) { + dMenu_Fmap_room_data_c* room = mp_roomTop; + f32 fvar3 = __float_max[0]; + f32 fvar4 = __float_max[0]; + f32 fvar5 = -__float_max[0]; + f32 fvar6 = -__float_max[0]; + int ivar = 0; + + for (; room != NULL; room = room->getNextData()) { + room->buildFmapRoomData(param_0, ivar, param_1, param_2, m_offsetX, m_offsetZ); + f32 min_x = room->getFileList2MinX(); + f32 min_z = room->getFileList2MinZ(); + f32 max_x = room->getFileList2MaxX(); + f32 max_z = room->getFileList2MaxZ(); + + if (min_x < fvar3) { + fvar3 = min_x; + } + + if (min_z < fvar4) { + fvar4 = min_z; + } + + if (max_x > fvar5) { + fvar5 = max_x; + } + + if (max_z > fvar6) { + fvar6 = max_z; + } + + ivar++; + } + + if (ivar > 0) { + m_stageMinX = fvar3; + m_stageMinZ = fvar4; + m_stageMaxX = fvar5; + m_stageMaxZ = fvar6; + } else { + f32 tmp_0 = lit_3894[0]; + m_stageMinX = tmp_0; + m_stageMinZ = tmp_0; + m_stageMaxX = tmp_0; + m_stageMaxZ = tmp_0; + } + + return ivar; } -#pragma pop /* 8003DB48-8003DB70 038488 0028+00 0/0 1/1 0/0 .text * getMenuFmapStageData__24dMenu_Fmap_region_data_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Fmap_region_data_c::getMenuFmapStageData(int param_0) { - nofralloc -#include "asm/d/map/d_map_path_fmap/getMenuFmapStageData__24dMenu_Fmap_region_data_cFi.s" +dMenu_Fmap_stage_data_c* dMenu_Fmap_region_data_c::getMenuFmapStageData(int param_0) { + dMenu_Fmap_stage_data_c* stage = mpMenuFmapStageDataTop; + for (int i = 0; stage != NULL && i < param_0; i++) { + stage = stage->getNextData(); + } + + return stage; } -#pragma pop /* 8003DB70-8003DEE0 0384B0 0370+00 0/0 1/1 0/0 .text * getPointStagePathInnerNo__24dMenu_Fmap_region_data_cFffiPiPi */ diff --git a/src/d/menu/d_menu_dmap_map.cpp b/src/d/menu/d_menu_dmap_map.cpp index 79abf82cc92..bcd4edaab41 100644 --- a/src/d/menu/d_menu_dmap_map.cpp +++ b/src/d/menu/d_menu_dmap_map.cpp @@ -366,8 +366,8 @@ extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mTypeGroupListAll__7dTres_c[204 + 4 /* padding */]; extern "C" extern u32 __float_max; extern "C" extern u8 mStayNo__20dStage_roomControl_c[4]; -extern "C" extern u8 data_80450E58[4]; -extern "C" extern u8 data_80450E60[4]; +extern "C" extern u8 mNowStayFloorNo__10dMapInfo_c[4]; +extern "C" extern u8 mNowStayFloorNoDecisionFlg__10dMapInfo_c[4]; extern "C" u8 mLayerList__8dMpath_c[4]; extern "C" f32 mAllCenterX__8dMpath_c; extern "C" f32 mAllCenterZ__8dMpath_c; diff --git a/src/d/menu/d_menu_map_common.cpp b/src/d/menu/d_menu_map_common.cpp index cc2c77e853b..b4a60f2b05e 100644 --- a/src/d/menu/d_menu_map_common.cpp +++ b/src/d/menu/d_menu_map_common.cpp @@ -4,24 +4,18 @@ // #include "d/menu/d_menu_map_common.h" +#include "JSystem/J2DGraph/J2DPane.h" +#include "JSystem/J2DGraph/J2DPicture.h" +#include "JSystem/JUtility/TColor.h" +#include "d/com/d_com_inf_game.h" +#include "d/d_select_cursor.h" +#include "d/meter/d_meter_HIO.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct JKRArchive {}; - -struct dSelect_cursor_c { - /* 80194220 */ dSelect_cursor_c(u8, f32, JKRArchive*); - /* 801951C8 */ void setScale(f32); - /* 801952A0 */ void setAlphaRate(f32); -}; - struct dMenuMapCommon_c { /* 801C2718 */ dMenuMapCommon_c(); - /* 801C27B4 */ ~dMenuMapCommon_c(); + /* 801C27B4 */ virtual ~dMenuMapCommon_c(); /* 801C28D8 */ void initiate(JKRArchive*); /* 801C38E4 */ void drawIcon(f32, f32, f32, f32); /* 801C3EC4 */ void iconScale(int, f32, f32, f32); @@ -30,25 +24,37 @@ struct dMenuMapCommon_c { /* 801C4494 */ void setBlendRatio(u8, f32, f32); /* 801C452C */ void blinkMove(s16); /* 801C4600 */ void moveLightDropAnime(); - /* 801C4738 */ void getIconSizeX(u8); - /* 801C4778 */ void getIconSizeY(u8); + /* 801C4738 */ float getIconSizeX(u8 index); + /* 801C4778 */ float getIconSizeY(u8 index); /* 801C47C4 */ void debugIcon(); -}; -struct ResTIMG {}; + struct data { + /* 0x00 */ float _0; + /* 0x04 */ float _4; + /* 0x08 */ float _8; + /* 0x0C */ float _C; + /* 0x10 */ float _10; + /* 0x14 */ u8 _14; + /* 0x15 */ u8 _15; + }; -struct J2DRotateAxis {}; - -struct J2DPicture { - /* 802FC708 */ J2DPicture(ResTIMG const*); -}; - -struct J2DBasePosition {}; - -struct J2DPane { - /* 802F71DC */ void rotate(f32, f32, J2DRotateAxis, f32); - /* 802F76F8 */ void setBasePosition(J2DBasePosition); - /* 802F77D0 */ void setInfluencedAlpha(bool, bool); + /* 0x004 */ J2DPicture* mPictures[23]; + /* 0x060 */ J2DPicture* _60; + /* 0x064 */ dSelect_cursor_c* mpDrawCursor; + /* 0x068 */ dSelect_cursor_c* mpPortalIcon; + /* 0x06C */ u32 _6c; + /* 0x070 */ data _70[128]; + /* 0xC70 */ u16 _c70; + /* 0xC72 */ u16 _c72; + /* 0xC74 */ u16 _c74; + /* 0xC76 */ u16 _c76; + /* 0xC78 */ float _c78; + /* 0xC7C */ float _c7c; + /* 0xC80 */ float _c80; + /* 0xC84 */ float _c84; + /* 0xC88 */ float _c88; + /* 0xC8C */ float _c8c; + /* 0xC90 */ u8 _c90; }; // @@ -87,8 +93,6 @@ extern "C" void _savegpr_26(); extern "C" void _savegpr_29(); extern "C" void _restgpr_26(); extern "C" void _restgpr_29(); -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_fmapHIO[1188]; // // Declarations: @@ -96,27 +100,19 @@ extern "C" extern u8 g_fmapHIO[1188]; /* ############################################################################################## */ /* 803BCF18-803BD02C 01A038 0114+00 2/2 0/0 0/0 .data map_icon_size */ -SECTION_DATA static u8 map_icon_size[276] = { - 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, - 0x3F, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, - 0x11, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x42, 0x20, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, - 0x42, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, - 0x42, 0x20, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, - 0x42, 0x20, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x42, 0x20, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, - 0x42, 0x20, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, - 0x0F, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x42, 0x20, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x42, 0x87, 0x00, 0x00, - 0x42, 0x20, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, - 0x0E, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, - 0x42, 0x20, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, - 0x42, 0x20, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, - 0x16, 0x00, 0x00, 0x00, +struct map_icon_size_t { + float mXSize; + float mYSize; + u8 mIndex; }; +static map_icon_size_t map_icon_size[] = { + {1.0f, 1.0f, 0x0}, {1.0f, 1.0f, 0x1}, {40.0f, 40.0f, 0x11}, {40.0f, 40.0f, 0x2}, + {40.0f, 40.0f, 0x12}, {40.0f, 40.0f, 0x4}, {40.0f, 40.0f, 0x3}, {40.0f, 40.0f, 0x5}, + {40.0f, 40.0f, 0x6}, {40.0f, 40.0f, 0x7}, {40.0f, 40.0f, 0x9}, {40.0f, 40.0f, 0xa}, + {40.0f, 40.0f, 0xb}, {40.0f, 40.0f, 0xc}, {40.0f, 40.0f, 0xf}, {40.0f, 40.0f, 0x10}, + {40.0f, 40.0f, 0x8}, {67.5f, 40.0f, 0xd}, {40.0f, 40.0f, 0xe}, {40.0f, 40.0f, 0x13}, + {40.0f, 40.0f, 0x14}, {40.0f, 40.0f, 0x15}, {40.0f, 40.0f, 0x16}}; /* 803BD02C-803BD038 01A14C 000C+00 2/2 0/0 0/0 .data __vt__16dMenuMapCommon_c */ SECTION_DATA extern void* __vt__16dMenuMapCommon_c[3] = { (void*)NULL /* RTTI */, @@ -133,6 +129,28 @@ SECTION_SDATA2 static u8 lit_3703[4] = { }; /* 801C2718-801C27B4 1BD058 009C+00 0/0 2/2 0/0 .text __ct__16dMenuMapCommon_cFv */ +// matches with literals +#ifdef NONMATCHING +dMenuMapCommon_c::dMenuMapCommon_c() { + for (int i = 0; i < 23; i++) { + mPictures[i] = NULL; + } + _60 = 0; + mpDrawCursor = NULL; + mpPortalIcon = NULL; + _6c = 0; + _c72 = 0; + _c78 = 0.0f; + _c74 = 0; + _c80 = 0.0f; + _c7c = 0.0f; + _c84 = 0.0f; + _c88 = 0.0f; + _c8c = 0.0f; + _c90 = 0; + clearIconInfo(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -141,6 +159,7 @@ asm dMenuMapCommon_c::dMenuMapCommon_c() { #include "asm/d/menu/d_menu_map_common/__ct__16dMenuMapCommon_cFv.s" } #pragma pop +#endif /* 801C27B4-801C28D8 1BD0F4 0124+00 1/0 2/2 0/0 .text __dt__16dMenuMapCommon_cFv */ #pragma push @@ -152,6 +171,231 @@ asm dMenuMapCommon_c::~dMenuMapCommon_c() { } #pragma pop +/* 804540DC-804540E0 0026DC 0004+00 7/7 0/0 0/0 .sdata2 @3882 */ +SECTION_SDATA2 static f32 lit_3882 = 1.0f; + +/* 801C28D8-801C38E4 1BD218 100C+00 0/0 2/2 0/0 .text initiate__16dMenuMapCommon_cFP10JKRArchive + */ +// matches with literals +#ifdef NONMATCHING +void dMenuMapCommon_c::initiate(JKRArchive* arc) { + ResTIMG* mp_image; + + mp_image = (ResTIMG*)arc->getResource('TIMG', "tt_map_icon_boss_s_ci8_16_00.bti"); + ASSERT(mp_image != 0); + mPictures[4] = new J2DPicture(mp_image); + mp_image = (ResTIMG*)arc->getResource('TIMG', "tt_map_icon_boss_ci8_32_00.bti"); + ASSERT(mp_image != 0); + mPictures[4]->append(mp_image, 1.0f); + mPictures[4]->setBasePosition(J2DBasePosition_4); + mPictures[4]->setInfluencedAlpha(false, false); + + mp_image = (ResTIMG*)arc->getResource('TIMG', "tt_map_icon_boss_s_ci8_16_00.bti"); + ASSERT(mp_image != 0); + mPictures[3] = new J2DPicture(mp_image); + mp_image = (ResTIMG*)arc->getResource('TIMG', "tt_map_icon_boss_ci8_32_00.bti"); + ASSERT(mp_image != 0); + mPictures[3]->append(mp_image, 1.0f); + mPictures[3]->setBasePosition(J2DBasePosition_4); + mPictures[3]->setInfluencedAlpha(false, false); + + mp_image = (ResTIMG*)arc->getResource('TIMG', "im_map_icon_enter_ci8_24_02.bti"); + ASSERT(mp_image != 0); + mPictures[20] = new J2DPicture(mp_image); + mp_image = (ResTIMG*)arc->getResource('TIMG', "im_map_icon_enter_ci8_02.bti"); + ASSERT(mp_image != 0); + mPictures[20]->append(mp_image, 1.0f); + mPictures[20]->setBasePosition(J2DBasePosition_4); + mPictures[20]->setInfluencedAlpha(false, false); + + mp_image = (ResTIMG*)arc->getResource('TIMG', "tt_map_icon_enter_s_ci8_24_00.bti"); + ASSERT(mp_image != 0); + mPictures[21] = new J2DPicture(mp_image); + mp_image = (ResTIMG*)arc->getResource('TIMG', "tt_map_icon_enter_ci8_32_00.bti"); + ASSERT(mp_image != 0); + mPictures[21]->append(mp_image, 1.0f); + mPictures[21]->setBasePosition(J2DBasePosition_4); + mPictures[21]->setInfluencedAlpha(false, false); + + mp_image = (ResTIMG*)arc->getResource('TIMG', "im_map_icon_warp_24_ci8_00.bti"); + ASSERT(mp_image != 0); + mPictures[22] = new J2DPicture(mp_image); + mp_image = (ResTIMG*)arc->getResource('TIMG', "im_map_icon_warp_32_ci8_00.bti"); + ASSERT(mp_image != 0); + mPictures[22]->append(mp_image, 1.0f); + mPictures[22]->setBasePosition(J2DBasePosition_4); + mPictures[22]->setInfluencedAlpha(false, false); + + mp_image = (ResTIMG*)arc->getResource('TIMG', "tt_map_icon_box_s_ci8_24_00.bti"); + ASSERT(mp_image != 0); + mPictures[19] = new J2DPicture(mp_image); + mp_image = (ResTIMG*)arc->getResource('TIMG', "tt_map_icon_box_ci8_32_00.bti"); + ASSERT(mp_image != 0); + mPictures[19]->append(mp_image, 1.0f); + mPictures[19]->setBasePosition(J2DBasePosition_4); + mPictures[19]->setInfluencedAlpha(false, false); + + mp_image = (ResTIMG*)arc->getResource('TIMG', "tt_map_icon_s_size_circle_ci4_gray_00.bti"); + ASSERT(mp_image != 0); + mPictures[14] = new J2DPicture(mp_image); + mp_image = (ResTIMG*)arc->getResource('TIMG', "tt_map_icon_key_ci8_32_00.bti"); + ASSERT(mp_image != 0); + mPictures[14]->append(mp_image, 1.0f); + mPictures[14]->setBasePosition(J2DBasePosition_4); + mPictures[14]->setInfluencedAlpha(false, false); + + mp_image = (ResTIMG*)arc->getResource('TIMG', "tt_map_icon_s_size_circle_ci4_00.bti"); + ASSERT(mp_image != 0); + mPictures[9] = new J2DPicture(mp_image); + mp_image = (ResTIMG*)arc->getResource('TIMG', "st_yuki_M.bti"); + ASSERT(mp_image != 0); + mPictures[9]->append(mp_image, 1.0f); + mPictures[9]->setBasePosition(J2DBasePosition_4); + mPictures[9]->setInfluencedAlpha(false, false); + + mp_image = (ResTIMG*)arc->getResource('TIMG', "tt_map_icon_s_size_circle_ci4_00.bti"); + ASSERT(mp_image != 0); + mPictures[10] = new J2DPicture(mp_image); + mp_image = (ResTIMG*)arc->getResource('TIMG', "st_yuki_W.bti"); + ASSERT(mp_image != 0); + mPictures[10]->append(mp_image, 1.0f); + mPictures[10]->setBasePosition(J2DBasePosition_4); + mPictures[10]->setInfluencedAlpha(false, false); + + mp_image = (ResTIMG*)arc->getResource('TIMG', "tt_map_icon_s_size_circle_ci4_yellow_00.bti"); + ASSERT(mp_image != 0); + mPictures[11] = new J2DPicture(mp_image); + mp_image = (ResTIMG*)arc->getResource('TIMG', "st_gold_wolf.bti"); + ASSERT(mp_image != 0); + mPictures[11]->append(mp_image, 1.0f); + mPictures[11]->setBasePosition(J2DBasePosition_4); + mPictures[11]->setInfluencedAlpha(false, false); + + mp_image = (ResTIMG*)arc->getResource('TIMG', "tt_map_icon_s_size_circle_ci4_00.bti"); + ASSERT(mp_image != 0); + mPictures[12] = new J2DPicture(mp_image); + mp_image = (ResTIMG*)arc->getResource('TIMG', "tt_map_icon_monkey_ci8_32_00.bti"); + ASSERT(mp_image != 0); + mPictures[12]->append(mp_image, 1.0f); + mPictures[12]->setBasePosition(J2DBasePosition_4); + mPictures[12]->setInfluencedAlpha(false, false); + + mp_image = (ResTIMG*)arc->getResource('TIMG', "tt_map_icon_s_size_circle_ci4_blue_00.bti"); + ASSERT(mp_image != 0); + mPictures[15] = new J2DPicture(mp_image); + mp_image = (ResTIMG*)arc->getResource('TIMG', "ni_obacyan.bti"); + ASSERT(mp_image != 0); + mPictures[15]->append(mp_image, 1.0f); + mPictures[15]->setBasePosition(J2DBasePosition_4); + mPictures[15]->setInfluencedAlpha(false, false); + + mp_image = (ResTIMG*)arc->getResource('TIMG', "tt_map_icon_s_size_circle_ci4_blue_00.bti"); + ASSERT(mp_image != 0); + mPictures[16] = new J2DPicture(mp_image); + mp_image = (ResTIMG*)arc->getResource('TIMG', "ni_obacyan.bti"); + ASSERT(mp_image != 0); + mPictures[16]->append(mp_image, 1.0f); + mPictures[16]->setBasePosition(J2DBasePosition_4); + mPictures[16]->setInfluencedAlpha(false, false); + + mp_image = (ResTIMG*)arc->getResource('TIMG', "tt_map_icon_s_size_circle_ci4_00.bti"); + ASSERT(mp_image != 0); + mPictures[8] = new J2DPicture(mp_image); + mp_image = (ResTIMG*)arc->getResource('TIMG', + "im_zelda_map_icon_copy_stone_statue_snup_try_00_04.bti"); + ASSERT(mp_image != 0); + mPictures[8]->append(mp_image, 1.0f); + mPictures[8]->setBasePosition(J2DBasePosition_4); + mPictures[8]->setInfluencedAlpha(false, false); + + mp_image = (ResTIMG*)arc->getResource('TIMG', "tt_map_icon_link_s_ci8_24_00.bti"); + ASSERT(mp_image != 0); + mPictures[17] = new J2DPicture(mp_image); + mp_image = (ResTIMG*)arc->getResource('TIMG', "tt_map_icon_link_ci8_32_00.bti"); + ASSERT(mp_image != 0); + mPictures[17]->append(mp_image, 1.0f); + mPictures[17]->setBasePosition(J2DBasePosition_4); + mPictures[17]->setInfluencedAlpha(false, false); + + mp_image = (ResTIMG*)arc->getResource('TIMG', "tt_map_icon_penant_s_ci8_24_00.bti"); + ASSERT(mp_image != 0); + mPictures[2] = new J2DPicture(mp_image); + mp_image = (ResTIMG*)arc->getResource('TIMG', "tt_map_icon_penant_ci8_32_00.bti"); + ASSERT(mp_image != 0); + mPictures[2]->append(mp_image, 1.0f); + mPictures[2]->setBasePosition(J2DBasePosition_4); + mPictures[2]->setInfluencedAlpha(false, false); + + mp_image = (ResTIMG*)arc->getResource('TIMG', "im_black_32.bti"); + ASSERT(mp_image != 0); + mPictures[5] = new J2DPicture(mp_image); + mp_image = (ResTIMG*)arc->getResource('TIMG', "im_black_32.bti"); + ASSERT(mp_image != 0); + mPictures[5]->append(mp_image, 1.0f); + mPictures[5]->setBasePosition(J2DBasePosition_4); + mPictures[5]->setInfluencedAlpha(false, false); + + mPictures[5]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255)); + + // todo check if this value is mPictures[23] (out of the array) or field 0x60 + mp_image = (ResTIMG*)arc->getResource('TIMG', "im_hikari_no_shizuku_try_10_00_24x24.bti"); + ASSERT(mp_image != 0); + mPictures[23] = new J2DPicture(mp_image); + mp_image = (ResTIMG*)arc->getResource('TIMG', "im_hikari_no_shizuku_try_10_00_24x24.bti"); + ASSERT(mp_image != 0); + mPictures[23]->append(mp_image, 1.0f); + mPictures[23]->setBasePosition(J2DBasePosition_4); + mPictures[23]->setInfluencedAlpha(false, false); + + mPictures[23]->setBlackWhite(JUtility::TColor(0, 240, 170, 0), + JUtility::TColor(255, 255, 230, 255)); + + mp_image = (ResTIMG*)arc->getResource('TIMG', "tt_map_icon_s_size_circle_ci4_00.bti"); + ASSERT(mp_image != 0); + mPictures[6] = new J2DPicture(mp_image); + mp_image = (ResTIMG*)arc->getResource('TIMG', "im_zelda_map_icon_hikari_ball_03.bti"); + ASSERT(mp_image != 0); + mPictures[6]->append(mp_image, 1.0f); + mPictures[6]->setBasePosition(J2DBasePosition_4); + mPictures[6]->setInfluencedAlpha(false, false); + + mp_image = (ResTIMG*)arc->getResource('TIMG', "tt_map_icon_s_size_circle_ci4_00.bti"); + ASSERT(mp_image != 0); + mPictures[7] = new J2DPicture(mp_image); + mp_image = (ResTIMG*)arc->getResource('TIMG', "im_map_icon_iron_ball_ci8_32_00.bti"); + ASSERT(mp_image != 0); + mPictures[7]->append(mp_image, 1.0f); + mPictures[7]->setBasePosition(J2DBasePosition_4); + mPictures[7]->setInfluencedAlpha(false, false); + + mp_image = (ResTIMG*)arc->getResource('TIMG', "tt_map_icon_s_size_circle_ci4_00.bti"); + ASSERT(mp_image != 0); + mPictures[13] = new J2DPicture(mp_image); + mp_image = (ResTIMG*)arc->getResource('TIMG', "im_map_icon_basha_ci8.bti"); + ASSERT(mp_image != 0); + mPictures[13]->append(mp_image, 1.0f); + mPictures[13]->setBasePosition(J2DBasePosition_4); + mPictures[13]->setInfluencedAlpha(false, false); + + mp_image = (ResTIMG*)arc->getResource('TIMG', "im_nijumaru_40x40_ind_01.bti"); + ASSERT(mp_image != 0); + mPictures[18] = new J2DPicture(mp_image); + mp_image = (ResTIMG*)arc->getResource('TIMG', "im_nijumaru_40x40_ind_01.bti"); + ASSERT(mp_image != 0); + mPictures[18]->append(mp_image, 1.0f); + mPictures[18]->setBasePosition(J2DBasePosition_4); + mPictures[18]->setInfluencedAlpha(false, false); + + mpDrawCursor = new dSelect_cursor_c(4, 1.0f, NULL); + ASSERT(mpDrawCursor != 0); + + if (arc == dComIfGp_getFmapResArchive()) { + mpPortalIcon = new dSelect_cursor_c(5, 1.0f, arc); + ASSERT(mpPortalIcon != 0); + } +} +#else + /* ############################################################################################## */ /* 803959C0-803959C0 022020 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ #pragma push @@ -197,11 +441,6 @@ SECTION_DEAD static char const* const stringBase_80395D72 = "im_nijumaru_40x40_i SECTION_DEAD static char const* const pad_80395D8F = ""; #pragma pop -/* 804540DC-804540E0 0026DC 0004+00 7/7 0/0 0/0 .sdata2 @3882 */ -SECTION_SDATA2 static f32 lit_3882 = 1.0f; - -/* 801C28D8-801C38E4 1BD218 100C+00 0/0 2/2 0/0 .text initiate__16dMenuMapCommon_cFP10JKRArchive - */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -210,6 +449,7 @@ asm void dMenuMapCommon_c::initiate(JKRArchive* param_0) { #include "asm/d/menu/d_menu_map_common/initiate__16dMenuMapCommon_cFP10JKRArchive.s" } #pragma pop +#endif /* ############################################################################################## */ /* 804540E0-804540E4 0026E0 0004+00 1/1 0/0 0/0 .sdata2 @4010 */ @@ -226,6 +466,51 @@ SECTION_SDATA2 static f32 lit_4013 = 180.0f; /* 801C38E4-801C3EC4 1BE224 05E0+00 0/0 2/2 0/0 .text drawIcon__16dMenuMapCommon_cFffff */ +//unfinished +#ifdef NONMATCHING +void dMenuMapCommon_c::drawIcon(f32 param_0, f32 param_1, f32 param_2, f32 param_3) { + s16 tmp[128]; + if (g_fmapHIO.mMapIconHIO.mIconDebug) { + debugIcon(); + } + if (mpDrawCursor) { + mpDrawCursor->onUpdateFlag(); + } + if (mpPortalIcon) { + mpPortalIcon->onUpdateFlag(); + } + int counter = 0; + for (int i = 0; i < 128; i++) { + tmp[i] = -1; + } + + for (int i = 0; i < 22; i++) { + for (int j = 0; j < 128; j++) { + if (i == _70[j]._14 && _70[j]._15 != 0) { + tmp[counter] = j; + counter++; + } + } + } + + for (int i = 0; i < 128; i++) { + s16 val = tmp[i]; + if (val != -1) { + if (_70[val]._14 == 0) { + float float1 = _70[val]._0; + float float2 = _70[val]._4; + if (mpPortalIcon) { + if (mpPortalIcon->getUpdateFlag()) { + if (_70[val]._15 == 2) { + mpPortalIcon->setAlphaRate(255.0f); + } + } + } + } + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -234,6 +519,7 @@ asm void dMenuMapCommon_c::drawIcon(f32 param_0, f32 param_1, f32 param_2, f32 p #include "asm/d/menu/d_menu_map_common/drawIcon__16dMenuMapCommon_cFffff.s" } #pragma pop +#endif /* ############################################################################################## */ /* 804540F0-804540F4 0026F0 0004+00 1/1 0/0 0/0 .sdata2 @4072 */ @@ -315,25 +601,47 @@ asm void dMenuMapCommon_c::moveLightDropAnime() { /* 801C4738-801C4778 1BF078 0040+00 1/1 0/0 0/0 .text getIconSizeX__16dMenuMapCommon_cFUc */ +#ifdef NONMATCHING +float dMenuMapCommon_c::getIconSizeX(u8 index) { + for (int i = 0; i < ARRAY_SIZE(map_icon_size); i++) { + if (map_icon_size[index].mIndex == index) { + return map_icon_size[index].mXSize; + } + } + return 0.0f; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMenuMapCommon_c::getIconSizeX(u8 param_0) { +asm float dMenuMapCommon_c::getIconSizeX(u8 param_0) { nofralloc #include "asm/d/menu/d_menu_map_common/getIconSizeX__16dMenuMapCommon_cFUc.s" } #pragma pop +#endif /* 801C4778-801C47C4 1BF0B8 004C+00 1/1 0/0 0/0 .text getIconSizeY__16dMenuMapCommon_cFUc */ +#ifdef NONMATCHING +float dMenuMapCommon_c::getIconSizeY(u8 index) { + for (int i = 0; i < ARRAY_SIZE(map_icon_size); i++) { + if (map_icon_size[index].mIndex == index) { + return map_icon_size[index].mYSize; + } + } + return 0.0f; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMenuMapCommon_c::getIconSizeY(u8 param_0) { +asm float dMenuMapCommon_c::getIconSizeY(u8 param_0) { nofralloc #include "asm/d/menu/d_menu_map_common/getIconSizeY__16dMenuMapCommon_cFUc.s" } #pragma pop +#endif /* 801C47C4-801C4D54 1BF104 0590+00 1/1 0/0 0/0 .text debugIcon__16dMenuMapCommon_cFv */ #pragma push diff --git a/src/d/menu/d_menu_window.cpp b/src/d/menu/d_menu_window.cpp index 245b78caf4c..df4208beb52 100644 --- a/src/d/menu/d_menu_window.cpp +++ b/src/d/menu/d_menu_window.cpp @@ -343,7 +343,7 @@ void dMw_offMenuRing() { } } -static bool dMw_isMenuRing() { +static BOOL dMw_isMenuRing() { dMw_c* menu_window = dMeter2Info_getMenuWindowClass(); if (menu_window) { @@ -739,6 +739,45 @@ SECTION_DATA static u8 init_proc[420] = { 0x00, 0x00, 0x00, 0x00, }; +/* typedef void (dMw_c::*initFunc)(u8); +SECTION_DATA initFunc init_proc[] = { + &dMw_c::key_wait_init, + &dMw_c::ring_open_init, + &dMw_c::ring_move_init, + &dMw_c::ring_close_init, + &dMw_c::collect_open_init, + &dMw_c::collect_move_init, + &dMw_c::collect_close_init, + &dMw_c::fmap_open_init, + &dMw_c::fmap_move_init, + &dMw_c::fmap_close_init, + &dMw_c::dmap_open_init, + &dMw_c::dmap_move_init, + &dMw_c::dmap_close_init, + &dMw_c::collect_save_open_init, + &dMw_c::collect_save_move_init, + &dMw_c::collect_save_close_init, + &dMw_c::collect_option_open_init, + &dMw_c::collect_option_move_init, + &dMw_c::collect_option_close_init, + &dMw_c::collect_letter_open_init, + &dMw_c::collect_letter_move_init, + &dMw_c::collect_letter_close_init, + &dMw_c::collect_fishing_open_init, + &dMw_c::collect_fishing_move_init, + &dMw_c::collect_fishing_close_init, + &dMw_c::collect_skill_open_init, + &dMw_c::collect_skill_move_init, + &dMw_c::collect_skill_close_init, + &dMw_c::collect_insect_open_init, + &dMw_c::collect_insect_move_init, + &dMw_c::collect_insect_close_init, + &dMw_c::insect_open_init, + &dMw_c::insect_open2_init, + &dMw_c::insect_move_init, + &dMw_c::insect_close_init, +}; */ + /* 803BEC4C-803BEC58 -00001 000C+00 0/1 0/0 0/0 .data @4311 */ #pragma push #pragma force_active on @@ -1120,6 +1159,45 @@ SECTION_DATA static u8 move_proc[420] = { 0x00, 0x00, 0x00, 0x00, }; +/* typedef void (dMw_c::*procFunc)(); +SECTION_DATA procFunc move_proc[] = { + &dMw_c::key_wait_proc, + &dMw_c::ring_open_proc, + &dMw_c::ring_move_proc, + &dMw_c::ring_close_proc, + &dMw_c::collect_open_proc, + &dMw_c::collect_move_proc, + &dMw_c::collect_close_proc, + &dMw_c::fmap_open_proc, + &dMw_c::fmap_move_proc, + &dMw_c::fmap_close_proc, + &dMw_c::dmap_open_proc, + &dMw_c::dmap_move_proc, + &dMw_c::dmap_close_proc, + &dMw_c::collect_save_open_proc, + &dMw_c::collect_save_move_proc, + &dMw_c::collect_save_close_proc, + &dMw_c::collect_option_open_proc, + &dMw_c::collect_option_move_proc, + &dMw_c::collect_option_close_proc, + &dMw_c::collect_letter_open_proc, + &dMw_c::collect_letter_move_proc, + &dMw_c::collect_letter_close_proc, + &dMw_c::collect_fishing_open_proc, + &dMw_c::collect_fishing_move_proc, + &dMw_c::collect_fishing_close_proc, + &dMw_c::collect_skill_open_proc, + &dMw_c::collect_skill_move_proc, + &dMw_c::collect_skill_close_proc, + &dMw_c::collect_insect_open_proc, + &dMw_c::collect_insect_move_proc, + &dMw_c::collect_insect_close_proc, + &dMw_c::insect_open_proc, + &dMw_c::insect_open2_proc, + &dMw_c::insect_move_proc, + &dMw_c::insect_close_proc, +}; */ + /* 801FA13C-801FA220 1F4A7C 00E4+00 2/0 0/0 0/0 .text key_wait_init__5dMw_cFUc */ void dMw_c::key_wait_init(u8 menu_status) { dMeter2Info_setWindowStatus(0); @@ -1238,12 +1316,13 @@ void dMw_c::collect_move_init(u8 menu_status) { /* 801FA46C-801FA538 1F4DAC 00CC+00 1/0 0/0 0/0 .text collect_close_init__5dMw_cFUc */ void dMw_c::collect_close_init(u8 param_0) { - if (mpMenuCollect->getSubWindowOpenCheck() != 1 && - mpMenuCollect->getSubWindowOpenCheck() != 2) { + if (mpMenuCollect->getSubWindowOpenCheck() != 1 && mpMenuCollect->getSubWindowOpenCheck() != 2) + { if (mpMenuCollect->getSubWindowOpenCheck() == 3 || mpMenuCollect->getSubWindowOpenCheck() == 4 || mpMenuCollect->getSubWindowOpenCheck() == 5 || - mpMenuCollect->getSubWindowOpenCheck() == 6) { + mpMenuCollect->getSubWindowOpenCheck() == 6) + { Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MENU_SUB_IN, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); } else { @@ -1495,8 +1574,8 @@ void dMw_c::collect_move_proc() { if (mpMenuCollect->getSubWindowOpenCheck()) { mMenuStatus = COLLECT_CLOSE; } else { - if ((dMw_isPush_S_Button() && !mpMenuCollect->isKeyCheck()) || - mpMenuCollect->isOutCheck()) { + if ((dMw_isPush_S_Button() && !mpMenuCollect->isKeyCheck()) || mpMenuCollect->isOutCheck()) + { mMenuStatus = COLLECT_CLOSE; } else { mpMenuCollect->_move(); @@ -2033,7 +2112,8 @@ void dMw_c::dMw_fmap_create() { if (dMeter2Info_getMapKeyDirection() == 0x400 || dMeter2Info_getMapStatus() == 3 || dMeter2Info_getMapStatus() == 4 || dMeter2Info_getMapStatus() == 5 || dMeter2Info_getMapStatus() == 7 || dMeter2Info_getMapStatus() == 8 || - dMeter2Info_getMapStatus() == 9 || dMeter2Info_getMapStatus() == 6) { + dMeter2Info_getMapStatus() == 9 || dMeter2Info_getMapStatus() == 6) + { tmp = 1; } else if (dMeter2Info_getMapKeyDirection() == 0x200) { tmp = 3; @@ -2330,7 +2410,8 @@ BOOL dMw_c::dMw_isPush_S_Button() { if (isFadeNowCheck()) { if (daPy_getLinkPlayerActorClass()->getClothesChangeWaitTimer() == 0 && daPy_getLinkPlayerActorClass()->getShieldChangeWaitTimer() == 0 && - daPy_getLinkPlayerActorClass()->getSwordChangeWaitTimer() == 0) { + daPy_getLinkPlayerActorClass()->getSwordChangeWaitTimer() == 0) + { if (dMw_START_TRIGGER() || dMw_B_TRIGGER()) { return true; } @@ -2414,7 +2495,8 @@ bool dMw_c::isEventCheck() { dMeter2Info_getMapStatus() == 7 || dMeter2Info_getMapStatus() == 8 || dMeter2Info_getMapStatus() == 9 || dMeter2Info_getMapStatus() == 6 || dMeter2Info_getMapStatus() == 3 || dMeter2Info_isMenuInForce(2) || - dMeter2Info_getPauseStatus() == 8)) { + dMeter2Info_getPauseStatus() == 8)) + { return false; } return true; @@ -2493,6 +2575,47 @@ int dMw_c::_create() { } /* 801FD2D8-801FD450 1F7C18 0178+00 1/1 0/0 0/0 .text _execute__5dMw_cFv */ +// matches with sinit +#ifdef NONMATCHING +int dMw_c::_execute() { + if (field_0x151 != 0) { + field_0x151--; + } + + JKRHeap* old_heap = mDoExt_setCurrentHeap(mpHeap); + u8 old_proc = mMenuStatus; + mpStick->checkTrigger(); + + if (dMw_isMenuRing()) { + mpCStick->checkTrigger(); + checkCStickTrigger(); + } + + if (i_dComIfGp_event_runCheck()) { + field_0x148 = 5; + } else if (field_0x148 > 0) { + field_0x148--; + } else { + field_0x148 = 0; + } + + (this->*move_proc[mMenuStatus])(); + if (mMenuStatus != old_proc) { + (this->*init_proc[mMenuStatus])(old_proc); + } + + if (!mDoCPd_c::getHoldLockL(PAD_1) && dMw_isButtonBit(1)) { + dMw_offButtonBit(1); + } + + if (!mDoCPd_c::getHoldLockR(PAD_1) && dMw_isButtonBit(2)) { + dMw_offButtonBit(2); + } + + mDoExt_setCurrentHeap(old_heap); + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2501,6 +2624,7 @@ asm int dMw_c::_execute() { #include "asm/d/menu/d_menu_window/_execute__5dMw_cFv.s" } #pragma pop +#endif /* 801FD450-801FD67C 1F7D90 022C+00 1/1 0/0 0/0 .text _draw__5dMw_cFv */ int dMw_c::_draw() { @@ -2646,8 +2770,7 @@ static int dMw_Create(msg_class* p_menu) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __sinit_d_menu_window_cpp() { - nofralloc +asm void __sinit_d_menu_window_cpp(){nofralloc #include "asm/d/menu/d_menu_window/__sinit_d_menu_window_cpp.s" } #pragma pop diff --git a/src/d/meter/d_meter2.cpp b/src/d/meter/d_meter2.cpp index 869e615b7ff..315b13bea9f 100644 --- a/src/d/meter/d_meter2.cpp +++ b/src/d/meter/d_meter2.cpp @@ -809,18 +809,22 @@ void dMeter2_c::moveLife() { field_0x204 = g_drawHIO.mLifeGaugePosX; setDraw = true; } + if (field_0x208 != g_drawHIO.mLifeGaugePosY) { field_0x208 = g_drawHIO.mLifeGaugePosY; setDraw = true; } + if (field_0x20c != g_drawHIO.mLifeGaugeScale) { field_0x20c = g_drawHIO.mLifeGaugeScale; setDraw = true; } + if (field_0x210 != g_drawHIO.mHeartScale) { field_0x210 = g_drawHIO.mHeartScale; setDraw = true; } + if (field_0x214 != g_drawHIO.mLargeHeartScale) { field_0x214 = g_drawHIO.mLargeHeartScale; setDraw = true; diff --git a/src/d/meter/d_meter2_draw.cpp b/src/d/meter/d_meter2_draw.cpp index d47a40a9b68..32d6b2b72eb 100644 --- a/src/d/meter/d_meter2_draw.cpp +++ b/src/d/meter/d_meter2_draw.cpp @@ -637,8 +637,8 @@ dMeter2Draw_c::~dMeter2Draw_c() { mpMagicFrameR = NULL; for (int i = 0; i < 3; i++) { - delete field_0x53c[i]; - field_0x53c[i] = NULL; + delete mpOxygenBpk[i]; + mpOxygenBpk[i] = NULL; } delete mpMagicMeter; @@ -961,7 +961,8 @@ void dMeter2Draw_c::exec(u32 param_0) { if (param_0 & 0x1000000) { if (mButtonsPosX != g_drawHIO.mRingHUDButtonsPosX || - mButtonsPosY != g_drawHIO.mRingHUDButtonsPosY) { + mButtonsPosY != g_drawHIO.mRingHUDButtonsPosY) + { mButtonsPosX = g_drawHIO.mRingHUDButtonsPosX; mButtonsPosY = g_drawHIO.mRingHUDButtonsPosY; mpButtonParent->paneTrans(g_drawHIO.mRingHUDButtonsPosX, g_drawHIO.mRingHUDButtonsPosY); @@ -973,7 +974,8 @@ void dMeter2Draw_c::exec(u32 param_0) { } } else { if (mButtonsPosX != g_drawHIO.mMainHUDButtonsPosX || - mButtonsPosY != g_drawHIO.mMainHUDButtonsPosY) { + mButtonsPosY != g_drawHIO.mMainHUDButtonsPosY) + { mButtonsPosX = g_drawHIO.mMainHUDButtonsPosX; mButtonsPosY = g_drawHIO.mMainHUDButtonsPosY; mpButtonParent->paneTrans(g_drawHIO.mMainHUDButtonsPosX, g_drawHIO.mMainHUDButtonsPosY); @@ -1004,6 +1006,57 @@ SECTION_SDATA2 static f32 lit_4923[1 + 1 /* padding */] = { SECTION_SDATA2 static f64 lit_4925 = 4503601774854144.0 /* cast s32 to float */; /* 8021151C-80211BEC 20BE5C 06D0+00 1/0 0/0 0/0 .text draw__13dMeter2Draw_cFv */ +#ifdef NONMATCHING +void dMeter2Draw_c::draw() { + J2DGrafContext* graf = dComIfGp_getCurrentGrafPort(); + + mpScreen->draw(0.0f, 0.0f, graf); + drawKanteraScreen(1); + drawKanteraScreen(2); + + for (int i = 0; i < 2; i++) { + if (mpItemXY[i] != NULL) { + for (int j = 0; j < 3; j++) { + JGeometry::TVec3 vtx1 = pane->getPanePtr()->getGlbVtx(0); + JGeometry::TVec3 vtx2 = pane->getPanePtr()->getGlbVtx(3); + + // mpItemNumTex[i][j]-> + } + } + } + + for (int i = 0; i < 2; i++) { + mpKanteraMeter[i]->drawSelf(); + } + + if (!dComIfGp_isPauseFlag() && mpButtonParent->getAlphaRate() != 0.0f) { + if (field_0x608 > 0.0f) { + drawPikari(mpBTextA, &field_0x608, g_drawHIO.mAButtonHighlightScale, + g_drawHIO.mAButtonHighlightFrontOuter, g_drawHIO.mAButtonHighlightFrontInner, + g_drawHIO.mAButtonHighlightBackOuter, g_drawHIO.mAButtonHighlightBackInner, + g_drawHIO.mAButtonHighlightAnimSpeed, field_0x759); + } + + if (field_0x60c > 0.0f) { + drawPikari(mpBTextB, &field_0x60c, g_drawHIO.mBButtonHighlightScale, + g_drawHIO.mBButtonHighlightFrontOuter, g_drawHIO.mBButtonHighlightFrontInner, + g_drawHIO.mBButtonHighlightBackOuter, g_drawHIO.mBButtonHighlightBackInner, + g_drawHIO.mBButtonHighlightAnimSpeed, field_0x75a); + } + + for (int i = 0; i < 2; i++) { + if (field_0x60c > 0.0f) { + drawPikari(mpBTextXY[i], &field_0x620[i], g_drawHIO.mXYButtonHighlightScale, + g_drawHIO.mXYButtonHighlightFrontOuter, g_drawHIO.mXYButtonHighlightFrontInner, + g_drawHIO.mXYButtonHighlightBackOuter, g_drawHIO.XYButtonHighlightBackInner, + g_drawHIO.mXYButtonHighlightAnimSpeed, field_0x768[i]); + } + } + } + + // TODO +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1012,6 +1065,7 @@ asm void dMeter2Draw_c::draw() { #include "asm/d/meter/d_meter2_draw/draw__13dMeter2Draw_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80398320-803983C0 024980 00A0+00 0/1 0/0 0/0 .rodata life_tag$4931 */ @@ -1139,18 +1193,18 @@ void dMeter2Draw_c::initMagic() { void* res = JKRFileLoader::getGlbResource("zelda_game_image_sanso_10percent.bpk", dComIfGp_getMain2DArchive()); - field_0x53c[0] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res); - field_0x53c[0]->searchUpdateMaterialID(mpKanteraScreen); + mpOxygenBpk[0] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res); + mpOxygenBpk[0]->searchUpdateMaterialID(mpKanteraScreen); res = JKRFileLoader::getGlbResource("zelda_game_image_sanso_25percent.bpk", dComIfGp_getMain2DArchive()); - field_0x53c[1] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res); - field_0x53c[1]->searchUpdateMaterialID(mpKanteraScreen); + mpOxygenBpk[1] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res); + mpOxygenBpk[1]->searchUpdateMaterialID(mpKanteraScreen); res = JKRFileLoader::getGlbResource("zelda_game_image_sanso_50percent.bpk", dComIfGp_getMain2DArchive()); - field_0x53c[2] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res); - field_0x53c[2]->searchUpdateMaterialID(mpKanteraScreen); + mpOxygenBpk[2] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res); + mpOxygenBpk[2]->searchUpdateMaterialID(mpKanteraScreen); field_0x558 = 0.0f; mpMagicParent->setAlphaRate(0.0f); @@ -1163,7 +1217,7 @@ void dMeter2Draw_c::initMagic() { } for (int i = 0; i < 3; i++) { - field_0x5fc[i] = 0.0f; + mMeterAlphaRate[i] = 0.0f; field_0x742[i] = 0; } @@ -1486,6 +1540,60 @@ asm void dMeter2Draw_c::setAlphaLifeAnimeMax() { SECTION_SDATA2 static f32 lit_6143 = 0.25f; /* 80214EB4-80215290 20F7F4 03DC+00 1/1 0/0 0/0 .text drawKanteraScreen__13dMeter2Draw_cFUc */ +// matches with literals +#ifdef NONMATCHING +void dMeter2Draw_c::drawKanteraScreen(u8 i_meterType) { + J2DGrafContext* graf = dComIfGp_getCurrentGrafPort(); + + mpMagicParent->setAlphaRate(mMeterAlphaRate[i_meterType]); + + if (i_meterType == 0) { + JUtility::TColor black = mpMagicMeter->getInitBlack(); + black.a = 255; + + mpMagicMeter->setBlackWhite(black, mpMagicMeter->getInitWhite()); + setAlphaMagicChange(true); + } else if (i_meterType == 1) { + mpMagicMeter->setBlackWhite(JUtility::TColor(255, 255, 140, 255), + JUtility::TColor(230, 170, 0, 255)); + setAlphaKanteraChange(true); + } else if (i_meterType == 2) { + f32 oxygen_percent = (f32)dComIfGp_getOxygen() / (f32)dComIfGp_getMaxOxygen(); + + if (oxygen_percent <= 0.25f) { + mpMagicMeter->setBlackWhite(JUtility::TColor(255, 100, 100, 255), + JUtility::TColor(255, 10, 10, 255)); + playOxygenBpkAnimation(mpOxygenBpk[0]); + + if (mMeterAlphaRate[i_meterType] > 0.0f) { + Z2GetAudioMgr()->mSeMgr.seStartLevel(Z2SE_SWIM_TIMER_BLINK_2, NULL, 0, 0, 1.0f, + 1.0f, -1.0f, -1.0f, 0); + } + } else if (oxygen_percent <= 0.5f) { + mpMagicMeter->setBlackWhite(JUtility::TColor(200, 200, 255, 255), + JUtility::TColor(80, 180, 255, 255)); + playOxygenBpkAnimation(mpOxygenBpk[1]); + + if (mMeterAlphaRate[i_meterType] > 0.0f) { + Z2GetAudioMgr()->mSeMgr.seStartLevel(Z2SE_SWIM_TIMER_BLINK_1, NULL, 0, 0, 1.0f, + 1.0f, -1.0f, -1.0f, 0); + } + } else { + mpMagicMeter->setBlackWhite(JUtility::TColor(200, 200, 255, 255), + JUtility::TColor(80, 180, 255, 255)); + } + + setAlphaOxygenChange(true); + } + + mpMagicMeter->resize(field_0x584[i_meterType], field_0x590[i_meterType]); + mpMagicFrameR->move(field_0x59c[i_meterType], field_0x5a8[i_meterType]); + mpMagicBase->resize(field_0x5b4[i_meterType], field_0x5c0[i_meterType]); + mpMagicParent->scale(field_0x5cc[i_meterType], field_0x5d8[i_meterType]); + mpMagicParent->paneTrans(field_0x5e4[i_meterType], field_0x5f0[i_meterType]); + mpKanteraScreen->draw(0.0f, 0.0f, graf); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1494,6 +1602,7 @@ asm void dMeter2Draw_c::drawKanteraScreen(u8 param_0) { #include "asm/d/meter/d_meter2_draw/drawKanteraScreen__13dMeter2Draw_cFUc.s" } #pragma pop +#endif /* ############################################################################################## */ /* 804548B8-804548BC 002EB8 0004+00 1/1 0/0 0/0 .sdata2 @6175 */ @@ -1501,29 +1610,31 @@ SECTION_SDATA2 static f32 lit_6175 = 0.03125f; /* 80215290-80215380 20FBD0 00F0+00 1/1 0/0 0/0 .text drawMagic__13dMeter2Draw_cFssff */ #ifdef NONMATCHING -void dMeter2Draw_c::drawMagic(s16 max_count, s16 now_count, f32 x_pos, f32 y_pos) { - f32 x_diff = mpMagicFrameR->getInitPosX() - mpMagicFrameL->getInitPosX(); +void dMeter2Draw_c::drawMagic(s16 i_maxMagic, s16 i_nowMagic, f32 i_xPos, f32 i_yPos) { + f32 frameL_posX = mpMagicFrameL->getInitPosX(); + f32 frameR_posX = mpMagicFrameR->getInitPosX(); - field_0x584 = mpMagicMeter->getInitSizeX() * (lit_6175 * now_count); - field_0x590 = mpMagicMeter->getInitSizeY(); + field_0x584[0] = (mpMagicMeter->getInitSizeX() * i_nowMagic) * 0.03125f; + field_0x590[0] = mpMagicMeter->getInitSizeY(); - field_0x59c = mpMagicFrameL->getInitPosX() * x_diff * (max_count * lit_6175); - field_0x5a8 = mpMagicFrameL->getInitPosY(); + field_0x59c[0] = + ((f32)i_maxMagic * (frameR_posX - frameL_posX)) * 0.03125f + mpMagicFrameL->getInitPosX(); + field_0x5a8[0] = mpMagicFrameL->getInitPosY(); - field_0x5b4 = mpMagicBase->getInitSizeX() * (max_count * lit_6175); - field_0x5c0 = mpMagicBase->getInitSizeY(); + field_0x5b4[0] = (f32)i_maxMagic * mpMagicBase->getInitSizeX() * 0.03125f; + field_0x5c0[0] = mpMagicBase->getInitSizeY(); - field_0x5cc = g_drawHIO.mMagicMeterScale; - field_0x5d8 = g_drawHIO.mMagicMeterScale; + field_0x5cc[0] = g_drawHIO.mMagicMeterScale; + field_0x5d8[0] = g_drawHIO.mMagicMeterScale; - field_0x5e4 = x_pos; - field_0x5f0 = y_pos; + field_0x5e4[0] = i_xPos; + field_0x5f0[0] = i_yPos; } #else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMeter2Draw_c::drawMagic(s16 param_0, s16 param_1, f32 param_2, f32 param_3) { +asm void dMeter2Draw_c::drawMagic(s16 i_maxMagic, s16 i_nowMagic, f32 i_xPos, f32 i_yPos) { nofralloc #include "asm/d/meter/d_meter2_draw/drawMagic__13dMeter2Draw_cFssff.s" } @@ -1531,14 +1642,35 @@ asm void dMeter2Draw_c::drawMagic(s16 param_0, s16 param_1, f32 param_2, f32 par #endif /* 80215380-802154A8 20FCC0 0128+00 2/2 0/0 0/0 .text setAlphaMagicChange__13dMeter2Draw_cFb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeter2Draw_c::setAlphaMagicChange(bool param_0) { - nofralloc -#include "asm/d/meter/d_meter2_draw/setAlphaMagicChange__13dMeter2Draw_cFb.s" +void dMeter2Draw_c::setAlphaMagicChange(bool i_forceSet) { + bool meter_parent_alpha_set = false; + bool meter_alpha_set = false; + bool meter_frame_alpha_set = false; + + if (field_0x7a4 != mpMagicParent->getAlphaRate() || i_forceSet) { + field_0x7a4 = mpMagicParent->getAlphaRate(); + meter_parent_alpha_set = true; + } + + if (mMagicMeterAlpha != g_drawHIO.mMagicMeterAlpha || i_forceSet) { + mMagicMeterAlpha = g_drawHIO.mMagicMeterAlpha; + meter_alpha_set = true; + } + + if (mMagicMeterFrameAlpha != g_drawHIO.mMagicMeterFrameAlpha || i_forceSet) { + mMagicMeterFrameAlpha = g_drawHIO.mMagicMeterFrameAlpha; + meter_frame_alpha_set = true; + } + + if (meter_parent_alpha_set || meter_alpha_set || i_forceSet) { + mpMagicMeter->setAlphaRate(mMagicMeterAlpha * field_0x7a4); + } + + if (meter_parent_alpha_set || meter_frame_alpha_set || i_forceSet) { + mpMagicFrameL->setAlphaRate(mMagicMeterFrameAlpha * field_0x7a4); + mpMagicFrameR->setAlphaRate(mMagicMeterFrameAlpha * field_0x7a4); + } } -#pragma pop /* ############################################################################################## */ /* 804548BC-804548C0 002EBC 0004+00 4/4 0/0 0/0 .sdata2 @6210 */ @@ -1552,24 +1684,60 @@ SECTION_SDATA2 static f64 lit_6293 = 4503599627370496.0 /* cast u32 to float */; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMeter2Draw_c::drawKantera(s32 param_0, s32 param_1, f32 param_2, f32 param_3) { +asm void dMeter2Draw_c::drawKantera(s32 i_maxOil, s32 i_nowOil, f32 i_xPos, f32 i_yPos) { nofralloc #include "asm/d/meter/d_meter2_draw/drawKantera__13dMeter2Draw_cFllff.s" } #pragma pop /* 802155B8-802156E0 20FEF8 0128+00 2/2 1/1 0/0 .text setAlphaKanteraChange__13dMeter2Draw_cFb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeter2Draw_c::setAlphaKanteraChange(bool param_0) { - nofralloc -#include "asm/d/meter/d_meter2_draw/setAlphaKanteraChange__13dMeter2Draw_cFb.s" +void dMeter2Draw_c::setAlphaKanteraChange(bool i_forceSet) { + bool meter_parent_alpha_set = false; + bool meter_alpha_set = false; + bool meter_frame_alpha_set = false; + + if (field_0x7b0 != mpMagicParent->getAlphaRate() || i_forceSet) { + field_0x7b0 = mpMagicParent->getAlphaRate(); + meter_parent_alpha_set = true; + } + + if (mLanternMeterAlpha != g_drawHIO.mLanternMeterAlpha || i_forceSet) { + mLanternMeterAlpha = g_drawHIO.mLanternMeterAlpha; + meter_alpha_set = true; + } + + if (mLanternMeterFrameAlpha != g_drawHIO.mLanternMeterFrameAlpha || i_forceSet) { + mLanternMeterFrameAlpha = g_drawHIO.mLanternMeterFrameAlpha; + meter_frame_alpha_set = true; + } + + if (meter_parent_alpha_set || meter_alpha_set || i_forceSet) { + mpMagicMeter->setAlphaRate(mLanternMeterAlpha * field_0x7b0); + } + + if (meter_parent_alpha_set || meter_frame_alpha_set || i_forceSet) { + mpMagicFrameL->setAlphaRate(mLanternMeterFrameAlpha * field_0x7b0); + mpMagicFrameR->setAlphaRate(mLanternMeterFrameAlpha * field_0x7b0); + } } -#pragma pop /* 802156E0-8021575C 210020 007C+00 0/0 1/1 0/0 .text setAlphaKanteraAnimeMin__13dMeter2Draw_cFv */ +// matches with literals +#ifdef NONMATCHING +void dMeter2Draw_c::setAlphaKanteraAnimeMin() { + if (field_0x742[1] <= 0) { + mMeterAlphaRate[1] = 0.0f; + } else { + field_0x742[1]--; + if (field_0x742[1] < 0) { + field_0x742[1] = 0; + } + + mMeterAlphaRate[1] = (field_0x742[1] / 5.0f) * g_drawHIO.mHUDAlpha; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1578,9 +1746,25 @@ asm void dMeter2Draw_c::setAlphaKanteraAnimeMin() { #include "asm/d/meter/d_meter2_draw/setAlphaKanteraAnimeMin__13dMeter2Draw_cFv.s" } #pragma pop +#endif /* 8021575C-802157E0 21009C 0084+00 0/0 1/1 0/0 .text setAlphaKanteraAnimeMax__13dMeter2Draw_cFv */ +// matches with literals +#ifdef NONMATCHING +void dMeter2Draw_c::setAlphaKanteraAnimeMax() { + if (field_0x742[1] >= 5) { + mMeterAlphaRate[1] = g_drawHIO.mHUDAlpha; + } else { + field_0x742[1]++; + if (field_0x742[1] > 5) { + field_0x742[1] = 5; + } + + mMeterAlphaRate[1] = (field_0x742[1] / 5.0f) * g_drawHIO.mHUDAlpha; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1589,6 +1773,7 @@ asm void dMeter2Draw_c::setAlphaKanteraAnimeMax() { #include "asm/d/meter/d_meter2_draw/setAlphaKanteraAnimeMax__13dMeter2Draw_cFv.s" } #pragma pop +#endif /* 802157E0-802158F0 210120 0110+00 0/0 1/1 0/0 .text drawOxygen__13dMeter2Draw_cFllff */ #pragma push @@ -1601,16 +1786,52 @@ asm void dMeter2Draw_c::drawOxygen(s32 param_0, s32 param_1, f32 param_2, f32 pa #pragma pop /* 802158F0-80215A18 210230 0128+00 1/1 1/1 0/0 .text setAlphaOxygenChange__13dMeter2Draw_cFb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMeter2Draw_c::setAlphaOxygenChange(bool param_0) { - nofralloc -#include "asm/d/meter/d_meter2_draw/setAlphaOxygenChange__13dMeter2Draw_cFb.s" +void dMeter2Draw_c::setAlphaOxygenChange(bool i_forceSet) { + bool meter_parent_alpha_set = false; + bool meter_alpha_set = false; + bool meter_frame_alpha_set = false; + + if (field_0x7bc != mpMagicParent->getAlphaRate() || i_forceSet) { + field_0x7bc = mpMagicParent->getAlphaRate(); + meter_parent_alpha_set = true; + } + + if (mOxygenMeterAlpha != g_drawHIO.mOxygenMeterAlpha || i_forceSet) { + mOxygenMeterAlpha = g_drawHIO.mOxygenMeterAlpha; + meter_alpha_set = true; + } + + if (mOxygenMeterFrameAlpha != g_drawHIO.mOxygenMeterFrameAlpha || i_forceSet) { + mOxygenMeterFrameAlpha = g_drawHIO.mOxygenMeterFrameAlpha; + meter_frame_alpha_set = true; + } + + if (meter_parent_alpha_set || meter_alpha_set || i_forceSet) { + mpMagicMeter->setAlphaRate(mOxygenMeterAlpha * field_0x7bc); + } + + if (meter_parent_alpha_set || meter_frame_alpha_set || i_forceSet) { + mpMagicFrameL->setAlphaRate(mOxygenMeterFrameAlpha * field_0x7bc); + mpMagicFrameR->setAlphaRate(mOxygenMeterFrameAlpha * field_0x7bc); + } } -#pragma pop /* 80215A18-80215A94 210358 007C+00 0/0 1/1 0/0 .text setAlphaOxygenAnimeMin__13dMeter2Draw_cFv */ +// matches with literals +#ifdef NONMATCHING +void dMeter2Draw_c::setAlphaOxygenAnimeMin() { + if (field_0x742[2] <= 0) { + mMeterAlphaRate[2] = 0.0f; + } else { + field_0x742[2]--; + if (field_0x742[2] < 0) { + field_0x742[2] = 0; + } + + mMeterAlphaRate[2] = (field_0x742[2] / 5.0f) * g_drawHIO.mHUDAlpha; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1619,8 +1840,24 @@ asm void dMeter2Draw_c::setAlphaOxygenAnimeMin() { #include "asm/d/meter/d_meter2_draw/setAlphaOxygenAnimeMin__13dMeter2Draw_cFv.s" } #pragma pop +#endif /* 80215A94-80215B18 2103D4 0084+00 0/0 1/1 0/0 .text setAlphaOxygenAnimeMax__13dMeter2Draw_cFv */ +// matches with literals +#ifdef NONMATCHING +void dMeter2Draw_c::setAlphaOxygenAnimeMax() { + if (field_0x742[2] >= 5) { + mMeterAlphaRate[2] = g_drawHIO.mHUDAlpha; + } else { + field_0x742[2]++; + if (field_0x742[2] > 5) { + field_0x742[2] = 5; + } + + mMeterAlphaRate[2] = (field_0x742[2] / 5.0f) * g_drawHIO.mHUDAlpha; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1629,6 +1866,7 @@ asm void dMeter2Draw_c::setAlphaOxygenAnimeMax() { #include "asm/d/meter/d_meter2_draw/setAlphaOxygenAnimeMax__13dMeter2Draw_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 804548C8-804548CC 002EC8 0004+00 4/4 0/0 0/0 .sdata2 @6524 */ @@ -1647,9 +1885,7 @@ asm void dMeter2Draw_c::drawLightDrop(u8 param_0, u8 param_1, f32 param_2, f32 p /* 80215DA4-80215DA8 2106E4 0004+00 1/1 1/1 0/0 .text setAlphaLightDropChange__13dMeter2Draw_cFb */ -void dMeter2Draw_c::setAlphaLightDropChange(bool param_0) { - /* empty function */ -} +void dMeter2Draw_c::setAlphaLightDropChange(bool param_0) {} /* 80215DA8-80215E40 2106E8 0098+00 0/0 1/1 0/0 .text getNowLightDropRateCalc__13dMeter2Draw_cFv */ @@ -2192,6 +2428,29 @@ SECTION_SBSS2 static u8 lit_8747[4]; SECTION_SBSS2 static u8 data_80456B9C[4]; /* 8021AF78-8021B0C8 2158B8 0150+00 0/0 1/1 0/0 .text drawKanteraMeter__13dMeter2Draw_cFUcf */ +#ifdef NONMATCHING +void dMeter2Draw_c::drawKanteraMeter(u8 i_button, f32 i_alphaRate) { + CPaneMgr* pane = mpItemXY[i_button]; + f32 local_68[2][2]; + local_68[1][0] = 0.0f; + local_68[1][1] = 0.0f; + local_68[0][0] = 0.0f; + local_68[0][1] = 0.0f; + + if (i_alphaRate == 1.0f) { + i_alphaRate = pane->getAlphaRate(); + } + + JGeometry::TVec3 vtx1 = pane->getPanePtr()->getGlbVtx(0); + JGeometry::TVec3 vtx2 = pane->getPanePtr()->getGlbVtx(3); + + mpKanteraMeter[i_button]->setPos((vtx1.x + vtx2.x) * 0.5f + 9.0f + local_68[1][i_button], + vtx2.y + local_68[0][i_button]); + mpKanteraMeter[i_button]->setScale(0.6f, 0.6f); + mpKanteraMeter[i_button]->setNowGauge(dComIfGs_getMaxOil(), dComIfGs_getOil()); + mpKanteraMeter[i_button]->setAlphaRate(i_alphaRate); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2200,6 +2459,7 @@ asm void dMeter2Draw_c::drawKanteraMeter(u8 param_0, f32 param_1) { #include "asm/d/meter/d_meter2_draw/drawKanteraMeter__13dMeter2Draw_cFUcf.s" } #pragma pop +#endif /* 8021B0C8-8021B104 215A08 003C+00 0/0 3/3 0/0 .text isButtonVisible__13dMeter2Draw_cFv */ @@ -2414,7 +2674,8 @@ SECTION_DEAD static char const* const pad_80398A77 = ""; */ bool dMeter2Draw_c::getCanoeFishing() { if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") && - g_dComIfG_gameInfo.play.mPlayer[0]->checkCanoeRide()) { + g_dComIfG_gameInfo.play.mPlayer[0]->checkCanoeRide()) + { return TRUE; } else { return FALSE; diff --git a/src/d/meter/d_meter2_info.cpp b/src/d/meter/d_meter2_info.cpp index 39d8e950694..d34a0f812ef 100644 --- a/src/d/meter/d_meter2_info.cpp +++ b/src/d/meter/d_meter2_info.cpp @@ -360,7 +360,7 @@ void dMeter2Info_c::decMsgKeyWaitTimer() { /* 8021C250-8021C370 216B90 0120+00 0/0 16/16 0/0 .text * getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c */ -// missing branch + some regalloc +// missing branch #ifdef NONMATCHING void dMeter2Info_c::getString(u32 stringID, char* outStr, JMSMesgEntry_c* p_msgEntry) { strcpy(outStr, ""); @@ -378,10 +378,9 @@ void dMeter2Info_c::getString(u32 stringID, char* outStr, JMSMesgEntry_c* p_msgE u32 stringOffset = (*(u32*)(msgRes + 0x24)); u8* strPtr = inf + stringOffset + 8; - u16 i = 0; - u16 entryCount = *(u16*)(inf + 8); + u16 i; - for (; i < entryCount; i++) { + for (i = 0; i < *(u16*)(inf + 8); i++) { u8* entry = (inf + (i * 0x14)); if (stringID == *(u16*)(entry + 0x14)) { diff --git a/src/d/msg/d_msg_flow.cpp b/src/d/msg/d_msg_flow.cpp index c635a2be159..38d072ac6b9 100644 --- a/src/d/msg/d_msg_flow.cpp +++ b/src/d/msg/d_msg_flow.cpp @@ -962,21 +962,11 @@ asm int dMsgFlow_c::query007(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1 /* 8024B45C-8024B4A4 245D9C 0048+00 1/0 0/0 0/0 .text * query008__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ -#ifdef NONMATCHING int dMsgFlow_c::query008(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) { - u16 prm0 = flow_node->params[0]; - return (u8)daNpcKakashi_getSwdTutorialStep() != (u16)(prm0 - 1); + u32 prm0 = flow_node->params[0]; + u16 prm1 = prm0; + return (u8)daNpcKakashi_getSwdTutorialStep() - 1 != (u16)prm1; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dMsgFlow_c::query008(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) { - nofralloc -#include "asm/d/msg/d_msg_flow/query008__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s" -} -#pragma pop -#endif /* 8024B4A4-8024B4D0 245DE4 002C+00 1/0 0/0 0/0 .text * query009__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ @@ -1353,7 +1343,7 @@ int dMsgFlow_c::query043(mesg_flow_node_branch* flow_node, fopAc_ac_c*, int) { u8 bomb_num = dComIfGs_getBombNum(dComIfGs_getTmpReg(0xFBFF) - 1); u8 bomb_max = dComIfGs_getBombMax(POKE_BOMB); - return bomb_num + (u8)prm0 >= bomb_max; + return bomb_max >= bomb_num + prm0; } #else #pragma push @@ -1569,11 +1559,13 @@ asm int dMsgFlow_c::event004(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) /* 8024C5F0-8024C654 246F30 0064+00 1/0 0/0 0/0 .text * event005__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */ +// matches with literals #ifdef NONMATCHING int dMsgFlow_c::event005(mesg_flow_node_event* flow_node, fopAc_ac_c*) { f32 prm0 = getParam(flow_node->params); - i_dComIfGp_setItemLifeCount(-prm0, 0); + f32 prm1 = -prm0; + i_dComIfGp_setItemLifeCount(prm1, 0); return 1; } #else diff --git a/src/d/shop/d_shop_system.cpp b/src/d/shop/d_shop_system.cpp index 0c5bed8a960..9d4ec035c75 100644 --- a/src/d/shop/d_shop_system.cpp +++ b/src/d/shop/d_shop_system.cpp @@ -222,37 +222,35 @@ static u8 data_80451060; /* 80197098-80197270 1919D8 01D8+00 1/1 0/0 0/0 .text dShopSystem_searchItemActor__FPvPv */ -#ifdef NONMATCHING static int dShopSystem_searchItemActor(void* param_0, void* param_1) { if (fopAcM_IsActor(param_0) && fopAcM_GetName(param_0) == PROC_TAG_SHOPITM) { - u32 param = fopAcM_GetParam(param_0); - if ((param & 0xF0000000) == (fopAcM_GetParam(param_1) & 0xF0000000) && + if ((fopAcM_GetParam(param_1) & 0xF0000000) == (fopAcM_GetParam(param_0) & 0xF0000000) && dShopSystem_item_count < data_80451058) { - u32 param2 = (param >> 0x18) & 0xF; + u8 param2 = (fopAcM_GetParam(param_0) >> 0x18) & 0xF; if (dShopSystem_itemActor[0] != param_0 && dShopSystem_itemActor[1] != param_0 && dShopSystem_itemActor[2] != param_0 && dShopSystem_itemActor[3] != param_0 && dShopSystem_itemActor[4] != param_0 && dShopSystem_itemActor[5] != param_0 && dShopSystem_itemActor[6] != param_0) { u8 sw = static_cast(param_0)->orig.angle.z; - u8 sw2 = static_cast(param_0)->orig.angle.z >> 8; - u8 item_no = param; + u8 sw2 = ((u16)static_cast(param_0)->orig.angle.z) >> 8; + u8 item_no = fopAcM_GetParam(param_0) & 0xff; if ((sw == 0xFF || !dComIfGs_isSaveSwitch(sw)) && (sw2 == 0xFF || dComIfGs_isSaveSwitch(sw2))) { if (sw != 0xFF && item_no == HYLIA_SHIELD && checkItemGet(item_no, true)) { dComIfGs_onSaveSwitch(sw); + } else { + if (param2 == 0) { + data_80451060 = 1; + dShopSystem_itemActor[dShopSystem_item_count] = (fopAc_ac_c*) param_0; + dShopSystem_itemNo[dShopSystem_item_count] = item_no; + } else if (dShopSystem_itemActor[param2 - 1] == NULL) { + dShopSystem_itemActor[param2 - 1] = (fopAc_ac_c*) param_0; + dShopSystem_itemNo[param2 - 1] = item_no; + } + dShopSystem_item_count++; } - - if (param2 == 0) { - data_80451060 = 1; - dShopSystem_itemActor[dShopSystem_item_count] = param_0; - dShopSystem_itemNo[dShopSystem_item_count] = item_no; - } else if (dShopSystem_itemActor[param2 - 1] == NULL) { - dShopSystem_itemActor[param2 - 1] = param_0; - dShopSystem_itemNo[param2 - 1] = item_no; - } - dShopSystem_item_count++; } } } @@ -260,16 +258,6 @@ static int dShopSystem_searchItemActor(void* param_0, void* param_1) { return 0; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dShopSystem_searchItemActor(void* param_0, void* param_1) { - nofralloc -#include "asm/d/shop/d_shop_system/dShopSystem_searchItemActor__FPvPv.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 804506F0-804506F8 000170 0008+00 6/6 0/0 0/0 .sdata dShopSystem_cameraActor */ diff --git a/src/f_op/f_op_actor.cpp b/src/f_op/f_op_actor.cpp index a59b23cee3d..f2be32f3e62 100644 --- a/src/f_op/f_op_actor.cpp +++ b/src/f_op/f_op_actor.cpp @@ -1,157 +1,19 @@ -// -// Generated By: dol2asm -// Translation Unit: f_op/f_op_actor -// +/** + * f_op_actor.cpp + * Actor base process class + */ #include "f_op/f_op_actor.h" -#include "f_op/f_op_actor_tag.h" -#include "d/d_stage.h" -#include "dol2asm.h" -#include "dolphin/mtx/mtx.h" -#include "dolphin/types.h" +#include "d/com/d_com_inf_actor.h" #include "d/com/d_com_inf_game.h" #include "d/com/d_com_static.h" -#include "d/com/d_com_inf_actor.h" -#include "d/s/d_s_play.h" #include "d/d_demo.h" - -// -// Forward References: -// - -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__5csXyzFv(); -extern "C" void __ct__11J3DLightObjFv(); -extern "C" void __dt__11dEvt_info_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAc_IsActor__FPv(); -extern "C" static void fopAc_Draw__FPv(); -extern "C" static void fopAc_Execute__FPv(); -extern "C" static void fopAc_IsDelete__FPv(); -extern "C" static void fopAc_Delete__FPv(); -extern "C" static void fopAc_Create__FPv(); -extern "C" void getFileListInfo__15dStage_roomDt_cCFv(); -extern "C" void initBallModel__13fopEn_enemy_cFv(); -extern "C" void checkBallModelDraw__13fopEn_enemy_cFv(); -extern "C" void setBallModelEffect__13fopEn_enemy_cFP12dKy_tevstr_c(); -extern "C" void drawBallModel__13fopEn_enemy_cFP12dKy_tevstr_c(); -extern "C" extern char const* const f_op_f_op_actor__stringBase0; -extern "C" u8 stopStatus__10fopAc_ac_c[4]; -extern "C" extern u8 data_80450CC0[4 + 4 /* padding */]; - -// -// External References: -// - -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void fopAcTg_ToActorQ__FP16create_tag_class(); -extern "C" void fopAcTg_ActorQTo__FP16create_tag_class(); -extern "C" void fopAcTg_Init__FP16create_tag_classPv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fopAcM_DeleteHeap__FP10fopAc_ac_c(); -extern "C" void fopAcM_cullingCheck__FPC10fopAc_ac_c(); -extern "C" void fopDwTg_ToDrawQ__FP16create_tag_classi(); -extern "C" void fopDwTg_DrawQTo__FP16create_tag_class(); -extern "C" void fopDwTg_Init__FP16create_tag_classPv(); -extern "C" void fpcBs_Is_JustOfType__Fii(); -extern "C" void fpcBs_MakeOfType__FPi(); -extern "C" void fpcLf_GetPriority__FPC14leafdraw_class(); -extern "C" void fpcLf_DrawMethod__FP21leafdraw_method_classPv(); -extern "C" void fpcMtd_Execute__FP20process_method_classPv(); -extern "C" void fpcMtd_IsDelete__FP20process_method_classPv(); -extern "C" void fpcMtd_Delete__FP20process_method_classPv(); -extern "C" void fpcMtd_Create__FP20process_method_classPv(); -extern "C" void getStatusRoomDt__20dStage_roomControl_cFi(); -extern "C" void check__7daSus_cFP10fopAc_ac_c(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void setActor__13dDemo_actor_cFP10fopAc_ac_c(); -extern "C" void getActor__14dDemo_object_cFUc(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void moveApproval__14dEvt_control_cFPv(); -extern "C" void __ct__11dEvt_info_cFv(); -extern "C" void beforeProc__11dEvt_info_cFv(); -extern "C" void -set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void dKy_tevstr_init__FP12dKy_tevstr_cScUc(); -extern "C" void dKy_depth_dist_set__FPv(); -extern "C" void cLib_chaseF__FPfff(); -extern "C" void __dl__FPv(); -extern "C" void __as__12J3DLightInfoFRC12J3DLightInfo(); -extern "C" void searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP12J3DModelData(); -extern "C" void searchUpdateMaterialID__15J3DAnmTevRegKeyFP12J3DModelData(); -extern "C" void entryTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey(); -extern "C" void entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey(); -extern "C" void __construct_array(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_29(); -extern "C" f32 Zero__4cXyz[3]; -extern "C" u8 m_object__7dDemo_c[4]; - -// -// Declarations: -// +#include "d/s/d_s_play.h" +#include "f_op/f_op_actor_tag.h" /* 80018B64-80018BD0 0134A4 006C+00 0/0 7/7 562/562 .text __ct__10fopAc_ac_cFv */ fopAc_ac_c::fopAc_ac_c() {} -/* 80018BD0-80018C0C 013510 003C+00 0/0 12/12 0/0 .text __dt__5csXyzFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm csXyz::~csXyz() { -extern "C" asm void __dt__5csXyzFv() { - nofralloc -#include "asm/f_op/f_op_actor/__dt__5csXyzFv.s" -} -#pragma pop - -/* 80018C0C-80018C44 01354C 0038+00 1/1 6/6 0/0 .text __ct__11J3DLightObjFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm J3DLightObj::J3DLightObj() { -extern "C" asm void __ct__11J3DLightObjFv() { - nofralloc -#include "asm/f_op/f_op_actor/__ct__11J3DLightObjFv.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 803A35B0-803A35D0 -00001 0020+00 0/0 3/0 756/0 .data g_fopAc_Method */ -SECTION_DATA extern void* g_fopAc_Method[8] = { - (void*)fopAc_Create__FPv, - (void*)fopAc_Delete__FPv, - (void*)fopAc_Execute__FPv, - (void*)fopAc_IsDelete__FPv, - (void*)fopAc_Draw__FPv, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 803A35D0-803A35E0 0006F0 000C+04 2/2 1/1 0/0 .data __vt__11dEvt_info_c */ -SECTION_DATA extern void* __vt__11dEvt_info_c[3 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__11dEvt_info_cFv, - /* padding */ - NULL, -}; - -/* 80018C44-80018C8C 013584 0048+00 1/0 0/0 0/0 .text __dt__11dEvt_info_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm dEvt_info_c::~dEvt_info_c() { -extern "C" asm void __dt__11dEvt_info_cFv() { - nofralloc -#include "asm/f_op/f_op_actor/__dt__11dEvt_info_cFv.s" -} -#pragma pop - - /* 80018C8C-80018CE0 0135CC 0054+00 0/0 5/5 270/270 .text __dt__10fopAc_ac_cFv */ fopAc_ac_c::~fopAc_ac_c() {} @@ -174,7 +36,11 @@ static int fopAc_Draw(void* actor) { int ret = 1; if (!dComIfGp_isPauseFlag()) { - if ((dComIfGp_event_moveApproval(ac) == 2 || (!fopAcM_checkStatus(ac, fopAc_ac_c::stopStatus) && (!fopAcM_checkStatus(ac, 0x100) || !fopAcM_cullingCheck(ac)))) && !fopAcM_checkStatus(ac, 0x21000000)) { + if ((dComIfGp_event_moveApproval(ac) == 2 || + (!fopAcM_checkStatus(ac, fopAc_ac_c::stopStatus) && + (!fopAcM_checkStatus(ac, 0x100) || !fopAcM_cullingCheck(ac)))) && + !fopAcM_checkStatus(ac, 0x21000000)) + { fopAcM_OffCondition(ac, 4); ret = fpcLf_DrawMethod((leafdraw_method_class*)ac->mSubMtd, ac); } else { @@ -199,7 +65,10 @@ static int fopAc_Execute(void* actor) { s32 move = dComIfGp_event_moveApproval(actor); fopAcM_OffStatus(ac, 0x40000000); - if (!fopAcM_checkStatus(ac, 0x20000000) && (move == 2 || (move != 0 && !fopAcM_checkStatus(ac, fopAc_ac_c::stopStatus) && (!fopAcM_checkStatus(ac, 0x80) || !fopAcM_CheckCondition(ac, 4))))) { + if (!fopAcM_checkStatus(ac, 0x20000000) && + (move == 2 || (move != 0 && !fopAcM_checkStatus(ac, fopAc_ac_c::stopStatus) && + (!fopAcM_checkStatus(ac, 0x80) || !fopAcM_CheckCondition(ac, 4))))) + { fopAcM_OffCondition(ac, 2); ac->next = ac->current; ret = fpcMtd_Execute((process_method_class*)ac->mSubMtd, ac); @@ -244,7 +113,7 @@ static int fopAc_Delete(void* actor) { fopAcTg_ActorQTo(&ac->mAcTg); fopDwTg_DrawQTo(&ac->mDwTg); fopAcM_DeleteHeap(ac); - + dDemo_actor_c* demoAc = dDemo_c::getActor(ac->mDemoActorId); if (demoAc != NULL) { demoAc->setActor(NULL); @@ -254,34 +123,23 @@ static int fopAc_Delete(void* actor) { return deleted; } -/* ############################################################################################## */ -/* 80451BD0-80451BD4 0001D0 0004+00 2/2 0/0 0/0 .sdata2 @4431 */ -SECTION_SDATA2 static f32 lit_4431 = 1.0f / 10.0f; - -/* 80451BD4-80451BD8 0001D4 0004+00 1/1 0/0 0/0 .sdata2 @4432 */ -SECTION_SDATA2 static f32 lit_4432 = -100.0f; - -/* 80451BD8-80451BE0 0001D8 0008+00 1/1 0/0 0/0 .sdata2 @4434 */ -SECTION_SDATA2 static f64 lit_4434 = 4503599627370496.0 /* cast u32 to float */; - /* 8001904C-800193FC 01398C 03B0+00 1/0 0/0 0/0 .text fopAc_Create__FPv */ -// swapped registers -#ifdef NONMATCHING static int fopAc_Create(void* actor) { fopAc_ac_c* ac = (fopAc_ac_c*)actor; if (fpcM_IsFirstCreating(actor)) { - actor_process_profile_definition* profile = (actor_process_profile_definition*) fpcM_GetProfile(actor); + actor_process_profile_definition* profile = + (actor_process_profile_definition*)fpcM_GetProfile(actor); ac->mAcType = fpcBs_MakeOfType(&g_fopAc_type); - ac->mSubMtd = (profile_method_class*)profile->mBase.mMethods; + ac->mSubMtd = (profile_method_class*)profile->mSubMtd; fopAcTg_Init(&ac->mAcTg, ac); fopAcTg_ToActorQ(&ac->mAcTg); fopDwTg_Init(&ac->mDwTg, ac); - ac->mStatus = profile->field_0x28; - ac->mGroup = profile->field_0x2c; - ac->mCullType = profile->field_0x2d; + ac->mStatus = profile->mStatus; + ac->mGroup = profile->mActorType; + ac->mCullType = profile->mCullType; fopAcM_prm_class* append = fopAcM_GetAppend(ac); if (append != NULL) { @@ -291,9 +149,10 @@ static int fopAc_Create(void* actor) { ac->shape_angle = append->mAngle; ac->mParentPcId = append->mParentPId; ac->mSubtype = append->mSubtype; - ac->mScale.set(append->mScale[0] * 0.1f, append->mScale[1] * 0.1f, append->mScale[2] * 0.1f); + ac->mScale.set(append->mScale[0] * 0.1f, append->mScale[1] * 0.1f, + append->mScale[2] * 0.1f); ac->mSetID = append->mEnemyNo; - ac->orig.mRoomNo = append->mRoomNo; + ac->orig.roomNo = append->mRoomNo; } ac->next = ac->orig; @@ -311,7 +170,7 @@ static int fopAc_Create(void* actor) { ac->mAttentionInfo.field_0x8[0] = 51; ac->mAttentionInfo.mPosition = ac->orig.pos; ac->mAttentionInfo.field_0xa = 30; - dKy_tevstr_init(&ac->mTevStr, ac->orig.mRoomNo, -1); + dKy_tevstr_init(&ac->mTevStr, ac->orig.roomNo, -1); int roomNo = dComIfGp_roomControl_getStayNo(); if (roomNo >= 0) { @@ -319,45 +178,40 @@ static int fopAc_Create(void* actor) { } dStage_FileList_dt_c* filelist = NULL; - if (ac->orig.mRoomNo >= 0) { - filelist = dComIfGp_roomControl_getStatusRoomDt(ac->orig.mRoomNo)->mRoomDt.getFileListInfo(); + if (ac->orig.roomNo >= 0) { + filelist = + dComIfGp_roomControl_getStatusRoomDt(ac->orig.roomNo)->mRoomDt.getFileListInfo(); } if (filelist != NULL) { if (!dStage_FileList_dt_GetEnemyAppear1Flag(filelist)) { u32 sw = dStage_FileList_dt_GetBitSw(filelist); - if (sw != 0xFF && dComIfGs_isSwitch(sw, ac->orig.mRoomNo) && profile->field_0x2c == 2) { - return 5; + if (sw != 0xFF && dComIfGs_isSwitch(sw, ac->orig.roomNo) && + profile->mActorType == 2) + { + return cPhs_ERROR_e; } } else { u32 sw = dStage_FileList_dt_GetBitSw(filelist); - if (sw != 0xFF && !dComIfGs_isSwitch(sw, ac->orig.mRoomNo) && profile->field_0x2c == 2) { - return 5; + if (sw != 0xFF && !dComIfGs_isSwitch(sw, ac->orig.roomNo) && + profile->mActorType == 2) + { + return cPhs_ERROR_e; } } } } int ret = fpcMtd_Create((process_method_class*)ac->mSubMtd, ac); - if (ret == 4) { + if (ret == cPhs_COMPLEATE_e) { s32 priority = fpcLf_GetPriority(ac); fopDwTg_ToDrawQ(&ac->mDwTg, priority); - } else if (ret == 5) { + } else if (ret == cPhs_ERROR_e) { fopAcM_OnCondition(ac, 0x10); } return ret; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm int fopAc_Create(void* param_0) { - nofralloc -#include "asm/f_op/f_op_actor/fopAc_Create__FPv.s" -} -#pragma pop -#endif /* 800193FC-80019404 013D3C 0008+00 0/0 1/0 0/0 .text getFileListInfo__15dStage_roomDt_cCFv */ dStage_FileList_dt_c* dStage_roomDt_c::getFileListInfo() const { @@ -366,124 +220,75 @@ dStage_FileList_dt_c* dStage_roomDt_c::getFileListInfo() const { /* 80019404-800194FC 013D44 00F8+00 0/0 0/0 2/2 .text initBallModel__13fopEn_enemy_cFv */ bool fopEn_enemy_c::initBallModel() { - void* objRes = dComIfG_getObjectRes("Alink",daAlink_c::getBallModelIdx()); + void* objRes = dComIfG_getObjectRes("Alink", daAlink_c::getBallModelIdx()); mBallModel = mDoExt_J3DModel__create((J3DModelData*)objRes, 0x80000, 0x11000284); if (!mBallModel) { return false; - } - else { + } else { mBallModel->setBaseScale(cXyz::Zero); - mBtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("Alink",daAlink_c::getBallBtkIdx()); + mBtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("Alink", daAlink_c::getBallBtkIdx()); mBtk->searchUpdateMaterialID(mBallModel->getModelData()); - mBrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes("Alink",daAlink_c::getBallBrkIdx()); + mBrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes("Alink", daAlink_c::getBallBrkIdx()); mBrk->searchUpdateMaterialID(mBallModel->getModelData()); } return true; } /* 800194FC-80019520 013E3C 0024+00 2/2 0/0 2/2 .text checkBallModelDraw__13fopEn_enemy_cFv */ -int fopEn_enemy_c::checkBallModelDraw() { - int ret = 0; - - if ((mFlags & 1) && !(mFlags & 0x32)) { - ret = 1; - } - - return ret; +bool fopEn_enemy_c::checkBallModelDraw() { + return (mFlags & 1) && !(mFlags & 0x32); } -/* ############################################################################################## */ -/* 80451BE0-80451BE8 0001E0 0004+04 2/2 0/0 0/0 .sdata2 @4505 */ -SECTION_SDATA2 static f32 lit_4505[1 + 1 /* padding */] = { - 1.0f, - /* padding */ - 0.0f, -}; - -/* 80451BE8-80451BF0 0001E8 0008+00 1/1 0/0 0/0 .sdata2 @4507 */ -SECTION_SDATA2 static f64 lit_4507 = 4503601774854144.0 /* cast s32 to float */; - /* 80019520-800196A0 013E60 0180+00 0/0 0/0 2/2 .text * setBallModelEffect__13fopEn_enemy_cFP12dKy_tevstr_c */ -#ifdef NONMATCHING -// matches with literals -void fopEn_enemy_c::setBallModelEffect(dKy_tevstr_c* param_0) { +void fopEn_enemy_c::setBallModelEffect(dKy_tevstr_c* i_tevstr) { if (mBallModel) { - field_0x590 += FLOAT_LABEL(lit_4505); - + field_0x590 += 1.0f; + if (field_0x590 >= mBtk->getFrameMax()) { field_0x590 -= mBtk->getFrameMax(); } - if ((u8)checkBallModelDraw()) { + if (checkBallModelDraw()) { Vec* base_scale = mBallModel->getBaseScale(); - cLib_chaseF(&base_scale->x,FLOAT_LABEL(lit_4505),FLOAT_LABEL(lit_4431)); + cLib_chaseF(&base_scale->x, 1.0f, 0.1f); f32 result = base_scale->x; base_scale->z = result; base_scale->y = result; - mEffectID1 = dComIfGp_particle_set(mEffectID1, 0x86c8, &mDownPos, param_0); - mEffectID2 = dComIfGp_particle_set(mEffectID2, 0x86c9, &mDownPos, param_0); + mEffectID1 = dComIfGp_particle_set(mEffectID1, 0x86C8, &mDownPos, i_tevstr); + mEffectID2 = dComIfGp_particle_set(mEffectID2, 0x86C9, &mDownPos, i_tevstr); } } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopEn_enemy_c::setBallModelEffect(dKy_tevstr_c* param_0) { - nofralloc -#include "asm/f_op/f_op_actor/setBallModelEffect__13fopEn_enemy_cFP12dKy_tevstr_c.s" -} -#pragma pop -#endif - -/* ############################################################################################## */ -/* 80451BF0-80451BF4 0001F0 0004+00 1/1 0/0 0/0 .sdata2 @4555 */ -SECTION_SDATA2 static u8 lit_4555[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 80451BF4-80451BF8 0001F4 0004+00 1/1 0/0 0/0 .sdata2 @4556 */ -SECTION_SDATA2 static f32 lit_4556 = 1.0f / 20.0f; - -/* 80451BF8-80451C00 0001F8 0004+04 1/1 0/0 0/0 .sdata2 @4557 */ -SECTION_SDATA2 static f32 lit_4557[1 + 1 /* padding */] = { - 1.0f / 100.0f, - /* padding */ - 0.0f, -}; /* 800196A0-800197BC 013FE0 011C+00 0/0 0/0 2/2 .text * drawBallModel__13fopEn_enemy_cFP12dKy_tevstr_c */ -void fopEn_enemy_c::drawBallModel(dKy_tevstr_c* param_0) { - f32 tmp; +void fopEn_enemy_c::drawBallModel(dKy_tevstr_c* i_tevstr) { + f32 scale_target; if (mBallModel) { Vec* base_scale = mBallModel->getBaseScale(); - if ((u8)checkBallModelDraw()) { - tmp = FLOAT_LABEL(lit_4505); + if (checkBallModelDraw()) { + scale_target = 1.0f; } else { - tmp = FLOAT_LABEL(lit_4555); + scale_target = 0.0f; } - cLib_chaseF(&base_scale->x,tmp,FLOAT_LABEL(lit_4556)); + cLib_chaseF(&base_scale->x, scale_target, 0.05f); base_scale->y = base_scale->x; base_scale->z = base_scale->x; mBallModel->setBaseScale(*base_scale); - if (base_scale->x > FLOAT_LABEL(lit_4557)) { - mDoMtx_trans(mBallModel->getBaseTRMtx(),mDownPos.x,mDownPos.y,mDownPos.z); - i_dKy_getEnvlight()->setLightTevColorType_MAJI(mBallModel, param_0); + if (base_scale->x > 0.01f) { + mDoMtx_trans(mBallModel->getBaseTRMtx(), mDownPos.x, mDownPos.y, mDownPos.z); + i_dKy_getEnvlight()->setLightTevColorType_MAJI(mBallModel, i_tevstr); mBtk->setFrame(field_0x590); mBallModel->getModelData()->entryTexMtxAnimator(mBtk); @@ -493,10 +298,17 @@ void fopEn_enemy_c::drawBallModel(dKy_tevstr_c* param_0) { mDoExt_modelUpdateDL(mBallModel); } - } } +/* ############################################################################################## */ +/* 803A35B0-803A35D0 -00001 0020+00 0/0 3/0 756/0 .data g_fopAc_Method */ +extern actor_method_class g_fopAc_Method = { + (process_method_func)fopAc_Create, (process_method_func)fopAc_Delete, + (process_method_func)fopAc_Execute, (process_method_func)fopAc_IsDelete, + (process_method_func)fopAc_Draw, +}; + /* ############################################################################################## */ /* 80450CC0-80450CC8 0001C0 0004+04 0/0 9/9 0/0 .sbss * sInstance__35JASGlobalInstance<14JAUSectionHeap> */ diff --git a/src/f_op/f_op_actor_mng.cpp b/src/f_op/f_op_actor_mng.cpp index 24d07bdcb85..c5416ac82e9 100644 --- a/src/f_op/f_op_actor_mng.cpp +++ b/src/f_op/f_op_actor_mng.cpp @@ -743,7 +743,7 @@ void fopAcM_calcSpeed(fopAc_ac_c* p_actor) { f32 speedF = fopAcM_GetSpeedF(p_actor); f32 gravity = fopAcM_GetGravity(p_actor); f32 xSpeed = speedF * cM_ssin(p_actor->getAngle().GetY()); - f32 ySpeed = p_actor->mSpeed.y + gravity; + f32 ySpeed = p_actor->speed.y + gravity; f32 zSpeed = speedF * cM_scos(p_actor->getAngle().GetY()); clampMin(ySpeed, fopAcM_GetMaxFallSpeed(p_actor)); @@ -752,9 +752,9 @@ void fopAcM_calcSpeed(fopAc_ac_c* p_actor) { /* 8001A660-8001A6CC 014FA0 006C+00 1/1 1/1 17/17 .text fopAcM_posMove__FP10fopAc_ac_cPC4cXyz */ void fopAcM_posMove(fopAc_ac_c* p_actor, const cXyz* p_movePos) { - p_actor->current.pos.x += p_actor->mSpeed.x; - p_actor->current.pos.y += p_actor->mSpeed.y; - p_actor->current.pos.z += p_actor->mSpeed.z; + p_actor->current.pos.x += p_actor->speed.x; + p_actor->current.pos.y += p_actor->speed.y; + p_actor->current.pos.z += p_actor->speed.z; if (p_movePos != NULL) { p_actor->current.pos.x += p_movePos->x; @@ -1501,8 +1501,8 @@ s32 fopAcM_createItemForBoss(const cXyz* p_pos, int param_2, int roomNo, const c fopAc_ac_c* actor = (fopAc_ac_c*)fopAcM_fastCreate(PROC_Obj_LifeContainer, 0xFFFF0000 | param_8 << 0x8 | (param_2 & 0xFF), p_pos, roomNo, p_angle, p_scale, -1, NULL, NULL); if (actor != NULL) { - actor->mSpeedF = speedF; - actor->mSpeed.y = speedY; + actor->speedF = speedF; + actor->speed.y = speedY; } return fopAcM_GetID(actor); } @@ -1668,11 +1668,11 @@ void* fopAcM_fastCreateItem(const cXyz* p_pos, int i_itemNo, int i_roomNo, const if (actor != NULL) { if (p_speedF != NULL) { - actor->mSpeedF = *p_speedF * (1.0f + cM_rndFX(0.3f)); + actor->speedF = *p_speedF * (1.0f + cM_rndFX(0.3f)); } if (p_speedY != NULL) { - actor->mSpeed.y = *p_speedY * (1.0f + cM_rndFX(0.2f)); + actor->speed.y = *p_speedY * (1.0f + cM_rndFX(0.2f)); } } } @@ -1688,11 +1688,11 @@ void* fopAcM_fastCreateItem(const cXyz* p_pos, int i_itemNo, int i_roomNo, const if (actor != NULL) { if (p_speedF != NULL) { - actor->mSpeedF = *p_speedF; + actor->speedF = *p_speedF; } if (p_speedY != NULL) { - actor->mSpeed.y = *p_speedY; + actor->speed.y = *p_speedY; } } @@ -1780,7 +1780,7 @@ asm fopAc_ac_c* fopAcM_myRoomSearchEnemy(s8 param_0) { * fopAcM_createDisappear__FPC10fopAc_ac_cPC4cXyzUcUcUc */ s32 fopAcM_createDisappear(const fopAc_ac_c* p_actor, const cXyz* p_pos, u8 param_3, u8 param_4, u8 param_5) { - s8 roomNo = p_actor->current.mRoomNo; + s8 roomNo = p_actor->current.roomNo; return fopAcM_GetID(fopAcM_fastCreate(PROC_DISAPPEAR, (param_5 << 0x10) | (param_3 << 0x8) | param_4, p_pos, roomNo, &p_actor->current.angle, NULL, 0xFF, NULL, NULL)); @@ -2041,7 +2041,7 @@ s32 fopAcM_carryOffRevise(fopAc_ac_c* param_0) { param_0->current.pos.x = player->current.pos.x; param_0->current.pos.z = player->current.pos.z; param_0->next.pos = param_0->current.pos; - param_0->mSpeedF = FLOAT_LABEL(lit_4645); + param_0->speedF = FLOAT_LABEL(lit_4645); return 1; } diff --git a/tools/extract_game_assets.py b/tools/extract_game_assets.py index fc110081355..da2ddfab123 100644 --- a/tools/extract_game_assets.py +++ b/tools/extract_game_assets.py @@ -1,5 +1,8 @@ import os import sys +import libarc +from pathlib import Path +import libyaz0 """ Extracts the game assets and stores them in the game folder @@ -127,6 +130,41 @@ def writeFolder(parsedFstBin, i): Use the parsed fst.bin contents to write assets to file """ +convertDefinitions = [ + { + "extension": ".arc", + "function": libarc.extract_to_directory, + "exceptions": ["archive/dat/speakerse.arc"], + } +] + + +def writeFile(name, data): + if data[0:4] == bytes("Yaz0", "ascii"): + splitName = os.path.splitext(name) + name = splitName[0] + ".c" + splitName[1] + data = libyaz0.decompress(data) + + extractDef = None + splitName = os.path.splitext(name) + ext = splitName[1] + for extractData in convertDefinitions: + if ext == extractData["extension"]: + extractDef = extractData + if extractData["exceptions"] != None: + for exception in extractData["exceptions"]: + if str(name) == exception: + extractDef = None + break + + if extractDef == None: + file = open(name, "wb") + file.write(data) + file.close() + else: + name = extractDef["function"](name, data, writeFile) + return name + def writeAssets(parsedFstBin, handler): # Write the folder structure and files to disc @@ -145,10 +183,14 @@ def writeAssets(parsedFstBin, handler): ) else: handler.seek(i["fileOffset"]) - with open( - (folderStack[-1]["folderName"] + i["fileName"]), "wb" - ) as currentFile: - currentFile.write(bytearray(handler.read(i["fileSize"]))) + writeFile( + folderStack[-1]["folderName"] + i["fileName"], + bytearray(handler.read(i["fileSize"])), + ) + # with open( + # (folderStack[-1]["folderName"] + i["fileName"]), "wb" + # ) as currentFile: + # currentFile.write(bytearray(handler.read(i["fileSize"]))) while folderStack[-1]["lastEntryNumber"] == j + 1: folderStack.pop() diff --git a/tools/lcf.py b/tools/lcf.py index 6faeb8b055c..c75d96877bc 100644 --- a/tools/lcf.py +++ b/tools/lcf.py @@ -105,7 +105,7 @@ def lcf_generate(output_path,shiftable,map_file): if shiftable==True: for line in map_file: literals_found = [] - if type(symbol['name'])==str and line.find(' '+symbol['name']+' ')!=-1 and name[0] != "@" or type(symbol['label']) == str and line.find(' '+symbol['label']+' ')!=-1: + if type(symbol['name'])==str and line.find(' '+symbol['name']+' ')!=-1 and symbol['name'][0] != "@" or type(symbol['label']) == str and line.find(' '+symbol['label']+' ')!=-1: linesplit = line.split() if len(linesplit) > 3 and linesplit[2]!="NOT": if line.find("lit_")!=-1: diff --git a/tools/libarc/arc.py b/tools/libarc/arc.py index 22ed4d3f3c5..ce895ba989f 100644 --- a/tools/libarc/arc.py +++ b/tools/libarc/arc.py @@ -5,7 +5,10 @@ Simple library for reading and paring rarc files. """ import struct +import os +import ctypes +from pathlib import Path, PurePosixPath from dataclasses import dataclass, field from typing import List, Dict @@ -16,15 +19,17 @@ from typing import List, Dict NODE_SIZE = 0x10 DIRECTORY_SIZE = 0x14 -ROOT = struct.unpack('>I', "ROOT".encode('ascii'))[0] +ROOT = struct.unpack(">I", "ROOT".encode("ascii"))[0] + def chunks(lst, n): for i in range(0, len(lst), n): - yield lst[i:i + n] + yield lst[i : i + n] + @dataclass class StringTable: - """ RARC String Table """ + """RARC String Table""" strings: Dict[int, str] = field(default_factory=dict) @@ -34,7 +39,7 @@ class StringTable: @dataclass class Directory: - """ RARC Directory """ + """RARC Directory""" index: int name_hash: int @@ -50,17 +55,17 @@ class Directory: @dataclass class File(Directory): - """ RARC File """ + """RARC File""" @dataclass class Folder(Directory): - """ RARC Folder """ + """RARC Folder""" @dataclass class Node: - """ RARC Node """ + """RARC Node""" identifier: int name_offset: int @@ -69,11 +74,14 @@ class Node: directory_index: int name: str = None + parent = None rarc: "RARC" = field(default=None, repr=False) def files_and_folders(self, depth): - """ Generator for eacg file and directory of this node """ - for directory in self.rarc._directories[self.directory_index:][:self.directory_count]: + """Generator for eacg file and directory of this node""" + for directory in self.rarc._directories[self.directory_index :][ + : self.directory_count + ]: yield depth, directory if isinstance(directory, Folder): if directory.data_offset < len(self.rarc._nodes): @@ -85,7 +93,7 @@ class Node: @dataclass class RARC: - """ + """ RARC - Archive of files and folder """ @@ -95,8 +103,8 @@ class RARC: header_length: int file_offset: int file_data_length: int - file_data_length2: int - unknown0: int + file_data_mmem: int + file_data_amem: int unknown1: int # info block @@ -117,29 +125,29 @@ class RARC: @property def files_and_folders(self): - """ Generator for each file and directory """ + """Generator for each file and directory""" yield from self._root.files_and_folders(0) def read_string_table(rarc, data): - buffer = data[rarc.string_table_offset:][:rarc.string_table_length] + buffer = data[rarc.string_table_offset :][: rarc.string_table_length] rarc.string_table = StringTable() offset = 0 - for string in buffer.decode('ascii').split('\0'): + for string in str(buffer, "shift-jis").split("\0"): rarc.string_table.strings[offset] = string - offset += len(string) + 1 + offset += len(bytearray(string, "shift-jis")) + 1 def read_node(rarc, buffer): - node = Node(*struct.unpack('>IIHHI', buffer)) + node = Node(*struct.unpack(">IIHHI", buffer)) node.name = rarc.string_table.get(node.name_offset) node.rarc = rarc return node def read_nodes(rarc, data): - buffer = data[rarc.node_offset:][:rarc.node_count * NODE_SIZE] + buffer = data[rarc.node_offset :][: rarc.node_count * NODE_SIZE] rarc._nodes = [] for node_buffer in chunks(buffer, NODE_SIZE): node = read_node(rarc, node_buffer) @@ -149,38 +157,384 @@ def read_nodes(rarc, data): def read_directory(rarc, buffer, file_data): - header = struct.unpack('>HHHHIII', buffer) + header = struct.unpack(">HHHHIII", buffer) if header[0] == 0xFFFF: directory = Folder(*header) else: directory = File(*header) - directory.data = file_data[directory.data_offset:][:directory.data_length] + directory.data = file_data[directory.data_offset :][: directory.data_length] directory.name = rarc.string_table.get(directory.name_offset) directory.rarc = rarc return directory def read_directories(rarc, data, file_data): - buffer = data[rarc.directory_offset:][:rarc.directory_count * DIRECTORY_SIZE] + buffer = data[rarc.directory_offset :][: rarc.directory_count * DIRECTORY_SIZE] rarc._directories = [] for directory_buffer in chunks(buffer, DIRECTORY_SIZE): - rarc._directories.append(read_directory( - rarc, directory_buffer, file_data)) + rarc._directories.append(read_directory(rarc, directory_buffer, file_data)) def read(buffer) -> RARC: - """ Read and parse RARC from buffer. """ + """Read and parse RARC from buffer.""" # TODO: Add error checking - header = struct.unpack('>IIIIIIII', buffer[:32]) - info = struct.unpack('>IIIIIIHHI', buffer[32:][:32]) + header = struct.unpack(">IIIIIIII", buffer[:32]) + info = struct.unpack(">IIIIIIHHI", buffer[32:][:32]) rarc = RARC(*header, *info) data = buffer[32:] - file_data = data[rarc.file_offset:][:rarc.file_length] + file_data = data[rarc.file_offset :][: rarc.file_length] read_string_table(rarc, data) read_nodes(rarc, data) read_directories(rarc, data, file_data) return rarc + + +def extract_node(node, arcData, write_function, parentDir, dirNames) -> str: + nodeDir = Path(parentDir) / node.name + if not os.path.exists(nodeDir): + os.mkdir(nodeDir) + for i in range(node.directory_index, node.directory_count + node.directory_index): + dir = arcData._directories[i] + dirNames[i] = str(PurePosixPath(parentDir) / PurePosixPath(node.name)) + "/" + dir.name + if type(dir) == Folder and dir.name != "." and dir.name != "..": + for j, node2 in enumerate(arcData._nodes): + if dir.data_offset == j: + dirNames = extract_node( + node2, + arcData, + write_function, + Path(parentDir) / node.name, + dirNames, + ) + break + elif type(dir) == File: + dirNames[i] = write_function( + PurePosixPath(parentDir) / PurePosixPath(node.name) / dir.name, dir.data + ) + + return dirNames + + +def extract_to_directory(directory, data, write_function): + print("Extracting " + str(directory)) + if not os.path.exists(directory): + os.mkdir(directory) + arcData = read(data) + cwd = os.getcwd() + os.chdir(directory) + dirNames = extract_node( + arcData._root, arcData, write_function, "./", [None] * len(arcData._directories) + ) + + files_data = "" + for i, dir in enumerate(arcData._directories): + directoryIndicator = "" + specialType = "" + indexToUse = str(dir.index).zfill(len(str(len(arcData._directories)))) + if type(dir) == Folder: + directoryIndicator = "/" + indexToUse = "Folder" + if dir.type != 0x200 and dir.type != 0x1100 and dir.type != 0x9500: + specialType = ":" + hex(dir.type) + files_data = ( + files_data + + indexToUse + + ":" + + str(dirNames[i]) + + directoryIndicator + + specialType + + "\n" + ) + + fileDataLines = files_data.splitlines() + # fileDataLines.sort(key=lambda x : int(x.split(":")[0])) + filesFile = open("_files.txt", "w", encoding="utf-8") + for line in fileDataLines: + filesFile.write(line + "\n") + os.chdir(cwd) + return directory + + +def computeHash(string): + hash = 0 + for char in string: + hash = hash * 3 + hash = hash + ord(char) + + hash = ctypes.c_ushort(hash) + hash = hash.value + return hash + + +def getNodeIdent(fullName): + if len(fullName) < 4: + fullName = fullName.upper() + for i in range(4 - len(fullName)): + fullName = fullName + " " + else: + fullName = fullName.upper()[:4] + return struct.unpack(">I", fullName.encode("ascii"))[0] + + +def parseDirForPack( + fileDataLines, path, convertFunction, nodes, dirs, currentNode, stringTable, data +): + for i in range( + currentNode.directory_index, + currentNode.directory_count + currentNode.directory_index, + ): + currentLine = fileDataLines[i].split(":") + dirId = currentLine[0] + if dirId == "Folder": + dirId = 0xFFFF + else: + dirId = int(dirId) + currentLineName = currentLine[1] + specialDirType = 0 + if len(currentLine) > 2: + specialDirType = int(currentLine[2], 16) + if currentLineName[-1] == "/": + currentLineName = currentLineName[0:-1] + dirName = currentLineName.split("/")[-1] + if ( + dirName == "." + or dirName == ".." + or ( + os.path.isdir(path / currentLineName) + and len(os.path.splitext(dirName)[1]) == 0 + ) + ): + stringTableOffset = 0 + nodeIndex = nodes.index(currentNode) + if dirName == "..": + if currentNode.parent == None: + nodeIndex = 0xFFFFFFFF + else: + nodeIndex = nodes.index(currentNode.parent) + stringTableOffset = 2 + if dirName != "." and dirName != "..": + stringTableOffset = len(bytearray(stringTable, "shift-jis")) + stringTable = stringTable + dirName + "\0" + dirsInCurrentDir = [] + for j, line in enumerate(fileDataLines): + split = line.split(":")[1].split("/") + if split[-1] == "": + split.pop() + if currentLineName == "/".join(split[0:-1]): + dirsInCurrentDir.append(j) + newNode = Node( + getNodeIdent(dirName), + stringTableOffset, + computeHash(dirName), + len(dirsInCurrentDir), + dirsInCurrentDir[0], + dirName, + ) + newNode.parent = currentNode + nodes.append(newNode) + nodeIndex = len(nodes) - 1 + stringTable, nodes, dirs, data = parseDirForPack( + fileDataLines, + path, + convertFunction, + nodes, + dirs, + newNode, + stringTable, + data, + ) + dirs[i] = Folder( + dirId, + computeHash(dirName), + 0x200, + stringTableOffset, + nodeIndex, + 16, + 0, + dirName, + ) + else: + realFileName, fileData = convertFunction(currentLineName, path, None, True) + realFileName = os.path.basename(realFileName) + stringTableOffset = len(bytearray(stringTable, "shift-jis")) + stringTable = stringTable + realFileName + "\0" + fileType = 0x1100 + if fileData[:4] == bytearray("Yaz0", "utf-8"): + fileType = 0x9500 + if specialDirType != 0: + fileType = specialDirType + dirs[i] = File( + dirId, + computeHash(realFileName), + fileType, + stringTableOffset, + len(data), + len(fileData), + 0, + realFileName, + ) + data = data + fileData + fileEndPadding = 0x20 - (len(data) % 0x20) + if fileEndPadding == 0x20: + fileEndPadding = 0 + data = data + bytearray(fileEndPadding) + return stringTable, nodes, dirs, data + + +def convert_dir_to_arc(sourceDir, convertFunction): + # print("Converting "+str(sourceDir)) + fileData = open(sourceDir / "_files.txt", "r", encoding="utf-8").read() + fileDataLinesFull = fileData.splitlines() + # fileDataLinesFull.sort(key=lambda x : int(x.split(":")[0])) + + fileDataLines = [] + for line in fileDataLinesFull: + # fileDataLines.append(":".join(line.split(":")[1:])) #this should map directory ids to their index directly + fileDataLines.append(line) + + rootName = fileDataLines[0].split(":")[1].split("/")[0] + nodes = [] + dirs = [None] * len(fileDataLines) + stringTable = ".\0..\0" + nodes.append( + Node( + getNodeIdent("ROOT"), + len(stringTable), + computeHash(rootName), + len(os.listdir(sourceDir / rootName)) + 2, + 0, + rootName, + ) + ) + stringTable = stringTable + rootName + "\0" + data = bytearray(0) + + stringTable, nodes, dirs, data = parseDirForPack( + fileDataLines, + sourceDir, + convertFunction, + nodes, + dirs, + nodes[0], + stringTable, + data, + ) + + dirOffset = 32 + (len(nodes) * 16) + dirOffsetPadding = 0x20 - (dirOffset % 0x20) + if dirOffsetPadding == 0x20: + dirOffsetPadding = 0 + dirOffset = dirOffset + dirOffsetPadding + stringTableOffset = dirOffset + (len(dirs) * 20) + stringTablePadding = 0x20 - (stringTableOffset % 0x20) + stringTableOffset = stringTableOffset + stringTablePadding + stringTableLen = len(bytearray(stringTable, "shift-jis")) + fileOffset = stringTableOffset + stringTableLen + fileOffsetPadding = 0x20 - (fileOffset % 0x20) + if fileOffsetPadding == 0x20: + fileOffsetPadding = 0 + fileOffset = fileOffset + fileOffsetPadding + + fileLength = fileOffset + len(data) + + mMemLength = len(data) + aMemLength = 0 + + fileCount = len(dirs) + folderCount = 0 + for dir in dirs: + if type(dir) == Folder: + folderCount = folderCount + 1 + if aMemLength == 0 and dir.type == 0xA500: + aMemLength = mMemLength + mMemLength = 0 + # hacky way to detect rels.arc + + if folderCount == 2: + fileCount = fileCount - 2 # need to check on the logic for this + + arcHeader = RARC( + 1380012611, + fileLength, + 32, + fileOffset, + len(data), + mMemLength, + aMemLength, + 0, + len(nodes), + 32, + len(dirs), + dirOffset, + stringTableLen + stringTablePadding, + stringTableOffset, + fileCount, + 256, + 0, + ) + headerData = struct.pack( + ">IIIIIIIIIIIIIIHHI", + 1380012611, + fileLength, + 32, + fileOffset, + len(data), + mMemLength, + aMemLength, + 0, + len(nodes), + 32, + len(dirs), + dirOffset, + stringTableLen + fileOffsetPadding, + stringTableOffset, + fileCount, + 256, + 0, + ) + nodeData = bytearray() + for node in nodes: + nodeData = nodeData + struct.pack( + ">IIHHI", + node.identifier, + node.name_offset, + node.name_hash, + node.directory_count, + node.directory_index, + ) + + dirOffsetPaddingData = bytearray(dirOffsetPadding) + dirData = bytearray() + for dir in dirs: + dirData = dirData + struct.pack( + ">HHHHIII", + dir.index, + dir.name_hash, + dir.type, + dir.name_offset, + dir.data_offset, + dir.data_length, + dir.unknown0, + ) + + stringTablePaddingData = bytearray(stringTablePadding) + stringTableData = bytearray(stringTable, "shift-jis") + fileOffsetPaddingData = bytearray(fileOffsetPadding) + + fullData = bytearray() + fullData = ( + headerData + + nodeData + + dirOffsetPaddingData + + dirData + + stringTablePaddingData + + stringTableData + + fileOffsetPaddingData + + data + ) + + return fullData diff --git a/tools/librel/rellib.py b/tools/librel/rellib.py index 1c08e71c2e7..a9a6539d2f1 100644 --- a/tools/librel/rellib.py +++ b/tools/librel/rellib.py @@ -1,6 +1,6 @@ import struct import os -import yaz0 +import libyaz0 import io from dataclasses import dataclass, field @@ -149,7 +149,7 @@ def read_section(index, buffer): def read(buffer): # check if the rel is compressed if struct.unpack('>I', buffer[:4])[0] == 0x59617A30: - buffer = yaz0.decompress(io.BytesIO(buffer)) + buffer = libyaz0.decompress(io.BytesIO(buffer)) header_size = 0x40 header = struct.unpack('>IIIIIIIIIIIIBBBBIII', buffer[:0x40]) diff --git a/tools/libyaz0/__init__.py b/tools/libyaz0/__init__.py new file mode 100644 index 00000000000..dd448697778 --- /dev/null +++ b/tools/libyaz0/__init__.py @@ -0,0 +1 @@ +from .yaz0 import * \ No newline at end of file diff --git a/tools/libyaz0/yaz0.py b/tools/libyaz0/yaz0.py new file mode 100644 index 00000000000..aedb3e025ec --- /dev/null +++ b/tools/libyaz0/yaz0.py @@ -0,0 +1,33 @@ +import ctypes +import struct + +_yaz0lib = ctypes.cdll.LoadLibrary("build/yaz0.so") + +if _yaz0lib == None: + print("Error: build/yaz0.so failed to load!") + +def decompress(data): + header = data[0:4] + if header != bytearray("Yaz0","ascii"): + return None + decompressedSize = struct.unpack(">I",data[4:8])[0] + compressedDataBuffer = ctypes.c_buffer(bytes(data[16:])) + decompressedDataBuffer = ctypes.c_buffer(bytes(decompressedSize)) + decode = _yaz0lib.yaz0_decode + decode.argtypes = [ctypes.c_char_p,ctypes.c_char_p,ctypes.c_int] + decode.restype = ctypes.c_int + decode(compressedDataBuffer,decompressedDataBuffer,decompressedSize) + return bytearray(decompressedDataBuffer)[:-1] + +def compress(data): + decompresseddDataBuffer = ctypes.c_buffer(data) + compressedDataBuffer = ctypes.c_buffer(bytes(len(data)*2)) + encode = _yaz0lib.yaz0_encode + encode.argtypes = [ctypes.c_char_p,ctypes.c_char_p,ctypes.c_int] + encode.restype = ctypes.c_int + size = encode(decompresseddDataBuffer,compressedDataBuffer,len(data)) + + header_padding = bytearray(8) + ident = bytearray("Yaz0","ascii") + sizeInt = struct.pack(">I",len(data)) + return ident + sizeInt + header_padding + bytearray(compressedDataBuffer)[:size] diff --git a/tools/makerel.py b/tools/makerel.py index 763ce1726d8..4ed4fb30508 100644 --- a/tools/makerel.py +++ b/tools/makerel.py @@ -583,5 +583,27 @@ def load_elfs(str_paths): return static, plfs +def convert_arg_line_to_args(arg_line: str): + return arg_line.split(' ') + + +def _read_args_from_files(args: List[str]): + new_args: List[str] = [] + for arg in args: + if not arg or arg[0] != '@': + new_args.append(arg) + else: + with open(arg[1:], 'r') as file: + file_args: List[str] = [] + for line in file: + for file_arg in convert_arg_line_to_args(line.strip()): + file_args.append(file_arg) + file_args = _read_args_from_files(file_args) + new_args.extend(file_args) + + return new_args + + if __name__ == "__main__": - makerel() + args = _read_args_from_files(sys.argv[1:]) + makerel(args) diff --git a/tools/package_game_assets.py b/tools/package_game_assets.py index ae1053e833c..d8f186c5f03 100644 --- a/tools/package_game_assets.py +++ b/tools/package_game_assets.py @@ -3,28 +3,96 @@ import sys import shutil import extract_game_assets from pathlib import Path -import hashlib -import struct -import ctypes -import oead +import libyaz0 +import libarc +import threading -def copy(path, destPath): +def getMaxDateFromDir(path): + maxTime = 0 for root, dirs, files in os.walk(str(path)): for file in files: - outputDir = destPath / Path(str(root)) - # print(str(outputDir.absolute())+file) - if not outputDir.absolute().exists(): - os.makedirs(outputDir.absolute()) - outputFile = Path(str(outputDir.absolute()) + "/" + str(file)) - inFile = Path(str(Path(root).absolute()) + "/" + str(file)) - if not outputFile.exists(): - print(str(inFile) + " -> " + str(outputFile)) - shutil.copyfile(inFile, outputFile) - else: - if os.path.getmtime(inFile) > os.path.getmtime(outputFile): - print(str(inFile) + " -> " + str(outputFile)) - shutil.copyfile(inFile, outputFile) + time = os.path.getmtime(Path(root + "/" + file)) + if time > maxTime: + maxTime = time + return maxTime + + +convertDefinitions = [ + { + "sourceExtension": ".arc", + "destExtension": ".arc", + "convertFunction": libarc.convert_dir_to_arc, + "exceptions": ["game/files/res/Object/HomeBtn.c.arc/archive/dat/speakerse.arc"], + } +] + + +def convertEntry(file, path, destPath, returnData): + split = os.path.splitext(file) + mustBeCompressed = False + destFileName = file + if split[0].split(".")[-1] == "c": + destFileName = split[0][0:-2] + split[-1] + mustBeCompressed = True + sourceExtension = split[-1] + data = None + + extractDef = None + for extractData in convertDefinitions: + if sourceExtension == extractData["sourceExtension"]: + extractDef = extractData + if extractData["exceptions"] != None: + for exception in extractData["exceptions"]: + if str(path / file) == exception: + extractDef = None + break + + if extractDef != None: + destFileName = os.path.splitext(destFileName)[0] + extractDef["destExtension"] + + targetTime = 0 + if destPath != None and os.path.exists(destPath / destFileName): + targetTime = os.path.getmtime(destPath / destFileName) + sourceTime = 0 + if targetTime != 0: + if os.path.isdir(path / file): + sourceTime = getMaxDateFromDir(path / file) + else: + sourceTime = os.path.getmtime(path / file) + if returnData == False and sourceTime < targetTime: + return destFileName + + if extractDef != None: + data = extractDef["convertFunction"](path / file, convertEntry) + + if mustBeCompressed == True: + if data == None: + data = open(path / file, "rb").read() + data = libyaz0.compress(data) + if returnData == True: + if data == None and returnData == True: + data = open(path / file, "rb").read() + return destFileName, data + else: + print(str(path / file) + " -> " + str(destPath / destFileName)) + if data != None: + open(destPath / destFileName, "wb").write(data) + else: + shutil.copy(path / file, destPath / destFileName) + return destFileName + +def copy(path, destPath): + for file in os.listdir(path): + split = os.path.splitext(file) + if len(split[1]) == 0 and os.path.isdir(path / file): + # is a standard directory + if not Path(destPath / file).exists(): + os.mkdir(destPath / file) + copy(path / file, destPath / file) + else: + # either a file or directory that needs to be converted + convertEntry(file, path, destPath, False) aMemRels = """d_a_alldie.rel @@ -163,89 +231,10 @@ d_a_vrbox.rel d_a_vrbox2.rel f_pc_profile_lst.rel""" -# Because libarc is only geared toward reading from arcs I'm writing my own arc writer in this file - -class HEADER: - RARC: int - length: int - headerLength: int - fileDataOffset: int - fileDataLen: int - fileDataLen2: int - unk1: int - unk2: int - - -class INFO: - numNodes: int - firstNodeOffset: int - totalDirNum: int - firstDirOffset: int - stringTableLen: int - stringTableOffset: int - numDirsThatAreFiles: int - unk1: int - unk2: int - - -class NODE: - NAME: int - stringTableOffset: int - hash: int - numDirs: int - firstDirIndex: int - - -class DIRECTORY: - dirIndex: int - stringHash: int - type: int - stringOffset: int - fileOffset: int - fileLength: int - unk1: int - - -def computeHash(string): - hash = 0 - for char in string: - hash = hash * 3 - hash = hash + ord(char) - - hash = ctypes.c_ushort(hash) - hash = hash.value - return hash - - -def addFile(index, sizeIndex, dirs, name, stringTable, paths, data): - file = DIRECTORY() - file.dirIndex = index - file.stringHash = computeHash(name) - file.type = 0xA500 - file.stringOffset = stringTable.find(name) - path = None - for relPath in paths: - if str(relPath).find(name) != -1: - path = relPath - file.unk1 = 0 - fileData = open(path, "rb") - compressedData = oead.yaz0.compress(fileData.read()) - padding = 0x20 - (len(compressedData) % 0x20) - file.fileLength = len(compressedData) - file.fileOffset = sizeIndex - sizeIndex = sizeIndex + file.fileLength + padding - data += compressedData - data += bytearray(padding) - fileData.close() - dirs.append(file) - - return dirs, data, sizeIndex - - -def copyRelFiles(buildPath, aMemList, mMemList): +def copyRelFiles(gamePath, buildPath, aMemList, mMemList): relArcPaths = [] - for root, dirs, files in os.walk(str(buildPath / "rel")): + for root, dirs, files in os.walk(str(buildPath / "dolzel2/rel")): for file in files: if file.find(".rel") != -1: relArcFound = False @@ -260,14 +249,14 @@ def copyRelFiles(buildPath, aMemList, mMemList): print( str(fullPath) + " -> " - + str(buildPath / "game/files/rel/Final/Release" / file) + + str(buildPath / "dolzel2/game/files/rel/Final/Release" / file) ) relSource = open(fullPath, "rb") data = relSource.read() relSource.close() - data = oead.yaz0.compress(data) + data = libyaz0.compress(data) relNew = open( - buildPath / "game/files/rel/Final/Release" / file, "wb" + buildPath / "dolzel2/game/files/rel/Final/Release" / file, "wb" ) relNew.write(data) relNew.truncate() @@ -275,225 +264,45 @@ def copyRelFiles(buildPath, aMemList, mMemList): else: relArcPaths.append(fullPath) - arcHeader = HEADER() - arcHeader.RARC = 0x52415243 - arcHeader.headerLength = 0x20 - arcHeader.unk1 = 0 - arcHeader.unk2 = 0 - infoBlock = INFO() - infoBlock.numNodes = 3 - infoBlock.numDirsThatAreFiles = 142 - rootNode = NODE() - rootNode.NAME = 0x524F4F54 - rootNode.numDirs = 4 - rootNode.firstDirIndex = 0 - rootNode.hash = computeHash("rels") - aMemNode = NODE() - aMemNode.NAME = 0x414D454D - aMemNode.hash = computeHash("amem") - aMemNode.numDirs = 79 - aMemNode.firstDirIndex = 4 - mMemNode = NODE() - mMemNode.hash = computeHash("mmem") - mMemNode.NAME = 0x4D4D454D - mMemNode.numDirs = 59 - mMemNode.firstDirIndex = 83 + if os.path.exists(buildPath / "RELS.arc") == False: + os.mkdir(buildPath / "RELS.arc") + os.mkdir(buildPath / "RELS.arc/rels") + os.mkdir(buildPath / "RELS.arc/rels/mmem") + os.mkdir(buildPath / "RELS.arc/rels/amem") - stringTable = ".\0..\0rels\0amem\0" - for rel in aMemList: - stringTable = stringTable + rel + "\0" - stringTable = stringTable + "mmem\0" - for rel in mMemList: - stringTable = stringTable + rel + "\0" - stringTable = stringTable + "\0\0\0\0\0\0" - - rootNode.stringTableOffset = stringTable.find("rels") - aMemNode.stringTableOffset = stringTable.find("amem") - mMemNode.stringTableOffset = stringTable.find("mmem") - - aMemDir = DIRECTORY() - aMemDir.dirIndex = 0xFFFF - aMemDir.type = 0x200 - aMemDir.stringOffset = stringTable.find("amem") - aMemDir.stringHash = computeHash("amem") - aMemDir.fileOffset = 1 - aMemDir.fileLength = 0x10 - aMemDir.unk1 = 0 - - mMemDir = DIRECTORY() - mMemDir.dirIndex = 0xFFFF - mMemDir.type = 0x200 - mMemDir.stringOffset = stringTable.find("mmem") - mMemDir.stringHash = computeHash("mmem") - mMemDir.fileOffset = 2 - mMemDir.fileLength = 0x10 - mMemDir.unk1 = 0 - - unkDir = DIRECTORY() - unkDir.dirIndex = 0xFFFF - unkDir.stringHash = 0x2E - unkDir.type = 0x200 - unkDir.stringOffset = 0 - unkDir.fileOffset = 0 - unkDir.fileLength = 0x10 - unkDir.unk1 = 0 - - unkDir2 = DIRECTORY() - unkDir2.dirIndex = 0xFFFF - unkDir2.stringHash = 0xB8 - unkDir2.type = 0x200 - unkDir2.stringOffset = 2 - unkDir2.fileOffset = 0xFFFFFFFF - unkDir2.fileLength = 0x10 - unkDir2.unk1 = 0 - - dirs = [aMemDir, mMemDir, unkDir, unkDir2] - - data = bytearray() - - dirIndex = 4 - sizeIndex = 0 - for rel in aMemList: - retdirs, retdata, retSize = addFile( - dirIndex, sizeIndex, dirs, rel, stringTable, relArcPaths, data - ) - dirIndex = dirIndex + 1 - sizeIndex = retSize - dirs = retdirs - data = retdata - dirs.append(unkDir) - dirs.append(unkDir2) - dirIndex = dirIndex + 2 - for rel in mMemList: - retdirs, retdata, retSize = addFile( - dirIndex, sizeIndex, dirs, rel, stringTable, relArcPaths, data - ) - dirIndex = dirIndex + 1 - sizeIndex = retSize - # print(hex(dirIndex)) - dirs = retdirs - data = retdata - unkDir3 = DIRECTORY() - unkDir3.dirIndex = 0xFFFF - unkDir3.stringHash = 0x2E - unkDir3.type = 0x200 - unkDir3.stringOffset = 0 - unkDir3.fileOffset = 2 - unkDir3.fileLength = 0x10 - unkDir3.unk1 = 0 - - unkDir4 = DIRECTORY() - unkDir4.dirIndex = 0xFFFF - unkDir4.stringHash = 0xB8 - unkDir4.type = 0x200 - unkDir4.stringOffset = 2 - unkDir4.fileOffset = 0 - unkDir4.fileLength = 0x10 - unkDir4.unk1 = 0 - dirs.append(unkDir3) - dirs.append(unkDir4) - dirIndex = dirIndex + 2 - - arcHeader.length = ( - len(stringTable) + 0x20 + 0x20 + 0x30 + (len(dirs) * 0x14) + len(data) + filesTxtData = ( + "Folder:rels/amem/\nFolder:rels/mmem/\nFolder:rels/./\nFolder:rels/../\n" ) - arcHeader.fileDataOffset = 0x14E0 - arcHeader.fileDataLen = len(data) - arcHeader.fileDataLen2 = arcHeader.fileDataLen + for i, rel in enumerate(aMemRels.splitlines()): + filesTxtData = filesTxtData + str(i + 4) + ":rels/amem/" + rel + ":0xa500\n" + filesTxtData = filesTxtData + "Folder:rels/amem/./\nFolder:rels/amem/../\n" + for i, rel in enumerate(mMemRels.splitlines()): + filesTxtData = filesTxtData + str(i + 83) + ":rels/mmem/" + rel + ":0xa500\n" + filesTxtData = filesTxtData + "Folder:rels/mmem/./\nFolder:rels/mmem/../\n" + open(buildPath / "RELS.arc/_files.txt", "w").write(filesTxtData) + for rel in relArcPaths: + for rel2 in aMemRels.splitlines(): + if str(rel).find(rel2) != -1: + sourceRel = open(rel, "rb").read() + open(buildPath / "RELS.arc/rels/amem/" / rel2, "wb").write( + libyaz0.compress(sourceRel) + ) + break + for rel2 in mMemRels.splitlines(): + if str(rel).find(rel2) != -1: + sourceRel = open(rel, "rb").read() + open(buildPath / "RELS.arc/rels/mmem/" / rel2, "wb").write( + libyaz0.compress(sourceRel) + ) + break - infoBlock.firstNodeOffset = 0x20 - infoBlock.firstDirOffset = 0x60 - infoBlock.stringTableLen = len(stringTable) - infoBlock.stringTableOffset = 0xB80 - infoBlock.unk1 = 0x100 - infoBlock.unk2 = 0 - infoBlock.totalDirNum = 0x8E - - outputArcFile = open(buildPath / "game/files/RELS.arc", "wb") - outputArcFile.seek(0) - - outputArcFile.write( - struct.pack( - ">IIIIIIII", - arcHeader.RARC, - arcHeader.length, - arcHeader.headerLength, - arcHeader.fileDataOffset, - arcHeader.fileDataLen, - arcHeader.unk1, - arcHeader.fileDataLen2, - arcHeader.unk2, - ) + print("Creating RELS.arc") + open(buildPath / "dolzel2/game/files/RELS.arc", "wb").write( + libarc.convert_dir_to_arc(buildPath / "RELS.arc", convertEntry) ) - outputArcFile.write( - struct.pack( - ">IIIIIIHHI", - infoBlock.numNodes, - infoBlock.firstNodeOffset, - infoBlock.totalDirNum, - infoBlock.firstDirOffset, - infoBlock.stringTableLen, - infoBlock.stringTableOffset, - infoBlock.numDirsThatAreFiles, - infoBlock.unk1, - infoBlock.unk2, - ) - ) - outputArcFile.write( - struct.pack( - ">IIHHI", - rootNode.NAME, - rootNode.stringTableOffset, - rootNode.hash, - rootNode.numDirs, - rootNode.firstDirIndex, - ) - ) - outputArcFile.write( - struct.pack( - ">IIHHI", - aMemNode.NAME, - aMemNode.stringTableOffset, - aMemNode.hash, - aMemNode.numDirs, - aMemNode.firstDirIndex, - ) - ) - outputArcFile.write( - struct.pack( - ">IIHHI", - mMemNode.NAME, - mMemNode.stringTableOffset, - mMemNode.hash, - mMemNode.numDirs, - mMemNode.firstDirIndex, - ) - ) - outputArcFile.write(bytearray(16)) - for dir in dirs: - outputArcFile.write( - struct.pack( - ">HHHHIII", - dir.dirIndex, - dir.stringHash, - dir.type, - dir.stringOffset, - dir.fileOffset, - dir.fileLength, - dir.unk1, - ) - ) - outputArcFile.write(bytearray(8)) - strBytearray = bytearray() - strBytearray.extend(map(ord, stringTable)) - outputArcFile.write(strBytearray) - outputArcFile.write(data) - - outputArcFile.truncate() - outputArcFile.close() -def main(gamePath, buildPath): +def main(gamePath, buildPath, copyCode): if not gamePath.exists(): gamePath.mkdir(parents=True, exist_ok=True) @@ -510,17 +319,26 @@ def main(gamePath, buildPath): os.chdir(previousDir) print("Copying game files...") - copy(gamePath, buildPath.absolute()) + if os.path.exists(buildPath / "dolzel2") == False: + os.mkdir(buildPath / "dolzel2") + if os.path.exists(buildPath / "dolzel2" / "game") == False: + os.mkdir(buildPath / "dolzel2/game") + copy(gamePath, Path(buildPath / "dolzel2/game").absolute()) - print( - str(buildPath / "main_shift.dol") - + " -> " - + str(buildPath / "game/sys/main.dol") - ) - shutil.copyfile(buildPath / "main_shift.dol", buildPath / "game/sys/main.dol") + if copyCode != "noCopyCode": + print( + str(buildPath / "dolzel2/main_shift.dol") + + " -> " + + str(buildPath / "dolzel2/game/sys/main.dol") + ) + shutil.copyfile( + buildPath / "dolzel2/main_shift.dol", + buildPath / "dolzel2/game/sys/main.dol", + ) - copyRelFiles(buildPath, aMemRels.splitlines(), mMemRels.splitlines()) + copyRelFiles(gamePath, buildPath, aMemRels.splitlines(), mMemRels.splitlines()) if __name__ == "__main__": - main(Path(sys.argv[1]), Path(sys.argv[2])) + pass + main(Path(sys.argv[1]), Path(sys.argv[2]), sys.argv[3]) diff --git a/tools/requirements.txt b/tools/requirements.txt index 3bd1bb7a620..d6052029675 100644 --- a/tools/requirements.txt +++ b/tools/requirements.txt @@ -1,6 +1,5 @@ rich click -yaz0 GitPython hexdump colorama @@ -8,5 +7,5 @@ ansiwrap watchdog python-Levenshtein cxxfilt -oead -pyelftools \ No newline at end of file +pyelftools +requests diff --git a/tools/tp.py b/tools/tp.py index b268efdd255..21c07bf69d1 100644 --- a/tools/tp.py +++ b/tools/tp.py @@ -4,37 +4,26 @@ tp.py - Various tools used for the zeldaret/tp project. """ +import hashlib +import io import os import sys import time -import struct import json import subprocess +import logging import multiprocessing as mp import shutil import platform import stat +import zipfile from dataclasses import dataclass, field from typing import Dict, List, Set, Tuple from pathlib import Path -try: - import click - import logging - import hashlib - import libdol - import librel - import libarc - import io - import extract_game_assets - from rich.logging import RichHandler - from rich.console import Console - from rich.progress import Progress - from rich.text import Text - from rich.table import Table -except ImportError as e: +def _handle_import_error(ex: ImportError): MISSING_PREREQUISITES = ( f"Missing prerequisite python module {e}.\n" f"Run `python3 -m pip install --user -r tools/requirements.txt` to install prerequisites." @@ -43,6 +32,20 @@ except ImportError as e: print(MISSING_PREREQUISITES, file=sys.stderr) sys.exit(1) +try: + import click + import libdol + import libarc + import requests + + from rich.logging import RichHandler + from rich.console import Console + from rich.progress import Progress + from rich.text import Text + from rich.table import Table +except ImportError as ex: + _handle_import_error(ex) + class PathPath(click.Path): def convert(self, value, param, ctx): @@ -145,19 +148,29 @@ def setup(debug: bool, game_path: Path, tools_path: Path): sys.exit(1) # - text = Text("--- Patching compiler") + text = Text("--- Fetching compiler") text.stylize("bold magenta") CONSOLE.print(text) compilers = tools_path.joinpath("mwcc_compiler") if not compilers.exists() or not compilers.is_dir(): - LOG.error( - ( - f"Unable to find MWCC compilers: missing directory '{compilers}'\n" - f"Check the README for instructions on how to obtain the compilers" - ) - ) - sys.exit(1) + os.mkdir(compilers) + r = requests.get('https://cdn.discordapp.com/attachments/727918646525165659/917185027656286218/GC_WII_COMPILERS.zip') + z = zipfile.ZipFile(io.BytesIO(r.content)) + z.extractall(compilers) + gc_path = compilers.joinpath("GC") + + allfiles = os.listdir(gc_path) + for f in allfiles: + src_path = os.path.join(gc_path, f) + dst_path = os.path.join(compilers, f) + shutil.move(src_path, dst_path) + os.rmdir(gc_path) + + # + text = Text("--- Patching compiler") + text.stylize("bold magenta") + CONSOLE.print(text) c27 = compilers.joinpath("2.7") if not c27.exists() or not c27.is_dir(): @@ -189,14 +202,12 @@ def setup(debug: bool, game_path: Path, tools_path: Path): ) sys.exit(1) - c27_lmgr326b = c27.joinpath("Lmgr326b.dll") - if not c27_lmgr326b.exists() or not c27_lmgr326b.is_file(): - c27_lmgr326b = c27.joinpath("lmgr326b.dll") - if not c27_lmgr326b.exists() or not c27_lmgr326b.is_file(): - c27_lmgr326b = c27.joinpath("LMGR326B.dll") - if not c27_lmgr326b.exists() or not c27_lmgr326b.is_file(): - c27_lmgr326b = c27.joinpath("LMGR326B.DLL") - if not c27_lmgr326b.exists() or not c27_lmgr326b.is_file(): + c27_lmgr326b = None + for name in os.listdir(c27): + if name.lower() == "lmgr326b.dll": + c27_lmgr326b = c27.joinpath(name) + break + if not c27_lmgr326b or not c27_lmgr326b.is_file(): LOG.error( ( f"Unable to find 'lmgr326b.dll' in '{c27}': missing file '{c27_lmgr326b}'\n" @@ -205,15 +216,15 @@ def setup(debug: bool, game_path: Path, tools_path: Path): ) sys.exit(1) - c27_lmgr326b_cc = c27.joinpath("LMGR326B.dll") - if not c27_lmgr326b_cc.exists() or not c27_lmgr326b_cc.is_file(): - LOG.debug(f"copy: '{c27_lmgr326b}', to: '{c27_lmgr326b_cc}'") - shutil.copy(c27_lmgr326b, c27_lmgr326b_cc) + def copy_lmgr326b(path: Path): + lmgr326b_cc = path.joinpath("LMGR326B.dll") + if not lmgr326b_cc.is_file(): + LOG.debug(f"copy: '{c27_lmgr326b}', to: '{lmgr326b_cc}'") + shutil.copy(c27_lmgr326b, lmgr326b_cc) - c125_lmgr326b_cc = c125.joinpath("LMGR326B.dll") - if not c125_lmgr326b_cc.exists() or not c125_lmgr326b_cc.is_file(): - LOG.debug(f"copy: '{c27_lmgr326b}', to: '{c125_lmgr326b_cc}'") - shutil.copy(c27_lmgr326b, c125_lmgr326b_cc) + copy_lmgr326b(c27) + copy_lmgr326b(c125) + copy_lmgr326b(c125e) c27_mwcceppc = c27.joinpath("mwcceppc.exe") if not c27_mwcceppc.exists() or not c27_mwcceppc.is_file(): @@ -247,7 +258,7 @@ def setup(debug: bool, game_path: Path, tools_path: Path): c27_mwcceppc_old = c27.joinpath("mwcceppc.old.exe") c27_mwcceppc_orignal = c27.joinpath("mwcceppc.exe") - c27_mwcceppc_patched = c27.joinpath("mwcceppc_patched.exe") + c27_mwcceppc_patched = c27.joinpath("mwcceppc_modded.exe") def patch_compiler(src: Path, dst: Path, apply: bool): with src.open("rb") as src_file: @@ -284,6 +295,18 @@ def setup(debug: bool, game_path: Path, tools_path: Path): ) sys.exit(1) + # add execute flag to compilers for WSL + if os.name == 'posix': + subprocess.run(['chmod', '+x'] + list(compilers.glob("*/*.exe"))) + + # + text = Text("--- Building tools") + text.stylize("bold magenta") + CONSOLE.print(text) + if subprocess.run(["make", "tools"]).returncode != 0: + LOG.error("An error occurred while running 'make tools'") + exit(1) + # text = Text("--- Extracting game assets") text.stylize("bold magenta") @@ -300,11 +323,14 @@ def setup(debug: bool, game_path: Path, tools_path: Path): sys.exit(1) try: + import extract_game_assets previous_dir = os.getcwd() os.chdir(str(game_path.absolute())) extract_game_assets.extract("../" + str(iso)) os.chdir(previous_dir) - except e as Exception: + except ImportError as ex: + _handle_import_error(ex) + except Exception as e: LOG.error(f"failure:") LOG.error(e) sys.exit(1) @@ -415,7 +441,7 @@ class ProgressGroup: def calculate_rel_progress(build_path: Path, matching: bool, format: str, asm_files: Set[Path], ranges: List[Tuple[int, int]]): - results = [] + results: List[ProgressGroup] = [] start = time.time() rel_paths = get_files_with_ext(build_path.joinpath("rel"), ".rel") end = time.time() @@ -424,12 +450,13 @@ def calculate_rel_progress(build_path: Path, matching: bool, format: str, asm_fi start = time.time() from collections import defaultdict + str_asm_rel = f"asm{os.path.sep}rel{os.path.sep}" range_dict = defaultdict(list) for file, range in zip(asm_files, ranges): str_file = str(file) - if not str_file.startswith("asm/rel/"): + if not str_file.startswith(str_asm_rel): continue - rel = str_file.split("/")[-3] + rel = str_file.split(os.path.sep)[-3] range_dict[rel].append(range[1] - range[0]) end = time.time() @@ -446,6 +473,7 @@ def calculate_rel_progress(build_path: Path, matching: bool, format: str, asm_fi decompiled = size - sum(rel_ranges) results.append(ProgressGroup(name, size, decompiled, {})) + results.sort(key=lambda prog: prog.name) return results @@ -803,7 +831,7 @@ def remove_unused_asm(check: bool): @click.option("--debug/--no-debug") @click.option( "--rels", - default=False, + default=True, is_flag=True, help="RELs will also be build and checked", ) @@ -1119,6 +1147,11 @@ class CheckException(Exception): def check_sha1(game_path: Path, build_path: Path, include_rels: bool): + try: + import librel + except ImportError as ex: + _handle_import_error(ex) + EXPECTED = {} EXPECTED[0] = ( "", diff --git a/tools/transform-dep.py b/tools/transform-dep.py index bdb29e50133..0e2d4d05318 100755 --- a/tools/transform-dep.py +++ b/tools/transform-dep.py @@ -3,48 +3,71 @@ import argparse import os from platform import uname +from typing import List if os.name != 'nt': wineprefix = os.environ.get('WINEPREFIX', os.path.join(os.environ['HOME'], '.wine')) winedevices = os.path.join(wineprefix, 'dosdevices') + def in_wsl() -> bool: - return 'microsoft-standard' in uname().release + # wsl1 has Microsoft, wsl2 has microsoft-standard + release = uname().release + return 'microsoft-standard' in release or 'Microsoft' in release -def import_d_file(in_file) -> str: - out_lines = [] - with open(in_file) as file: - for idx, line in enumerate(file): - if idx == 0: - if line.endswith(' \\\n'): - out_lines.append(line[:-3].replace('\\', '/') + " \\\n") - else: - out_lines.append(line.replace('\\', '/')) +def convert_path(path: str) -> str: + # lowercase drive letter + path = path[0].lower() + path[1:] + if os.name == 'nt': + return path.replace('\\', '/') + elif path[0] == 'z': + # shortcut for z: + return path[2:].replace('\\', '/') + elif in_wsl(): + if path.startswith(r'\\wsl'): + # first part could be wsl$ or wsl.localhost + pos = path.find('\\', 2) + pos = path.find('\\', pos + 1) + path = path[pos:] + return path.replace('\\', '/') + else: + path = path[0:1] + path[2:] + return os.path.join('/mnt', path.replace('\\', '/')) + else: + # use $WINEPREFIX/dosdevices to resolve path + return os.path.realpath(os.path.join(winedevices, path.replace('\\', '/'))) + + +def import_d_file(in_file: str) -> str: + out_lines: List[str] = [] + + with open(in_file, 'r') as file: + it = iter(file) + line = next(it) + if line.endswith(' \\\n'): + out_lines.append(line[:-3].replace('\\', '/') + " \\\n") + else: + out_lines.append(line.replace('\\', '/')) + + headers: List[str] = [] + for line in it: + suffix = '' + if line.endswith(' \\\n'): + suffix = ' \\' + path = line.lstrip()[:-3] else: - suffix = '' - if line.endswith(' \\\n'): - suffix = ' \\' - path = line.lstrip()[:-3] - else: - path = line.strip() - # lowercase drive letter - path = path[0].lower() + path[1:] - if os.name == 'nt': - path = path.replace('\\', '/') - elif path[0] == 'z': - # shortcut for z: - path = path[2:].replace('\\', '/') - elif in_wsl(): - path = path[0:1] + path[2:] - path = os.path.join('/mnt', path.replace('\\', '/')) - else: - # use $WINEPREFIX/dosdevices to resolve path - path = os.path.realpath(os.path.join(winedevices, path.replace('\\', '/'))) - out_lines.append(f"\t{path}{suffix}\n") + path = line.strip() + + path = convert_path(path) + headers.append(path) + out_lines.append(f"\t{path}{suffix}\n") + # the metrowerks compiler doesn't support -MP + out_lines.extend([f'{header}:\n' for header in headers]) return ''.join(out_lines) + def main(): parser = argparse.ArgumentParser( description="""Transform a .d file from Wine paths to normal paths""" @@ -66,4 +89,4 @@ def main(): if __name__ == "__main__": - main() \ No newline at end of file + main() diff --git a/tools/yaz0/Makefile b/tools/yaz0/Makefile new file mode 100644 index 00000000000..f0011fb51f7 --- /dev/null +++ b/tools/yaz0/Makefile @@ -0,0 +1,7 @@ +YAZ0_CC := cc +YAZ0_CFLAGS := -fPIC -shared -O3 -Wall -s + +$(YAZ0): include tools/yaz0/Makefile + @echo [tools] building yaz0.so + @$(YAZ0_CC) $(YAZ0_CFLAGS) -o $(YAZ0) tools/yaz0/yaz0.c + diff --git a/tools/yaz0/yaz0.c b/tools/yaz0/yaz0.c new file mode 100644 index 00000000000..2eb6d100d1f --- /dev/null +++ b/tools/yaz0/yaz0.c @@ -0,0 +1,240 @@ +#include +#include +#include +#include + +//yaz0 implementation by BluRose +//patched by Prakxo + +// decoder implementation by thakis of http://www.amnoid.de + +// src points to the yaz0 source data (to the "real" source data, not at the header!) +// dst points to a buffer uncompressedSize bytes large (you get uncompressedSize from +// the second 4 bytes in the Yaz0 header). +int yaz0_decode(uint8_t* src, uint8_t* dst, int uncompressedSize) +{ + int srcPlace = 0, dstPlace = 0; // current read/write positions + + unsigned int validBitCount = 0; // number of valid bits left in "code" byte + uint8_t currCodeByte; + while (dstPlace < uncompressedSize) + { + // read new "code" byte if the current one is used up + if (validBitCount == 0) + { + currCodeByte = src[srcPlace]; + ++srcPlace; + validBitCount = 8; + } + + if ((currCodeByte & 0x80) != 0) + { + // straight copy + dst[dstPlace] = src[srcPlace]; + dstPlace++; + srcPlace++; + } + else + { + // RLE part + uint8_t byte1 = src[srcPlace]; + uint8_t byte2 = src[srcPlace + 1]; + srcPlace += 2; + + unsigned int dist = ((byte1 & 0xF) << 8) | byte2; + unsigned int copySource = dstPlace - (dist + 1); + + unsigned int numBytes = byte1 >> 4; + if (numBytes == 0) + { + numBytes = src[srcPlace] + 0x12; + srcPlace++; + } + else + { + numBytes += 2; + } + + // copy run + for (unsigned int i = 0; i < numBytes; ++i) + { + dst[dstPlace] = dst[copySource]; + copySource++; + dstPlace++; + } + } + + // use next bit from "code" byte + currCodeByte <<= 1; + validBitCount -= 1; + } + return 0; +} + +// encoder implementation by shevious, with bug fixes by notwa + +typedef uint32_t uint32_t; +typedef uint8_t uint8_t; + +#define MAX_RUNLEN (0xFF + 0x12) + +// simple and straight encoding scheme for Yaz0 +static uint32_t simpleEnc(uint8_t *src, int size, int pos, uint32_t *pMatchPos) +{ + int numBytes = 1; + int matchPos = 0; + + int startPos = pos - 0x1000; + int end = size - pos; + + if (startPos < 0) + startPos = 0; + + // maximum runlength for 3 byte encoding + if (end > MAX_RUNLEN) + end = MAX_RUNLEN; + + for (int i = startPos; i < pos; i++) + { + int j; + + for (j = 0; j < end; j++) + { + if (src[i + j] != src[j + pos]) + break; + } + if (j > numBytes) + { + numBytes = j; + matchPos = i; + } + } + + *pMatchPos = matchPos; + + if (numBytes == 2) + numBytes = 1; + + return numBytes; +} + +// a lookahead encoding scheme for ngc Yaz0 +static uint32_t nintendoEnc(uint8_t *src, int size, int pos, uint32_t *pMatchPos) +{ + uint32_t numBytes = 1; + static uint32_t numBytes1; + static uint32_t matchPos; + static int prevFlag = 0; + + // if prevFlag is set, it means that the previous position + // was determined by look-ahead try. + // so just use it. this is not the best optimization, + // but nintendo's choice for speed. + if (prevFlag == 1) + { + *pMatchPos = matchPos; + prevFlag = 0; + return numBytes1; + } + + prevFlag = 0; + numBytes = simpleEnc(src, size, pos, &matchPos); + *pMatchPos = matchPos; + + // if this position is RLE encoded, then compare to copying 1 byte and next position(pos+1) encoding + if (numBytes >= 3) + { + numBytes1 = simpleEnc(src, size, pos + 1, &matchPos); + // if the next position encoding is +2 longer than current position, choose it. + // this does not guarantee the best optimization, but fairly good optimization with speed. + if (numBytes1 >= numBytes + 2) + { + numBytes = 1; + prevFlag = 1; + } + } + return numBytes; +} + +int yaz0_encode(uint8_t *src, uint8_t *dst, int srcSize) +{ + int srcPos = 0; + int dstPos = 0; + int bufPos = 0; + + uint8_t buf[24]; // 8 codes * 3 bytes maximum + + uint32_t validBitCount = 0; // number of valid bits left in "code" byte + uint8_t currCodeByte = 0; // a bitfield, set bits meaning copy, unset meaning RLE + + while (srcPos < srcSize) + { + uint32_t numBytes; + uint32_t matchPos; + + numBytes = nintendoEnc(src, srcSize, srcPos, &matchPos); + if (numBytes < 3) + { + // straight copy + buf[bufPos] = src[srcPos]; + bufPos++; + srcPos++; + //set flag for straight copy + currCodeByte |= (0x80 >> validBitCount); + } + else + { + //RLE part + uint32_t dist = srcPos - matchPos - 1; + uint8_t byte1, byte2, byte3; + + if (numBytes >= 0x12) // 3 byte encoding + { + byte1 = 0 | (dist >> 8); + byte2 = dist & 0xFF; + buf[bufPos++] = byte1; + buf[bufPos++] = byte2; + // maximum runlength for 3 byte encoding + if (numBytes > MAX_RUNLEN) + numBytes = MAX_RUNLEN; + byte3 = numBytes - 0x12; + buf[bufPos++] = byte3; + } + else // 2 byte encoding + { + byte1 = ((numBytes - 2) << 4) | (dist >> 8); + byte2 = dist & 0xFF; + buf[bufPos++] = byte1; + buf[bufPos++] = byte2; + } + srcPos += numBytes; + } + + validBitCount++; + + // write eight codes + if (validBitCount == 8) + { + dst[dstPos++] = currCodeByte; + for (int j = 0; j < bufPos; j++) + dst[dstPos++] = buf[j]; + + currCodeByte = 0; + validBitCount = 0; + bufPos = 0; + } + } + + if (validBitCount > 0) + { + dst[dstPos++] = currCodeByte; + for (int j = 0; j < bufPos; j++) + dst[dstPos++] = buf[j]; + + currCodeByte = 0; + validBitCount = 0; + bufPos = 0; + } + + return dstPos; +} \ No newline at end of file