mirror of
https://github.com/HarbourMasters/Shipwright
synced 2026-08-16 13:37:25 -04:00
Merge branch 'rando-next' into rando-rupee-names
This commit is contained in:
@@ -10,6 +10,7 @@ extern "C"
|
||||
#endif
|
||||
|
||||
#include "../../libultraship/libultraship/luslog.h"
|
||||
#include <soh/Enhancements/item-tables/ItemTableTypes.h>
|
||||
|
||||
#if defined(INCLUDE_GAME_PRINTF) && !defined(NDEBUG)
|
||||
#define osSyncPrintf(fmt, ...) lusprintf(__FILE__, __LINE__, 0, fmt, __VA_ARGS__)
|
||||
@@ -453,7 +454,10 @@ u32 Actor_TextboxIsClosing(Actor* actor, GlobalContext* globalCtx);
|
||||
s8 func_8002F368(GlobalContext* globalCtx);
|
||||
void Actor_GetScreenPos(GlobalContext* globalCtx, Actor* actor, s16* x, s16* y);
|
||||
u32 Actor_HasParent(Actor* actor, GlobalContext* globalCtx);
|
||||
s32 GiveItemWithoutActor(GlobalContext* globalCtx, s32 getItemId);
|
||||
// TODO: Rename the follwing 3 functions using whatever scheme we use when we rename func_8002F434 and func_8002F554.
|
||||
s32 GiveItemEntryWithoutActor(GlobalContext* globalCtx, GetItemEntry getItemEntry);
|
||||
s32 GiveItemEntryFromActor(Actor* actor, GlobalContext* globalCtx, GetItemEntry getItemEntry, f32 xzRange, f32 yRange);
|
||||
void GiveItemEntryFromActorWithFixedRange(Actor* actor, GlobalContext* globalCtx, GetItemEntry getItemEntry);
|
||||
s32 func_8002F434(Actor* actor, GlobalContext* globalCtx, s32 getItemId, f32 xzRange, f32 yRange);
|
||||
void func_8002F554(Actor* actor, GlobalContext* globalCtx, s32 getItemId);
|
||||
void func_8002F580(Actor* actor, GlobalContext* globalCtx);
|
||||
@@ -1050,6 +1054,7 @@ void Interface_LoadItemIcon1(GlobalContext* globalCtx, u16 button);
|
||||
void Interface_LoadItemIcon2(GlobalContext* globalCtx, u16 button);
|
||||
void func_80084BF4(GlobalContext* globalCtx, u16 flag);
|
||||
u8 Item_Give(GlobalContext* globalCtx, u8 item);
|
||||
u16 Randomizer_Item_Give(GlobalContext* globalCtx, GetItemEntry giEntry);
|
||||
u8 Item_CheckObtainability(u8 item);
|
||||
void Inventory_DeleteItem(u16 item, u16 invSlot);
|
||||
s32 Inventory_ReplaceItem(GlobalContext* globalCtx, u16 oldItem, u16 newItem);
|
||||
|
||||
@@ -271,7 +271,8 @@ typedef enum {
|
||||
/* 0x16 */ ITEM00_SHIELD_HYLIAN,
|
||||
/* 0x17 */ ITEM00_TUNIC_ZORA,
|
||||
/* 0x18 */ ITEM00_TUNIC_GORON,
|
||||
/* 0x19 */ ITEM00_BOMBS_SPECIAL
|
||||
/* 0x19 */ ITEM00_BOMBS_SPECIAL,
|
||||
/* 0x20 */ ITEM00_BOMBCHU,
|
||||
} Item00Type;
|
||||
|
||||
struct EnItem00;
|
||||
|
||||
+2
-125
@@ -244,50 +244,6 @@ typedef enum {
|
||||
/* 0x99 */ ITEM_STICK_UPGRADE_30,
|
||||
/* 0x9A */ ITEM_NUT_UPGRADE_30,
|
||||
/* 0x9B */ ITEM_NUT_UPGRADE_40,
|
||||
/* 0x9C */ ITEM_BOTTLE_WITH_RED_POTION,
|
||||
/* 0x9D */ ITEM_BOTTLE_WITH_GREEN_POTION,
|
||||
/* 0x9E */ ITEM_BOTTLE_WITH_BLUE_POTION,
|
||||
/* 0x9F */ ITEM_BOTTLE_WITH_FAIRY,
|
||||
/* 0xA0 */ ITEM_BOTTLE_WITH_FISH,
|
||||
/* 0xA1 */ ITEM_BOTTLE_WITH_BLUE_FIRE,
|
||||
/* 0xA2 */ ITEM_BOTTLE_WITH_BUGS,
|
||||
/* 0xA3 */ ITEM_BOTTLE_WITH_POE,
|
||||
/* 0xA4 */ ITEM_BOTTLE_WITH_BIG_POE,
|
||||
/* 0xA5 */ ITEM_GERUDO_FORTRESS_SMALL_KEY,
|
||||
/* 0xA6 */ ITEM_FOREST_TEMPLE_SMALL_KEY,
|
||||
/* 0xA7 */ ITEM_FIRE_TEMPLE_SMALL_KEY,
|
||||
/* 0xA8 */ ITEM_WATER_TEMPLE_SMALL_KEY,
|
||||
/* 0xA9 */ ITEM_SPIRIT_TEMPLE_SMALL_KEY,
|
||||
/* 0xAA */ ITEM_SHADOW_TEMPLE_SMALL_KEY,
|
||||
/* 0xAB */ ITEM_BOTTOM_OF_THE_WELL_SMALL_KEY,
|
||||
/* 0xAC */ ITEM_GERUDO_TRAINING_GROUNDS_SMALL_KEY,
|
||||
/* 0xAD */ ITEM_GANONS_CASTLE_SMALL_KEY,
|
||||
/* 0xAE */ ITEM_FOREST_TEMPLE_BOSS_KEY,
|
||||
/* 0xAF */ ITEM_FIRE_TEMPLE_BOSS_KEY,
|
||||
/* 0xB0 */ ITEM_WATER_TEMPLE_BOSS_KEY,
|
||||
/* 0xB1 */ ITEM_SPIRIT_TEMPLE_BOSS_KEY,
|
||||
/* 0xB2 */ ITEM_SHADOW_TEMPLE_BOSS_KEY,
|
||||
/* 0xB3 */ ITEM_GANONS_CASTLE_BOSS_KEY,
|
||||
/* 0xB4 */ ITEM_DEKU_TREE_MAP,
|
||||
/* 0xB5 */ ITEM_DODONGOS_CAVERN_MAP,
|
||||
/* 0xB6 */ ITEM_JABU_JABUS_BELLY_MAP,
|
||||
/* 0xB7 */ ITEM_FOREST_TEMPLE_MAP,
|
||||
/* 0xB8 */ ITEM_FIRE_TEMPLE_MAP,
|
||||
/* 0xB9 */ ITEM_WATER_TEMPLE_MAP,
|
||||
/* 0xBA */ ITEM_SPIRIT_TEMPLE_MAP,
|
||||
/* 0xBB */ ITEM_SHADOW_TEMPLE_MAP,
|
||||
/* 0xBC */ ITEM_BOTTOM_OF_THE_WELL_MAP,
|
||||
/* 0xBD */ ITEM_ICE_CAVERN_MAP,
|
||||
/* 0xBE */ ITEM_DEKU_TREE_COMPASS,
|
||||
/* 0xBF */ ITEM_DODONGOS_CAVERN_COMPASS,
|
||||
/* 0xC0 */ ITEM_JABU_JABUS_BELLY_COMPASS,
|
||||
/* 0xC1 */ ITEM_FOREST_TEMPLE_COMPASS,
|
||||
/* 0xC2 */ ITEM_FIRE_TEMPLE_COMPASS,
|
||||
/* 0xC3 */ ITEM_WATER_TEMPLE_COMPASS,
|
||||
/* 0xC4 */ ITEM_SPIRIT_TEMPLE_COMPASS,
|
||||
/* 0xC5 */ ITEM_SHADOW_TEMPLE_COMPASS,
|
||||
/* 0xC6 */ ITEM_BOTTOM_OF_THE_WELL_COMPASS,
|
||||
/* 0xC7 */ ITEM_ICE_CAVERN_COMPASS,
|
||||
/* 0xFC */ ITEM_LAST_USED = 0xFC,
|
||||
/* 0xFE */ ITEM_NONE_FE = 0xFE,
|
||||
/* 0xFF */ ITEM_NONE = 0xFF
|
||||
@@ -423,87 +379,8 @@ typedef enum {
|
||||
/* 0x7A */ GI_NUT_UPGRADE_40,
|
||||
/* 0x7B */ GI_BULLET_BAG_50,
|
||||
/* 0x7C */ GI_ICE_TRAP, // freezes link when opened from a chest
|
||||
/* 0x7D */ GI_TEXT_0, // no model appears over Link, shows text id 0 (pocket egg)
|
||||
|
||||
/* 0x7E */ GI_MEDALLION_LIGHT,
|
||||
/* 0x7F */ GI_MEDALLION_FOREST,
|
||||
/* 0x80 */ GI_MEDALLION_FIRE,
|
||||
/* 0x81 */ GI_MEDALLION_WATER,
|
||||
/* 0x82 */ GI_MEDALLION_SHADOW,
|
||||
/* 0x83 */ GI_MEDALLION_SPIRIT,
|
||||
|
||||
/* 0x84 */ GI_STONE_KOKIRI,
|
||||
/* 0x85 */ GI_STONE_GORON,
|
||||
/* 0x86 */ GI_STONE_ZORA,
|
||||
|
||||
/* 0x87 */ GI_ZELDAS_LULLABY,
|
||||
/* 0x88 */ GI_SUNS_SONG,
|
||||
/* 0x89 */ GI_EPONAS_SONG,
|
||||
/* 0x8A */ GI_SONG_OF_STORMS,
|
||||
/* 0x8B */ GI_SONG_OF_TIME,
|
||||
/* 0x8C */ GI_SARIAS_SONG,
|
||||
|
||||
/* 0x8D */ GI_MINUET_OF_FOREST,
|
||||
/* 0x8E */ GI_BOLERO_OF_FIRE,
|
||||
/* 0x8F */ GI_SERENADE_OF_WATER,
|
||||
/* 0x90 */ GI_NOCTURNE_OF_SHADOW,
|
||||
/* 0x91 */ GI_REQUIEM_OF_SPIRIT,
|
||||
/* 0x92 */ GI_PRELUDE_OF_LIGHT,
|
||||
|
||||
/* 0x93 */ GI_SINGLE_MAGIC,
|
||||
/* 0x94 */ GI_DOUBLE_MAGIC,
|
||||
/* 0x95 */ GI_DOUBLE_DEFENSE,
|
||||
|
||||
/* 0x96 */ GI_BOTTLE_WITH_RED_POTION,
|
||||
/* 0x97 */ GI_BOTTLE_WITH_GREEN_POTION,
|
||||
/* 0x98 */ GI_BOTTLE_WITH_BLUE_POTION,
|
||||
/* 0x99 */ GI_BOTTLE_WITH_FAIRY,
|
||||
/* 0x9A */ GI_BOTTLE_WITH_FISH,
|
||||
/* 0x9B */ GI_BOTTLE_WITH_BLUE_FIRE,
|
||||
/* 0x9C */ GI_BOTTLE_WITH_BUGS,
|
||||
/* 0x9D */ GI_BOTTLE_WITH_POE,
|
||||
/* 0x9E */ GI_BOTTLE_WITH_BIG_POE,
|
||||
|
||||
/* 0x9F */ GI_GERUDO_FORTRESS_SMALL_KEY,
|
||||
/* 0xA0 */ GI_FOREST_TEMPLE_SMALL_KEY,
|
||||
/* 0xA1 */ GI_FIRE_TEMPLE_SMALL_KEY,
|
||||
/* 0xA2 */ GI_WATER_TEMPLE_SMALL_KEY,
|
||||
/* 0xA3 */ GI_SPIRIT_TEMPLE_SMALL_KEY,
|
||||
/* 0xA4 */ GI_SHADOW_TEMPLE_SMALL_KEY,
|
||||
/* 0xA5 */ GI_BOTTOM_OF_THE_WELL_SMALL_KEY,
|
||||
/* 0xA6 */ GI_GERUDO_TRAINING_GROUNDS_SMALL_KEY,
|
||||
/* 0xA7 */ GI_GANONS_CASTLE_SMALL_KEY,
|
||||
|
||||
/* 0xA8 */ GI_FOREST_TEMPLE_BOSS_KEY,
|
||||
/* 0xA9 */ GI_FIRE_TEMPLE_BOSS_KEY,
|
||||
/* 0xAA */ GI_WATER_TEMPLE_BOSS_KEY,
|
||||
/* 0xAB */ GI_SPIRIT_TEMPLE_BOSS_KEY,
|
||||
/* 0xAC */ GI_SHADOW_TEMPLE_BOSS_KEY,
|
||||
/* 0xAD */ GI_GANONS_CASTLE_BOSS_KEY,
|
||||
|
||||
/* 0xAE */ GI_DEKU_TREE_MAP,
|
||||
/* 0xAF */ GI_DODONGOS_CAVERN_MAP,
|
||||
/* 0xB0 */ GI_JABU_JABUS_BELLY_MAP,
|
||||
/* 0xB1 */ GI_FOREST_TEMPLE_MAP,
|
||||
/* 0xB2 */ GI_FIRE_TEMPLE_MAP,
|
||||
/* 0xB3 */ GI_WATER_TEMPLE_MAP,
|
||||
/* 0xB4 */ GI_SPIRIT_TEMPLE_MAP,
|
||||
/* 0xB5 */ GI_SHADOW_TEMPLE_MAP,
|
||||
/* 0xB6 */ GI_BOTTOM_OF_THE_WELL_MAP,
|
||||
/* 0xB7 */ GI_ICE_CAVERN_MAP,
|
||||
|
||||
/* 0xB8 */ GI_DEKU_TREE_COMPASS,
|
||||
/* 0xB9 */ GI_DODONGOS_CAVERN_COMPASS,
|
||||
/* 0xBA */ GI_JABU_JABUS_BELLY_COMPASS,
|
||||
/* 0xBB */ GI_FOREST_TEMPLE_COMPASS,
|
||||
/* 0xBC */ GI_FIRE_TEMPLE_COMPASS,
|
||||
/* 0xBD */ GI_WATER_TEMPLE_COMPASS,
|
||||
/* 0xBE */ GI_SPIRIT_TEMPLE_COMPASS,
|
||||
/* 0xBF */ GI_SHADOW_TEMPLE_COMPASS,
|
||||
/* 0xC0 */ GI_BOTTOM_OF_THE_WELL_COMPASS,
|
||||
/* 0xC1 */ GI_ICE_CAVERN_COMPASS,
|
||||
|
||||
/* 0xAE */ GI_MAX
|
||||
/* 0x7D */ GI_TEXT_0, // no model appears over Link, shows text id 0 (pocket egg)
|
||||
/* 0x84 */ GI_MAX
|
||||
} GetItemID;
|
||||
|
||||
typedef enum {
|
||||
|
||||
+5
-10
@@ -2,17 +2,10 @@
|
||||
#define Z64PLAYER_H
|
||||
|
||||
#include "z64actor.h"
|
||||
#include "soh/Enhancements/item-tables/ItemTableTypes.h"
|
||||
|
||||
struct Player;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 itemId;
|
||||
/* 0x01 */ u8 field; // various bit-packed data
|
||||
/* 0x02 */ s8 gi; // defines the draw id and chest opening animation
|
||||
/* 0x03 */ u8 textId;
|
||||
/* 0x04 */ u16 objectId;
|
||||
} GetItemEntry; // size = 0x06
|
||||
|
||||
extern GetItemEntry sGetItemTable[195];
|
||||
|
||||
typedef enum {
|
||||
@@ -366,7 +359,7 @@ typedef struct {
|
||||
/* 0x00 */ s32 active;
|
||||
/* 0x04 */ Vec3f tip;
|
||||
/* 0x10 */ Vec3f base;
|
||||
} WeaponInfo; // size = 0x1C\
|
||||
} WeaponInfo; // size = 0x1C
|
||||
|
||||
typedef enum {
|
||||
FLAG_NONE,
|
||||
@@ -374,6 +367,7 @@ typedef enum {
|
||||
FLAG_SCENE_TREASURE,
|
||||
FLAG_SCENE_CLEAR,
|
||||
FLAG_SCENE_COLLECTIBLE,
|
||||
FLAG_EVENT_CHECK_INF,
|
||||
FLAG_COW_MILKED
|
||||
} FlagType;
|
||||
|
||||
@@ -639,6 +633,7 @@ typedef struct Player {
|
||||
/* 0x0A89 */ bool pendingIceTrap;
|
||||
/* 0x0A95 */ PendingFlag pendingFlag;
|
||||
/* 0x0AA1 */ u8 boomerangQuickRecall; // Has the player pressed the boomerang button while it's in the air still?
|
||||
} Player; // size = 0xAA2
|
||||
/* 0x0AA2 */ GetItemEntry getItemEntry;
|
||||
} Player; // size = 0xAAA
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user