2021-09-15 23:24:19 +00:00
|
|
|
#ifndef FUNCTIONS_H
|
|
|
|
#define FUNCTIONS_H
|
2020-03-17 04:31:30 +00:00
|
|
|
|
2020-03-24 17:29:59 +00:00
|
|
|
#include "z64.h"
|
2022-06-03 16:51:23 +00:00
|
|
|
#include "macros.h"
|
2020-03-17 04:31:30 +00:00
|
|
|
|
|
|
|
void bootproc(void);
|
2021-02-14 00:49:40 +00:00
|
|
|
void Main_ThreadEntry(void* arg);
|
|
|
|
void Idle_ThreadEntry(void* arg);
|
2022-06-03 19:43:30 +00:00
|
|
|
void ViConfig_UpdateVi(u32 black);
|
2021-02-14 00:49:40 +00:00
|
|
|
void ViConfig_UpdateBlack(void);
|
|
|
|
void* Yaz0_FirstDMA(void);
|
2022-06-11 07:42:05 +00:00
|
|
|
void* Yaz0_NextDMA(u8* curSrcPos);
|
2024-01-29 23:14:30 +00:00
|
|
|
void Yaz0_DecompressImpl(u8* src, u8* dst);
|
2022-11-17 02:57:02 +00:00
|
|
|
void Yaz0_Decompress(uintptr_t romStart, u8* dst, size_t size);
|
2021-02-14 00:49:40 +00:00
|
|
|
void Locale_Init(void);
|
|
|
|
void Locale_ResetRegion(void);
|
2024-01-29 17:10:28 +00:00
|
|
|
#if OOT_DEBUG
|
2021-02-14 00:49:40 +00:00
|
|
|
void isPrintfInit(void);
|
2024-01-29 17:10:28 +00:00
|
|
|
#endif
|
2020-03-17 04:31:30 +00:00
|
|
|
void rmonPrintf(const char* fmt, ...);
|
2024-01-29 17:10:28 +00:00
|
|
|
#if OOT_DEBUG
|
2023-10-27 14:06:44 +00:00
|
|
|
void* is_proutSyncPrintf(void* arg, const char* str, size_t count);
|
2024-02-27 07:37:33 +00:00
|
|
|
NORETURN void func_80002384(const char* exp, const char* file, int line);
|
2024-01-29 17:10:28 +00:00
|
|
|
#endif
|
2021-02-14 00:49:40 +00:00
|
|
|
OSPiHandle* osDriveRomInit(void);
|
2024-01-29 23:14:30 +00:00
|
|
|
void Mio0_Decompress(u8* src, u8* dst);
|
2024-02-02 18:45:02 +00:00
|
|
|
#if OOT_DEBUG
|
2020-03-17 04:31:30 +00:00
|
|
|
void LogUtils_LogHexDump(void* ptr, s32 size0);
|
2024-02-27 07:37:33 +00:00
|
|
|
void LogUtils_CheckNullPointer(const char* exp, void* ptr, const char* file, int line);
|
|
|
|
void LogUtils_CheckValidPointer(const char* exp, void* ptr, const char* file, int line);
|
|
|
|
void LogUtils_LogThreadId(const char* name, int line);
|
2024-02-02 18:45:02 +00:00
|
|
|
#endif
|
2024-02-27 07:37:33 +00:00
|
|
|
void LogUtils_HungupThread(const char* name, int line);
|
2021-02-14 00:49:40 +00:00
|
|
|
void LogUtils_ResetHungup(void);
|
2020-03-17 04:31:30 +00:00
|
|
|
|
2022-05-21 18:23:43 +00:00
|
|
|
EnItem00* Item_DropCollectible(PlayState* play, Vec3f* spawnPos, s16 params);
|
|
|
|
EnItem00* Item_DropCollectible2(PlayState* play, Vec3f* spawnPos, s16 params);
|
|
|
|
void Item_DropCollectibleRandom(PlayState* play, Actor* fromActor, Vec3f* spawnPos, s16 params);
|
2024-10-01 06:46:56 +00:00
|
|
|
|
2022-05-21 18:23:43 +00:00
|
|
|
void FlagSet_Update(PlayState* play);
|
2020-03-17 04:31:30 +00:00
|
|
|
void Overlay_LoadGameState(GameStateOverlay* overlayEntry);
|
|
|
|
void Overlay_FreeGameState(GameStateOverlay* overlayEntry);
|
2024-09-23 15:06:43 +00:00
|
|
|
|
2020-03-17 04:31:30 +00:00
|
|
|
void ActorOverlayTable_LogPrint(void);
|
|
|
|
void ActorOverlayTable_Init(void);
|
|
|
|
void ActorOverlayTable_Cleanup(void);
|
2024-09-07 06:29:50 +00:00
|
|
|
|
2020-03-17 04:31:30 +00:00
|
|
|
void SaveContext_Init(void);
|
2021-04-03 20:58:33 +00:00
|
|
|
s32 func_800635D0(s32);
|
2022-10-15 05:40:00 +00:00
|
|
|
void Regs_Init(void);
|
2023-01-12 21:06:31 +00:00
|
|
|
void DebugCamera_ScreenText(u8 x, u8 y, const char* text);
|
|
|
|
void DebugCamera_ScreenTextColored(u8 x, u8 y, u8 colorIndex, const char* text);
|
2024-02-02 17:44:31 +00:00
|
|
|
#if OOT_DEBUG
|
2022-10-15 05:40:00 +00:00
|
|
|
void Regs_UpdateEditor(Input* input);
|
2024-02-02 17:44:31 +00:00
|
|
|
#endif
|
2022-12-30 01:23:09 +00:00
|
|
|
void Debug_DrawText(GraphicsContext* gfxCtx);
|
2020-03-17 04:31:30 +00:00
|
|
|
void DebugDisplay_Init(void);
|
2020-03-22 21:50:11 +00:00
|
|
|
DebugDispObject* DebugDisplay_AddObject(f32 posX, f32 posY, f32 posZ, s16 rotX, s16 rotY, s16 rotZ, f32 scaleX,
|
|
|
|
f32 scaleY, f32 scaleZ, u8 red, u8 green, u8 blue, u8 alpha, s16 type,
|
|
|
|
GraphicsContext* gfxCtx);
|
2022-05-21 18:23:43 +00:00
|
|
|
void DebugDisplay_DrawObjects(PlayState* play);
|
2024-09-25 17:45:06 +00:00
|
|
|
|
2022-05-01 22:06:35 +00:00
|
|
|
void* MemCpy(void* dest, const void* src, s32 len);
|
2022-05-21 18:23:43 +00:00
|
|
|
void GetItem_Draw(PlayState* play, s16 drawId);
|
2024-06-25 19:13:31 +00:00
|
|
|
|
2022-10-15 17:24:13 +00:00
|
|
|
u16 QuestHint_GetSariaTextId(PlayState* play);
|
|
|
|
u16 QuestHint_GetNaviTextId(PlayState* play);
|
2024-01-08 22:17:22 +00:00
|
|
|
u16 MaskReaction_GetTextId(PlayState* play, u32 maskReactionSet);
|
2022-12-24 18:55:17 +00:00
|
|
|
void CutsceneFlags_UnsetAll(PlayState* play);
|
|
|
|
void CutsceneFlags_Set(PlayState* play, s16 flag);
|
|
|
|
void CutsceneFlags_Unset(PlayState* play, s16 flag);
|
|
|
|
s32 CutsceneFlags_Get(PlayState* play, s16 flag);
|
2022-07-31 23:44:47 +00:00
|
|
|
s32 func_8006CFC0(s32 sceneId);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_8006D074(PlayState* play);
|
|
|
|
void func_8006D0AC(PlayState* play);
|
|
|
|
void func_8006D0EC(PlayState* play, Player* player);
|
|
|
|
void func_8006D684(PlayState* play, Player* player);
|
|
|
|
void func_8006DC68(PlayState* play, Player* player);
|
2021-01-18 02:13:36 +00:00
|
|
|
void func_8006DD9C(Actor* actor, Vec3f* arg1, s16 arg2);
|
2024-09-08 16:02:38 +00:00
|
|
|
|
2024-07-22 01:50:20 +00:00
|
|
|
s32 Kanji_OffsetFromShiftJIS(s32 character);
|
|
|
|
void Font_LoadCharWide(Font* font, u16 character, u16 codePointIndex);
|
2021-08-15 23:15:58 +00:00
|
|
|
void Font_LoadChar(Font* font, u8 character, u16 codePointIndex);
|
z_message_PAL, message_data_static and surrounding doc (#996)
* Initial progress on z_message_PAL, very messy
* Fix merge
* Some more progress
* Fix merge
* More z_message_PAL
* Small progress
* More small progress
* message_data_static files OK
* Prepare z_message_tables
* Matched another function, small updates
* Attempt to use asm-processor static-symbols branch
* Refactor text id declarations
* Begin large text codes parser function
* Fix merge
* Refactor done
* Build OK, add color and highscore names
* Remove encoded text headers and automatically encode during build
* Fix kanfont
* Various cleanups
* DISP macros
* Another match aside data
* Further progress
* Small improvements
* Deduplicate magic values for text control codes, small improvements
* Tiny progress
* Minor cleanups
* Clean up z_message_PAL comment
* Progress on large functions
* Further progress on large functions
* Changes to mkldscript to link .data in the .rodata section
* data OK
* Few improvements
* Use gDPLoadTextureBlock macros where appropriate
* rm z_message_tables, progress on large functions
* 2 more matches
* Improvements
* Small progress
* More progress on big function
* progress
* match func_80107980
* match Message_Update
* match func_8010BED8
* done
* Progress on remaining large functions
* Small progress on largest function
* Another match, extract text and move to assets, improve text build system
* Small nonmatchings improvements
* docs wip
* Largest function maybe equivalent
* Fix merge
* Document do_action values, largest function is almost instruction-matching
* Rename NAVI do_action to NONE, as that appears to be how that value is used in practice
* Fix merge
* one match
* Last function is instruction-matching
* Fix
* Improvements thanks to engineer124
* Stack matched thanks to petrie911, now just a/v/low t regalloc issues, some cleanup
* More variables labeled, use text state enum everywhere
* More labels and names
* Fix
* Actor_IsTalking -> Actor_TalkRequested
* Match func_8010C39C and remove unused asm
* More docs
* Mostly ocarina related docs
* All msgModes named
* Fix assetclean
* Cleanup
* Extraction fixes and headers
* Suggestions
* Review suggestions
* Change text extraction again, only extract if the headers do not already exist
* Fix
* Use ast for charmap, fix assetclean for real this time
* Review suggestions
* BGM ids and ran formatter
* Review comments
* rename include_readonly to include_data_with_rodata
* Remove leading 0s in number directives
* Review suggestions for message_data_static
* textbox pos enum comments, rename several enum names from Message to TextBox
Co-authored-by: Thar0 <maximilianc64@gmail.com>
Co-authored-by: Zelllll <56516451+Zelllll@users.noreply.github.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
Co-authored-by: Roman971 <romanlasnier@hotmail.com>
2021-11-23 01:20:30 +00:00
|
|
|
void Font_LoadMessageBoxIcon(Font* font, u16 icon);
|
2020-10-12 21:42:17 +00:00
|
|
|
void Font_LoadOrderedFont(Font* font);
|
2024-09-25 17:45:06 +00:00
|
|
|
|
2022-05-21 18:23:43 +00:00
|
|
|
void Health_InitMeter(PlayState* play);
|
|
|
|
void Health_UpdateMeter(PlayState* play);
|
|
|
|
void Health_DrawMeter(PlayState* play);
|
|
|
|
void Health_UpdateBeatingHeart(PlayState* play);
|
2022-05-07 14:18:42 +00:00
|
|
|
u32 Health_IsCritical(void);
|
2024-09-08 01:00:05 +00:00
|
|
|
|
2022-05-21 18:23:43 +00:00
|
|
|
void MapMark_Init(PlayState* play);
|
|
|
|
void MapMark_ClearPointers(PlayState* play);
|
|
|
|
void MapMark_Draw(PlayState* play);
|
2020-03-20 11:43:51 +00:00
|
|
|
void PreNmiBuff_Init(PreNmiBuff* this);
|
|
|
|
void PreNmiBuff_SetReset(PreNmiBuff* this);
|
|
|
|
u32 PreNmiBuff_IsResetting(PreNmiBuff* this);
|
2022-06-03 19:43:30 +00:00
|
|
|
void Sched_FlushTaskQueue(void);
|
2024-09-08 01:00:05 +00:00
|
|
|
|
2022-05-21 18:23:43 +00:00
|
|
|
Path* Path_GetByIndex(PlayState* play, s16 index, s16 max);
|
2020-03-23 20:18:53 +00:00
|
|
|
f32 Path_OrientAndGetDistSq(Actor* actor, Path* path, s16 waypoint, s16* yaw);
|
|
|
|
void Path_CopyLastPoint(Path* path, Vec3f* dest);
|
2024-06-25 19:13:31 +00:00
|
|
|
|
2020-10-12 01:52:50 +00:00
|
|
|
void PreNMI_Init(GameState* thisx);
|
2024-09-24 22:18:01 +00:00
|
|
|
|
2022-08-31 23:28:51 +00:00
|
|
|
void func_80095AA0(PlayState* play, Room* room, Input* input, s32 arg3);
|
|
|
|
void Room_DrawBackground2D(Gfx** gfxP, void* tex, void* tlut, u16 width, u16 height, u8 fmt, u8 siz, u16 tlutMode,
|
|
|
|
u16 tlutCount, f32 offsetX, f32 offsetY);
|
2024-09-05 12:08:21 +00:00
|
|
|
void Room_Init(PlayState* play, Room* room);
|
|
|
|
u32 Room_SetupFirstRoom(PlayState* play, RoomContext* roomCtx);
|
|
|
|
s32 Room_RequestNewRoom(PlayState* play, RoomContext* roomCtx, s32 roomNum);
|
|
|
|
s32 Room_ProcessRoomRequest(PlayState* play, RoomContext* roomCtx);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Room_Draw(PlayState* play, Room* room, u32 flags);
|
2024-09-05 12:08:21 +00:00
|
|
|
void Room_FinishRoomChange(PlayState* play, RoomContext* roomCtx);
|
2020-10-12 01:52:50 +00:00
|
|
|
void Sample_Destroy(GameState* thisx);
|
|
|
|
void Sample_Init(GameState* thisx);
|
2024-09-18 19:40:59 +00:00
|
|
|
|
2022-01-12 23:00:28 +00:00
|
|
|
void Skin_UpdateVertices(MtxF* mtx, SkinVertex* skinVertices, SkinLimbModif* modifEntry, Vtx* vtxBuf, Vec3f* pos);
|
|
|
|
void Skin_DrawAnimatedLimb(GraphicsContext* gfxCtx, Skin* skin, s32 limbIndex, s32 arg3, s32 drawFlags);
|
|
|
|
void Skin_DrawLimb(GraphicsContext* gfxCtx, Skin* skin, s32 limbIndex, Gfx* dlistOverride, s32 drawFlags);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_800A6330(Actor* actor, PlayState* play, Skin* skin, SkinPostDraw postDraw, s32 setTranslation);
|
|
|
|
void func_800A6360(Actor* actor, PlayState* play, Skin* skin, SkinPostDraw postDraw,
|
2022-02-20 13:22:29 +00:00
|
|
|
SkinOverrideLimbDraw overrideLimbDraw, s32 setTranslation);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_800A6394(Actor* actor, PlayState* play, Skin* skin, SkinPostDraw postDraw,
|
2022-02-20 13:22:29 +00:00
|
|
|
SkinOverrideLimbDraw overrideLimbDraw, s32 setTranslation, s32 arg6);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_800A63CC(Actor* actor, PlayState* play, Skin* skin, SkinPostDraw postDraw,
|
2022-02-20 13:22:29 +00:00
|
|
|
SkinOverrideLimbDraw overrideLimbDraw, s32 setTranslation, s32 arg6, s32 drawFlags);
|
2022-06-07 04:34:28 +00:00
|
|
|
void Skin_GetLimbPos(Skin* skin, s32 limbIndex, Vec3f* offset, Vec3f* dst);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Skin_Init(PlayState* play, Skin* skin, SkeletonHeader* skeletonHeader, AnimationHeader* animationHeader);
|
|
|
|
void Skin_Free(PlayState* play, Skin* skin);
|
2022-06-07 04:34:28 +00:00
|
|
|
s32 Skin_ApplyAnimTransformations(Skin* skin, MtxF* limbMatrices, Actor* actor, s32 setTranslation);
|
2022-01-12 23:00:28 +00:00
|
|
|
|
2020-10-11 17:45:08 +00:00
|
|
|
void Sram_InitNewSave(void);
|
|
|
|
void Sram_InitDebugSave(void);
|
|
|
|
void Sram_OpenSave(SramContext* sramCtx);
|
2021-05-02 23:15:16 +00:00
|
|
|
void Sram_WriteSave(SramContext* sramCtx);
|
2022-06-23 21:34:26 +00:00
|
|
|
void Sram_VerifyAndLoadAllSaves(FileSelectState* fileSelect, SramContext* sramCtx);
|
|
|
|
void Sram_InitSave(FileSelectState* fileSelect, SramContext* sramCtx);
|
|
|
|
void Sram_EraseSave(FileSelectState* fileSelect, SramContext* sramCtx);
|
|
|
|
void Sram_CopySave(FileSelectState* fileSelect, SramContext* sramCtx);
|
2021-11-15 21:33:44 +00:00
|
|
|
void Sram_WriteSramHeader(SramContext* sramCtx);
|
2020-10-11 17:45:08 +00:00
|
|
|
void Sram_InitSram(GameState* gameState, SramContext* sramCtx);
|
|
|
|
void Sram_Alloc(GameState* gameState, SramContext* sramCtx);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Sram_Init(PlayState* play, SramContext* sramCtx);
|
2024-02-07 15:41:12 +00:00
|
|
|
void SsSram_Init(s32 addr, u8 handleType, u8 handleDomain, u8 handleLatency, u8 handlePageSize, u8 handleRelDuration,
|
2020-12-02 03:19:56 +00:00
|
|
|
u8 handlePulse, u32 handleSpeed);
|
2020-10-11 17:45:08 +00:00
|
|
|
void SsSram_Dma(void* dramAddr, size_t size, s32 direction);
|
2024-02-07 15:41:12 +00:00
|
|
|
void SsSram_ReadWrite(s32 addr, void* dramAddr, size_t size, s32 direction);
|
2024-09-27 18:51:00 +00:00
|
|
|
|
2022-06-20 20:31:53 +00:00
|
|
|
void ViMode_LogPrint(OSViMode* osViMode);
|
2022-11-13 23:07:27 +00:00
|
|
|
void ViMode_Configure(ViMode* viMode, s32 type, s32 tvType, s32 loRes, s32 antialiasOff, s32 modeN, s32 fb16Bit,
|
|
|
|
s32 width, s32 height, s32 leftAdjust, s32 rightAdjust, s32 upperAdjust, s32 lowerAdjust);
|
2021-05-29 13:41:39 +00:00
|
|
|
void ViMode_Save(ViMode* viMode);
|
|
|
|
void ViMode_Load(ViMode* viMode);
|
|
|
|
void ViMode_Init(ViMode* viMode);
|
|
|
|
void ViMode_Destroy(ViMode* viMode);
|
|
|
|
void ViMode_ConfigureFeatures(ViMode* viMode, s32 viFeatures);
|
|
|
|
void ViMode_Update(ViMode* viMode, Input* input);
|
2021-02-14 00:49:40 +00:00
|
|
|
void PlayerCall_InitFuncPtrs(void);
|
2022-12-28 21:29:59 +00:00
|
|
|
void TransitionTile_Destroy(TransitionTile* this);
|
|
|
|
TransitionTile* TransitionTile_Init(TransitionTile* this, s32 cols, s32 rows);
|
|
|
|
void TransitionTile_Draw(TransitionTile* this, Gfx** gfxP);
|
|
|
|
void TransitionTile_Update(TransitionTile* this);
|
2022-06-20 20:31:53 +00:00
|
|
|
void TransitionTriforce_Start(void* thisx);
|
|
|
|
void* TransitionTriforce_Init(void* thisx);
|
|
|
|
void TransitionTriforce_Destroy(void* thisx);
|
|
|
|
void TransitionTriforce_Update(void* thisx, s32 updateRate);
|
|
|
|
void TransitionTriforce_SetColor(void* thisx, u32 color);
|
|
|
|
void TransitionTriforce_SetType(void* thisx, s32 type);
|
|
|
|
void TransitionTriforce_Draw(void* thisx, Gfx** gfxP);
|
|
|
|
s32 TransitionTriforce_IsDone(void* thisx);
|
|
|
|
void TransitionWipe_Start(void* thisx);
|
|
|
|
void* TransitionWipe_Init(void* thisx);
|
|
|
|
void TransitionWipe_Destroy(void* thisx);
|
|
|
|
void TransitionWipe_Update(void* thisx, s32 updateRate);
|
|
|
|
void TransitionWipe_Draw(void* thisx, Gfx** gfxP);
|
|
|
|
s32 TransitionWipe_IsDone(void* thisx);
|
|
|
|
void TransitionWipe_SetType(void* thisx, s32 type);
|
|
|
|
void TransitionWipe_SetColor(void* thisx, u32 color);
|
2021-02-14 00:49:40 +00:00
|
|
|
void TransitionCircle_Start(void* thisx);
|
|
|
|
void* TransitionCircle_Init(void* thisx);
|
|
|
|
void TransitionCircle_Destroy(void* thisx);
|
|
|
|
void TransitionCircle_Update(void* thisx, s32 updateRate);
|
|
|
|
void TransitionCircle_Draw(void* thisx, Gfx** gfxP);
|
|
|
|
s32 TransitionCircle_IsDone(void* thisx);
|
|
|
|
void TransitionCircle_SetType(void* thisx, s32 type);
|
|
|
|
void TransitionCircle_SetColor(void* thisx, u32 color);
|
2022-12-24 02:46:56 +00:00
|
|
|
void TransitionCircle_SetUnkColor(void* thisx, u32 color);
|
2022-06-20 20:31:53 +00:00
|
|
|
void TransitionFade_Start(void* thisx);
|
|
|
|
void* TransitionFade_Init(void* thisx);
|
|
|
|
void TransitionFade_Destroy(void* thisx);
|
|
|
|
void TransitionFade_Update(void* thisx, s32 updateRate);
|
|
|
|
void TransitionFade_Draw(void* thisx, Gfx** gfxP);
|
|
|
|
s32 TransitionFade_IsDone(void* thisx);
|
|
|
|
void TransitionFade_SetColor(void* thisx, u32 color);
|
|
|
|
void TransitionFade_SetType(void* thisx, s32 type);
|
2024-09-25 17:45:06 +00:00
|
|
|
|
2023-01-12 21:06:31 +00:00
|
|
|
void DebugCamera_Init(DebugCam* debugCam, Camera* cameraPtr);
|
|
|
|
void DebugCamera_Enable(DebugCam* debugCam, Camera* cam);
|
|
|
|
void DebugCamera_Update(DebugCam* debugCam, Camera* cam);
|
|
|
|
void DebugCamera_Reset(Camera* cam, DebugCam* debugCam);
|
2021-09-13 19:29:11 +00:00
|
|
|
void func_800BB0A0(f32 u, Vec3f* pos, f32* roll, f32* viewAngle, f32* point0, f32* point1, f32* point2, f32* point3);
|
2022-02-20 13:22:29 +00:00
|
|
|
s32 func_800BB2B4(Vec3f* pos, f32* roll, f32* fov, CutsceneCameraPoint* point, s16* keyFrame, f32* curFrame);
|
2024-06-25 19:13:31 +00:00
|
|
|
|
2022-06-07 04:34:28 +00:00
|
|
|
s32 func_800C0D34(PlayState* this, Actor* actor, s16* yaw);
|
|
|
|
s32 func_800C0DB4(PlayState* this, Vec3f* pos);
|
2021-07-04 15:58:19 +00:00
|
|
|
void PreRender_SetValuesSave(PreRender* this, u32 width, u32 height, void* fbuf, void* zbuf, void* cvg);
|
|
|
|
void PreRender_Init(PreRender* this);
|
|
|
|
void PreRender_SetValues(PreRender* this, u32 width, u32 height, void* fbuf, void* zbuf);
|
|
|
|
void PreRender_Destroy(PreRender* this);
|
2023-09-16 21:16:58 +00:00
|
|
|
void func_800C170C(PreRender* this, Gfx** gfxP, void* buf, void* bufSave, u32 r, u32 g, u32 b, u32 a);
|
|
|
|
void func_800C1AE8(PreRender* this, Gfx** gfxP, void* fbuf, void* fbufSave);
|
|
|
|
void PreRender_SaveZBuffer(PreRender* this, Gfx** gfxP);
|
|
|
|
void PreRender_SaveFramebuffer(PreRender* this, Gfx** gfxP);
|
|
|
|
void PreRender_DrawCoverage(PreRender* this, Gfx** gfxP);
|
|
|
|
void PreRender_RestoreZBuffer(PreRender* this, Gfx** gfxP);
|
|
|
|
void func_800C213C(PreRender* this, Gfx** gfxP);
|
|
|
|
void PreRender_RestoreFramebuffer(PreRender* this, Gfx** gfxP);
|
|
|
|
void PreRender_CopyImageRegion(PreRender* this, Gfx** gfxP);
|
2022-08-28 16:18:20 +00:00
|
|
|
void PreRender_ApplyFilters(PreRender* this);
|
2023-09-16 21:16:58 +00:00
|
|
|
void GameState_SetFBFilter(Gfx** gfxP);
|
2020-05-14 23:11:33 +00:00
|
|
|
void GameState_Draw(GameState* gameState, GraphicsContext* gfxCtx);
|
|
|
|
void GameState_SetFrameBuffer(GraphicsContext* gfxCtx);
|
|
|
|
void GameState_ReqPadData(GameState* gameState);
|
|
|
|
void GameState_Update(GameState* gameState);
|
|
|
|
void GameState_InitArena(GameState* gameState, size_t size);
|
|
|
|
void GameState_Realloc(GameState* gameState, size_t size);
|
|
|
|
void GameState_Init(GameState* gameState, GameStateFunc init, GraphicsContext* gfxCtx);
|
|
|
|
void GameState_Destroy(GameState* gameState);
|
|
|
|
GameStateFunc GameState_GetInit(GameState* gameState);
|
|
|
|
u32 GameState_IsRunning(GameState* gameState);
|
2024-01-30 18:54:38 +00:00
|
|
|
#if OOT_DEBUG
|
2024-02-27 07:37:33 +00:00
|
|
|
void* GameState_Alloc(GameState* gameState, size_t size, const char* file, int line);
|
|
|
|
void* GameAlloc_MallocDebug(GameAlloc* this, u32 size, const char* file, int line);
|
2024-02-01 00:07:12 +00:00
|
|
|
#endif
|
2020-03-17 04:31:30 +00:00
|
|
|
void* GameAlloc_Malloc(GameAlloc* this, u32 size);
|
|
|
|
void GameAlloc_Free(GameAlloc* this, void* data);
|
|
|
|
void GameAlloc_Cleanup(GameAlloc* this);
|
|
|
|
void GameAlloc_Init(GameAlloc* this);
|
2021-09-12 11:02:45 +00:00
|
|
|
void Graph_InitTHGA(GraphicsContext* gfxCtx);
|
2020-05-14 23:11:33 +00:00
|
|
|
GameStateOverlay* Graph_GetNextGameState(GameState* gameState);
|
2020-04-05 10:32:08 +00:00
|
|
|
void Graph_Init(GraphicsContext* gfxCtx);
|
|
|
|
void Graph_Destroy(GraphicsContext* gfxCtx);
|
2020-04-04 16:12:59 +00:00
|
|
|
void Graph_TaskSet00(GraphicsContext* gfxCtx);
|
|
|
|
void Graph_Update(GraphicsContext* gfxCtx, GameState* gameState);
|
2020-03-17 04:31:30 +00:00
|
|
|
void Graph_ThreadEntry(void*);
|
2024-09-07 10:30:55 +00:00
|
|
|
|
2020-03-17 04:31:30 +00:00
|
|
|
ListAlloc* ListAlloc_Init(ListAlloc* this);
|
|
|
|
void* ListAlloc_Alloc(ListAlloc* this, u32 size);
|
|
|
|
void ListAlloc_Free(ListAlloc* this, void* data);
|
|
|
|
void ListAlloc_FreeAll(ListAlloc* this);
|
2021-02-14 00:49:40 +00:00
|
|
|
void Main(void* arg);
|
2020-03-17 04:31:30 +00:00
|
|
|
void SysCfb_Init(s32 n64dd);
|
2022-10-02 15:38:09 +00:00
|
|
|
void* SysCfb_GetFbPtr(s32 idx);
|
|
|
|
void* SysCfb_GetFbEnd(void);
|
2024-06-19 04:00:23 +00:00
|
|
|
|
2022-05-03 22:43:09 +00:00
|
|
|
u64* SysUcode_GetUCodeBoot(void);
|
|
|
|
size_t SysUcode_GetUCodeBootSize(void);
|
|
|
|
u64* SysUcode_GetUCode(void);
|
|
|
|
u64* SysUcode_GetUCodeData(void);
|
2023-09-09 14:24:52 +00:00
|
|
|
NORETURN void func_800D31A0(void);
|
2021-02-14 00:49:40 +00:00
|
|
|
void func_800D31F0(void);
|
|
|
|
void func_800D3210(void);
|
2020-03-17 04:31:30 +00:00
|
|
|
void* DebugArena_Malloc(u32 size);
|
|
|
|
void* DebugArena_MallocR(u32 size);
|
|
|
|
void* DebugArena_Realloc(void* ptr, u32 newSize);
|
|
|
|
void DebugArena_Free(void* ptr);
|
|
|
|
void* DebugArena_Calloc(u32 num, u32 size);
|
|
|
|
void DebugArena_GetSizes(u32* outMaxFree, u32* outFree, u32* outAlloc);
|
2021-02-14 00:49:40 +00:00
|
|
|
void DebugArena_Check(void);
|
2020-03-17 04:31:30 +00:00
|
|
|
void DebugArena_Init(void* start, u32 size);
|
2021-02-14 00:49:40 +00:00
|
|
|
void DebugArena_Cleanup(void);
|
2024-09-04 09:10:14 +00:00
|
|
|
s32 DebugArena_IsInitialized(void);
|
2024-02-03 15:59:25 +00:00
|
|
|
#if OOT_DEBUG
|
|
|
|
void DebugArena_CheckPointer(void* ptr, u32 size, const char* name, const char* action);
|
2024-02-27 07:37:33 +00:00
|
|
|
void* DebugArena_MallocDebug(u32 size, const char* file, int line);
|
|
|
|
void* DebugArena_MallocRDebug(u32 size, const char* file, int line);
|
|
|
|
void* DebugArena_ReallocDebug(void* ptr, u32 newSize, const char* file, int line);
|
|
|
|
void DebugArena_FreeDebug(void* ptr, const char* file, int line);
|
2024-02-03 15:59:25 +00:00
|
|
|
void DebugArena_Display(void);
|
|
|
|
#endif
|
2024-06-19 04:00:23 +00:00
|
|
|
|
2022-03-21 19:49:11 +00:00
|
|
|
void RcpUtils_PrintRegisterStatus(void);
|
2022-01-23 23:04:50 +00:00
|
|
|
void RcpUtils_Reset(void);
|
2023-02-27 08:14:02 +00:00
|
|
|
void* Overlay_AllocateAndLoad(uintptr_t vromStart, uintptr_t vromEnd, void* vramStart, void* vramEnd);
|
2021-11-26 22:37:33 +00:00
|
|
|
void MtxConv_F2L(Mtx* m1, MtxF* m2);
|
|
|
|
void MtxConv_L2F(MtxF* m1, Mtx* m2);
|
2024-01-31 00:30:27 +00:00
|
|
|
void Overlay_Relocate(void* allocatedRamAddr, OverlayRelocationSection* ovlRelocs, void* vramStart);
|
|
|
|
size_t Overlay_Load(uintptr_t vromStart, uintptr_t vromEnd, void* vramStart, void* vramEnd, void* allocatedRamAddr);
|
2020-03-17 04:31:30 +00:00
|
|
|
// ? func_800FC800(?);
|
|
|
|
// ? func_800FC83C(?);
|
|
|
|
// ? func_800FCAB4(?);
|
2020-03-22 21:50:11 +00:00
|
|
|
void SystemHeap_Init(void* start, u32 size);
|
2020-05-25 21:18:14 +00:00
|
|
|
void PadUtils_Init(Input* input);
|
2021-02-14 00:49:40 +00:00
|
|
|
void func_800FCB70(void);
|
2020-05-25 21:18:14 +00:00
|
|
|
void PadUtils_ResetPressRel(Input* input);
|
|
|
|
u32 PadUtils_CheckCurExact(Input* input, u16 value);
|
|
|
|
u32 PadUtils_CheckCur(Input* input, u16 key);
|
|
|
|
u32 PadUtils_CheckPressed(Input* input, u16 key);
|
|
|
|
u32 PadUtils_CheckReleased(Input* input, u16 key);
|
|
|
|
u16 PadUtils_GetCurButton(Input* input);
|
|
|
|
u16 PadUtils_GetPressButton(Input* input);
|
|
|
|
s8 PadUtils_GetCurX(Input* input);
|
|
|
|
s8 PadUtils_GetCurY(Input* input);
|
|
|
|
void PadUtils_SetRelXY(Input* input, s32 x, s32 y);
|
|
|
|
s8 PadUtils_GetRelXImpl(Input* input);
|
|
|
|
s8 PadUtils_GetRelYImpl(Input* input);
|
|
|
|
s8 PadUtils_GetRelX(Input* input);
|
|
|
|
s8 PadUtils_GetRelY(Input* input);
|
|
|
|
void PadUtils_UpdateRelXY(Input* input);
|
2020-06-21 22:43:14 +00:00
|
|
|
s32 PadSetup_Init(OSMesgQueue* mq, u8* outMask, OSContStatus* status);
|
2024-06-19 04:00:23 +00:00
|
|
|
|
2020-03-17 04:31:30 +00:00
|
|
|
f32 absf(f32);
|
2024-06-25 19:13:31 +00:00
|
|
|
|
2022-10-15 05:40:00 +00:00
|
|
|
void Regs_InitData(PlayState* play);
|
2020-03-17 04:31:30 +00:00
|
|
|
|
2022-06-23 21:34:26 +00:00
|
|
|
void Setup_Init(GameState* thisx);
|
|
|
|
void Setup_Destroy(GameState* thisx);
|
|
|
|
void ConsoleLogo_Init(GameState* thisx);
|
|
|
|
void ConsoleLogo_Destroy(GameState* thisx);
|
|
|
|
void MapSelect_Init(GameState* thisx);
|
|
|
|
void MapSelect_Destroy(GameState* thisx);
|
|
|
|
void TitleSetup_Init(GameState* thisx);
|
|
|
|
void TitleSetup_Destroy(GameState* thisx);
|
|
|
|
void FileSelect_Init(GameState* thisx);
|
|
|
|
void FileSelect_Destroy(GameState* thisx);
|
2020-03-19 22:29:33 +00:00
|
|
|
|
2020-03-17 04:31:30 +00:00
|
|
|
#endif
|