mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
Sync with Open PR
This commit is contained in:
+26
-7
@@ -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,4 +1,3 @@
|
||||
#include "prevent_bss_reordering.h"
|
||||
#include "global.h"
|
||||
|
||||
u32 sDmaMgrDmaBuffSize = 0x2000;
|
||||
|
||||
@@ -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,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
File diff suppressed because it is too large
Load Diff
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user