From 31c37e5dcb04915d0580d6412129ef4c84ee1ddd Mon Sep 17 00:00:00 2001 From: Tal Hayon Date: Mon, 26 Jun 2023 17:37:32 +0300 Subject: [PATCH] Match daSus_c::room_c::add --- Progress.md | 8 ++--- ...dd__Q27daSus_c6room_cFPQ27daSus_c6data_c.s | 33 ------------------- src/d/com/d_com_static.cpp | 15 ++------- 3 files changed, 6 insertions(+), 50 deletions(-) delete mode 100644 asm/d/com/d_com_static/add__Q27daSus_c6room_cFPQ27daSus_c6data_c.s diff --git a/Progress.md b/Progress.md index 7b89bfd9ab9..0cc4d098d96 100644 --- a/Progress.md +++ b/Progress.md @@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes) .init | 97.972973% | 9280 | 9472 .extab | 100.000000% | 96 | 96 .extabindex | 100.000000% | 96 | 96 -.text | 27.735849% | 997532 | 3596544 +.text | 27.738852% | 997640 | 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 | 35.353991% | 1421468 | 4020672 +Total | 35.356677% | 1421576 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 35.353991% | 1421468 | 4020672 +main.dol | 35.356677% | 1421576 | 4020672 RELs | 33.657973% | 3870776 | 11500324 -Total | 34.097322% | 5292244 | 15520996 +Total | 34.098018% | 5292352 | 15520996 ## RELs diff --git a/asm/d/com/d_com_static/add__Q27daSus_c6room_cFPQ27daSus_c6data_c.s b/asm/d/com/d_com_static/add__Q27daSus_c6room_cFPQ27daSus_c6data_c.s deleted file mode 100644 index 06f2b049add..00000000000 --- a/asm/d/com/d_com_static/add__Q27daSus_c6room_cFPQ27daSus_c6data_c.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_80031190: -/* 80031190 80 A3 00 00 */ lwz r5, 0(r3) -/* 80031194 28 05 00 00 */ cmplwi r5, 0 -/* 80031198 40 82 00 14 */ bne lbl_800311AC -/* 8003119C 90 83 00 00 */ stw r4, 0(r3) -/* 800311A0 38 00 00 00 */ li r0, 0 -/* 800311A4 90 04 00 20 */ stw r0, 0x20(r4) -/* 800311A8 4E 80 00 20 */ blr -lbl_800311AC: -/* 800311AC 88 04 00 04 */ lbz r0, 4(r4) -/* 800311B0 28 00 00 00 */ cmplwi r0, 0 -/* 800311B4 40 82 00 10 */ bne lbl_800311C4 -/* 800311B8 90 A4 00 20 */ stw r5, 0x20(r4) -/* 800311BC 90 83 00 00 */ stw r4, 0(r3) -/* 800311C0 4E 80 00 20 */ blr -lbl_800311C4: -/* 800311C4 7C A3 2B 78 */ mr r3, r5 -/* 800311C8 80 A5 00 20 */ lwz r5, 0x20(r5) -/* 800311CC 48 00 00 18 */ b lbl_800311E4 -lbl_800311D0: -/* 800311D0 88 03 00 04 */ lbz r0, 4(r3) -/* 800311D4 28 00 00 00 */ cmplwi r0, 0 -/* 800311D8 40 82 00 14 */ bne lbl_800311EC -/* 800311DC 7C A3 2B 78 */ mr r3, r5 -/* 800311E0 80 A5 00 20 */ lwz r5, 0x20(r5) -lbl_800311E4: -/* 800311E4 28 05 00 00 */ cmplwi r5, 0 -/* 800311E8 40 82 FF E8 */ bne lbl_800311D0 -lbl_800311EC: -/* 800311EC 80 03 00 20 */ lwz r0, 0x20(r3) -/* 800311F0 90 04 00 20 */ stw r0, 0x20(r4) -/* 800311F4 90 83 00 20 */ stw r4, 0x20(r3) -/* 800311F8 4E 80 00 20 */ blr diff --git a/src/d/com/d_com_static.cpp b/src/d/com/d_com_static.cpp index 599b7cfdb2c..f26a49b1752 100644 --- a/src/d/com/d_com_static.cpp +++ b/src/d/com/d_com_static.cpp @@ -276,8 +276,6 @@ void daSus_c::data_c::execute() { } /* 80031190-800311FC 02BAD0 006C+00 1/1 0/0 0/0 .text add__Q27daSus_c6room_cFPQ27daSus_c6data_c */ -// instruction reorder -#ifdef NONMATCHING void daSus_c::room_c::add(daSus_c::data_c* i_data) { if (mpData == NULL) { mpData = i_data; @@ -293,7 +291,8 @@ void daSus_c::room_c::add(daSus_c::data_c* i_data) { daSus_c::data_c* data1 = mpData; daSus_c::data_c* data2 = data1->getNext(); - while (data1->getType() == 0 && data2 != NULL) { + while (data2 != NULL) { + if (data1->getType() != 0) break; data1 = data2; data2 = data2->getNext(); } @@ -301,16 +300,6 @@ void daSus_c::room_c::add(daSus_c::data_c* i_data) { i_data->setNext(data1->getNext()); data1->setNext(i_data); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daSus_c::room_c::add(daSus_c::data_c* param_0) { - nofralloc -#include "asm/d/com/d_com_static/add__Q27daSus_c6room_cFPQ27daSus_c6data_c.s" -} -#pragma pop -#endif /* 800311FC-80031248 02BB3C 004C+00 0/0 0/0 1/1 .text reset__Q27daSus_c6room_cFv */ void daSus_c::room_c::reset() {