diff --git a/include/functions.h b/include/functions.h index 6608ce1814..e134758eab 100644 --- a/include/functions.h +++ b/include/functions.h @@ -741,27 +741,7 @@ void Health_UpdateMeter(PlayState* play); void Health_DrawMeter(PlayState* play); void Health_UpdateBeatingHeart(PlayState* play); u32 Health_IsCritical(void); -void Lights_PointSetInfo(LightInfo* info, s16 x, s16 y, s16 z, u8 r, u8 g, u8 b, s16 radius, s32 type); -void Lights_PointNoGlowSetInfo(LightInfo* info, s16 x, s16 y, s16 z, u8 r, u8 g, u8 b, s16 radius); -void Lights_PointGlowSetInfo(LightInfo* info, s16 x, s16 y, s16 z, u8 r, u8 g, u8 b, s16 radius); -void Lights_PointSetColorAndRadius(LightInfo* info, u8 r, u8 g, u8 b, s16 radius); -void Lights_DirectionalSetInfo(LightInfo* info, s8 x, s8 y, s8 z, u8 r, u8 g, u8 b); -void Lights_Reset(Lights* lights, u8 ambentR, u8 ambentG, u8 ambentB); -void Lights_Draw(Lights* lights, GraphicsContext* gfxCtx); -void Lights_BindAll(Lights* lights, LightNode* listHead, Vec3f* vec); -void LightContext_Init(PlayState* play, LightContext* lightCtx); -void LightContext_SetAmbientColor(LightContext* lightCtx, u8 r, u8 g, u8 b); -void LightContext_SetFog(LightContext* lightCtx, u8 r, u8 g, u8 b, s16 fogNear, s16 zFar); -Lights* LightContext_NewLights(LightContext* lightCtx, GraphicsContext* gfxCtx); -void LightContext_InitList(PlayState* play, LightContext* lightCtx); -void LightContext_DestroyList(PlayState* play, LightContext* lightCtx); -LightNode* LightContext_InsertLight(PlayState* play, LightContext* lightCtx, LightInfo* info); -void LightContext_RemoveLight(PlayState* play, LightContext* lightCtx, LightNode* node); -Lights* Lights_NewAndDraw(GraphicsContext* gfxCtx, u8 ambientR, u8 ambientG, u8 ambientB, u8 numLights, u8 r, u8 g, - u8 b, s8 x, s8 y, s8 z); -Lights* Lights_New(GraphicsContext* gfxCtx, u8 ambientR, u8 ambientG, u8 ambientB); -void Lights_GlowCheck(PlayState* play); -void Lights_DrawGlow(PlayState* play); + void* ZeldaArena_Malloc(u32 size); void* ZeldaArena_MallocR(u32 size); void* ZeldaArena_Realloc(void* ptr, u32 newSize); @@ -813,36 +793,7 @@ void Map_Destroy(PlayState* play); void Map_Init(PlayState* play); void Minimap_Draw(PlayState* play); void Map_Update(PlayState* play); -void Interface_ChangeHudVisibilityMode(u16 hudVisibilityMode); -void Interface_SetSceneRestrictions(PlayState* play); -void Inventory_SwapAgeEquipment(void); -void Interface_InitHorsebackArchery(PlayState* play); -void func_800849EC(PlayState* play); -void Interface_LoadItemIcon1(PlayState* play, u16 button); -void Interface_LoadItemIcon2(PlayState* play, u16 button); -void func_80084BF4(PlayState* play, u16 flag); -u8 Item_Give(PlayState* play, u8 item); -u8 Item_CheckObtainability(u8 item); -void Inventory_DeleteItem(u16 item, u16 invSlot); -s32 Inventory_ReplaceItem(PlayState* play, u16 oldItem, u16 newItem); -s32 Inventory_HasEmptyBottle(void); -s32 Inventory_HasSpecificBottle(u8 bottleItem); -void Inventory_UpdateBottleItem(PlayState* play, u8 item, u8 button); -s32 Inventory_ConsumeFairy(PlayState* play); -void Interface_SetDoAction(PlayState* play, u16 action); -void Interface_SetNaviCall(PlayState* play, u16 naviCallState); -void Interface_LoadActionLabelB(PlayState* play, u16 action); -s32 Health_ChangeBy(PlayState* play, s16 amount); -void Rupees_ChangeBy(s16 rupeeChange); -void Inventory_ChangeAmmo(s16 item, s16 ammoChange); -void Magic_Fill(PlayState* play); -void Magic_Reset(PlayState* play); -s32 Magic_RequestChange(PlayState* play, s16 amount, s16 type); -void Interface_SetSubTimer(s16 seconds); -void Interface_SetSubTimerToFinalSecond(PlayState* play); -void Interface_SetTimer(s16 seconds); -void Interface_Draw(PlayState* play); -void Interface_Update(PlayState* play); + Path* Path_GetByIndex(PlayState* play, s16 index, s16 max); f32 Path_OrientAndGetDistSq(Actor* actor, Path* path, s16 waypoint, s16* yaw); void Path_CopyLastPoint(Path* path, Vec3f* dest); @@ -1583,21 +1534,9 @@ s32 __osSpSetPc(void* pc); f32 absf(f32); void* memset(void* dest, int val, size_t len); void* memmove(void* dest, const void* src, size_t len); -void Message_UpdateOcarinaMemoryGame(PlayState* play); -u8 Message_ShouldAdvance(PlayState* play); -void Message_CloseTextbox(PlayState*); -void Message_StartTextbox(PlayState* play, u16 textId, Actor* actor); -void Message_ContinueTextbox(PlayState* play, u16 textId); -void Message_StartOcarina(PlayState* play, u16 ocarinaActionId); -void Message_StartOcarinaSunsSongDisabled(PlayState* play, u16 ocarinaActionId); -u8 Message_GetState(MessageContext* msgCtx); -void Message_Draw(PlayState* play); -void Message_Update(PlayState* play); -void Message_SetTables(void); void Interface_Destroy(PlayState* play); void Interface_Init(PlayState* play); -void Message_Init(PlayState* play); void Regs_InitData(PlayState* play); void Setup_Init(GameState* thisx); diff --git a/include/z64interface.h b/include/z64interface.h index ac5bfc8153..6ee09afe9b 100644 --- a/include/z64interface.h +++ b/include/z64interface.h @@ -1,8 +1,11 @@ #ifndef Z64INTERFACE_H #define Z64INTERFACE_H +#include "z64dma.h" #include "z64view.h" +struct PlayState; + extern u8 _icon_item_staticSegmentRomStart[]; extern u8 _icon_item_24_staticSegmentRomStart[]; @@ -242,4 +245,35 @@ typedef struct InterfaceContext { #define HEARTS_DROWN_ENV_G 0 #define HEARTS_DROWN_ENV_B 255 +void Interface_ChangeHudVisibilityMode(u16 hudVisibilityMode); +void Interface_SetSceneRestrictions(struct PlayState* play); +void Inventory_SwapAgeEquipment(void); +void Interface_InitHorsebackArchery(struct PlayState* play); +void func_800849EC(struct PlayState* play); +void Interface_LoadItemIcon1(struct PlayState* play, u16 button); +void Interface_LoadItemIcon2(struct PlayState* play, u16 button); +void func_80084BF4(struct PlayState* play, u16 flag); +u8 Item_Give(struct PlayState* play, u8 item); +u8 Item_CheckObtainability(u8 item); +void Inventory_DeleteItem(u16 item, u16 invSlot); +s32 Inventory_ReplaceItem(struct PlayState* play, u16 oldItem, u16 newItem); +s32 Inventory_HasEmptyBottle(void); +s32 Inventory_HasSpecificBottle(u8 bottleItem); +void Inventory_UpdateBottleItem(struct PlayState* play, u8 item, u8 button); +s32 Inventory_ConsumeFairy(struct PlayState* play); +void Interface_SetDoAction(struct PlayState* play, u16 action); +void Interface_SetNaviCall(struct PlayState* play, u16 naviCallState); +void Interface_LoadActionLabelB(struct PlayState* play, u16 action); +s32 Health_ChangeBy(struct PlayState* play, s16 amount); +void Rupees_ChangeBy(s16 rupeeChange); +void Inventory_ChangeAmmo(s16 item, s16 ammoChange); +void Magic_Fill(struct PlayState* play); +void Magic_Reset(struct PlayState* play); +s32 Magic_RequestChange(struct PlayState* play, s16 amount, s16 type); +void Interface_SetSubTimer(s16 seconds); +void Interface_SetSubTimerToFinalSecond(struct PlayState* play); +void Interface_SetTimer(s16 seconds); +void Interface_Draw(struct PlayState* play); +void Interface_Update(struct PlayState* play); + #endif diff --git a/include/z64light.h b/include/z64light.h index 5b20af3142..cb666ff752 100644 --- a/include/z64light.h +++ b/include/z64light.h @@ -6,6 +6,9 @@ #include "z64math.h" #include "color.h" +struct GraphicsContext; +struct PlayState; + typedef struct LightPoint { /* 0x0 */ s16 x; /* 0x2 */ s16 y; @@ -62,4 +65,26 @@ typedef enum LightType { typedef void (*LightsBindFunc)(Lights* lights, LightParams* params, Vec3f* vec); +void Lights_PointSetInfo(LightInfo* info, s16 x, s16 y, s16 z, u8 r, u8 g, u8 b, s16 radius, s32 type); +void Lights_PointNoGlowSetInfo(LightInfo* info, s16 x, s16 y, s16 z, u8 r, u8 g, u8 b, s16 radius); +void Lights_PointGlowSetInfo(LightInfo* info, s16 x, s16 y, s16 z, u8 r, u8 g, u8 b, s16 radius); +void Lights_PointSetColorAndRadius(LightInfo* info, u8 r, u8 g, u8 b, s16 radius); +void Lights_DirectionalSetInfo(LightInfo* info, s8 x, s8 y, s8 z, u8 r, u8 g, u8 b); +void Lights_Reset(Lights* lights, u8 ambentR, u8 ambentG, u8 ambentB); +void Lights_Draw(Lights* lights, struct GraphicsContext* gfxCtx); +void Lights_BindAll(Lights* lights, LightNode* listHead, Vec3f* vec); +void LightContext_Init(struct PlayState* play, LightContext* lightCtx); +void LightContext_SetAmbientColor(LightContext* lightCtx, u8 r, u8 g, u8 b); +void LightContext_SetFog(LightContext* lightCtx, u8 r, u8 g, u8 b, s16 fogNear, s16 zFar); +Lights* LightContext_NewLights(LightContext* lightCtx, struct GraphicsContext* gfxCtx); +void LightContext_InitList(struct PlayState* play, LightContext* lightCtx); +void LightContext_DestroyList(struct PlayState* play, LightContext* lightCtx); +LightNode* LightContext_InsertLight(struct PlayState* play, LightContext* lightCtx, LightInfo* info); +void LightContext_RemoveLight(struct PlayState* play, LightContext* lightCtx, LightNode* node); +Lights* Lights_NewAndDraw(struct GraphicsContext* gfxCtx, u8 ambientR, u8 ambientG, u8 ambientB, u8 numLights, u8 r, u8 g, + u8 b, s8 x, s8 y, s8 z); +Lights* Lights_New(struct GraphicsContext* gfxCtx, u8 ambientR, u8 ambientG, u8 ambientB); +void Lights_GlowCheck(struct PlayState* play); +void Lights_DrawGlow(struct PlayState* play); + #endif diff --git a/include/z64message.h b/include/z64message.h index d0df11a16a..9a073cfa03 100644 --- a/include/z64message.h +++ b/include/z64message.h @@ -5,6 +5,7 @@ struct OcarinaStaff; struct Actor; +struct PlayState; typedef enum TextBoxIcon { /* 0 */ TEXTBOX_ICON_TRIANGLE, @@ -278,4 +279,17 @@ typedef struct MessageContext { /* 0xE410 */ u8 lastOcarinaButtonIndex; } MessageContext; // size = 0xE418 +void Message_UpdateOcarinaMemoryGame(struct PlayState* play); +u8 Message_ShouldAdvance(struct PlayState* play); +void Message_CloseTextbox(struct PlayState*); +void Message_StartTextbox(struct PlayState* play, u16 textId, struct Actor* actor); +void Message_ContinueTextbox(struct PlayState* play, u16 textId); +void Message_StartOcarina(struct PlayState* play, u16 ocarinaActionId); +void Message_StartOcarinaSunsSongDisabled(struct PlayState* play, u16 ocarinaActionId); +u8 Message_GetState(MessageContext* msgCtx); +void Message_Draw(struct PlayState* play); +void Message_Update(struct PlayState* play); +void Message_SetTables(void); +void Message_Init(struct PlayState* play); + #endif