Sync with Open PR

This commit is contained in:
engineer124
2022-04-23 11:50:36 +10:00
parent c544aed0e3
commit 040f01cde4
15 changed files with 170 additions and 188 deletions
+26 -7
View File
@@ -7,11 +7,28 @@
// TODO fill out these enums
typedef enum {
/* 0x0 */ EQUIP_SWORD,
/* 0x1 */ EQUIP_SHIELD,
/* 0x2 */ EQUIP_TUNIC // Remnant of OoT
/* 0x0 */ EQUIP_TYPE_SWORD,
/* 0x1 */ EQUIP_TYPE_SHIELD,
/* 0x2 */ EQUIP_TYPE_TUNIC, // Remnant of OoT
/* 0x2 */ EQUIP_TYPE_MAX
} EquipmentType;
typedef enum {
/* 0 */ EQUIP_VALUE_SWORD_NONE,
/* 1 */ EQUIP_VALUE_SWORD_KOKIRI,
/* 2 */ EQUIP_VALUE_SWORD_RAZOR,
/* 3 */ EQUIP_VALUE_SWORD_GILDED,
/* 4 */ EQUIP_VALUE_SWORD_DIETY,
/* 5 */ EQUIP_VALUE_SWORD_MAX,
} EquipValueSword;
typedef enum {
/* 0 */ EQUIP_VALUE_SHIELD_NONE,
/* 1 */ EQUIP_VALUE_SHIELD_HERO,
/* 2 */ EQUIP_VALUE_SHIELD_MIRROR,
/* 3 */ EQUIP_VALUE_SHIELD_MAX
} EquipValueShield;
typedef enum {
/* 0x00 */ UPG_QUIVER,
/* 0x01 */ UPG_BOMB_BAG,
@@ -46,8 +63,7 @@ typedef enum {
/* 0x13 */ QUEST_SKULL_TOKEN,
/* 0x18 */ QUEST_SONG_LULLABY_INTRO = 0x18,
/* 0x19 */ QUEST_PICTOBOX, // Photo taken from PictoBox
/* 0x1C */ QUEST_HEART_PIECE = 0x1C,
/* 0x1E */ QUEST_HEART_CONTAINER = 0x1E
/* 0x1C */ QUEST_HEART_PIECE_COUNT = 0x1C,
} QuestItem;
typedef enum {
@@ -113,7 +129,7 @@ typedef enum {
/* 0x07 */ ITEM_BOMBCHU,
/* 0x08 */ ITEM_STICK,
/* 0x09 */ ITEM_NUT,
/* 0x0A */ ITEM_BEAN,
/* 0x0A */ ITEM_MAGIC_BEANS,
/* 0x0B */ ITEM_SLINGSHOT,
/* 0x0C */ ITEM_POWDER_KEG,
/* 0x0D */ ITEM_PICTO_BOX,
@@ -267,7 +283,10 @@ typedef enum {
/* 0xA3 */ ITEM_SEA_HORSE_CAUGHT,
/* 0xFD */ ITEM_UNK_FD = 0xFD,
/* 0xFF */ ITEM_NONE = 0xFF
} ItemID;
} ItemId;
#define BOTTLE_FIRST 0
#define BOTTLE_MAX 6
typedef enum {
/* 0x00 */ GI_NONE,
-1
View File
@@ -1,4 +1,3 @@
#include "prevent_bss_reordering.h"
#include "global.h"
u32 sDmaMgrDmaBuffSize = 0x2000;
+6 -6
View File
@@ -107,7 +107,7 @@ void* gItemIcons[] = {
0x08007000, // ITEM_BOMBCHU
0x08008000, // ITEM_STICK
0x08009000, // ITEM_NUT
0x0800A000, // ITEM_BEAN
0x0800A000, // ITEM_MAGIC_BEANS
0x0800B000, // ITEM_SLINGSHOT
0x0800C000, // ITEM_POWDER_KEG
0x0800D000, // ITEM_PICTO_BOX
@@ -242,7 +242,7 @@ u8 gItemSlots[] = {
SLOT_BOMBCHU, // ITEM_BOMBCHU
SLOT_STICK, // ITEM_STICK
SLOT_NUT, // ITEM_NUT
SLOT_MAGIC_BEANS, // ITEM_BEAN
SLOT_MAGIC_BEANS, // ITEM_MAGIC_BEANS
SLOT_TRADE_KEY_MAMA, // ITEM_SLINGSHOT
SLOT_POWDER_KEG, // ITEM_POWDER_KEG
SLOT_PICTO_BOX, // ITEM_PICTO_BOX
@@ -322,7 +322,7 @@ s16 gItemPrices[] = {
0, // ITEM_BOMBCHU
0, // ITEM_STICK
0, // ITEM_NUT
0, // ITEM_BEAN
0, // ITEM_MAGIC_BEANS
0, // ITEM_SLINGSHOT
0, // ITEM_POWDER_KEG
0, // ITEM_PICTO_BOX
@@ -495,7 +495,7 @@ s32 Inventory_GetBtnBItem(GlobalContext* globalCtx) {
* Only changes shield
*/
void Inventory_ChangeEquipment(s16 value) {
SET_EQUIP_VALUE(EQUIP_SHIELD, value);
SET_EQUIP_VALUE(EQUIP_TYPE_SHIELD, value);
}
/**
@@ -504,8 +504,8 @@ void Inventory_ChangeEquipment(s16 value) {
u8 Inventory_DeleteEquipment(GlobalContext* globalCtx, s16 equipment) {
Player* player = GET_PLAYER(globalCtx);
if (GET_CUR_EQUIP_VALUE(EQUIP_SHIELD) != 0) {
SET_EQUIP_VALUE(EQUIP_SHIELD, 0);
if (GET_CUR_EQUIP_VALUE(EQUIP_TYPE_SHIELD) != EQUIP_VALUE_SHIELD_NONE) {
SET_EQUIP_VALUE(EQUIP_TYPE_SHIELD, EQUIP_VALUE_SHIELD_NONE);
Player_SetEquipmentData(globalCtx, player);
return true;
}
-1
View File
@@ -1,4 +1,3 @@
#include "prevent_bss_reordering.h"
#include "global.h"
#include "system_malloc.h"
#include "overlays/gamestates/ovl_daytelop/z_daytelop.h"
+115 -151
View File
File diff suppressed because it is too large Load Diff
+8 -8
View File
@@ -149,9 +149,9 @@ s32 D_801C6798[] = {
};
u8 D_801C67B0[24] = {
ITEM_NONE, ITEM_BOW, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_BOMB, ITEM_BOMBCHU,
ITEM_STICK, ITEM_NUT, ITEM_BEAN, ITEM_NONE, ITEM_POWDER_KEG, ITEM_PICTO_BOX, ITEM_NONE, ITEM_NONE,
ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE,
ITEM_NONE, ITEM_BOW, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_BOMB, ITEM_BOMBCHU,
ITEM_STICK, ITEM_NUT, ITEM_MAGIC_BEANS, ITEM_NONE, ITEM_POWDER_KEG, ITEM_PICTO_BOX, ITEM_NONE, ITEM_NONE,
ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE,
};
s32 D_801C67C8[] = { 0, 0x40, 0x80, 0xC0, 0x100, 0x180, 0x200, 0x280 };
@@ -360,20 +360,20 @@ void Sram_SaveEndOfCycle(GlobalContext* globalCtx) {
gSaveContext.save.playerData.health = 0x30;
}
if (GET_CUR_EQUIP_VALUE(EQUIP_SWORD) < 3) {
SET_EQUIP_VALUE(EQUIP_SWORD, 1);
if (GET_CUR_EQUIP_VALUE(EQUIP_TYPE_SWORD) < 3) {
SET_EQUIP_VALUE(EQUIP_TYPE_SWORD, 1);
if (CUR_FORM == 0) {
if ((STOLEN_ITEM_1 >= ITEM_SWORD_GILDED) || (STOLEN_ITEM_2 >= ITEM_SWORD_GILDED)) {
BUTTON_ITEM_EQUIP(CUR_FORM, EQUIP_SLOT_B) = ITEM_SWORD_GILDED;
SET_EQUIP_VALUE(EQUIP_SWORD, 3);
SET_EQUIP_VALUE(EQUIP_TYPE_SWORD, 3);
} else {
BUTTON_ITEM_EQUIP(CUR_FORM, EQUIP_SLOT_B) = ITEM_SWORD_KOKIRI;
}
} else {
if ((STOLEN_ITEM_1 >= ITEM_SWORD_GILDED) || (STOLEN_ITEM_2 >= ITEM_SWORD_GILDED)) {
BUTTON_ITEM_EQUIP(0, EQUIP_SLOT_B) = ITEM_SWORD_GILDED;
SET_EQUIP_VALUE(EQUIP_SWORD, 3);
SET_EQUIP_VALUE(EQUIP_TYPE_SWORD, 3);
} else {
BUTTON_ITEM_EQUIP(0, EQUIP_SLOT_B) = ITEM_SWORD_KOKIRI;
}
@@ -717,7 +717,7 @@ Inventory sSaveDebugInventory = {
ITEM_BOMBCHU,
ITEM_STICK,
ITEM_NUT,
ITEM_BEAN,
ITEM_MAGIC_BEANS,
ITEM_ROOM_KEY,
ITEM_POWDER_KEG,
ITEM_PICTO_BOX,
@@ -296,7 +296,7 @@ s32 func_80BED140(GlobalContext* globalCtx) {
}
s32 func_80BED208(EnAkindonuts* this) {
if (INV_CONTENT(ITEM_BEAN) != 10U) {
if ((u32)INV_CONTENT(ITEM_MAGIC_BEANS) != ITEM_MAGIC_BEANS) {
return 0;
}
@@ -304,7 +304,7 @@ s32 func_80BED208(EnAkindonuts* this) {
return 1;
}
if (AMMO(ITEM_BEAN) >= 20) {
if (AMMO(ITEM_MAGIC_BEANS) >= 20) {
return 2;
}
@@ -247,7 +247,7 @@ s32 EnGirlA_CanBuyNuts(GlobalContext* globalCtx, EnGirlA* this) {
}
s32 EnGirlA_CanBuyShieldHero(GlobalContext* globalCtx, EnGirlA* this) {
if (GET_CUR_EQUIP_VALUE(EQUIP_SHIELD) != 0) {
if (GET_CUR_EQUIP_VALUE(EQUIP_TYPE_SHIELD) != EQUIP_VALUE_SHIELD_NONE) {
return CANBUY_RESULT_NO_ROOM;
}
if (gSaveContext.save.playerData.rupees < globalCtx->msgCtx.unk1206C) {
@@ -356,7 +356,7 @@ s32 EnGirlA_CanBuySword(GlobalContext* globalCtx, EnGirlA* this) {
}
s32 EnGirlA_CanBuyShieldMirror(GlobalContext* globalCtx, EnGirlA* this) {
if (GET_CUR_EQUIP_VALUE(EQUIP_SHIELD) != 0) {
if (GET_CUR_EQUIP_VALUE(EQUIP_TYPE_SHIELD) != 0) {
return CANBUY_RESULT_NO_ROOM;
}
if (gSaveContext.save.playerData.rupees < globalCtx->msgCtx.unk1206C) {
@@ -216,7 +216,7 @@ void func_80B26758(EnKendoJs* this, GlobalContext* globalCtx) {
if (Message_ShouldAdvance(globalCtx) && (this->unk_288 == 0x2716)) {
switch (globalCtx->msgCtx.choiceIndex) {
case 0:
if (GET_CUR_EQUIP_VALUE(EQUIP_SWORD) == EQUIP_SWORD) {
if (GET_CUR_EQUIP_VALUE(EQUIP_TYPE_SWORD) == EQUIP_VALUE_SWORD_NONE) {
play_sound(NA_SE_SY_ERROR);
Message_StartTextbox(globalCtx, 0x272C, &this->actor);
this->unk_288 = 0x272C;
@@ -234,7 +234,7 @@ void func_80B26758(EnKendoJs* this, GlobalContext* globalCtx) {
break;
case 1:
if (GET_CUR_EQUIP_VALUE(EQUIP_SWORD) == EQUIP_SWORD) {
if (GET_CUR_EQUIP_VALUE(EQUIP_TYPE_SWORD) == EQUIP_VALUE_SWORD_NONE) {
play_sound(NA_SE_SY_ERROR);
Message_StartTextbox(globalCtx, 0x272C, &this->actor);
this->unk_288 = 0x272C;
+1 -1
View File
@@ -718,7 +718,7 @@ void func_80B41E18(EnKgy* this, GlobalContext* globalCtx) {
func_80B41368(this, globalCtx, 0);
this->actor.textId = 0xC43;
CUR_FORM_EQUIP(EQUIP_SLOT_B) = ITEM_NONE;
SET_EQUIP_VALUE(EQUIP_SWORD, 0);
SET_EQUIP_VALUE(EQUIP_TYPE_SWORD, EQUIP_VALUE_SWORD_NONE);
Interface_LoadItemIconImpl(globalCtx, 0);
func_80B40C74(globalCtx);
break;
+1 -1
View File
@@ -121,7 +121,7 @@ void EnMs_Talk(EnMs* this, GlobalContext* globalCtx) {
if (gSaveContext.save.playerData.rupees < 10) {
play_sound(NA_SE_SY_ERROR);
func_80151938(globalCtx, 0x935); // "[...] You don't have enough Rupees."
} else if (AMMO(ITEM_BEAN) >= 20) {
} else if (AMMO(ITEM_MAGIC_BEANS) >= 20) {
play_sound(NA_SE_SY_ERROR);
func_80151938(globalCtx, 0x937); // "[...] You can't carry anymore."
} else {
+2 -2
View File
@@ -305,9 +305,9 @@ void func_808FA4F4(EnRr* this, GlobalContext* globalCtx) {
this->unk_20C = 0x800;
if (((this->unk_1E2 == 0) && (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN)) &&
(GET_CUR_EQUIP_VALUE(EQUIP_SHIELD) == 1)) {
(GET_CUR_EQUIP_VALUE(EQUIP_TYPE_SHIELD) == EQUIP_VALUE_SHIELD_HERO)) {
sp34 = true;
this->unk_1E2 = Inventory_DeleteEquipment(globalCtx, 1);
this->unk_1E2 = Inventory_DeleteEquipment(globalCtx, EQUIP_VALUE_SHIELD_HERO);
} else {
sp34 = false;
}
@@ -980,7 +980,8 @@ void func_80BACA14(EnSuttari* this, GlobalContext* globalCtx) {
this->unk3F2 = this->unk2DC.y;
this->actionFunc = func_80BACBB0;
}
} else if ((player->transformation == PLAYER_FORM_HUMAN) && GET_CUR_EQUIP_VALUE(EQUIP_SWORD) != 0) {
} else if ((player->transformation == PLAYER_FORM_HUMAN) &&
GET_CUR_EQUIP_VALUE(EQUIP_TYPE_SWORD) != EQUIP_VALUE_SWORD_NONE) {
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
this->unk3F2 = this->unk2DC.y;
func_80BAAB78(this, globalCtx);
@@ -200,7 +200,7 @@ static CollisionCheckInfoInit2 sColChkInfoInit = { 8, 0, 0, 0, MASS_HEAVY };
static EnTalkGibudRequestedItem sRequestedItemTable[] = {
{ PLAYER_AP_BOTTLE_POTION_BLUE, ITEM_POTION_BLUE, 1, true },
{ PLAYER_AP_MAGIC_BEANS, ITEM_BEAN, 5, false },
{ PLAYER_AP_MAGIC_BEANS, ITEM_MAGIC_BEANS, 5, false },
{ PLAYER_AP_BOTTLE_SPRING_WATER, ITEM_SPRING_WATER, 1, true },
{ PLAYER_AP_BOTTLE_FISH, ITEM_FISH, 1, true },
{ PLAYER_AP_BOTTLE_BUG, ITEM_BUG, 1, true },
@@ -223,7 +223,7 @@ s32 func_80C10B0C(EnThiefbird* this, GlobalContext* globalCtx) {
}
if (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN) {
phi_a3 = GET_CUR_EQUIP_VALUE(EQUIP_SWORD);
phi_a3 = GET_CUR_EQUIP_VALUE(EQUIP_TYPE_SWORD);
if (INV_CONTENT(ITEM_SWORD_GREAT_FAIRY) == ITEM_SWORD_GREAT_FAIRY) {
phi_a3 += 4;
}
@@ -260,7 +260,7 @@ s32 func_80C10B0C(EnThiefbird* this, GlobalContext* globalCtx) {
itemId1 = ITEM_SWORD_GREAT_FAIRY;
} else {
CUR_FORM_EQUIP(EQUIP_SLOT_B) = ITEM_NONE;
SET_EQUIP_VALUE(EQUIP_SWORD, 0);
SET_EQUIP_VALUE(EQUIP_TYPE_SWORD, 0);
this->unk_3E8 = D_80C13680[phi_a3 - 1];
}