d_com_inf_game / d_save improvements (#82)

* some dcominfg funcs

* add dcom inlines to d_save

* format

* format
This commit is contained in:
TakaRikka
2021-01-11 08:32:56 -08:00
committed by GitHub
parent 8cf6641bd4
commit 7b97550cee
13 changed files with 163 additions and 292 deletions
@@ -1,35 +0,0 @@
/* 80033494 000303D4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80033498 000303D8 7C 08 02 A6 */ mflr r0
/* 8003349C 000303DC 90 01 00 24 */ stw r0, 0x24(r1)
/* 800334A0 000303E0 39 61 00 20 */ addi r11, r1, 0x20
/* 800334A4 000303E4 48 32 ED 39 */ bl _savegpr_29
/* 800334A8 000303E8 3B A0 00 00 */ li r29, 0
/* 800334AC 000303EC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 800334B0 000303F0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 800334B4 000303F4 3B E3 00 9C */ addi r31, r3, 0x9c
lbl_800334B8:
/* 800334B8 000303F8 7F E3 FB 78 */ mr r3, r31
/* 800334BC 000303FC 38 1D 00 0B */ addi r0, r29, 0xb
/* 800334C0 00030400 54 1E 06 3E */ clrlwi r30, r0, 0x18
/* 800334C4 00030404 7F C4 F3 78 */ mr r4, r30
/* 800334C8 00030408 38 A0 00 01 */ li r5, 1
/* 800334CC 0003040C 4B FF FB 65 */ bl getItem__17dSv_player_item_cCFib
/* 800334D0 00030410 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 800334D4 00030414 28 00 00 FF */ cmplwi r0, 0xff
/* 800334D8 00030418 40 82 00 18 */ bne lbl_800334F0
/* 800334DC 0003041C 7F E3 FB 78 */ mr r3, r31
/* 800334E0 00030420 7F C4 F3 78 */ mr r4, r30
/* 800334E4 00030424 38 A0 00 60 */ li r5, 0x60
/* 800334E8 00030428 4B FF FA D1 */ bl setItem__17dSv_player_item_cFiUc
/* 800334EC 0003042C 48 00 00 10 */ b lbl_800334FC
lbl_800334F0:
/* 800334F0 00030430 3B BD 00 01 */ addi r29, r29, 1
/* 800334F4 00030434 2C 1D 00 04 */ cmpwi r29, 4
/* 800334F8 00030438 41 80 FF C0 */ blt lbl_800334B8
lbl_800334FC:
/* 800334FC 0003043C 39 61 00 20 */ addi r11, r1, 0x20
/* 80033500 00030440 48 32 ED 29 */ bl _restgpr_29
/* 80033504 00030444 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80033508 00030448 7C 08 03 A6 */ mtlr r0
/* 8003350C 0003044C 38 21 00 20 */ addi r1, r1, 0x20
/* 80033510 00030450 4E 80 00 20 */ blr
@@ -1,36 +0,0 @@
/* 80033514 00030454 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80033518 00030458 7C 08 02 A6 */ mflr r0
/* 8003351C 0003045C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80033520 00030460 39 61 00 20 */ addi r11, r1, 0x20
/* 80033524 00030464 48 32 EC B5 */ bl _savegpr_28
/* 80033528 00030468 7C 9C 23 78 */ mr r28, r4
/* 8003352C 0003046C 3B A0 00 00 */ li r29, 0
/* 80033530 00030470 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 80033534 00030474 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 80033538 00030478 3B E3 00 9C */ addi r31, r3, 0x9c
lbl_8003353C:
/* 8003353C 0003047C 7F E3 FB 78 */ mr r3, r31
/* 80033540 00030480 38 1D 00 0B */ addi r0, r29, 0xb
/* 80033544 00030484 54 1E 06 3E */ clrlwi r30, r0, 0x18
/* 80033548 00030488 7F C4 F3 78 */ mr r4, r30
/* 8003354C 0003048C 38 A0 00 01 */ li r5, 1
/* 80033550 00030490 4B FF FA E1 */ bl getItem__17dSv_player_item_cCFib
/* 80033554 00030494 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80033558 00030498 28 00 00 FF */ cmplwi r0, 0xff
/* 8003355C 0003049C 40 82 00 18 */ bne lbl_80033574
/* 80033560 000304A0 7F E3 FB 78 */ mr r3, r31
/* 80033564 000304A4 7F C4 F3 78 */ mr r4, r30
/* 80033568 000304A8 7F 85 E3 78 */ mr r5, r28
/* 8003356C 000304AC 4B FF FA 4D */ bl setItem__17dSv_player_item_cFiUc
/* 80033570 000304B0 48 00 00 10 */ b lbl_80033580
lbl_80033574:
/* 80033574 000304B4 3B BD 00 01 */ addi r29, r29, 1
/* 80033578 000304B8 2C 1D 00 04 */ cmpwi r29, 4
/* 8003357C 000304BC 41 80 FF C0 */ blt lbl_8003353C
lbl_80033580:
/* 80033580 000304C0 39 61 00 20 */ addi r11, r1, 0x20
/* 80033584 000304C4 48 32 EC A1 */ bl _restgpr_28
/* 80033588 000304C8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003358C 000304CC 7C 08 03 A6 */ mtlr r0
/* 80033590 000304D0 38 21 00 20 */ addi r1, r1, 0x20
/* 80033594 000304D4 4E 80 00 20 */ blr
+9 -3
View File
@@ -330,7 +330,7 @@ public:
u16& getLife() { return mCurrentHealth; }
u16& getRupee() { return mCurrentRupees; }
u16& getOil() { return mCurrentLanternOil; }
u8& getSelectEquip(int item) { return mEquipment[item]; }
u8 getSelectEquip(int item) const { return mEquipment[item]; }
void setWalletLV(u8 lv) { mCurrentWallet = lv; }
void setOil(u16 oil) { mCurrentLanternOil = oil; }
void setMaxOil(u16 max) { mMaxLanternOil = max; }
@@ -434,13 +434,19 @@ public:
void init(void);
void setWarpItemData(const char*, const cXyz&, s16, s8, u8, u8);
const char* getName(void) { return mOoccooStage; }
cXyz getPos(void) { return mOoccooPosition; }
s16 getAngleY(void) { return mOoccooXRotation; }
s8 getRoomNo(void) { return mOoccooRoomId; }
char getWarpAcceptStage(void) { return mWarpAcceptStage; }
private:
cXyz mOoccooPosition;
s16 mOoccooXRotation;
char mOoccooStage[8];
u8 mOoccooSpawnId;
u8 mOoccooRoomId;
char unk24;
s8 mOoccooRoomId;
char mWarpAcceptStage;
u8 unk25[3];
};