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
|
|
|
|
2020-10-03 15:22:44 +00:00
|
|
|
f32 fabsf(f32 f);
|
2023-10-27 14:06:44 +00:00
|
|
|
#ifdef __sgi
|
2020-03-17 04:31:30 +00:00
|
|
|
#pragma intrinsic(fabsf)
|
2023-10-27 14:06:44 +00:00
|
|
|
#else
|
|
|
|
#define fabsf(f) __builtin_fabsf((f32)(f))
|
2022-02-19 21:50:56 +00:00
|
|
|
#endif
|
2023-10-27 14:06:44 +00:00
|
|
|
|
2020-10-03 15:22:44 +00:00
|
|
|
f32 sqrtf(f32 f);
|
2023-10-27 14:06:44 +00:00
|
|
|
#ifdef __sgi
|
2020-03-17 04:31:30 +00:00
|
|
|
#pragma intrinsic(sqrtf)
|
2023-10-27 14:06:44 +00:00
|
|
|
#endif
|
|
|
|
|
2022-06-07 04:34:28 +00:00
|
|
|
f64 sqrt(f64 f);
|
2023-10-27 14:06:44 +00:00
|
|
|
#ifdef __sgi
|
2020-04-19 03:28:24 +00:00
|
|
|
#pragma intrinsic(sqrt)
|
2023-10-27 14:06:44 +00:00
|
|
|
#endif
|
2020-03-17 04:31:30 +00:00
|
|
|
|
|
|
|
void cleararena(void);
|
|
|
|
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);
|
2022-10-02 21:40:09 +00:00
|
|
|
void StackCheck_Init(StackEntry* entry, void* stackBottom, void* stackTop, u32 initValue, s32 minSpace,
|
2020-03-22 21:50:11 +00:00
|
|
|
const char* name);
|
2020-03-17 04:31:30 +00:00
|
|
|
void StackCheck_Cleanup(StackEntry* entry);
|
2022-07-12 16:47:25 +00:00
|
|
|
u32 StackCheck_GetState(StackEntry* entry);
|
2021-02-14 00:49:40 +00:00
|
|
|
u32 StackCheck_CheckAll(void);
|
2020-03-17 04:31:30 +00:00
|
|
|
u32 StackCheck_Check(StackEntry* entry);
|
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
|
|
|
void __osPiCreateAccessQueue(void);
|
|
|
|
void __osPiGetAccess(void);
|
|
|
|
void __osPiRelAccess(void);
|
2022-04-09 00:20:23 +00:00
|
|
|
s32 osSendMesg(OSMesgQueue* mq, OSMesg msg, s32 flag);
|
2020-03-17 04:31:30 +00:00
|
|
|
void osStopThread(OSThread* thread);
|
2022-11-13 23:07:27 +00:00
|
|
|
void osViExtendVStart(u32 value);
|
2020-03-17 04:31:30 +00:00
|
|
|
s32 osRecvMesg(OSMesgQueue* mq, OSMesg* msg, s32 flag);
|
|
|
|
void __osInitialize_common(void);
|
2021-02-14 00:49:40 +00:00
|
|
|
void __osInitialize_autodetect(void);
|
2020-03-17 04:31:30 +00:00
|
|
|
void __osEnqueueAndYield(OSThread**);
|
|
|
|
void __osEnqueueThread(OSThread**, OSThread*);
|
2020-03-22 21:50:11 +00:00
|
|
|
OSThread* __osPopThread(OSThread**);
|
2022-03-21 19:49:11 +00:00
|
|
|
void __osDispatchThread(void);
|
2020-03-17 04:31:30 +00:00
|
|
|
void __osCleanupThread(void);
|
2020-03-22 21:50:11 +00:00
|
|
|
void __osDequeueThread(OSThread** queue, OSThread* thread);
|
|
|
|
void osDestroyThread(OSThread* thread);
|
2020-03-17 04:31:30 +00:00
|
|
|
void osCreateThread(OSThread* thread, OSId id, void (*entry)(void*), void* arg, void* sp, OSPri pri);
|
|
|
|
void __osSetSR(u32);
|
2022-03-21 19:49:11 +00:00
|
|
|
u32 __osGetSR(void);
|
2020-03-22 21:50:11 +00:00
|
|
|
void osWritebackDCache(void* vaddr, s32 nbytes);
|
2021-02-14 00:49:40 +00:00
|
|
|
void* osViGetNextFramebuffer(void);
|
2022-04-09 00:20:23 +00:00
|
|
|
void osCreatePiManager(OSPri pri, OSMesgQueue* cmdQueue, OSMesg* cmdBuf, s32 cmdMsgCnt);
|
2020-03-17 04:31:30 +00:00
|
|
|
void __osDevMgrMain(void* arg);
|
2020-10-03 15:22:44 +00:00
|
|
|
s32 __osPiRawStartDma(s32 dir, u32 cartAddr, void* dramAddr, size_t size);
|
2020-03-17 04:31:30 +00:00
|
|
|
u32 osVirtualToPhysical(void* vaddr);
|
|
|
|
void osViBlack(u8 active);
|
2021-12-01 00:08:57 +00:00
|
|
|
s32 __osSiRawReadIo(void* devAddr, u32* dst);
|
2020-03-17 04:31:30 +00:00
|
|
|
OSId osGetThreadId(OSThread* thread);
|
2020-03-22 21:50:11 +00:00
|
|
|
void osViSetMode(OSViMode* mode);
|
|
|
|
u32 __osProbeTLB(void*);
|
2020-03-17 04:31:30 +00:00
|
|
|
u32 osGetMemSize(void);
|
2020-03-22 21:50:11 +00:00
|
|
|
void osSetEventMesg(OSEvent e, OSMesgQueue* mq, OSMesg msg);
|
2020-03-17 04:31:30 +00:00
|
|
|
void osUnmapTLBAll(void);
|
|
|
|
s32 osEPiStartDma(OSPiHandle* handle, OSIoMesg* mb, s32 direction);
|
|
|
|
void osInvalICache(void* vaddr, s32 nbytes);
|
|
|
|
void osCreateMesgQueue(OSMesgQueue* mq, OSMesg* msg, s32 count);
|
|
|
|
void osInvalDCache(void* vaddr, s32 nbytes);
|
2021-02-14 00:49:40 +00:00
|
|
|
s32 __osSiDeviceBusy(void);
|
2022-04-09 00:20:23 +00:00
|
|
|
s32 osJamMesg(OSMesgQueue* mq, OSMesg msg, s32 flag);
|
2020-03-17 04:31:30 +00:00
|
|
|
void osSetThreadPri(OSThread* thread, OSPri pri);
|
|
|
|
OSPri osGetThreadPri(OSThread* thread);
|
2020-03-22 21:50:11 +00:00
|
|
|
s32 __osEPiRawReadIo(OSPiHandle* handle, u32 devAddr, u32* data);
|
2022-11-13 23:07:27 +00:00
|
|
|
void osViSwapBuffer(void* frameBufPtr);
|
2020-03-22 21:50:11 +00:00
|
|
|
s32 __osEPiRawStartDma(OSPiHandle* handle, s32 direction, u32 cartAddr, void* dramAddr, size_t size);
|
2020-03-17 04:31:30 +00:00
|
|
|
OSTime osGetTime(void);
|
2021-02-14 00:49:40 +00:00
|
|
|
void __osTimerServicesInit(void);
|
|
|
|
void __osTimerInterrupt(void);
|
|
|
|
void __osSetTimerIntr(OSTime time);
|
|
|
|
OSTime __osInsertTimer(OSTimer* timer);
|
2020-03-17 04:31:30 +00:00
|
|
|
u32 osGetCount(void);
|
|
|
|
void __osSetCompare(u32);
|
|
|
|
s32 __osDisableInt(void);
|
|
|
|
void __osRestoreInt(s32);
|
2021-02-14 00:49:40 +00:00
|
|
|
void __osViInit(void);
|
|
|
|
void __osViSwapContext(void);
|
|
|
|
OSMesgQueue* osPiGetCmdQueue(void);
|
2020-03-17 04:31:30 +00:00
|
|
|
s32 osEPiReadIo(OSPiHandle* handle, u32 devAddr, u32* data);
|
|
|
|
void osViSetSpecialFeatures(u32 func);
|
2021-02-14 00:49:40 +00:00
|
|
|
OSPiHandle* osCartRomInit(void);
|
2020-03-17 04:31:30 +00:00
|
|
|
void __osSetFpcCsr(u32);
|
2022-03-21 19:49:11 +00:00
|
|
|
u32 __osGetFpcCsr(void);
|
2020-03-17 04:31:30 +00:00
|
|
|
s32 osEPiWriteIo(OSPiHandle* handle, u32 devAddr, u32 data);
|
|
|
|
void osMapTLBRdb(void);
|
2021-02-14 00:49:40 +00:00
|
|
|
void osYieldThread(void);
|
2022-03-21 19:49:11 +00:00
|
|
|
u32 __osGetCause(void);
|
2020-03-22 21:50:11 +00:00
|
|
|
s32 __osEPiRawWriteIo(OSPiHandle* handle, u32 devAddr, u32 data);
|
2021-12-01 00:08:57 +00:00
|
|
|
s32 __osSiRawWriteIo(void* devAddr, u32 val);
|
2020-03-17 04:31:30 +00:00
|
|
|
void osCreateViManager(OSPri pri);
|
2021-02-14 00:49:40 +00:00
|
|
|
OSViContext* __osViGetCurrentContext(void);
|
2020-03-17 04:31:30 +00:00
|
|
|
void osStartThread(OSThread* thread);
|
2020-10-03 15:22:44 +00:00
|
|
|
void osViSetYScale(f32 scale);
|
2020-03-17 04:31:30 +00:00
|
|
|
void osViSetXScale(f32 value);
|
|
|
|
void __osSetWatchLo(u32);
|
|
|
|
|
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);
|
2020-05-18 18:24:00 +00:00
|
|
|
void EffectBlure_AddVertex(EffectBlure* this, Vec3f* p1, Vec3f* p2);
|
|
|
|
void EffectBlure_AddSpace(EffectBlure* this);
|
|
|
|
void EffectBlure_Init1(void* thisx, void* initParamsx);
|
|
|
|
void EffectBlure_Init2(void* thisx, void* initParamsx);
|
|
|
|
void EffectBlure_Destroy(void* thisx);
|
|
|
|
s32 EffectBlure_Update(void* thisx);
|
|
|
|
void EffectBlure_Draw(void* thisx, GraphicsContext* gfxCtx);
|
|
|
|
void EffectShieldParticle_Init(void* thisx, void* initParamsx);
|
|
|
|
void EffectShieldParticle_Destroy(void* thisx);
|
|
|
|
s32 EffectShieldParticle_Update(void* thisx);
|
|
|
|
void EffectShieldParticle_Draw(void* thisx, GraphicsContext* gfxCtx);
|
|
|
|
void EffectSpark_Init(void* thisx, void* initParamsx);
|
|
|
|
void EffectSpark_Destroy(void* thisx);
|
|
|
|
s32 EffectSpark_Update(void* thisx);
|
|
|
|
void EffectSpark_Draw(void* thisx, GraphicsContext* gfxCtx);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_80026230(PlayState* play, Color_RGBA8* color, s16 arg2, s16 arg3);
|
|
|
|
void func_80026400(PlayState* play, Color_RGBA8* color, s16 arg2, s16 arg3);
|
|
|
|
void func_80026608(PlayState* play);
|
|
|
|
void func_80026690(PlayState* play, Color_RGBA8* color, s16 arg2, s16 arg3);
|
|
|
|
void func_80026860(PlayState* play, Color_RGBA8* color, s16 arg2, s16 arg3);
|
|
|
|
void func_80026A6C(PlayState* play);
|
|
|
|
PlayState* Effect_GetPlayState(void);
|
2020-05-18 18:24:00 +00:00
|
|
|
void* Effect_GetByIndex(s32 index);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Effect_InitContext(PlayState* play);
|
|
|
|
void Effect_Add(PlayState* play, s32* pIndex, s32 type, u8 arg3, u8 arg4, void* initParams);
|
2020-05-18 18:24:00 +00:00
|
|
|
void Effect_DrawAll(GraphicsContext* gfxCtx);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Effect_UpdateAll(PlayState* play);
|
|
|
|
void Effect_Delete(PlayState* play, s32 index);
|
|
|
|
void Effect_DeleteAll(PlayState* play);
|
|
|
|
void EffectSs_InitInfo(PlayState* play, s32 tableSize);
|
|
|
|
void EffectSs_ClearAll(PlayState* play);
|
2020-05-18 18:24:00 +00:00
|
|
|
void EffectSs_Delete(EffectSs* effectSs);
|
|
|
|
void EffectSs_Reset(EffectSs* effectSs);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSs_Insert(PlayState* play, EffectSs* effectSs);
|
|
|
|
void EffectSs_Spawn(PlayState* play, s32 type, s32 priority, void* initParams);
|
|
|
|
void EffectSs_UpdateAll(PlayState* play);
|
|
|
|
void EffectSs_DrawAll(PlayState* play);
|
2023-08-16 00:28:12 +00:00
|
|
|
s16 EffectSs_LerpInv(s16 a, s16 b, s32 weightInv);
|
|
|
|
s16 EffectSs_LerpS16(s16 a, s16 b, f32 weight);
|
|
|
|
u8 EffectSs_LerpU8(u8 a, u8 b, f32 weight);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSs_DrawGEffect(PlayState* play, EffectSs* this, void* texture);
|
|
|
|
void EffectSsDust_Spawn(PlayState* play, u16 drawFlags, Vec3f* pos, Vec3f* velocity, Vec3f* accel,
|
2020-09-30 00:18:46 +00:00
|
|
|
Color_RGBA8* primColor, Color_RGBA8* envColor, s16 scale, s16 scaleStep, s16 life,
|
|
|
|
u8 updateMode);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_8002829C(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor,
|
2020-09-30 00:18:46 +00:00
|
|
|
Color_RGBA8* envColor, s16 scale, s16 scaleStep);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_80028304(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor,
|
2020-09-30 00:18:46 +00:00
|
|
|
Color_RGBA8* envColor, s16 scale, s16 scaleStep);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_8002836C(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor,
|
2020-09-30 00:18:46 +00:00
|
|
|
Color_RGBA8* envColor, s16 scale, s16 scaleStep, s16 life);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_800283D4(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor,
|
2020-09-30 00:18:46 +00:00
|
|
|
Color_RGBA8* envColor, s16 scale, s16 scaleStep, s16 life);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_8002843C(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor,
|
2020-09-30 00:18:46 +00:00
|
|
|
Color_RGBA8* envColor, s16 scale, s16 scaleStep, s16 life);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_800284A4(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor,
|
2020-09-30 00:18:46 +00:00
|
|
|
Color_RGBA8* envColor, s16 scale, s16 scaleStep);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_80028510(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor,
|
2020-09-30 00:18:46 +00:00
|
|
|
Color_RGBA8* envColor, s16 scale, s16 scaleStep);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_8002857C(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel);
|
|
|
|
void func_800285EC(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel);
|
|
|
|
void func_8002865C(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep);
|
|
|
|
void func_800286CC(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep);
|
|
|
|
void func_8002873C(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep,
|
2020-07-19 13:54:24 +00:00
|
|
|
s16 life);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_800287AC(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep,
|
2020-07-19 13:54:24 +00:00
|
|
|
s16 life);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_8002881C(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor,
|
2020-09-30 00:18:46 +00:00
|
|
|
Color_RGBA8* envColor);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_80028858(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor,
|
2020-09-30 00:18:46 +00:00
|
|
|
Color_RGBA8* envColor);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_80028990(PlayState* play, f32 randScale, Vec3f* srcPos);
|
|
|
|
void func_80028A54(PlayState* play, f32 randScale, Vec3f* srcPos);
|
|
|
|
void EffectSsKiraKira_SpawnSmallYellow(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel);
|
|
|
|
void EffectSsKiraKira_SpawnSmall(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel,
|
2020-09-30 00:18:46 +00:00
|
|
|
Color_RGBA8* primColor, Color_RGBA8* envColor);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsKiraKira_SpawnDispersed(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel,
|
2020-09-30 00:18:46 +00:00
|
|
|
Color_RGBA8* primColor, Color_RGBA8* envColor, s16 scale, s32 life);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsKiraKira_SpawnFocused(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel,
|
2020-09-30 00:18:46 +00:00
|
|
|
Color_RGBA8* primColor, Color_RGBA8* envColor, s16 scale, s32 life);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsBomb_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel);
|
|
|
|
void EffectSsBomb2_SpawnFade(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel);
|
|
|
|
void EffectSsBomb2_SpawnLayered(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale,
|
2020-08-17 19:42:08 +00:00
|
|
|
s16 scaleStep);
|
2023-08-16 00:28:12 +00:00
|
|
|
void EffectSsBlast_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* innerColor,
|
|
|
|
Color_RGBA8* outerColor, s16 scale, s16 scaleStep, s16 scaleStepDecay, s16 life);
|
|
|
|
void EffectSsBlast_SpawnWhiteShockwaveSetScale(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale,
|
2020-09-30 00:18:46 +00:00
|
|
|
s16 scaleStep, s16 life);
|
2023-08-16 00:28:12 +00:00
|
|
|
void EffectSsBlast_SpawnShockwaveSetColor(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel,
|
|
|
|
Color_RGBA8* innerColor, Color_RGBA8* outerColor, s16 life);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsBlast_SpawnWhiteShockwave(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel);
|
|
|
|
void EffectSsGSpk_SpawnAccel(PlayState* play, Actor* actor, Vec3f* pos, Vec3f* velocity, Vec3f* accel,
|
2020-09-30 00:18:46 +00:00
|
|
|
Color_RGBA8* primColor, Color_RGBA8* envColor, s16 scale, s16 scaleStep);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsGSpk_SpawnNoAccel(PlayState* play, Actor* actor, Vec3f* pos, Vec3f* velocity, Vec3f* accel,
|
2020-09-30 00:18:46 +00:00
|
|
|
Color_RGBA8* primColor, Color_RGBA8* envColor, s16 scale, s16 scaleStep);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsGSpk_SpawnFuse(PlayState* play, Actor* actor, Vec3f* pos, Vec3f* velocity, Vec3f* accel);
|
|
|
|
void EffectSsGSpk_SpawnRandColor(PlayState* play, Actor* actor, Vec3f* pos, Vec3f* velocity, Vec3f* accel,
|
2020-09-30 00:18:46 +00:00
|
|
|
s16 scale, s16 scaleStep);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsGSpk_SpawnSmall(PlayState* play, Actor* actor, Vec3f* pos, Vec3f* velocity, Vec3f* accel,
|
2020-09-30 00:18:46 +00:00
|
|
|
Color_RGBA8* primColor, Color_RGBA8* envColor);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsDFire_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep,
|
2020-09-30 00:18:46 +00:00
|
|
|
s16 alpha, s16 fadeDelay, s32 life);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsDFire_SpawnFixedScale(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 alpha,
|
2020-09-30 00:18:46 +00:00
|
|
|
s16 fadeDelay);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsBubble_Spawn(PlayState* play, Vec3f* pos, f32 yPosOffset, f32 yPosRandScale, f32 xzPosRandScale,
|
2020-09-30 00:18:46 +00:00
|
|
|
f32 scale);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsGRipple_Spawn(PlayState* play, Vec3f* pos, s16 radius, s16 radiusMax, s16 life);
|
|
|
|
void EffectSsGSplash_Spawn(PlayState* play, Vec3f* pos, Color_RGBA8* primColor, Color_RGBA8* envColor,
|
2020-09-30 00:18:46 +00:00
|
|
|
s16 type, s16 scale);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsGMagma_Spawn(PlayState* play, Vec3f* pos);
|
|
|
|
void EffectSsGFire_Spawn(PlayState* play, Vec3f* pos);
|
|
|
|
void EffectSsLightning_Spawn(PlayState* play, Vec3f* pos, Color_RGBA8* primColor, Color_RGBA8* envColor,
|
2020-09-30 00:18:46 +00:00
|
|
|
s16 scale, s16 yaw, s16 life, s16 numBolts);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsDtBubble_SpawnColorProfile(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale,
|
2020-09-30 00:18:46 +00:00
|
|
|
s16 life, s16 colorProfile, s16 randXZ);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsDtBubble_SpawnCustomColor(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel,
|
2020-09-30 00:18:46 +00:00
|
|
|
Color_RGBA8* primColor, Color_RGBA8* envColor, s16 scale, s16 life, s16 randXZ);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsHahen_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 unused, s16 scale,
|
2020-09-30 00:18:46 +00:00
|
|
|
s16 objId, s16 life, Gfx* dList);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsHahen_SpawnBurst(PlayState* play, Vec3f* pos, f32 burstScale, s16 unused, s16 scale,
|
2020-09-30 00:18:46 +00:00
|
|
|
s16 randScaleRange, s16 count, s16 objId, s16 life, Gfx* dList);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsStick_Spawn(PlayState* play, Vec3f* pos, s16 yaw);
|
|
|
|
void EffectSsSibuki_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 moveDelay,
|
2020-09-30 00:18:46 +00:00
|
|
|
s16 direction, s16 scale);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsSibuki_SpawnBurst(PlayState* play, Vec3f* pos);
|
|
|
|
void EffectSsSibuki2_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale);
|
|
|
|
void EffectSsGMagma2_Spawn(PlayState* play, Vec3f* pos, Color_RGBA8* primColor, Color_RGBA8* envColor,
|
2020-09-30 00:18:46 +00:00
|
|
|
s16 updateRate, s16 drawMode, s16 scale);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsStone1_Spawn(PlayState* play, Vec3f* pos, s32 arg2);
|
|
|
|
void EffectSsHitMark_Spawn(PlayState* play, s32 type, s16 scale, Vec3f* pos);
|
|
|
|
void EffectSsHitMark_SpawnFixedScale(PlayState* play, s32 type, Vec3f* pos);
|
|
|
|
void EffectSsHitMark_SpawnCustomScale(PlayState* play, s32 type, s16 scale, Vec3f* pos);
|
|
|
|
void EffectSsFhgFlash_SpawnLightBall(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale,
|
2020-09-30 00:18:46 +00:00
|
|
|
u8 param);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsFhgFlash_SpawnShock(PlayState* play, Actor* actor, Vec3f* pos, s16 scale, u8 param);
|
|
|
|
void EffectSsKFire_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scaleMax, u8 type);
|
|
|
|
void EffectSsSolderSrchBall_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 unused,
|
2020-07-09 19:12:03 +00:00
|
|
|
s16* linkDetected);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsKakera_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* arg3, s16 gravity, s16 arg5,
|
2020-09-30 00:18:46 +00:00
|
|
|
s16 arg6, s16 arg7, s16 arg8, s16 scale, s16 arg10, s16 arg11, s32 life, s16 colorIdx,
|
|
|
|
s16 objId, Gfx* dList);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsIcePiece_Spawn(PlayState* play, Vec3f* pos, f32 scale, Vec3f* velocity, Vec3f* accel, s32 life);
|
|
|
|
void EffectSsIcePiece_SpawnBurst(PlayState* play, Vec3f* refPos, f32 scale);
|
|
|
|
void EffectSsEnIce_SpawnFlyingVec3f(PlayState* play, Actor* actor, Vec3f* pos, s16 primR, s16 primG, s16 primB,
|
2020-09-30 00:18:46 +00:00
|
|
|
s16 primA, s16 envR, s16 envG, s16 envB, f32 scale);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsEnIce_SpawnFlyingVec3s(PlayState* play, Actor* actor, Vec3s* pos, s16 primR, s16 primG, s16 primB,
|
2020-09-30 00:18:46 +00:00
|
|
|
s16 primA, s16 envR, s16 envG, s16 envB, f32 scale);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsEnIce_Spawn(PlayState* play, Vec3f* pos, f32 scale, Vec3f* velocity, Vec3f* accel,
|
2020-09-30 00:18:46 +00:00
|
|
|
Color_RGBA8* primColor, Color_RGBA8* envColor, s32 life);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsFireTail_Spawn(PlayState* play, Actor* actor, Vec3f* pos, f32 scale, Vec3f* arg4, s16 arg5,
|
2020-09-30 00:18:46 +00:00
|
|
|
Color_RGBA8* primColor, Color_RGBA8* envColor, s16 type, s16 bodyPart, s32 life);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsFireTail_SpawnFlame(PlayState* play, Actor* actor, Vec3f* pos, f32 arg3, s16 bodyPart,
|
2020-09-30 00:18:46 +00:00
|
|
|
f32 colorIntensity);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsFireTail_SpawnFlameOnPlayer(PlayState* play, f32 scale, s16 bodyPart, f32 colorIntensity);
|
2022-06-07 04:34:28 +00:00
|
|
|
void EffectSsEnFire_SpawnVec3f(PlayState* play, Actor* actor, Vec3f* pos, s16 scale, s16 arg4, s16 flags, s16 bodyPart);
|
|
|
|
void EffectSsEnFire_SpawnVec3s(PlayState* play, Actor* actor, Vec3s* pos, s16 scale, s16 arg4, s16 flags, s16 bodyPart);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsExtra_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scoreIdx);
|
|
|
|
void EffectSsFCircle_Spawn(PlayState* play, Actor* actor, Vec3f* pos, s16 radius, s16 height);
|
|
|
|
void EffectSsDeadDb_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep,
|
2020-09-30 00:18:46 +00:00
|
|
|
s16 primR, s16 primG, s16 primB, s16 primA, s16 envR, s16 envG, s16 envB, s16 unused,
|
2022-07-30 13:05:27 +00:00
|
|
|
s32 arg14, s16 playSfx);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsDeadDd_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep,
|
2020-09-30 00:18:46 +00:00
|
|
|
s16 primR, s16 primG, s16 primB, s16 alpha, s16 envR, s16 envG, s16 envB, s16 alphaStep,
|
|
|
|
s32 life);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsDeadDd_SpawnRandYellow(PlayState* play, Vec3f* pos, s16 scale, s16 scaleStep, f32 randPosScale,
|
2020-09-30 00:18:46 +00:00
|
|
|
s32 randIter, s32 life);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsDeadDs_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep,
|
2020-09-30 00:18:46 +00:00
|
|
|
s16 alpha, s32 life);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsDeadDs_SpawnStationary(PlayState* play, Vec3f* pos, s16 scale, s16 scaleStep, s16 alpha,
|
2020-09-30 00:18:46 +00:00
|
|
|
s32 life);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsDeadSound_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, u16 sfxId,
|
2020-09-30 00:18:46 +00:00
|
|
|
s16 lowerPriority, s16 repeatMode, s32 life);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsDeadSound_SpawnStationary(PlayState* play, Vec3f* pos, u16 sfxId, s16 lowerPriority,
|
2020-09-30 00:18:46 +00:00
|
|
|
s16 repeatMode, s32 life);
|
2022-05-21 18:23:43 +00:00
|
|
|
void EffectSsIceSmoke_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale);
|
|
|
|
void FlagSet_Update(PlayState* play);
|
2020-03-17 04:31:30 +00:00
|
|
|
void Overlay_LoadGameState(GameStateOverlay* overlayEntry);
|
|
|
|
void Overlay_FreeGameState(GameStateOverlay* overlayEntry);
|
2021-01-18 21:36:41 +00:00
|
|
|
void ActorShape_Init(ActorShape* shape, f32 yOffset, ActorShadowFunc shadowDraw, f32 shadowScale);
|
2022-05-21 18:23:43 +00:00
|
|
|
void ActorShadow_DrawCircle(Actor* actor, Lights* lights, PlayState* play);
|
|
|
|
void ActorShadow_DrawWhiteCircle(Actor* actor, Lights* lights, PlayState* play);
|
|
|
|
void ActorShadow_DrawHorse(Actor* actor, Lights* lights, PlayState* play);
|
|
|
|
void ActorShadow_DrawFeet(Actor* actor, Lights* lights, PlayState* play);
|
2021-01-18 21:04:04 +00:00
|
|
|
void Actor_SetFeetPos(Actor* actor, s32 limbIndex, s32 leftFootIndex, Vec3f* leftFootPos, s32 rightFootIndex,
|
|
|
|
Vec3f* rightFootPos);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Actor_ProjectPos(PlayState* play, Vec3f* src, Vec3f* xyzDest, f32* cappedInvWDest);
|
|
|
|
void func_8002C124(TargetContext* targetCtx, PlayState* play);
|
|
|
|
s32 Flags_GetSwitch(PlayState* play, s32 flag);
|
|
|
|
void Flags_SetSwitch(PlayState* play, s32 flag);
|
|
|
|
void Flags_UnsetSwitch(PlayState* play, s32 flag);
|
|
|
|
s32 Flags_GetUnknown(PlayState* play, s32 flag);
|
|
|
|
void Flags_SetUnknown(PlayState* play, s32 flag);
|
|
|
|
void Flags_UnsetUnknown(PlayState* play, s32 flag);
|
|
|
|
s32 Flags_GetTreasure(PlayState* play, s32 flag);
|
|
|
|
void Flags_SetTreasure(PlayState* play, s32 flag);
|
|
|
|
s32 Flags_GetClear(PlayState* play, s32 flag);
|
|
|
|
void Flags_SetClear(PlayState* play, s32 flag);
|
|
|
|
void Flags_UnsetClear(PlayState* play, s32 flag);
|
|
|
|
s32 Flags_GetTempClear(PlayState* play, s32 flag);
|
|
|
|
void Flags_SetTempClear(PlayState* play, s32 flag);
|
|
|
|
void Flags_UnsetTempClear(PlayState* play, s32 flag);
|
|
|
|
s32 Flags_GetCollectible(PlayState* play, s32 flag);
|
|
|
|
void Flags_SetCollectible(PlayState* play, s32 flag);
|
|
|
|
void TitleCard_InitBossName(PlayState* play, TitleCardContext* titleCtx, void* texture, s16 x, s16 y, u8 width,
|
2021-05-29 13:41:39 +00:00
|
|
|
u8 height);
|
2022-05-21 18:23:43 +00:00
|
|
|
void TitleCard_InitPlaceName(PlayState* play, TitleCardContext* titleCtx, void* texture, s32 x, s32 y,
|
2021-05-29 13:41:39 +00:00
|
|
|
s32 width, s32 height, s32 delay);
|
2022-05-21 18:23:43 +00:00
|
|
|
s32 TitleCard_Clear(PlayState* play, TitleCardContext* titleCtx);
|
2020-03-17 04:31:30 +00:00
|
|
|
void Actor_Kill(Actor* actor);
|
2022-02-20 13:22:29 +00:00
|
|
|
void Actor_SetFocus(Actor* actor, f32 yOffset);
|
2020-03-17 04:31:30 +00:00
|
|
|
void Actor_SetScale(Actor* actor, f32 scale);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Actor_SetObjectDependency(PlayState* play, Actor* actor);
|
2022-12-30 18:55:14 +00:00
|
|
|
void Actor_UpdatePos(Actor* actor);
|
|
|
|
void Actor_UpdateVelocityXZGravity(Actor* actor);
|
|
|
|
void Actor_MoveXZGravity(Actor* actor);
|
|
|
|
void Actor_UpdateVelocityXYZ(Actor* actor);
|
|
|
|
void Actor_MoveXYZ(Actor* actor);
|
|
|
|
void Actor_SetProjectileSpeed(Actor* actor, f32 speedXYZ);
|
2024-01-18 22:56:54 +00:00
|
|
|
s16 Actor_WorldYawTowardActor(Actor* origin, Actor* target);
|
|
|
|
s16 Actor_FocusYawTowardActor(Actor* origin, Actor* target);
|
|
|
|
s16 Actor_WorldYawTowardPoint(Actor* origin, Vec3f* point);
|
2021-01-18 21:04:04 +00:00
|
|
|
f32 Actor_WorldDistXYZToActor(Actor* actorA, Actor* actorB);
|
|
|
|
f32 Actor_WorldDistXYZToPoint(Actor* actor, Vec3f* refPoint);
|
|
|
|
s16 Actor_WorldPitchTowardActor(Actor* actorA, Actor* actorB);
|
|
|
|
s16 Actor_WorldPitchTowardPoint(Actor* actor, Vec3f* refPoint);
|
|
|
|
f32 Actor_WorldDistXZToActor(Actor* actorA, Actor* actorB);
|
|
|
|
f32 Actor_WorldDistXZToPoint(Actor* actor, Vec3f* refPoint);
|
2022-10-24 19:58:33 +00:00
|
|
|
void func_8002DBD0(Actor* actor, Vec3f* dest, Vec3f* pos);
|
2020-03-17 04:31:30 +00:00
|
|
|
f32 Actor_HeightDiff(Actor* actorA, Actor* actorB);
|
decompile z_camera (#398)
* cleanup
* name camera action functions
* decompile a few small functions, name a few Camera struct members
* decompile camera data, decompile a few camera functions
* Split ASM for code_800BB0A0
* removing code_800BB0A0.s
* PR Requests, Camera WIP
* remove #define NON_MATCHING from db_camera
* rename code_8007BF90.c to z_olib.c, rename functions in z_olib.c
* camera wip
* rename some struct memebers, some decomp wip
* pr updates
* camera wip
* name some fields in Camera Struct, being making sense of Camera_Update
* Camera WIP
* wip
* wip
* add z64camera.h header, begin creating CameraSetting macros
* wip
* wip
* wip
* wip
* migrate camera bss to c
* match a couple functions in db_camera
* match some small db_camera functions
* wip
* migrate db_camera rodata, match a few functions
* remote db_camera.rodata.s
* match some of db_camera
* identify types of some unknown data pieces
* some small wip
* Match Camera_Init, some function changes, some struct name changes. Change unk_C0 and unk_CC to floats from Vec3fs
* add naming for a few more Camera struct members
* wip
* match func_80043F94
* Match Camera_Jump1
* document some of Camera_Jump1
* wip
* match Camera_Jump3
* Match Camera_Update, FeelsAmazing
* wip
* wip
* match Camera_SetParam
* minor cleanup
* wip
* wip
* match Camera_KeepOn0
* some documentation, modify some matching functions to match style of others.
* match Camera_Demo1
* match camera_demo9
* document Camera_Demo1 and Camera_Demo9
* wip
* Match camera_battle4
* match camera_unique2
* Match Camera_Unique3
* match camera_special6
* match Camera_Special5
* wip
* document camera_special6
* naming updates
* match camera_Unique1
* match Camera_Unique0
* wip
* Match Camera_CalcUpFromPitchYawRoll
* match func_80045508
* document Camera_Battle4
* document several camera functions, move camera data to separate file
* rename phi/theta to pitch/yaw
* wip
* uniq9 wip
* Camera_Unqiue9 OK
* document Camera_Unique9
* name unk_160 in camera struct
* wip
* wip
* minor updates
* fix conflicts
* wip
* wip
* Olib updates
* wip
* wip
* rename most Math3D functions, few matches, documentation
* wip
* document most of math3d
* wip
* wip
* wip
* pr updates
* Match Camera_Fixed4
* match func_80058E8C
* pr updates
* add missing comment block finalizer
* Merge math3dupdates
* match Camera_ChangeSetting
* Match Camera_ChangeMode
* match func_80058148
* Match Camera_Special9
* decompile the rest of camera data
* match Camera_Demo5
* name a few camera functions in z_play
* match func_80046CB4, some work on other fucntions
* wip
* impove some non matchings
* fix function rename
* match func_800588B4
* match Camera_Subj4
* wip
* Camera_Demo3 matching, Camera_Battle1 big progress
* Camera_Normal2 OK
* wip
* match Camera_Parallel1
* normalize some things across functions
* match Camera_Normal1
* Match Camera_Normal3
* some cleanup
* more cleanup
* more cleanup , match Camera_CalcDefaultPitch
* data formatting
* Match Camera_Jump2
* document Camera_Jump2
* Match Camera_KeepOn3
* document some of Camera_KeepOn3
* improve some non_matchings
* match func_80045C74 and func_800460A8
* code cleanup, documentation
* match Camera_KeepOn1
* Match Camera_Subj3
* Match Camera_Battle1
* remove non_matching from func_80044adc and func_80046e20
* name several members of Battle1
* more documentation on Battle1
* cleanup
* renaming Camera_Vec3fScaleXYZFactor to Camera_Vec3fTranslateByUnitVector
* reorganize update structs, remove final references to params, remove CameraParams union
* implement camera enums into player
* Renaming Camera_GetDir to Camera_GetInputDir, Camera_GetRealDir to Camera_GetCamDir, etc, implement camera enum's into player
* remove non-global camera variables from variables.h
* clean up some variable declarations
* finish pr comment updates
* fix some warnings
* data formatting
* finish commenting on data
* delete unused asm
* remove asm
Co-authored-by: fig <fig02srl@gmail.com>
2020-12-06 22:39:47 +00:00
|
|
|
f32 Player_GetHeight(Player* player);
|
2020-03-17 04:31:30 +00:00
|
|
|
f32 func_8002DCE4(Player* player);
|
2023-10-17 19:16:31 +00:00
|
|
|
int func_8002DD6C(Player* player);
|
|
|
|
int func_8002DD78(Player* player);
|
2022-05-21 18:23:43 +00:00
|
|
|
s32 func_8002DDE4(PlayState* play);
|
|
|
|
s32 func_8002DDF4(PlayState* play);
|
|
|
|
void func_8002DE04(PlayState* play, Actor* actorA, Actor* actorB);
|
|
|
|
void func_8002DE74(PlayState* play, Player* player);
|
|
|
|
void Actor_MountHorse(PlayState* play, Player* player, Actor* horse);
|
2023-10-17 19:16:31 +00:00
|
|
|
int func_8002DEEC(Player* player);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_8002DF18(PlayState* play, Player* player);
|
2023-10-28 11:46:24 +00:00
|
|
|
s32 Player_SetCsAction(PlayState* play, Actor* csActor, u8 csAction);
|
|
|
|
s32 Player_SetCsActionWithHaltedActors(PlayState* play, Actor* csActor, u8 csAction);
|
2020-03-17 04:31:30 +00:00
|
|
|
void func_8002DF90(DynaPolyActor* dynaActor);
|
|
|
|
void func_8002DFA4(DynaPolyActor* dynaActor, f32 arg1, s16 arg2);
|
2022-05-21 18:23:43 +00:00
|
|
|
s32 Player_IsFacingActor(Actor* actor, s16 maxAngle, PlayState* play);
|
2022-02-20 13:22:29 +00:00
|
|
|
s32 Actor_ActorBIsFacingActorA(Actor* actorA, Actor* actorB, s16 maxAngle);
|
|
|
|
s32 Actor_IsFacingPlayer(Actor* actor, s16 maxAngle);
|
|
|
|
s32 Actor_ActorAIsFacingActorB(Actor* actorA, Actor* actorB, s16 maxAngle);
|
|
|
|
s32 Actor_IsFacingAndNearPlayer(Actor* actor, f32 range, s16 maxAngle);
|
|
|
|
s32 Actor_ActorAIsFacingAndNearActorB(Actor* actorA, Actor* actorB, f32 range, s16 maxAngle);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Actor_UpdateBgCheckInfo(PlayState* play, Actor* actor, f32 wallCheckHeight, f32 wallCheckRadius,
|
2021-06-21 23:51:04 +00:00
|
|
|
f32 ceilingCheckHeight, s32 flags);
|
2020-03-17 04:31:30 +00:00
|
|
|
Hilite* func_8002EABC(Vec3f* object, Vec3f* eye, Vec3f* lightDir, GraphicsContext* gfxCtx);
|
|
|
|
Hilite* func_8002EB44(Vec3f* object, Vec3f* eye, Vec3f* lightDir, GraphicsContext* gfxCtx);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_8002EBCC(Actor* actor, PlayState* play, s32 flag);
|
|
|
|
void func_8002ED80(Actor* actor, PlayState* play, s32 flag);
|
2023-11-19 16:17:31 +00:00
|
|
|
PosRot Actor_GetFocus(Actor* actor);
|
|
|
|
PosRot Actor_GetWorld(Actor* actor);
|
|
|
|
PosRot Actor_GetWorldPosShapeRot(Actor* actor);
|
2022-02-20 13:22:29 +00:00
|
|
|
s32 func_8002F0C8(Actor* actor, Player* player, s32 flag);
|
2023-11-19 16:11:59 +00:00
|
|
|
s32 Actor_TalkOfferAccepted(Actor* actor, PlayState* play);
|
|
|
|
s32 Actor_OfferTalkExchange(Actor* actor, PlayState* play, f32 xzRange, f32 yRange, u32 exchangeItemId);
|
|
|
|
s32 Actor_OfferTalkExchangeEquiCylinder(Actor* actor, PlayState* play, f32 radius, u32 exchangeItemId);
|
|
|
|
s32 Actor_OfferTalk(Actor* actor, PlayState* play, f32 radius);
|
|
|
|
s32 Actor_OfferTalkNearColChkInfoCylinder(Actor* actor, PlayState* play);
|
2022-05-21 18:23:43 +00:00
|
|
|
u32 Actor_TextboxIsClosing(Actor* actor, PlayState* play);
|
|
|
|
s8 func_8002F368(PlayState* play);
|
|
|
|
void Actor_GetScreenPos(PlayState* play, Actor* actor, s16* x, s16* y);
|
|
|
|
u32 Actor_HasParent(Actor* actor, PlayState* play);
|
2022-12-13 02:23:14 +00:00
|
|
|
s32 Actor_OfferGetItem(Actor* actor, PlayState* play, s32 getItemId, f32 xzRange, f32 yRange);
|
|
|
|
s32 Actor_OfferGetItemNearby(Actor* actor, PlayState* play, s32 getItemId);
|
|
|
|
s32 Actor_OfferCarry(Actor* actor, PlayState* play);
|
2022-05-21 18:23:43 +00:00
|
|
|
u32 Actor_HasNoParent(Actor* actor, PlayState* play);
|
|
|
|
void func_8002F5C4(Actor* actorA, Actor* actorB, PlayState* play);
|
2022-12-13 02:23:14 +00:00
|
|
|
void Actor_SetClosestSecretDistance(Actor* actor, PlayState* play);
|
2022-05-21 18:23:43 +00:00
|
|
|
s32 Actor_IsMounted(PlayState* play, Actor* horse);
|
|
|
|
u32 Actor_SetRideActor(PlayState* play, Actor* horse, s32 mountSide);
|
|
|
|
s32 Actor_NotMounted(PlayState* play, Actor* horse);
|
|
|
|
void func_8002F698(PlayState* play, Actor* actor, f32 arg2, s16 arg3, f32 arg4, u32 arg5, u32 arg6);
|
|
|
|
void func_8002F6D4(PlayState* play, Actor* actor, f32 arg2, s16 arg3, f32 arg4, u32 arg5);
|
|
|
|
void func_8002F71C(PlayState* play, Actor* actor, f32 arg2, s16 arg3, f32 arg4);
|
|
|
|
void func_8002F758(PlayState* play, Actor* actor, f32 arg2, s16 arg3, f32 arg4, u32 arg5);
|
|
|
|
void func_8002F7A0(PlayState* play, Actor* actor, f32 arg2, s16 arg3, f32 arg4);
|
2022-12-19 04:18:21 +00:00
|
|
|
void Player_PlaySfx(Player* player, u16 sfxId);
|
|
|
|
void Actor_PlaySfx(Actor* actor, u16 sfxId);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_8002F850(PlayState* play, Actor* actor);
|
2020-03-17 04:31:30 +00:00
|
|
|
void func_8002F8F0(Actor* actor, u16 sfxId);
|
|
|
|
void func_8002F91C(Actor* actor, u16 sfxId);
|
|
|
|
void func_8002F948(Actor* actor, u16 sfxId);
|
|
|
|
void func_8002F974(Actor* actor, u16 sfxId);
|
2022-12-05 18:37:40 +00:00
|
|
|
void func_8002F994(Actor* actor, s32 timer);
|
2022-05-21 18:23:43 +00:00
|
|
|
s32 func_8002F9EC(PlayState* play, Actor* actor, CollisionPoly* poly, s32 bgId, Vec3f* pos);
|
|
|
|
void Actor_DisableLens(PlayState* play);
|
2022-10-16 22:00:18 +00:00
|
|
|
void Actor_InitContext(PlayState* play, ActorContext* actorCtx, ActorEntry* playerEntry);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Actor_UpdateAll(PlayState* play, ActorContext* actorCtx);
|
|
|
|
s32 func_800314D4(PlayState* play, Actor* actor, Vec3f* arg2, f32 arg3);
|
|
|
|
void func_800315AC(PlayState* play, ActorContext* actorCtx);
|
2022-12-13 02:23:14 +00:00
|
|
|
void Actor_KillAllWithMissingObject(PlayState* play, ActorContext* actorCtx);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_80031B14(PlayState* play, ActorContext* actorCtx);
|
|
|
|
void func_80031C3C(ActorContext* actorCtx, PlayState* play);
|
|
|
|
Actor* Actor_Spawn(ActorContext* actorCtx, PlayState* play, s16 actorId, f32 posX, f32 posY, f32 posZ,
|
2020-03-22 21:50:11 +00:00
|
|
|
s16 rotX, s16 rotY, s16 rotZ, s16 params);
|
2022-05-21 18:23:43 +00:00
|
|
|
Actor* Actor_SpawnAsChild(ActorContext* actorCtx, Actor* parent, PlayState* play, s16 actorId, f32 posX,
|
2020-08-29 22:25:16 +00:00
|
|
|
f32 posY, f32 posZ, s16 rotX, s16 rotY, s16 rotZ, s16 params);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Actor_SpawnTransitionActors(PlayState* play, ActorContext* actorCtx);
|
|
|
|
Actor* Actor_SpawnEntry(ActorContext* actorCtx, ActorEntry* actorEntry, PlayState* play);
|
|
|
|
Actor* Actor_Delete(ActorContext* actorCtx, Actor* actor, PlayState* play);
|
|
|
|
Actor* func_80032AF0(PlayState* play, ActorContext* actorCtx, Actor** actorPtr, Player* player);
|
2021-01-18 21:04:04 +00:00
|
|
|
Actor* Actor_Find(ActorContext* actorCtx, s32 actorId, s32 actorCategory);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Enemy_StartFinishingBlow(PlayState* play, Actor* actor);
|
|
|
|
void BodyBreak_Alloc(BodyBreak* bodyBreak, s32 count, PlayState* play);
|
2021-05-29 13:41:39 +00:00
|
|
|
void BodyBreak_SetInfo(BodyBreak* bodyBreak, s32 limbIndex, s32 minLimbIndex, s32 maxLimbIndex, u32 count, Gfx** dList,
|
2023-09-19 18:10:12 +00:00
|
|
|
s16 objectSlot);
|
2022-05-21 18:23:43 +00:00
|
|
|
s32 BodyBreak_SpawnParts(Actor* actor, BodyBreak* bodyBreak, PlayState* play, s16 type);
|
|
|
|
void Actor_SpawnFloorDustRing(PlayState* play, Actor* actor, Vec3f* posXZ, f32 radius, s32 amountMinusOne,
|
2021-09-05 12:00:24 +00:00
|
|
|
f32 randAccelWeight, s16 scale, s16 scaleStep, u8 useLighting);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_80033480(PlayState* play, Vec3f* posBase, f32 randRangeDiameter, s32 amountMinusOne, s16 scaleBase,
|
2021-12-11 01:21:19 +00:00
|
|
|
s16 scaleStep, u8 arg6);
|
2022-05-21 18:23:43 +00:00
|
|
|
Actor* Actor_GetCollidedExplosive(PlayState* play, Collider* collider);
|
|
|
|
Actor* func_80033684(PlayState* play, Actor* explosiveActor);
|
|
|
|
Actor* Actor_GetProjectileActor(PlayState* play, Actor* refActor, f32 radius);
|
|
|
|
void Actor_ChangeCategory(PlayState* play, ActorContext* actorCtx, Actor* actor, u8 actorCategory);
|
|
|
|
void Actor_SetTextWithPrefix(PlayState* play, Actor* actor, s16 baseTextId);
|
|
|
|
s16 Actor_TestFloorInDirection(Actor* actor, PlayState* play, f32 distance, s16 angle);
|
|
|
|
s32 Actor_IsTargeted(PlayState* play, Actor* actor);
|
|
|
|
s32 Actor_OtherIsTargeted(PlayState* play, Actor* actor);
|
2020-03-17 04:31:30 +00:00
|
|
|
f32 func_80033AEC(Vec3f* arg0, Vec3f* arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_80033C30(Vec3f* arg0, Vec3f* arg1, u8 alpha, PlayState* play);
|
2022-10-15 06:16:37 +00:00
|
|
|
void Actor_RequestQuake(PlayState* play, s16 y, s16 duration);
|
|
|
|
void Actor_RequestQuakeWithSpeed(PlayState* play, s16 y, s16 duration, s16 speed);
|
|
|
|
void Actor_RequestQuakeAndRumble(Actor* actor, PlayState* play, s16 quakeY, s16 quakeDuration);
|
2020-12-26 10:44:53 +00:00
|
|
|
f32 Rand_ZeroFloat(f32 f);
|
|
|
|
f32 Rand_CenteredFloat(f32 f);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Actor_DrawDoorLock(PlayState* play, s32 frame, s32 type);
|
|
|
|
void func_8003424C(PlayState* play, Vec3f* arg1);
|
2022-12-13 02:23:14 +00:00
|
|
|
void Actor_SetColorFilter(Actor* actor, s16 colorFlag, s16 colorIntensityMax, s16 bufFlag, s16 duration);
|
2022-05-21 18:23:43 +00:00
|
|
|
Hilite* func_800342EC(Vec3f* object, PlayState* play);
|
|
|
|
Hilite* func_8003435C(Vec3f* object, PlayState* play);
|
2022-11-25 17:52:28 +00:00
|
|
|
s32 Npc_UpdateTalking(PlayState* play, Actor* actor, s16* talkState, f32 interactRange,
|
|
|
|
NpcGetTextIdFunc getTextId, NpcUpdateTalkStateFunc updateTalkState);
|
|
|
|
s16 Npc_GetTrackingPresetMaxPlayerYaw(s16 presetIndex);
|
|
|
|
void Npc_TrackPoint(Actor* actor, NpcInteractInfo* interactInfo, s16 presetIndex,
|
|
|
|
s16 trackingMode);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_80034BA0(PlayState* play, SkelAnime* skelAnime, OverrideLimbDraw overrideLimbDraw,
|
2020-12-02 03:19:56 +00:00
|
|
|
PostLimbDraw postLimbDraw, Actor* actor, s16 alpha);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_80034CC4(PlayState* play, SkelAnime* skelAnime, OverrideLimbDraw overrideLimbDraw,
|
2020-12-02 03:19:56 +00:00
|
|
|
PostLimbDraw postLimbDraw, Actor* actor, s16 alpha);
|
2022-05-21 18:23:43 +00:00
|
|
|
s16 func_80034DD4(Actor* actor, PlayState* play, s16 arg2, f32 arg3);
|
|
|
|
void func_80034F54(PlayState* play, s16* arg1, s16* arg2, s32 arg3);
|
|
|
|
void Actor_Noop(Actor* actor, PlayState* play);
|
|
|
|
void Gfx_DrawDListOpa(PlayState* play, Gfx* dlist);
|
|
|
|
void Gfx_DrawDListXlu(PlayState* play, Gfx* dlist);
|
|
|
|
Actor* Actor_FindNearby(PlayState* play, Actor* refActor, s16 actorId, u8 actorCategory, f32 range);
|
|
|
|
s32 func_800354B4(PlayState* play, Actor* actor, f32 range, s16 arg3, s16 arg4, s16 arg5);
|
|
|
|
void func_8003555C(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel);
|
|
|
|
void func_800355B8(PlayState* play, Vec3f* pos);
|
|
|
|
u8 func_800355E4(PlayState* play, Collider* collider);
|
2020-03-17 04:31:30 +00:00
|
|
|
u8 Actor_ApplyDamage(Actor* actor);
|
2024-01-11 15:30:47 +00:00
|
|
|
void Actor_SetDropFlag(Actor* actor, ColliderElement* elem, s32 freezeFlag);
|
2022-02-20 13:22:29 +00:00
|
|
|
void Actor_SetDropFlagJntSph(Actor* actor, ColliderJntSph* jntSph, s32 freezeFlag);
|
2021-02-15 22:59:59 +00:00
|
|
|
void func_80035844(Vec3f* arg0, Vec3f* arg1, Vec3s* arg2, s32 arg3);
|
2021-02-02 23:44:24 +00:00
|
|
|
Actor* func_800358DC(Actor* actor, Vec3f* spawnPos, Vec3s* spawnRot, f32* arg3, s32 timer, s16* unused,
|
2022-06-16 00:15:44 +00:00
|
|
|
PlayState* play, s16 params, Gfx* dList);
|
2020-03-17 04:31:30 +00:00
|
|
|
void func_800359B8(Actor* actor, s16 arg1, Vec3s* arg2);
|
|
|
|
s32 Flags_GetEventChkInf(s32 flag);
|
|
|
|
void Flags_SetEventChkInf(s32 flag);
|
|
|
|
s32 Flags_GetInfTable(s32 flag);
|
|
|
|
void Flags_SetInfTable(s32 flag);
|
2022-05-21 18:23:43 +00:00
|
|
|
u16 func_80037C30(PlayState* play, s16 arg1);
|
|
|
|
s32 func_80037D98(PlayState* play, Actor* actor, s16 arg2, s32* arg3);
|
2022-06-03 18:29:23 +00:00
|
|
|
s32 Actor_TrackPlayer(PlayState* play, Actor* actor, Vec3s* headRot, Vec3s* torsoRot, Vec3f focusPos);
|
2020-03-17 04:31:30 +00:00
|
|
|
void ActorOverlayTable_LogPrint(void);
|
|
|
|
void ActorOverlayTable_Init(void);
|
|
|
|
void ActorOverlayTable_Cleanup(void);
|
z_bgcheck.c, 800430A0.c, 80043480.c (#256)
* beginning of migrating changes
* got matching
* changed order a bit
* clean up bgcheck
* fix conflict
* fix conflict again
* first stab at identifying types, some oks
* Clean up most bad structs/pointer math, move relevant structs to z64bgcheck.h, get some OKs
* more OKs, z_bgcheck.bss migration, update some sys_math3d.c args
* couple more OKs
* pushing some OKs
* fix compilation issues
* code_800430A0.c OK, more files decomp'd
* 8003A3E0 big OK :)
* Decomp most of func_8003C614, decomp helper funcs
* Decomp SurfaceType, CamData, and WaterBox property related functions
* more OKs, big OK in 8003C078
* more OKs, more progress, move a function definition in z_collision_check to functions.h
* more clean-ups, more OKs, dyn_vtx is now defined as u8*
* 8003A5B8, 8003A7D8, 8003C614, 8003DD6C OK, document function args better
* data migrated, more OKs
* 80041240 OK, func_8003B3C8 and func_8003BB18 disassembled
* func_80040284, 800409A8 non_matching, add IS_ZERO macro
* All asm files have C representations, some big OKs, lots of minor tweaks
* More OKs, non-matching code cleanup
* 8003FBF4 and 80040BE4 OK, improve codegen for most functions
* format z_bgcheck.c
* fix warnings, compile errors on NON_MATCHING
* func_8003EE80 is now NON_MATCHING
* begin documenting some functions
* formatting
* more documentation, func_8003A95C OK
* fix PHYSICAL_TO_VIRTUAL changes
* fix var rename
* More documentation, functions 80040E40, 80041648 OK, change types to not be compatible with ZAP
* func_8004239C ok, more NON_MATCHING improvements, more documentation
* Implement most suggested changes
* Convert comments to slower comments
* /**
* Implement ZAP2 changes
* my anti-virus ate my format.sh results
* Rename a couple hundred functions, fix minor stuff
* rename var so that clang formats correctly
* run format.sh
* implement Petrie's matches/suggestions
* format
* matches
* and the asm
* slight error
* Add SSList
* two more matches
* stuff
* implement code changes
* clean up Petrie's matchings
Co-authored-by: Arthur <arthurtilly413@gmail.com>
Co-authored-by: fig02 <fig02srl@gmail.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
2021-01-08 11:12:58 +00:00
|
|
|
void func_80038A28(CollisionPoly* poly, f32 tx, f32 ty, f32 tz, MtxF* dest);
|
|
|
|
f32 CollisionPoly_GetPointDistanceFromPlane(CollisionPoly* poly, Vec3f* point);
|
|
|
|
void CollisionPoly_GetVerticesByBgId(CollisionPoly* poly, s32 bgId, CollisionContext* colCtx, Vec3f* dest);
|
2022-05-21 18:23:43 +00:00
|
|
|
void BgCheck_Allocate(CollisionContext* colCtx, PlayState* play, CollisionHeader* colHeader);
|
2022-08-30 15:49:51 +00:00
|
|
|
f32 BgCheck_EntityRaycastDown1(CollisionContext* colCtx, CollisionPoly** outGroundPoly, Vec3f* pos);
|
|
|
|
f32 BgCheck_EntityRaycastDown2(PlayState* play, CollisionContext* colCtx, CollisionPoly** outGroundPoly, Vec3f* pos);
|
|
|
|
f32 BgCheck_EntityRaycastDown3(CollisionContext* colCtx, CollisionPoly** outGroundPoly, s32* bgId, Vec3f* pos);
|
|
|
|
f32 BgCheck_EntityRaycastDown4(CollisionContext* colCtx, CollisionPoly** outGroundPoly, s32* bgId, Actor* actor,
|
|
|
|
Vec3f* pos);
|
|
|
|
f32 BgCheck_EntityRaycastDown5(PlayState* play, CollisionContext* colCtx, CollisionPoly** outGroundPoly, s32* bgId,
|
|
|
|
Actor* actor, Vec3f* pos);
|
|
|
|
f32 BgCheck_EntityRaycastDown6(CollisionContext* colCtx, CollisionPoly** outGroundPoly, s32* bgId, Actor* actor,
|
|
|
|
Vec3f* pos, f32 chkDist);
|
|
|
|
f32 BgCheck_EntityRaycastDown7(CollisionContext* colCtx, CollisionPoly** outPoly, s32* bgId, Actor* actor, Vec3f* pos);
|
|
|
|
f32 BgCheck_AnyRaycastDown1(CollisionContext* colCtx, CollisionPoly* outGroundPoly, Vec3f* pos);
|
|
|
|
f32 BgCheck_AnyRaycastDown2(CollisionContext* colCtx, CollisionPoly* outGroundPoly, s32* bgId, Vec3f* pos);
|
|
|
|
f32 BgCheck_CameraRaycastDown2(CollisionContext* colCtx, CollisionPoly** outPoly, s32* bgId, Vec3f* pos);
|
|
|
|
f32 BgCheck_EntityRaycastDownWalls(CollisionContext* colCtx, CollisionPoly** outPoly, s32* bgId, Actor* actor, Vec3f* pos);
|
|
|
|
f32 BgCheck_EntityRaycastDown9(CollisionContext* colCtx, CollisionPoly** outPoly, s32* bgId, Vec3f* pos);
|
2021-01-18 21:04:04 +00:00
|
|
|
s32 BgCheck_EntitySphVsWall1(CollisionContext* colCtx, Vec3f* posResult, Vec3f* posNext, Vec3f* posPrev, f32 radius,
|
|
|
|
CollisionPoly** outPoly, f32 checkHeight);
|
|
|
|
s32 BgCheck_EntitySphVsWall2(CollisionContext* colCtx, Vec3f* posResult, Vec3f* posNext, Vec3f* posPrev, f32 radius,
|
|
|
|
CollisionPoly** outPoly, s32* outBgId, f32 checkHeight);
|
|
|
|
s32 BgCheck_EntitySphVsWall3(CollisionContext* colCtx, Vec3f* posResult, Vec3f* posNext, Vec3f* posPrev, f32 radius,
|
|
|
|
CollisionPoly** outPoly, s32* outBgId, Actor* actor, f32 checkHeight);
|
|
|
|
s32 BgCheck_EntitySphVsWall4(CollisionContext* colCtx, Vec3f* posResult, Vec3f* posNext, Vec3f* posPrev, f32 radius,
|
|
|
|
CollisionPoly** outPoly, s32* outBgId, Actor* actor, f32 checkHeight);
|
z_bgcheck.c, 800430A0.c, 80043480.c (#256)
* beginning of migrating changes
* got matching
* changed order a bit
* clean up bgcheck
* fix conflict
* fix conflict again
* first stab at identifying types, some oks
* Clean up most bad structs/pointer math, move relevant structs to z64bgcheck.h, get some OKs
* more OKs, z_bgcheck.bss migration, update some sys_math3d.c args
* couple more OKs
* pushing some OKs
* fix compilation issues
* code_800430A0.c OK, more files decomp'd
* 8003A3E0 big OK :)
* Decomp most of func_8003C614, decomp helper funcs
* Decomp SurfaceType, CamData, and WaterBox property related functions
* more OKs, big OK in 8003C078
* more OKs, more progress, move a function definition in z_collision_check to functions.h
* more clean-ups, more OKs, dyn_vtx is now defined as u8*
* 8003A5B8, 8003A7D8, 8003C614, 8003DD6C OK, document function args better
* data migrated, more OKs
* 80041240 OK, func_8003B3C8 and func_8003BB18 disassembled
* func_80040284, 800409A8 non_matching, add IS_ZERO macro
* All asm files have C representations, some big OKs, lots of minor tweaks
* More OKs, non-matching code cleanup
* 8003FBF4 and 80040BE4 OK, improve codegen for most functions
* format z_bgcheck.c
* fix warnings, compile errors on NON_MATCHING
* func_8003EE80 is now NON_MATCHING
* begin documenting some functions
* formatting
* more documentation, func_8003A95C OK
* fix PHYSICAL_TO_VIRTUAL changes
* fix var rename
* More documentation, functions 80040E40, 80041648 OK, change types to not be compatible with ZAP
* func_8004239C ok, more NON_MATCHING improvements, more documentation
* Implement most suggested changes
* Convert comments to slower comments
* /**
* Implement ZAP2 changes
* my anti-virus ate my format.sh results
* Rename a couple hundred functions, fix minor stuff
* rename var so that clang formats correctly
* run format.sh
* implement Petrie's matches/suggestions
* format
* matches
* and the asm
* slight error
* Add SSList
* two more matches
* stuff
* implement code changes
* clean up Petrie's matchings
Co-authored-by: Arthur <arthurtilly413@gmail.com>
Co-authored-by: fig02 <fig02srl@gmail.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
2021-01-08 11:12:58 +00:00
|
|
|
s32 BgCheck_AnyCheckCeiling(CollisionContext* colCtx, f32* outY, Vec3f* pos, f32 checkHeight);
|
2022-02-20 13:22:29 +00:00
|
|
|
s32 BgCheck_EntityCheckCeiling(CollisionContext* colCtx, f32* outY, Vec3f* pos, f32 checkHeight,
|
|
|
|
CollisionPoly** outPoly, s32* outBgId, Actor* actor);
|
2021-01-18 21:04:04 +00:00
|
|
|
s32 BgCheck_CameraLineTest1(CollisionContext* colCtx, Vec3f* posA, Vec3f* posB, Vec3f* posResult,
|
|
|
|
CollisionPoly** outPoly, s32 chkWall, s32 chkFloor, s32 chkCeil, s32 chkOneFace, s32* bgId);
|
|
|
|
s32 BgCheck_CameraLineTest2(CollisionContext* colCtx, Vec3f* posA, Vec3f* posB, Vec3f* posResult,
|
|
|
|
CollisionPoly** outPoly, s32 chkWall, s32 chkFloor, s32 chkCeil, s32 chkOneFace, s32* bgId);
|
|
|
|
s32 BgCheck_EntityLineTest1(CollisionContext* colCtx, Vec3f* posA, Vec3f* posB, Vec3f* posResult,
|
|
|
|
CollisionPoly** outPoly, s32 chkWall, s32 chkFloor, s32 chkCeil, s32 chkOneFace, s32* bgId);
|
|
|
|
s32 BgCheck_EntityLineTest2(CollisionContext* colCtx, Vec3f* posA, Vec3f* posB, Vec3f* posResult,
|
|
|
|
CollisionPoly** outPoly, s32 chkWall, s32 chkFloor, s32 chkCeil, s32 chkOneFace, s32* bgId,
|
|
|
|
Actor* actor);
|
|
|
|
s32 BgCheck_EntityLineTest3(CollisionContext* colCtx, Vec3f* posA, Vec3f* posB, Vec3f* posResult,
|
|
|
|
CollisionPoly** outPoly, s32 chkWall, s32 chkFloor, s32 chkCeil, s32 chkOneFace, s32* bgId,
|
|
|
|
Actor* actor, f32 chkDist);
|
|
|
|
s32 BgCheck_ProjectileLineTest(CollisionContext* colCtx, Vec3f* posA, Vec3f* posB, Vec3f* posResult,
|
|
|
|
CollisionPoly** outPoly, s32 chkWall, s32 chkFloor, s32 chkCeil, s32 chkOneFace,
|
|
|
|
s32* bgId);
|
|
|
|
s32 BgCheck_AnyLineTest1(CollisionContext* colCtx, Vec3f* posA, Vec3f* posB, Vec3f* posResult, CollisionPoly** outPoly,
|
|
|
|
s32 chkOneFace);
|
|
|
|
s32 BgCheck_AnyLineTest2(CollisionContext* colCtx, Vec3f* posA, Vec3f* posB, Vec3f* posResult, CollisionPoly** outPoly,
|
|
|
|
s32 chkWall, s32 chkFloor, s32 chkCeil, s32 chkOneFace);
|
|
|
|
s32 BgCheck_AnyLineTest3(CollisionContext* colCtx, Vec3f* posA, Vec3f* posB, Vec3f* posResult, CollisionPoly** outPoly,
|
|
|
|
s32 chkWall, s32 chkFloor, s32 chkCeil, s32 chkOneFace, s32* bgId);
|
|
|
|
s32 BgCheck_SphVsFirstPoly(CollisionContext* colCtx, Vec3f* center, f32 radius);
|
z_bgcheck.c, 800430A0.c, 80043480.c (#256)
* beginning of migrating changes
* got matching
* changed order a bit
* clean up bgcheck
* fix conflict
* fix conflict again
* first stab at identifying types, some oks
* Clean up most bad structs/pointer math, move relevant structs to z64bgcheck.h, get some OKs
* more OKs, z_bgcheck.bss migration, update some sys_math3d.c args
* couple more OKs
* pushing some OKs
* fix compilation issues
* code_800430A0.c OK, more files decomp'd
* 8003A3E0 big OK :)
* Decomp most of func_8003C614, decomp helper funcs
* Decomp SurfaceType, CamData, and WaterBox property related functions
* more OKs, big OK in 8003C078
* more OKs, more progress, move a function definition in z_collision_check to functions.h
* more clean-ups, more OKs, dyn_vtx is now defined as u8*
* 8003A5B8, 8003A7D8, 8003C614, 8003DD6C OK, document function args better
* data migrated, more OKs
* 80041240 OK, func_8003B3C8 and func_8003BB18 disassembled
* func_80040284, 800409A8 non_matching, add IS_ZERO macro
* All asm files have C representations, some big OKs, lots of minor tweaks
* More OKs, non-matching code cleanup
* 8003FBF4 and 80040BE4 OK, improve codegen for most functions
* format z_bgcheck.c
* fix warnings, compile errors on NON_MATCHING
* func_8003EE80 is now NON_MATCHING
* begin documenting some functions
* formatting
* more documentation, func_8003A95C OK
* fix PHYSICAL_TO_VIRTUAL changes
* fix var rename
* More documentation, functions 80040E40, 80041648 OK, change types to not be compatible with ZAP
* func_8004239C ok, more NON_MATCHING improvements, more documentation
* Implement most suggested changes
* Convert comments to slower comments
* /**
* Implement ZAP2 changes
* my anti-virus ate my format.sh results
* Rename a couple hundred functions, fix minor stuff
* rename var so that clang formats correctly
* run format.sh
* implement Petrie's matches/suggestions
* format
* matches
* and the asm
* slight error
* Add SSList
* two more matches
* stuff
* implement code changes
* clean up Petrie's matchings
Co-authored-by: Arthur <arthurtilly413@gmail.com>
Co-authored-by: fig02 <fig02srl@gmail.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
2021-01-08 11:12:58 +00:00
|
|
|
s32 DynaPoly_IsBgIdBgActor(s32 bgId);
|
2022-06-25 13:53:26 +00:00
|
|
|
void DynaPoly_DisableCollision(PlayState* play, DynaCollisionContext* dyna, s32 bgId);
|
|
|
|
void DynaPoly_EnableCollision(PlayState* play, DynaCollisionContext* dyna, s32 bgId);
|
|
|
|
void DynaPoly_DisableCeilingCollision(PlayState* play, DynaCollisionContext* dyna, s32 bgId);
|
2022-05-21 18:23:43 +00:00
|
|
|
s32 DynaPoly_SetBgActor(PlayState* play, DynaCollisionContext* dyna, Actor* actor, CollisionHeader* colHeader);
|
2021-02-14 00:49:40 +00:00
|
|
|
DynaPolyActor* DynaPoly_GetActor(CollisionContext* colCtx, s32 bgId);
|
2022-05-21 18:23:43 +00:00
|
|
|
void DynaPoly_DeleteBgActor(PlayState* play, DynaCollisionContext* dyna, s32 bgId);
|
2022-06-25 13:53:26 +00:00
|
|
|
void DynaPoly_InvalidateLookup(PlayState* play, DynaCollisionContext* dyna);
|
|
|
|
void DynaPoly_UnsetAllInteractFlags(PlayState* play, DynaCollisionContext* dyna, Actor* actor);
|
|
|
|
void DynaPoly_UpdateContext(PlayState* play, DynaCollisionContext* dyna);
|
2022-05-21 18:23:43 +00:00
|
|
|
void DynaPoly_UpdateBgActorTransforms(PlayState* play, DynaCollisionContext* dyna);
|
z_bgcheck.c, 800430A0.c, 80043480.c (#256)
* beginning of migrating changes
* got matching
* changed order a bit
* clean up bgcheck
* fix conflict
* fix conflict again
* first stab at identifying types, some oks
* Clean up most bad structs/pointer math, move relevant structs to z64bgcheck.h, get some OKs
* more OKs, z_bgcheck.bss migration, update some sys_math3d.c args
* couple more OKs
* pushing some OKs
* fix compilation issues
* code_800430A0.c OK, more files decomp'd
* 8003A3E0 big OK :)
* Decomp most of func_8003C614, decomp helper funcs
* Decomp SurfaceType, CamData, and WaterBox property related functions
* more OKs, big OK in 8003C078
* more OKs, more progress, move a function definition in z_collision_check to functions.h
* more clean-ups, more OKs, dyn_vtx is now defined as u8*
* 8003A5B8, 8003A7D8, 8003C614, 8003DD6C OK, document function args better
* data migrated, more OKs
* 80041240 OK, func_8003B3C8 and func_8003BB18 disassembled
* func_80040284, 800409A8 non_matching, add IS_ZERO macro
* All asm files have C representations, some big OKs, lots of minor tweaks
* More OKs, non-matching code cleanup
* 8003FBF4 and 80040BE4 OK, improve codegen for most functions
* format z_bgcheck.c
* fix warnings, compile errors on NON_MATCHING
* func_8003EE80 is now NON_MATCHING
* begin documenting some functions
* formatting
* more documentation, func_8003A95C OK
* fix PHYSICAL_TO_VIRTUAL changes
* fix var rename
* More documentation, functions 80040E40, 80041648 OK, change types to not be compatible with ZAP
* func_8004239C ok, more NON_MATCHING improvements, more documentation
* Implement most suggested changes
* Convert comments to slower comments
* /**
* Implement ZAP2 changes
* my anti-virus ate my format.sh results
* Rename a couple hundred functions, fix minor stuff
* rename var so that clang formats correctly
* run format.sh
* implement Petrie's matches/suggestions
* format
* matches
* and the asm
* slight error
* Add SSList
* two more matches
* stuff
* implement code changes
* clean up Petrie's matchings
Co-authored-by: Arthur <arthurtilly413@gmail.com>
Co-authored-by: fig02 <fig02srl@gmail.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
2021-01-08 11:12:58 +00:00
|
|
|
void CollisionHeader_GetVirtual(void* colHeader, CollisionHeader** dest);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_800418D0(CollisionContext* colCtx, PlayState* play);
|
2022-06-17 18:25:42 +00:00
|
|
|
u32 SurfaceType_GetBgCamIndex(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
|
|
|
|
u16 BgCheck_GetBgCamSettingImpl(CollisionContext* colCtx, u32 bgCamIndex, s32 bgId);
|
|
|
|
u16 BgCheck_GetBgCamSetting(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
|
|
|
|
u16 BgCheck_GetBgCamCount(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
|
|
|
|
Vec3s* BgCheck_GetBgCamFuncDataImpl(CollisionContext* colCtx, s32 bgCamIndex, s32 bgId);
|
|
|
|
Vec3s* BgCheck_GetBgCamFuncData(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
|
2022-07-31 18:57:18 +00:00
|
|
|
u32 SurfaceType_GetExitIndex(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
|
|
|
|
u32 SurfaceType_GetFloorType(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
|
z_bgcheck.c, 800430A0.c, 80043480.c (#256)
* beginning of migrating changes
* got matching
* changed order a bit
* clean up bgcheck
* fix conflict
* fix conflict again
* first stab at identifying types, some oks
* Clean up most bad structs/pointer math, move relevant structs to z64bgcheck.h, get some OKs
* more OKs, z_bgcheck.bss migration, update some sys_math3d.c args
* couple more OKs
* pushing some OKs
* fix compilation issues
* code_800430A0.c OK, more files decomp'd
* 8003A3E0 big OK :)
* Decomp most of func_8003C614, decomp helper funcs
* Decomp SurfaceType, CamData, and WaterBox property related functions
* more OKs, big OK in 8003C078
* more OKs, more progress, move a function definition in z_collision_check to functions.h
* more clean-ups, more OKs, dyn_vtx is now defined as u8*
* 8003A5B8, 8003A7D8, 8003C614, 8003DD6C OK, document function args better
* data migrated, more OKs
* 80041240 OK, func_8003B3C8 and func_8003BB18 disassembled
* func_80040284, 800409A8 non_matching, add IS_ZERO macro
* All asm files have C representations, some big OKs, lots of minor tweaks
* More OKs, non-matching code cleanup
* 8003FBF4 and 80040BE4 OK, improve codegen for most functions
* format z_bgcheck.c
* fix warnings, compile errors on NON_MATCHING
* func_8003EE80 is now NON_MATCHING
* begin documenting some functions
* formatting
* more documentation, func_8003A95C OK
* fix PHYSICAL_TO_VIRTUAL changes
* fix var rename
* More documentation, functions 80040E40, 80041648 OK, change types to not be compatible with ZAP
* func_8004239C ok, more NON_MATCHING improvements, more documentation
* Implement most suggested changes
* Convert comments to slower comments
* /**
* Implement ZAP2 changes
* my anti-virus ate my format.sh results
* Rename a couple hundred functions, fix minor stuff
* rename var so that clang formats correctly
* run format.sh
* implement Petrie's matches/suggestions
* format
* matches
* and the asm
* slight error
* Add SSList
* two more matches
* stuff
* implement code changes
* clean up Petrie's matchings
Co-authored-by: Arthur <arthurtilly413@gmail.com>
Co-authored-by: fig02 <fig02srl@gmail.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
2021-01-08 11:12:58 +00:00
|
|
|
u32 func_80041D70(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
|
2022-07-31 18:57:18 +00:00
|
|
|
s32 SurfaceType_GetWallFlags(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
|
|
|
|
s32 SurfaceType_CheckWallFlag0(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
|
|
|
|
s32 SurfaceType_CheckWallFlag1(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
|
|
|
|
s32 SurfaceType_CheckWallFlag2(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
|
|
|
|
u32 SurfaceType_GetFloorProperty(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
|
|
|
|
u32 SurfaceType_IsSoft(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
|
z_bgcheck.c, 800430A0.c, 80043480.c (#256)
* beginning of migrating changes
* got matching
* changed order a bit
* clean up bgcheck
* fix conflict
* fix conflict again
* first stab at identifying types, some oks
* Clean up most bad structs/pointer math, move relevant structs to z64bgcheck.h, get some OKs
* more OKs, z_bgcheck.bss migration, update some sys_math3d.c args
* couple more OKs
* pushing some OKs
* fix compilation issues
* code_800430A0.c OK, more files decomp'd
* 8003A3E0 big OK :)
* Decomp most of func_8003C614, decomp helper funcs
* Decomp SurfaceType, CamData, and WaterBox property related functions
* more OKs, big OK in 8003C078
* more OKs, more progress, move a function definition in z_collision_check to functions.h
* more clean-ups, more OKs, dyn_vtx is now defined as u8*
* 8003A5B8, 8003A7D8, 8003C614, 8003DD6C OK, document function args better
* data migrated, more OKs
* 80041240 OK, func_8003B3C8 and func_8003BB18 disassembled
* func_80040284, 800409A8 non_matching, add IS_ZERO macro
* All asm files have C representations, some big OKs, lots of minor tweaks
* More OKs, non-matching code cleanup
* 8003FBF4 and 80040BE4 OK, improve codegen for most functions
* format z_bgcheck.c
* fix warnings, compile errors on NON_MATCHING
* func_8003EE80 is now NON_MATCHING
* begin documenting some functions
* formatting
* more documentation, func_8003A95C OK
* fix PHYSICAL_TO_VIRTUAL changes
* fix var rename
* More documentation, functions 80040E40, 80041648 OK, change types to not be compatible with ZAP
* func_8004239C ok, more NON_MATCHING improvements, more documentation
* Implement most suggested changes
* Convert comments to slower comments
* /**
* Implement ZAP2 changes
* my anti-virus ate my format.sh results
* Rename a couple hundred functions, fix minor stuff
* rename var so that clang formats correctly
* run format.sh
* implement Petrie's matches/suggestions
* format
* matches
* and the asm
* slight error
* Add SSList
* two more matches
* stuff
* implement code changes
* clean up Petrie's matchings
Co-authored-by: Arthur <arthurtilly413@gmail.com>
Co-authored-by: fig02 <fig02srl@gmail.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
2021-01-08 11:12:58 +00:00
|
|
|
u32 SurfaceType_IsHorseBlocked(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
|
2022-11-26 23:11:06 +00:00
|
|
|
u32 SurfaceType_GetMaterial(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
|
|
|
|
u16 SurfaceType_GetSfxOffset(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
|
2022-07-31 18:57:18 +00:00
|
|
|
u32 SurfaceType_GetFloorEffect(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
|
|
|
|
u32 SurfaceType_GetLightSetting(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
|
z_bgcheck.c, 800430A0.c, 80043480.c (#256)
* beginning of migrating changes
* got matching
* changed order a bit
* clean up bgcheck
* fix conflict
* fix conflict again
* first stab at identifying types, some oks
* Clean up most bad structs/pointer math, move relevant structs to z64bgcheck.h, get some OKs
* more OKs, z_bgcheck.bss migration, update some sys_math3d.c args
* couple more OKs
* pushing some OKs
* fix compilation issues
* code_800430A0.c OK, more files decomp'd
* 8003A3E0 big OK :)
* Decomp most of func_8003C614, decomp helper funcs
* Decomp SurfaceType, CamData, and WaterBox property related functions
* more OKs, big OK in 8003C078
* more OKs, more progress, move a function definition in z_collision_check to functions.h
* more clean-ups, more OKs, dyn_vtx is now defined as u8*
* 8003A5B8, 8003A7D8, 8003C614, 8003DD6C OK, document function args better
* data migrated, more OKs
* 80041240 OK, func_8003B3C8 and func_8003BB18 disassembled
* func_80040284, 800409A8 non_matching, add IS_ZERO macro
* All asm files have C representations, some big OKs, lots of minor tweaks
* More OKs, non-matching code cleanup
* 8003FBF4 and 80040BE4 OK, improve codegen for most functions
* format z_bgcheck.c
* fix warnings, compile errors on NON_MATCHING
* func_8003EE80 is now NON_MATCHING
* begin documenting some functions
* formatting
* more documentation, func_8003A95C OK
* fix PHYSICAL_TO_VIRTUAL changes
* fix var rename
* More documentation, functions 80040E40, 80041648 OK, change types to not be compatible with ZAP
* func_8004239C ok, more NON_MATCHING improvements, more documentation
* Implement most suggested changes
* Convert comments to slower comments
* /**
* Implement ZAP2 changes
* my anti-virus ate my format.sh results
* Rename a couple hundred functions, fix minor stuff
* rename var so that clang formats correctly
* run format.sh
* implement Petrie's matches/suggestions
* format
* matches
* and the asm
* slight error
* Add SSList
* two more matches
* stuff
* implement code changes
* clean up Petrie's matchings
Co-authored-by: Arthur <arthurtilly413@gmail.com>
Co-authored-by: fig02 <fig02srl@gmail.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
2021-01-08 11:12:58 +00:00
|
|
|
u32 SurfaceType_GetEcho(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
|
2022-07-31 18:57:18 +00:00
|
|
|
u32 SurfaceType_CanHookshot(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
|
z_bgcheck.c, 800430A0.c, 80043480.c (#256)
* beginning of migrating changes
* got matching
* changed order a bit
* clean up bgcheck
* fix conflict
* fix conflict again
* first stab at identifying types, some oks
* Clean up most bad structs/pointer math, move relevant structs to z64bgcheck.h, get some OKs
* more OKs, z_bgcheck.bss migration, update some sys_math3d.c args
* couple more OKs
* pushing some OKs
* fix compilation issues
* code_800430A0.c OK, more files decomp'd
* 8003A3E0 big OK :)
* Decomp most of func_8003C614, decomp helper funcs
* Decomp SurfaceType, CamData, and WaterBox property related functions
* more OKs, big OK in 8003C078
* more OKs, more progress, move a function definition in z_collision_check to functions.h
* more clean-ups, more OKs, dyn_vtx is now defined as u8*
* 8003A5B8, 8003A7D8, 8003C614, 8003DD6C OK, document function args better
* data migrated, more OKs
* 80041240 OK, func_8003B3C8 and func_8003BB18 disassembled
* func_80040284, 800409A8 non_matching, add IS_ZERO macro
* All asm files have C representations, some big OKs, lots of minor tweaks
* More OKs, non-matching code cleanup
* 8003FBF4 and 80040BE4 OK, improve codegen for most functions
* format z_bgcheck.c
* fix warnings, compile errors on NON_MATCHING
* func_8003EE80 is now NON_MATCHING
* begin documenting some functions
* formatting
* more documentation, func_8003A95C OK
* fix PHYSICAL_TO_VIRTUAL changes
* fix var rename
* More documentation, functions 80040E40, 80041648 OK, change types to not be compatible with ZAP
* func_8004239C ok, more NON_MATCHING improvements, more documentation
* Implement most suggested changes
* Convert comments to slower comments
* /**
* Implement ZAP2 changes
* my anti-virus ate my format.sh results
* Rename a couple hundred functions, fix minor stuff
* rename var so that clang formats correctly
* run format.sh
* implement Petrie's matches/suggestions
* format
* matches
* and the asm
* slight error
* Add SSList
* two more matches
* stuff
* implement code changes
* clean up Petrie's matchings
Co-authored-by: Arthur <arthurtilly413@gmail.com>
Co-authored-by: fig02 <fig02srl@gmail.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
2021-01-08 11:12:58 +00:00
|
|
|
s32 SurfaceType_IsIgnoredByEntities(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
|
|
|
|
s32 SurfaceType_IsIgnoredByProjectiles(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
|
2022-04-03 22:06:25 +00:00
|
|
|
s32 SurfaceType_IsFloorConveyor(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
|
z_bgcheck.c, 800430A0.c, 80043480.c (#256)
* beginning of migrating changes
* got matching
* changed order a bit
* clean up bgcheck
* fix conflict
* fix conflict again
* first stab at identifying types, some oks
* Clean up most bad structs/pointer math, move relevant structs to z64bgcheck.h, get some OKs
* more OKs, z_bgcheck.bss migration, update some sys_math3d.c args
* couple more OKs
* pushing some OKs
* fix compilation issues
* code_800430A0.c OK, more files decomp'd
* 8003A3E0 big OK :)
* Decomp most of func_8003C614, decomp helper funcs
* Decomp SurfaceType, CamData, and WaterBox property related functions
* more OKs, big OK in 8003C078
* more OKs, more progress, move a function definition in z_collision_check to functions.h
* more clean-ups, more OKs, dyn_vtx is now defined as u8*
* 8003A5B8, 8003A7D8, 8003C614, 8003DD6C OK, document function args better
* data migrated, more OKs
* 80041240 OK, func_8003B3C8 and func_8003BB18 disassembled
* func_80040284, 800409A8 non_matching, add IS_ZERO macro
* All asm files have C representations, some big OKs, lots of minor tweaks
* More OKs, non-matching code cleanup
* 8003FBF4 and 80040BE4 OK, improve codegen for most functions
* format z_bgcheck.c
* fix warnings, compile errors on NON_MATCHING
* func_8003EE80 is now NON_MATCHING
* begin documenting some functions
* formatting
* more documentation, func_8003A95C OK
* fix PHYSICAL_TO_VIRTUAL changes
* fix var rename
* More documentation, functions 80040E40, 80041648 OK, change types to not be compatible with ZAP
* func_8004239C ok, more NON_MATCHING improvements, more documentation
* Implement most suggested changes
* Convert comments to slower comments
* /**
* Implement ZAP2 changes
* my anti-virus ate my format.sh results
* Rename a couple hundred functions, fix minor stuff
* rename var so that clang formats correctly
* run format.sh
* implement Petrie's matches/suggestions
* format
* matches
* and the asm
* slight error
* Add SSList
* two more matches
* stuff
* implement code changes
* clean up Petrie's matchings
Co-authored-by: Arthur <arthurtilly413@gmail.com>
Co-authored-by: fig02 <fig02srl@gmail.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
2021-01-08 11:12:58 +00:00
|
|
|
u32 SurfaceType_GetConveyorSpeed(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
|
|
|
|
u32 SurfaceType_GetConveyorDirection(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
|
2022-07-31 18:57:18 +00:00
|
|
|
u32 func_80042108(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
|
2022-05-21 18:23:43 +00:00
|
|
|
s32 WaterBox_GetSurface1(PlayState* play, CollisionContext* colCtx, f32 x, f32 z, f32* ySurface,
|
2021-01-18 21:04:04 +00:00
|
|
|
WaterBox** outWaterBox);
|
2022-05-21 18:23:43 +00:00
|
|
|
s32 WaterBox_GetSurface2(PlayState* play, CollisionContext* colCtx, Vec3f* pos, f32 surfaceChkDist,
|
2021-01-18 21:04:04 +00:00
|
|
|
WaterBox** outWaterBox);
|
2022-05-21 18:23:43 +00:00
|
|
|
s32 WaterBox_GetSurfaceImpl(PlayState* play, CollisionContext* colCtx, f32 x, f32 z, f32* ySurface,
|
2021-01-18 21:04:04 +00:00
|
|
|
WaterBox** outWaterBox);
|
2022-06-17 18:25:42 +00:00
|
|
|
u32 WaterBox_GetBgCamIndex(CollisionContext* colCtx, WaterBox* waterBox);
|
|
|
|
u16 WaterBox_GetBgCamSetting(CollisionContext* colCtx, WaterBox* waterBox);
|
2022-08-29 17:52:42 +00:00
|
|
|
u32 WaterBox_GetLightIndex(CollisionContext* colCtx, WaterBox* waterBox);
|
z_bgcheck.c, 800430A0.c, 80043480.c (#256)
* beginning of migrating changes
* got matching
* changed order a bit
* clean up bgcheck
* fix conflict
* fix conflict again
* first stab at identifying types, some oks
* Clean up most bad structs/pointer math, move relevant structs to z64bgcheck.h, get some OKs
* more OKs, z_bgcheck.bss migration, update some sys_math3d.c args
* couple more OKs
* pushing some OKs
* fix compilation issues
* code_800430A0.c OK, more files decomp'd
* 8003A3E0 big OK :)
* Decomp most of func_8003C614, decomp helper funcs
* Decomp SurfaceType, CamData, and WaterBox property related functions
* more OKs, big OK in 8003C078
* more OKs, more progress, move a function definition in z_collision_check to functions.h
* more clean-ups, more OKs, dyn_vtx is now defined as u8*
* 8003A5B8, 8003A7D8, 8003C614, 8003DD6C OK, document function args better
* data migrated, more OKs
* 80041240 OK, func_8003B3C8 and func_8003BB18 disassembled
* func_80040284, 800409A8 non_matching, add IS_ZERO macro
* All asm files have C representations, some big OKs, lots of minor tweaks
* More OKs, non-matching code cleanup
* 8003FBF4 and 80040BE4 OK, improve codegen for most functions
* format z_bgcheck.c
* fix warnings, compile errors on NON_MATCHING
* func_8003EE80 is now NON_MATCHING
* begin documenting some functions
* formatting
* more documentation, func_8003A95C OK
* fix PHYSICAL_TO_VIRTUAL changes
* fix var rename
* More documentation, functions 80040E40, 80041648 OK, change types to not be compatible with ZAP
* func_8004239C ok, more NON_MATCHING improvements, more documentation
* Implement most suggested changes
* Convert comments to slower comments
* /**
* Implement ZAP2 changes
* my anti-virus ate my format.sh results
* Rename a couple hundred functions, fix minor stuff
* rename var so that clang formats correctly
* run format.sh
* implement Petrie's matches/suggestions
* format
* matches
* and the asm
* slight error
* Add SSList
* two more matches
* stuff
* implement code changes
* clean up Petrie's matchings
Co-authored-by: Arthur <arthurtilly413@gmail.com>
Co-authored-by: fig02 <fig02srl@gmail.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
2021-01-08 11:12:58 +00:00
|
|
|
s32 func_80042708(CollisionPoly* polyA, CollisionPoly* polyB, Vec3f* point, Vec3f* closestPoint);
|
|
|
|
s32 func_800427B4(CollisionPoly* polyA, CollisionPoly* polyB, Vec3f* pointA, Vec3f* pointB, Vec3f* closestPoint);
|
2024-01-31 00:43:10 +00:00
|
|
|
#if OOT_DEBUG
|
2022-05-21 18:23:43 +00:00
|
|
|
void BgCheck_DrawDynaCollision(PlayState*, CollisionContext*);
|
|
|
|
void BgCheck_DrawStaticCollision(PlayState*, CollisionContext*);
|
2024-01-31 00:43:10 +00:00
|
|
|
#endif
|
z_bgcheck.c, 800430A0.c, 80043480.c (#256)
* beginning of migrating changes
* got matching
* changed order a bit
* clean up bgcheck
* fix conflict
* fix conflict again
* first stab at identifying types, some oks
* Clean up most bad structs/pointer math, move relevant structs to z64bgcheck.h, get some OKs
* more OKs, z_bgcheck.bss migration, update some sys_math3d.c args
* couple more OKs
* pushing some OKs
* fix compilation issues
* code_800430A0.c OK, more files decomp'd
* 8003A3E0 big OK :)
* Decomp most of func_8003C614, decomp helper funcs
* Decomp SurfaceType, CamData, and WaterBox property related functions
* more OKs, big OK in 8003C078
* more OKs, more progress, move a function definition in z_collision_check to functions.h
* more clean-ups, more OKs, dyn_vtx is now defined as u8*
* 8003A5B8, 8003A7D8, 8003C614, 8003DD6C OK, document function args better
* data migrated, more OKs
* 80041240 OK, func_8003B3C8 and func_8003BB18 disassembled
* func_80040284, 800409A8 non_matching, add IS_ZERO macro
* All asm files have C representations, some big OKs, lots of minor tweaks
* More OKs, non-matching code cleanup
* 8003FBF4 and 80040BE4 OK, improve codegen for most functions
* format z_bgcheck.c
* fix warnings, compile errors on NON_MATCHING
* func_8003EE80 is now NON_MATCHING
* begin documenting some functions
* formatting
* more documentation, func_8003A95C OK
* fix PHYSICAL_TO_VIRTUAL changes
* fix var rename
* More documentation, functions 80040E40, 80041648 OK, change types to not be compatible with ZAP
* func_8004239C ok, more NON_MATCHING improvements, more documentation
* Implement most suggested changes
* Convert comments to slower comments
* /**
* Implement ZAP2 changes
* my anti-virus ate my format.sh results
* Rename a couple hundred functions, fix minor stuff
* rename var so that clang formats correctly
* run format.sh
* implement Petrie's matches/suggestions
* format
* matches
* and the asm
* slight error
* Add SSList
* two more matches
* stuff
* implement code changes
* clean up Petrie's matchings
Co-authored-by: Arthur <arthurtilly413@gmail.com>
Co-authored-by: fig02 <fig02srl@gmail.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
2021-01-08 11:12:58 +00:00
|
|
|
void func_80043334(CollisionContext* colCtx, Actor* actor, s32 bgId);
|
2022-10-11 22:47:33 +00:00
|
|
|
s32 DynaPolyActor_TransformCarriedActor(CollisionContext* colCtx, s32 bgId, Actor* carriedActor);
|
|
|
|
void DynaPolyActor_Init(DynaPolyActor* dynaActor, s32 transformFlags);
|
2022-06-25 13:53:26 +00:00
|
|
|
void DynaPolyActor_UnsetAllInteractFlags(DynaPolyActor* dynaActor);
|
|
|
|
void DynaPolyActor_SetActorOnTop(DynaPolyActor* dynaActor);
|
|
|
|
void DynaPoly_SetPlayerOnTop(CollisionContext* colCtx, s32 floorBgId);
|
|
|
|
void DynaPoly_SetPlayerAbove(CollisionContext* colCtx, s32 floorBgId);
|
z_bgcheck.c, 800430A0.c, 80043480.c (#256)
* beginning of migrating changes
* got matching
* changed order a bit
* clean up bgcheck
* fix conflict
* fix conflict again
* first stab at identifying types, some oks
* Clean up most bad structs/pointer math, move relevant structs to z64bgcheck.h, get some OKs
* more OKs, z_bgcheck.bss migration, update some sys_math3d.c args
* couple more OKs
* pushing some OKs
* fix compilation issues
* code_800430A0.c OK, more files decomp'd
* 8003A3E0 big OK :)
* Decomp most of func_8003C614, decomp helper funcs
* Decomp SurfaceType, CamData, and WaterBox property related functions
* more OKs, big OK in 8003C078
* more OKs, more progress, move a function definition in z_collision_check to functions.h
* more clean-ups, more OKs, dyn_vtx is now defined as u8*
* 8003A5B8, 8003A7D8, 8003C614, 8003DD6C OK, document function args better
* data migrated, more OKs
* 80041240 OK, func_8003B3C8 and func_8003BB18 disassembled
* func_80040284, 800409A8 non_matching, add IS_ZERO macro
* All asm files have C representations, some big OKs, lots of minor tweaks
* More OKs, non-matching code cleanup
* 8003FBF4 and 80040BE4 OK, improve codegen for most functions
* format z_bgcheck.c
* fix warnings, compile errors on NON_MATCHING
* func_8003EE80 is now NON_MATCHING
* begin documenting some functions
* formatting
* more documentation, func_8003A95C OK
* fix PHYSICAL_TO_VIRTUAL changes
* fix var rename
* More documentation, functions 80040E40, 80041648 OK, change types to not be compatible with ZAP
* func_8004239C ok, more NON_MATCHING improvements, more documentation
* Implement most suggested changes
* Convert comments to slower comments
* /**
* Implement ZAP2 changes
* my anti-virus ate my format.sh results
* Rename a couple hundred functions, fix minor stuff
* rename var so that clang formats correctly
* run format.sh
* implement Petrie's matches/suggestions
* format
* matches
* and the asm
* slight error
* Add SSList
* two more matches
* stuff
* implement code changes
* clean up Petrie's matchings
Co-authored-by: Arthur <arthurtilly413@gmail.com>
Co-authored-by: fig02 <fig02srl@gmail.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
2021-01-08 11:12:58 +00:00
|
|
|
void func_80043538(DynaPolyActor* dynaActor);
|
2022-06-25 13:53:26 +00:00
|
|
|
s32 DynaPolyActor_IsActorOnTop(DynaPolyActor* dynaActor);
|
|
|
|
s32 DynaPolyActor_IsPlayerOnTop(DynaPolyActor* dynaActor);
|
|
|
|
s32 DynaPolyActor_IsPlayerAbove(DynaPolyActor* dynaActor);
|
2020-09-19 01:45:39 +00:00
|
|
|
s32 func_800435B4(DynaPolyActor* dynaActor);
|
2022-05-21 18:23:43 +00:00
|
|
|
s32 func_800435D8(PlayState* play, DynaPolyActor* dynaActor, s16 arg2, s16 arg3, s16 arg4);
|
|
|
|
void Camera_Init(Camera* camera, View* view, CollisionContext* colCtx, PlayState* play);
|
2022-12-17 21:07:31 +00:00
|
|
|
void Camera_InitDataUsingPlayer(Camera* camera, Player* player);
|
decompile z_camera (#398)
* cleanup
* name camera action functions
* decompile a few small functions, name a few Camera struct members
* decompile camera data, decompile a few camera functions
* Split ASM for code_800BB0A0
* removing code_800BB0A0.s
* PR Requests, Camera WIP
* remove #define NON_MATCHING from db_camera
* rename code_8007BF90.c to z_olib.c, rename functions in z_olib.c
* camera wip
* rename some struct memebers, some decomp wip
* pr updates
* camera wip
* name some fields in Camera Struct, being making sense of Camera_Update
* Camera WIP
* wip
* wip
* add z64camera.h header, begin creating CameraSetting macros
* wip
* wip
* wip
* wip
* migrate camera bss to c
* match a couple functions in db_camera
* match some small db_camera functions
* wip
* migrate db_camera rodata, match a few functions
* remote db_camera.rodata.s
* match some of db_camera
* identify types of some unknown data pieces
* some small wip
* Match Camera_Init, some function changes, some struct name changes. Change unk_C0 and unk_CC to floats from Vec3fs
* add naming for a few more Camera struct members
* wip
* match func_80043F94
* Match Camera_Jump1
* document some of Camera_Jump1
* wip
* match Camera_Jump3
* Match Camera_Update, FeelsAmazing
* wip
* wip
* match Camera_SetParam
* minor cleanup
* wip
* wip
* match Camera_KeepOn0
* some documentation, modify some matching functions to match style of others.
* match Camera_Demo1
* match camera_demo9
* document Camera_Demo1 and Camera_Demo9
* wip
* Match camera_battle4
* match camera_unique2
* Match Camera_Unique3
* match camera_special6
* match Camera_Special5
* wip
* document camera_special6
* naming updates
* match camera_Unique1
* match Camera_Unique0
* wip
* Match Camera_CalcUpFromPitchYawRoll
* match func_80045508
* document Camera_Battle4
* document several camera functions, move camera data to separate file
* rename phi/theta to pitch/yaw
* wip
* uniq9 wip
* Camera_Unqiue9 OK
* document Camera_Unique9
* name unk_160 in camera struct
* wip
* wip
* minor updates
* fix conflicts
* wip
* wip
* Olib updates
* wip
* wip
* rename most Math3D functions, few matches, documentation
* wip
* document most of math3d
* wip
* wip
* wip
* pr updates
* Match Camera_Fixed4
* match func_80058E8C
* pr updates
* add missing comment block finalizer
* Merge math3dupdates
* match Camera_ChangeSetting
* Match Camera_ChangeMode
* match func_80058148
* Match Camera_Special9
* decompile the rest of camera data
* match Camera_Demo5
* name a few camera functions in z_play
* match func_80046CB4, some work on other fucntions
* wip
* impove some non matchings
* fix function rename
* match func_800588B4
* match Camera_Subj4
* wip
* Camera_Demo3 matching, Camera_Battle1 big progress
* Camera_Normal2 OK
* wip
* match Camera_Parallel1
* normalize some things across functions
* match Camera_Normal1
* Match Camera_Normal3
* some cleanup
* more cleanup
* more cleanup , match Camera_CalcDefaultPitch
* data formatting
* Match Camera_Jump2
* document Camera_Jump2
* Match Camera_KeepOn3
* document some of Camera_KeepOn3
* improve some non_matchings
* match func_80045C74 and func_800460A8
* code cleanup, documentation
* match Camera_KeepOn1
* Match Camera_Subj3
* Match Camera_Battle1
* remove non_matching from func_80044adc and func_80046e20
* name several members of Battle1
* more documentation on Battle1
* cleanup
* renaming Camera_Vec3fScaleXYZFactor to Camera_Vec3fTranslateByUnitVector
* reorganize update structs, remove final references to params, remove CameraParams union
* implement camera enums into player
* Renaming Camera_GetDir to Camera_GetInputDir, Camera_GetRealDir to Camera_GetCamDir, etc, implement camera enum's into player
* remove non-global camera variables from variables.h
* clean up some variable declarations
* finish pr comment updates
* fix some warnings
* data formatting
* finish commenting on data
* delete unused asm
* remove asm
Co-authored-by: fig <fig02srl@gmail.com>
2020-12-06 22:39:47 +00:00
|
|
|
s16 Camera_ChangeStatus(Camera* camera, s16 status);
|
2021-02-15 17:29:06 +00:00
|
|
|
Vec3s Camera_Update(Camera* camera);
|
decompile z_camera (#398)
* cleanup
* name camera action functions
* decompile a few small functions, name a few Camera struct members
* decompile camera data, decompile a few camera functions
* Split ASM for code_800BB0A0
* removing code_800BB0A0.s
* PR Requests, Camera WIP
* remove #define NON_MATCHING from db_camera
* rename code_8007BF90.c to z_olib.c, rename functions in z_olib.c
* camera wip
* rename some struct memebers, some decomp wip
* pr updates
* camera wip
* name some fields in Camera Struct, being making sense of Camera_Update
* Camera WIP
* wip
* wip
* add z64camera.h header, begin creating CameraSetting macros
* wip
* wip
* wip
* wip
* migrate camera bss to c
* match a couple functions in db_camera
* match some small db_camera functions
* wip
* migrate db_camera rodata, match a few functions
* remote db_camera.rodata.s
* match some of db_camera
* identify types of some unknown data pieces
* some small wip
* Match Camera_Init, some function changes, some struct name changes. Change unk_C0 and unk_CC to floats from Vec3fs
* add naming for a few more Camera struct members
* wip
* match func_80043F94
* Match Camera_Jump1
* document some of Camera_Jump1
* wip
* match Camera_Jump3
* Match Camera_Update, FeelsAmazing
* wip
* wip
* match Camera_SetParam
* minor cleanup
* wip
* wip
* match Camera_KeepOn0
* some documentation, modify some matching functions to match style of others.
* match Camera_Demo1
* match camera_demo9
* document Camera_Demo1 and Camera_Demo9
* wip
* Match camera_battle4
* match camera_unique2
* Match Camera_Unique3
* match camera_special6
* match Camera_Special5
* wip
* document camera_special6
* naming updates
* match camera_Unique1
* match Camera_Unique0
* wip
* Match Camera_CalcUpFromPitchYawRoll
* match func_80045508
* document Camera_Battle4
* document several camera functions, move camera data to separate file
* rename phi/theta to pitch/yaw
* wip
* uniq9 wip
* Camera_Unqiue9 OK
* document Camera_Unique9
* name unk_160 in camera struct
* wip
* wip
* minor updates
* fix conflicts
* wip
* wip
* Olib updates
* wip
* wip
* rename most Math3D functions, few matches, documentation
* wip
* document most of math3d
* wip
* wip
* wip
* pr updates
* Match Camera_Fixed4
* match func_80058E8C
* pr updates
* add missing comment block finalizer
* Merge math3dupdates
* match Camera_ChangeSetting
* Match Camera_ChangeMode
* match func_80058148
* Match Camera_Special9
* decompile the rest of camera data
* match Camera_Demo5
* name a few camera functions in z_play
* match func_80046CB4, some work on other fucntions
* wip
* impove some non matchings
* fix function rename
* match func_800588B4
* match Camera_Subj4
* wip
* Camera_Demo3 matching, Camera_Battle1 big progress
* Camera_Normal2 OK
* wip
* match Camera_Parallel1
* normalize some things across functions
* match Camera_Normal1
* Match Camera_Normal3
* some cleanup
* more cleanup
* more cleanup , match Camera_CalcDefaultPitch
* data formatting
* Match Camera_Jump2
* document Camera_Jump2
* Match Camera_KeepOn3
* document some of Camera_KeepOn3
* improve some non_matchings
* match func_80045C74 and func_800460A8
* code cleanup, documentation
* match Camera_KeepOn1
* Match Camera_Subj3
* Match Camera_Battle1
* remove non_matching from func_80044adc and func_80046e20
* name several members of Battle1
* more documentation on Battle1
* cleanup
* renaming Camera_Vec3fScaleXYZFactor to Camera_Vec3fTranslateByUnitVector
* reorganize update structs, remove final references to params, remove CameraParams union
* implement camera enums into player
* Renaming Camera_GetDir to Camera_GetInputDir, Camera_GetRealDir to Camera_GetCamDir, etc, implement camera enum's into player
* remove non-global camera variables from variables.h
* clean up some variable declarations
* finish pr comment updates
* fix some warnings
* data formatting
* finish commenting on data
* delete unused asm
* remove asm
Co-authored-by: fig <fig02srl@gmail.com>
2020-12-06 22:39:47 +00:00
|
|
|
void Camera_Finish(Camera* camera);
|
2023-11-19 01:17:32 +00:00
|
|
|
s32 Camera_RequestMode(Camera* camera, s16 mode);
|
2021-02-02 23:44:24 +00:00
|
|
|
s32 Camera_CheckValidMode(Camera* camera, s16 mode);
|
2023-11-19 01:17:32 +00:00
|
|
|
s32 Camera_RequestSetting(Camera* camera, s16 setting);
|
|
|
|
s32 Camera_RequestBgCam(Camera* camera, s32 requestedBgCamIndex);
|
decompile z_camera (#398)
* cleanup
* name camera action functions
* decompile a few small functions, name a few Camera struct members
* decompile camera data, decompile a few camera functions
* Split ASM for code_800BB0A0
* removing code_800BB0A0.s
* PR Requests, Camera WIP
* remove #define NON_MATCHING from db_camera
* rename code_8007BF90.c to z_olib.c, rename functions in z_olib.c
* camera wip
* rename some struct memebers, some decomp wip
* pr updates
* camera wip
* name some fields in Camera Struct, being making sense of Camera_Update
* Camera WIP
* wip
* wip
* add z64camera.h header, begin creating CameraSetting macros
* wip
* wip
* wip
* wip
* migrate camera bss to c
* match a couple functions in db_camera
* match some small db_camera functions
* wip
* migrate db_camera rodata, match a few functions
* remote db_camera.rodata.s
* match some of db_camera
* identify types of some unknown data pieces
* some small wip
* Match Camera_Init, some function changes, some struct name changes. Change unk_C0 and unk_CC to floats from Vec3fs
* add naming for a few more Camera struct members
* wip
* match func_80043F94
* Match Camera_Jump1
* document some of Camera_Jump1
* wip
* match Camera_Jump3
* Match Camera_Update, FeelsAmazing
* wip
* wip
* match Camera_SetParam
* minor cleanup
* wip
* wip
* match Camera_KeepOn0
* some documentation, modify some matching functions to match style of others.
* match Camera_Demo1
* match camera_demo9
* document Camera_Demo1 and Camera_Demo9
* wip
* Match camera_battle4
* match camera_unique2
* Match Camera_Unique3
* match camera_special6
* match Camera_Special5
* wip
* document camera_special6
* naming updates
* match camera_Unique1
* match Camera_Unique0
* wip
* Match Camera_CalcUpFromPitchYawRoll
* match func_80045508
* document Camera_Battle4
* document several camera functions, move camera data to separate file
* rename phi/theta to pitch/yaw
* wip
* uniq9 wip
* Camera_Unqiue9 OK
* document Camera_Unique9
* name unk_160 in camera struct
* wip
* wip
* minor updates
* fix conflicts
* wip
* wip
* Olib updates
* wip
* wip
* rename most Math3D functions, few matches, documentation
* wip
* document most of math3d
* wip
* wip
* wip
* pr updates
* Match Camera_Fixed4
* match func_80058E8C
* pr updates
* add missing comment block finalizer
* Merge math3dupdates
* match Camera_ChangeSetting
* Match Camera_ChangeMode
* match func_80058148
* Match Camera_Special9
* decompile the rest of camera data
* match Camera_Demo5
* name a few camera functions in z_play
* match func_80046CB4, some work on other fucntions
* wip
* impove some non matchings
* fix function rename
* match func_800588B4
* match Camera_Subj4
* wip
* Camera_Demo3 matching, Camera_Battle1 big progress
* Camera_Normal2 OK
* wip
* match Camera_Parallel1
* normalize some things across functions
* match Camera_Normal1
* Match Camera_Normal3
* some cleanup
* more cleanup
* more cleanup , match Camera_CalcDefaultPitch
* data formatting
* Match Camera_Jump2
* document Camera_Jump2
* Match Camera_KeepOn3
* document some of Camera_KeepOn3
* improve some non_matchings
* match func_80045C74 and func_800460A8
* code cleanup, documentation
* match Camera_KeepOn1
* Match Camera_Subj3
* Match Camera_Battle1
* remove non_matching from func_80044adc and func_80046e20
* name several members of Battle1
* more documentation on Battle1
* cleanup
* renaming Camera_Vec3fScaleXYZFactor to Camera_Vec3fTranslateByUnitVector
* reorganize update structs, remove final references to params, remove CameraParams union
* implement camera enums into player
* Renaming Camera_GetDir to Camera_GetInputDir, Camera_GetRealDir to Camera_GetCamDir, etc, implement camera enum's into player
* remove non-global camera variables from variables.h
* clean up some variable declarations
* finish pr comment updates
* fix some warnings
* data formatting
* finish commenting on data
* delete unused asm
* remove asm
Co-authored-by: fig <fig02srl@gmail.com>
2020-12-06 22:39:47 +00:00
|
|
|
s16 Camera_GetInputDirYaw(Camera* camera);
|
2023-11-19 16:17:31 +00:00
|
|
|
Vec3s Camera_GetCamDir(Camera* camera);
|
decompile z_camera (#398)
* cleanup
* name camera action functions
* decompile a few small functions, name a few Camera struct members
* decompile camera data, decompile a few camera functions
* Split ASM for code_800BB0A0
* removing code_800BB0A0.s
* PR Requests, Camera WIP
* remove #define NON_MATCHING from db_camera
* rename code_8007BF90.c to z_olib.c, rename functions in z_olib.c
* camera wip
* rename some struct memebers, some decomp wip
* pr updates
* camera wip
* name some fields in Camera Struct, being making sense of Camera_Update
* Camera WIP
* wip
* wip
* add z64camera.h header, begin creating CameraSetting macros
* wip
* wip
* wip
* wip
* migrate camera bss to c
* match a couple functions in db_camera
* match some small db_camera functions
* wip
* migrate db_camera rodata, match a few functions
* remote db_camera.rodata.s
* match some of db_camera
* identify types of some unknown data pieces
* some small wip
* Match Camera_Init, some function changes, some struct name changes. Change unk_C0 and unk_CC to floats from Vec3fs
* add naming for a few more Camera struct members
* wip
* match func_80043F94
* Match Camera_Jump1
* document some of Camera_Jump1
* wip
* match Camera_Jump3
* Match Camera_Update, FeelsAmazing
* wip
* wip
* match Camera_SetParam
* minor cleanup
* wip
* wip
* match Camera_KeepOn0
* some documentation, modify some matching functions to match style of others.
* match Camera_Demo1
* match camera_demo9
* document Camera_Demo1 and Camera_Demo9
* wip
* Match camera_battle4
* match camera_unique2
* Match Camera_Unique3
* match camera_special6
* match Camera_Special5
* wip
* document camera_special6
* naming updates
* match camera_Unique1
* match Camera_Unique0
* wip
* Match Camera_CalcUpFromPitchYawRoll
* match func_80045508
* document Camera_Battle4
* document several camera functions, move camera data to separate file
* rename phi/theta to pitch/yaw
* wip
* uniq9 wip
* Camera_Unqiue9 OK
* document Camera_Unique9
* name unk_160 in camera struct
* wip
* wip
* minor updates
* fix conflicts
* wip
* wip
* Olib updates
* wip
* wip
* rename most Math3D functions, few matches, documentation
* wip
* document most of math3d
* wip
* wip
* wip
* pr updates
* Match Camera_Fixed4
* match func_80058E8C
* pr updates
* add missing comment block finalizer
* Merge math3dupdates
* match Camera_ChangeSetting
* Match Camera_ChangeMode
* match func_80058148
* Match Camera_Special9
* decompile the rest of camera data
* match Camera_Demo5
* name a few camera functions in z_play
* match func_80046CB4, some work on other fucntions
* wip
* impove some non matchings
* fix function rename
* match func_800588B4
* match Camera_Subj4
* wip
* Camera_Demo3 matching, Camera_Battle1 big progress
* Camera_Normal2 OK
* wip
* match Camera_Parallel1
* normalize some things across functions
* match Camera_Normal1
* Match Camera_Normal3
* some cleanup
* more cleanup
* more cleanup , match Camera_CalcDefaultPitch
* data formatting
* Match Camera_Jump2
* document Camera_Jump2
* Match Camera_KeepOn3
* document some of Camera_KeepOn3
* improve some non_matchings
* match func_80045C74 and func_800460A8
* code cleanup, documentation
* match Camera_KeepOn1
* Match Camera_Subj3
* Match Camera_Battle1
* remove non_matching from func_80044adc and func_80046e20
* name several members of Battle1
* more documentation on Battle1
* cleanup
* renaming Camera_Vec3fScaleXYZFactor to Camera_Vec3fTranslateByUnitVector
* reorganize update structs, remove final references to params, remove CameraParams union
* implement camera enums into player
* Renaming Camera_GetDir to Camera_GetInputDir, Camera_GetRealDir to Camera_GetCamDir, etc, implement camera enum's into player
* remove non-global camera variables from variables.h
* clean up some variable declarations
* finish pr comment updates
* fix some warnings
* data formatting
* finish commenting on data
* delete unused asm
* remove asm
Co-authored-by: fig <fig02srl@gmail.com>
2020-12-06 22:39:47 +00:00
|
|
|
s16 Camera_GetCamDirPitch(Camera* camera);
|
|
|
|
s16 Camera_GetCamDirYaw(Camera* camera);
|
2022-10-15 06:16:37 +00:00
|
|
|
s32 Camera_RequestQuake(Camera* camera, s32 unused, s16 y, s32 duration);
|
2022-12-05 04:02:24 +00:00
|
|
|
s32 Camera_SetViewParam(Camera* camera, s32 viewFlag, void* param);
|
|
|
|
s32 Camera_OverwriteStateFlags(Camera* camera, s16 stateFlags);
|
|
|
|
s16 Camera_SetStateFlag(Camera* camera, s16 stateFlag);
|
|
|
|
s16 Camera_UnsetStateFlag(Camera* camera, s16 stateFlag);
|
decompile z_camera (#398)
* cleanup
* name camera action functions
* decompile a few small functions, name a few Camera struct members
* decompile camera data, decompile a few camera functions
* Split ASM for code_800BB0A0
* removing code_800BB0A0.s
* PR Requests, Camera WIP
* remove #define NON_MATCHING from db_camera
* rename code_8007BF90.c to z_olib.c, rename functions in z_olib.c
* camera wip
* rename some struct memebers, some decomp wip
* pr updates
* camera wip
* name some fields in Camera Struct, being making sense of Camera_Update
* Camera WIP
* wip
* wip
* add z64camera.h header, begin creating CameraSetting macros
* wip
* wip
* wip
* wip
* migrate camera bss to c
* match a couple functions in db_camera
* match some small db_camera functions
* wip
* migrate db_camera rodata, match a few functions
* remote db_camera.rodata.s
* match some of db_camera
* identify types of some unknown data pieces
* some small wip
* Match Camera_Init, some function changes, some struct name changes. Change unk_C0 and unk_CC to floats from Vec3fs
* add naming for a few more Camera struct members
* wip
* match func_80043F94
* Match Camera_Jump1
* document some of Camera_Jump1
* wip
* match Camera_Jump3
* Match Camera_Update, FeelsAmazing
* wip
* wip
* match Camera_SetParam
* minor cleanup
* wip
* wip
* match Camera_KeepOn0
* some documentation, modify some matching functions to match style of others.
* match Camera_Demo1
* match camera_demo9
* document Camera_Demo1 and Camera_Demo9
* wip
* Match camera_battle4
* match camera_unique2
* Match Camera_Unique3
* match camera_special6
* match Camera_Special5
* wip
* document camera_special6
* naming updates
* match camera_Unique1
* match Camera_Unique0
* wip
* Match Camera_CalcUpFromPitchYawRoll
* match func_80045508
* document Camera_Battle4
* document several camera functions, move camera data to separate file
* rename phi/theta to pitch/yaw
* wip
* uniq9 wip
* Camera_Unqiue9 OK
* document Camera_Unique9
* name unk_160 in camera struct
* wip
* wip
* minor updates
* fix conflicts
* wip
* wip
* Olib updates
* wip
* wip
* rename most Math3D functions, few matches, documentation
* wip
* document most of math3d
* wip
* wip
* wip
* pr updates
* Match Camera_Fixed4
* match func_80058E8C
* pr updates
* add missing comment block finalizer
* Merge math3dupdates
* match Camera_ChangeSetting
* Match Camera_ChangeMode
* match func_80058148
* Match Camera_Special9
* decompile the rest of camera data
* match Camera_Demo5
* name a few camera functions in z_play
* match func_80046CB4, some work on other fucntions
* wip
* impove some non matchings
* fix function rename
* match func_800588B4
* match Camera_Subj4
* wip
* Camera_Demo3 matching, Camera_Battle1 big progress
* Camera_Normal2 OK
* wip
* match Camera_Parallel1
* normalize some things across functions
* match Camera_Normal1
* Match Camera_Normal3
* some cleanup
* more cleanup
* more cleanup , match Camera_CalcDefaultPitch
* data formatting
* Match Camera_Jump2
* document Camera_Jump2
* Match Camera_KeepOn3
* document some of Camera_KeepOn3
* improve some non_matchings
* match func_80045C74 and func_800460A8
* code cleanup, documentation
* match Camera_KeepOn1
* Match Camera_Subj3
* Match Camera_Battle1
* remove non_matching from func_80044adc and func_80046e20
* name several members of Battle1
* more documentation on Battle1
* cleanup
* renaming Camera_Vec3fScaleXYZFactor to Camera_Vec3fTranslateByUnitVector
* reorganize update structs, remove final references to params, remove CameraParams union
* implement camera enums into player
* Renaming Camera_GetDir to Camera_GetInputDir, Camera_GetRealDir to Camera_GetCamDir, etc, implement camera enum's into player
* remove non-global camera variables from variables.h
* clean up some variable declarations
* finish pr comment updates
* fix some warnings
* data formatting
* finish commenting on data
* delete unused asm
* remove asm
Co-authored-by: fig <fig02srl@gmail.com>
2020-12-06 22:39:47 +00:00
|
|
|
s32 Camera_ResetAnim(Camera* camera);
|
|
|
|
s32 Camera_SetCSParams(Camera* camera, CutsceneCameraPoint* atPoints, CutsceneCameraPoint* eyePoints, Player* player,
|
|
|
|
s16 relativeToPlayer);
|
2022-06-17 18:25:42 +00:00
|
|
|
s32 Camera_ChangeDoorCam(Camera* camera, Actor* doorActor, s16 bgCamIndex, f32 arg3, s16 timer1, s16 timer2,
|
decompile z_camera (#398)
* cleanup
* name camera action functions
* decompile a few small functions, name a few Camera struct members
* decompile camera data, decompile a few camera functions
* Split ASM for code_800BB0A0
* removing code_800BB0A0.s
* PR Requests, Camera WIP
* remove #define NON_MATCHING from db_camera
* rename code_8007BF90.c to z_olib.c, rename functions in z_olib.c
* camera wip
* rename some struct memebers, some decomp wip
* pr updates
* camera wip
* name some fields in Camera Struct, being making sense of Camera_Update
* Camera WIP
* wip
* wip
* add z64camera.h header, begin creating CameraSetting macros
* wip
* wip
* wip
* wip
* migrate camera bss to c
* match a couple functions in db_camera
* match some small db_camera functions
* wip
* migrate db_camera rodata, match a few functions
* remote db_camera.rodata.s
* match some of db_camera
* identify types of some unknown data pieces
* some small wip
* Match Camera_Init, some function changes, some struct name changes. Change unk_C0 and unk_CC to floats from Vec3fs
* add naming for a few more Camera struct members
* wip
* match func_80043F94
* Match Camera_Jump1
* document some of Camera_Jump1
* wip
* match Camera_Jump3
* Match Camera_Update, FeelsAmazing
* wip
* wip
* match Camera_SetParam
* minor cleanup
* wip
* wip
* match Camera_KeepOn0
* some documentation, modify some matching functions to match style of others.
* match Camera_Demo1
* match camera_demo9
* document Camera_Demo1 and Camera_Demo9
* wip
* Match camera_battle4
* match camera_unique2
* Match Camera_Unique3
* match camera_special6
* match Camera_Special5
* wip
* document camera_special6
* naming updates
* match camera_Unique1
* match Camera_Unique0
* wip
* Match Camera_CalcUpFromPitchYawRoll
* match func_80045508
* document Camera_Battle4
* document several camera functions, move camera data to separate file
* rename phi/theta to pitch/yaw
* wip
* uniq9 wip
* Camera_Unqiue9 OK
* document Camera_Unique9
* name unk_160 in camera struct
* wip
* wip
* minor updates
* fix conflicts
* wip
* wip
* Olib updates
* wip
* wip
* rename most Math3D functions, few matches, documentation
* wip
* document most of math3d
* wip
* wip
* wip
* pr updates
* Match Camera_Fixed4
* match func_80058E8C
* pr updates
* add missing comment block finalizer
* Merge math3dupdates
* match Camera_ChangeSetting
* Match Camera_ChangeMode
* match func_80058148
* Match Camera_Special9
* decompile the rest of camera data
* match Camera_Demo5
* name a few camera functions in z_play
* match func_80046CB4, some work on other fucntions
* wip
* impove some non matchings
* fix function rename
* match func_800588B4
* match Camera_Subj4
* wip
* Camera_Demo3 matching, Camera_Battle1 big progress
* Camera_Normal2 OK
* wip
* match Camera_Parallel1
* normalize some things across functions
* match Camera_Normal1
* Match Camera_Normal3
* some cleanup
* more cleanup
* more cleanup , match Camera_CalcDefaultPitch
* data formatting
* Match Camera_Jump2
* document Camera_Jump2
* Match Camera_KeepOn3
* document some of Camera_KeepOn3
* improve some non_matchings
* match func_80045C74 and func_800460A8
* code cleanup, documentation
* match Camera_KeepOn1
* Match Camera_Subj3
* Match Camera_Battle1
* remove non_matching from func_80044adc and func_80046e20
* name several members of Battle1
* more documentation on Battle1
* cleanup
* renaming Camera_Vec3fScaleXYZFactor to Camera_Vec3fTranslateByUnitVector
* reorganize update structs, remove final references to params, remove CameraParams union
* implement camera enums into player
* Renaming Camera_GetDir to Camera_GetInputDir, Camera_GetRealDir to Camera_GetCamDir, etc, implement camera enum's into player
* remove non-global camera variables from variables.h
* clean up some variable declarations
* finish pr comment updates
* fix some warnings
* data formatting
* finish commenting on data
* delete unused asm
* remove asm
Co-authored-by: fig <fig02srl@gmail.com>
2020-12-06 22:39:47 +00:00
|
|
|
s16 timer3);
|
|
|
|
s32 Camera_Copy(Camera* dstCamera, Camera* srcCamera);
|
2023-11-19 16:17:31 +00:00
|
|
|
Vec3f Camera_GetQuakeOffset(Camera* camera);
|
2021-01-09 22:07:17 +00:00
|
|
|
void Camera_SetCameraData(Camera* camera, s16 setDataFlags, void* data0, void* data1, s16 data2, s16 data3,
|
|
|
|
UNK_TYPE arg6);
|
2021-02-02 23:44:24 +00:00
|
|
|
s32 func_8005B198(void);
|
2023-11-19 01:17:32 +00:00
|
|
|
s16 Camera_SetFinishedFlag(Camera* camera);
|
z_collision_check.c (#73)
* func_8005B280 ok
* func_8005B65C OK
* split out func_8005BD50
* func_8005B7C0 OK
* func_8005B7F4 OK
* func_8005B824 OK
* func_8005B860 ok
* improve sanity
* func_8005B6B0 ok, ColliderInit_Actor structs added
* func_8005B884 ok
* func_8005BBF8 ok, split out func_8005BF50
* split more stuff out of func_8005C050.s
* func_8005C050 OK
* func_8005BA30 fakish OK, func_8005BAD8 real OK
* func_8005BB48 OK, func_8005BA84 almost decomp'd, but type issues
* func_8005BB10 Ok
* func_8005BF50 OK
* func_8005BE50 OK
* func_8005BD50 OK
* func_8005BCC8 Ok
* func_8005BC28
* func_8005BB8C func_8005BBB0 func_8005BBD4 Ok
* save my work commit
* func_8005C2BC fake OK
* func_8005C5B0 ok
* func_8005C608 ok
* func_8005C6C0 ok
* func_8005C6F8 ok
* func_8005C730 ok
* func_8005C774 func_8005C798 func_8005C7BC OK
* func_8005C7E0 ok, func_8005C810 split
* func_8005C810 OK
* func_8005C8C8 ok
* func_8005C964 OK
* func_8005CA88 ok
* func_8005CBAC ok
* func_8005C124 func_8005C1AC func_8005C234 func_8005CC98 OK
* func_8005CD34 func_8005CDD0 Ok
* func_8005CE6C ok
* func_8005CEC4 ok
* func_8005CEDC ok
* func_8005CF90 Ok
* standardize type names/vars more
* func_8005D3BC ok
* func_8005D40C OK, z64.h CollisionCheckContext
* func_8005D4B4 func_8005D4C8 ok
* partial data section migration
* improve function documentation, OT->OC
* Actor_CollisionCheck_SetOC ok
* Actor_CollisionCheck_SetAT Actor_CollisionCheck_SetAC Ok
* func_8005BA84 ok
* func_800611A0 ok
* func_80061274 ok
* clean up func_80061274
* func_8006139C ok
* func_8005E9C0 and dependencies OK
* minor cleanup to func_8005E9C0
* func_8005EC6C OK!
* func_8005E81C ok
* func_8005E604 ok
* func_8005E2EC func_8005E4F8 OK
* func_8005DE9C OK func_8005D8AC disassembled
* func_8006146C func_8006268C ok
* func_8005EEE0 ok
* func_8005F17C
* func_8005F39C ok
* func_8005F5B0 decompiled, not matching
* func_8005F7D0 decomp, func_8005D218 and func_8005D324 OK
* func_8005FA30 ok, split more functions
* func_8005FC04 ok
* func_8005FDCC k
* func_8005FF90 OK OK OK
* func_80060204 dead
* func_800604B0 ok
* func_80060704 func_80060994 ok, func_80060C2C somewhat disassembled. AT to AC matrix doneish
* func_800635D0 ok, func_80062ECC not so much
* OcLine oks
* D_8011DF28 functions disassembled
* D_8011DF5C functions OK
* setAT_SAC. setAC_SAC, setOC_SAC OK
* func_80061C98 decompiled, func_80061BF4, func_80061C18 OK
* func_800617D4 ok, func_800614A4 disassembled
* CollisionCheck_OC D_8011DFAC functions OK
* func_80062530 ok
* CollisionCheck_generalLineOcCheck subfunctions OK
* func_800622E4 ok
* after a long fought battle, func_80061F64 has fallen.
* func_800628A4 disassembled
* func_800627A0 func_8006285C OK
* ActorCollider_Cylinder_Update, func_80062718, func_80062734 ok
* func_80062CD4 decompiled, import EffShield/EffSpark types from MM
* various SubActor98 struct functions OK
* func_8005D4DC func_8005D62C ok
* .data section migrated, more OKs, fix NON_MATCHINGs to use effect structs
* func_80060C2C ok
* minor code tweaks
* func_80061C98 ok somehow
* Attempt to fix some unknowns, move types out of z64actor, add set3 ColliderInit types
* Apply changes
* formatting
* tweak a couple function names
* krim changes, func naming
* missed some things
* function renames
* Implement GenColliderInit.py utility
* Implement pr changes, GenColliderInit.py, DamageTable.py, z_collision_btltbls.c fully matching
* func_800614A4 ok
* Implement Roman's fixes, name Collider unknowns, rename COLTYPE -> COLSHAPE and define new COLTYPE
* collisionCheckCtx -> colChkCtx, fix small things
2020-04-26 02:43:35 +00:00
|
|
|
DamageTable* DamageTable_Get(s32 index);
|
2021-01-18 02:13:36 +00:00
|
|
|
void DamageTable_Clear(DamageTable* table);
|
2024-01-31 00:43:10 +00:00
|
|
|
#if OOT_DEBUG
|
2021-01-18 02:13:36 +00:00
|
|
|
void Collider_DrawRedPoly(GraphicsContext* gfxCtx, Vec3f* vA, Vec3f* vB, Vec3f* vC);
|
|
|
|
void Collider_DrawPoly(GraphicsContext* gfxCtx, Vec3f* vA, Vec3f* vB, Vec3f* vC, u8 r, u8 g, u8 b);
|
2024-01-31 00:43:10 +00:00
|
|
|
#endif
|
2024-01-11 15:30:47 +00:00
|
|
|
s32 Collider_InitJntSph(PlayState* play, ColliderJntSph* jntSph);
|
|
|
|
s32 Collider_FreeJntSph(PlayState* play, ColliderJntSph* jntSph);
|
|
|
|
s32 Collider_DestroyJntSph(PlayState* play, ColliderJntSph* jntSph);
|
2022-05-21 18:23:43 +00:00
|
|
|
s32 Collider_SetJntSphToActor(PlayState* play, ColliderJntSph* dest, ColliderJntSphInitToActor* src);
|
|
|
|
s32 Collider_SetJntSphAllocType1(PlayState* play, ColliderJntSph* dest, Actor* actor,
|
2021-01-18 02:13:36 +00:00
|
|
|
ColliderJntSphInitType1* src);
|
2022-05-21 18:23:43 +00:00
|
|
|
s32 Collider_SetJntSphAlloc(PlayState* play, ColliderJntSph* dest, Actor* actor, ColliderJntSphInit* src);
|
|
|
|
s32 Collider_SetJntSph(PlayState* play, ColliderJntSph* dest, Actor* actor, ColliderJntSphInit* src,
|
2024-01-11 15:30:47 +00:00
|
|
|
ColliderJntSphElement* jntSphElements);
|
|
|
|
s32 Collider_ResetJntSphAT(PlayState* play, Collider* col);
|
|
|
|
s32 Collider_ResetJntSphAC(PlayState* play, Collider* col);
|
|
|
|
s32 Collider_ResetJntSphOC(PlayState* play, Collider* col);
|
|
|
|
s32 Collider_InitCylinder(PlayState* play, ColliderCylinder* cyl);
|
|
|
|
s32 Collider_DestroyCylinder(PlayState* play, ColliderCylinder* cyl);
|
|
|
|
s32 Collider_SetCylinderToActor(PlayState* play, ColliderCylinder* dest, ColliderCylinderInitToActor* src);
|
|
|
|
s32 Collider_SetCylinderType1(PlayState* play, ColliderCylinder* dest, Actor* actor, ColliderCylinderInitType1* src);
|
|
|
|
s32 Collider_SetCylinder(PlayState* play, ColliderCylinder* dest, Actor* actor, ColliderCylinderInit* src);
|
|
|
|
s32 Collider_ResetCylinderAT(PlayState* play, Collider* col);
|
|
|
|
s32 Collider_ResetCylinderAC(PlayState* play, Collider* col);
|
|
|
|
s32 Collider_ResetCylinderOC(PlayState* play, Collider* col);
|
2022-05-21 18:23:43 +00:00
|
|
|
s32 Collider_InitTris(PlayState* play, ColliderTris* tris);
|
|
|
|
s32 Collider_FreeTris(PlayState* play, ColliderTris* tris);
|
|
|
|
s32 Collider_DestroyTris(PlayState* play, ColliderTris* tris);
|
|
|
|
s32 Collider_SetTrisAllocType1(PlayState* play, ColliderTris* dest, Actor* actor, ColliderTrisInitType1* src);
|
|
|
|
s32 Collider_SetTrisAlloc(PlayState* play, ColliderTris* dest, Actor* actor, ColliderTrisInit* src);
|
|
|
|
s32 Collider_SetTris(PlayState* play, ColliderTris* dest, Actor* actor, ColliderTrisInit* src,
|
2024-01-11 15:30:47 +00:00
|
|
|
ColliderTrisElement* trisElements);
|
|
|
|
s32 Collider_ResetTrisAT(PlayState* play, Collider* col);
|
|
|
|
s32 Collider_ResetTrisAC(PlayState* play, Collider* col);
|
|
|
|
s32 Collider_ResetTrisOC(PlayState* play, Collider* col);
|
|
|
|
s32 Collider_InitQuad(PlayState* play, ColliderQuad* quad);
|
|
|
|
s32 Collider_DestroyQuad(PlayState* play, ColliderQuad* quad);
|
|
|
|
s32 Collider_SetQuadType1(PlayState* play, ColliderQuad* dest, Actor* actor, ColliderQuadInitType1* src);
|
|
|
|
s32 Collider_SetQuad(PlayState* play, ColliderQuad* dest, Actor* actor, ColliderQuadInit* src);
|
|
|
|
s32 Collider_ResetQuadAT(PlayState* play, Collider* col);
|
|
|
|
s32 Collider_ResetQuadAC(PlayState* play, Collider* col);
|
|
|
|
s32 Collider_ResetQuadOC(PlayState* play, Collider* col);
|
2022-05-21 18:23:43 +00:00
|
|
|
s32 Collider_InitLine(PlayState* play, OcLine* line);
|
|
|
|
s32 Collider_DestroyLine(PlayState* play, OcLine* line);
|
|
|
|
s32 Collider_SetLinePoints(PlayState* play, OcLine* ocLine, Vec3f* a, Vec3f* b);
|
|
|
|
s32 Collider_SetLine(PlayState* play, OcLine* dest, OcLine* src);
|
|
|
|
s32 Collider_ResetLineOC(PlayState* play, OcLine* line);
|
|
|
|
void CollisionCheck_InitContext(PlayState* play, CollisionCheckContext* colChkCtx);
|
|
|
|
void CollisionCheck_DestroyContext(PlayState* play, CollisionCheckContext* colChkCtx);
|
|
|
|
void CollisionCheck_ClearContext(PlayState* play, CollisionCheckContext* colChkCtx);
|
|
|
|
void CollisionCheck_EnableSAC(PlayState* play, CollisionCheckContext* colChkCtx);
|
|
|
|
void CollisionCheck_DisableSAC(PlayState* play, CollisionCheckContext* colChkCtx);
|
2024-01-31 00:43:10 +00:00
|
|
|
#if OOT_DEBUG
|
2024-01-11 15:30:47 +00:00
|
|
|
void Collider_Draw(PlayState* play, Collider* col);
|
2022-05-21 18:23:43 +00:00
|
|
|
void CollisionCheck_DrawCollision(PlayState* play, CollisionCheckContext* colChkCtx);
|
2024-01-31 00:43:10 +00:00
|
|
|
#endif
|
2022-05-21 18:23:43 +00:00
|
|
|
s32 CollisionCheck_SetAT(PlayState* play, CollisionCheckContext* colChkCtx, Collider* collider);
|
|
|
|
s32 CollisionCheck_SetAT_SAC(PlayState* play, CollisionCheckContext* colChkCtx, Collider* collider, s32 index);
|
|
|
|
s32 CollisionCheck_SetAC(PlayState* play, CollisionCheckContext* colChkCtx, Collider* collider);
|
|
|
|
s32 CollisionCheck_SetAC_SAC(PlayState* play, CollisionCheckContext* colChkCtx, Collider* collider, s32 index);
|
|
|
|
s32 CollisionCheck_SetOC(PlayState* play, CollisionCheckContext* colChkCtx, Collider* collider);
|
|
|
|
s32 CollisionCheck_SetOC_SAC(PlayState* play, CollisionCheckContext* colChkCtx, Collider* collider, s32 index);
|
|
|
|
s32 CollisionCheck_SetOCLine(PlayState* play, CollisionCheckContext* colChkCtx, OcLine* collider);
|
|
|
|
void CollisionCheck_BlueBlood(PlayState* play, Collider* collider, Vec3f* v);
|
|
|
|
void CollisionCheck_AT(PlayState* play, CollisionCheckContext* colChkCtx);
|
|
|
|
void CollisionCheck_OC(PlayState* play, CollisionCheckContext* colChkCtx);
|
2021-01-18 02:13:36 +00:00
|
|
|
void CollisionCheck_InitInfo(CollisionCheckInfo* info);
|
|
|
|
void CollisionCheck_ResetDamage(CollisionCheckInfo* info);
|
|
|
|
void CollisionCheck_SetInfoNoDamageTable(CollisionCheckInfo* info, CollisionCheckInfoInit* init);
|
|
|
|
void CollisionCheck_SetInfo(CollisionCheckInfo* info, DamageTable* damageTable, CollisionCheckInfoInit* init);
|
|
|
|
void CollisionCheck_SetInfo2(CollisionCheckInfo* info, DamageTable* damageTable, CollisionCheckInfoInit2* init);
|
|
|
|
void CollisionCheck_SetInfoGetDamageTable(CollisionCheckInfo* info, s32 index, CollisionCheckInfoInit2* init);
|
2022-05-21 18:23:43 +00:00
|
|
|
void CollisionCheck_Damage(PlayState* play, CollisionCheckContext* colChkCtx);
|
|
|
|
s32 CollisionCheck_LineOCCheckAll(PlayState* play, CollisionCheckContext* colChkCtx, Vec3f* a, Vec3f* b);
|
|
|
|
s32 CollisionCheck_LineOCCheck(PlayState* play, CollisionCheckContext* colChkCtx, Vec3f* a, Vec3f* b,
|
2021-01-18 02:13:36 +00:00
|
|
|
Actor** exclusions, s32 numExclusions);
|
2024-01-11 15:30:47 +00:00
|
|
|
void Collider_UpdateCylinder(Actor* actor, ColliderCylinder* cyl);
|
|
|
|
void Collider_SetCylinderPosition(ColliderCylinder* cyl, Vec3s* pos);
|
|
|
|
void Collider_SetQuadVertices(ColliderQuad* quad, Vec3f* a, Vec3f* b, Vec3f* c, Vec3f* d);
|
|
|
|
void Collider_SetTrisVertices(ColliderTris* tris, s32 elemIndex, Vec3f* a, Vec3f* b, Vec3f* c);
|
|
|
|
void Collider_SetTrisDim(PlayState* play, ColliderTris* tris, s32 elemIndex, ColliderTrisElementDimInit* src);
|
|
|
|
void Collider_UpdateSpheres(s32 limb, ColliderJntSph* jntSph);
|
2022-05-21 18:23:43 +00:00
|
|
|
void CollisionCheck_SpawnRedBlood(PlayState* play, Vec3f* v);
|
|
|
|
void CollisionCheck_SpawnWaterDroplets(PlayState* play, Vec3f* v);
|
|
|
|
void CollisionCheck_SpawnShieldParticles(PlayState* play, Vec3f* v);
|
|
|
|
void CollisionCheck_SpawnShieldParticlesMetal(PlayState* play, Vec3f* v);
|
2022-07-30 13:05:27 +00:00
|
|
|
void CollisionCheck_SpawnShieldParticlesMetalSfx(PlayState* play, Vec3f* v, Vec3f* pos);
|
2022-05-21 18:23:43 +00:00
|
|
|
void CollisionCheck_SpawnShieldParticlesMetal2(PlayState* play, Vec3f* v);
|
|
|
|
void CollisionCheck_SpawnShieldParticlesWood(PlayState* play, Vec3f* v, Vec3f* actorPos);
|
2021-01-18 02:13:36 +00:00
|
|
|
s32 CollisionCheck_CylSideVsLineSeg(f32 radius, f32 height, f32 offset, Vec3f* actorPos, Vec3f* itemPos,
|
|
|
|
Vec3f* itemProjPos, Vec3f* out1, Vec3f* out2);
|
|
|
|
u8 CollisionCheck_GetSwordDamage(s32 dmgFlags);
|
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);
|
2022-12-24 18:55:17 +00:00
|
|
|
void Cutscene_InitContext(PlayState* play, CutsceneContext* csCtx);
|
|
|
|
void Cutscene_StartManual(PlayState* play, CutsceneContext* csCtx);
|
|
|
|
void Cutscene_StopManual(PlayState* play, CutsceneContext* csCtx);
|
|
|
|
void Cutscene_UpdateManual(PlayState* play, CutsceneContext* csCtx);
|
|
|
|
void Cutscene_UpdateScripted(PlayState* play, CutsceneContext* csCtx);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Cutscene_HandleEntranceTriggers(PlayState* play);
|
|
|
|
void Cutscene_HandleConditionalTriggers(PlayState* play);
|
2022-12-24 18:55:17 +00:00
|
|
|
void Cutscene_SetScript(PlayState* play, void* script);
|
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);
|
2022-07-30 13:05:27 +00:00
|
|
|
void SfxSource_InitAll(PlayState* play);
|
|
|
|
void SfxSource_UpdateAll(PlayState* play);
|
|
|
|
void SfxSource_PlaySfxAtFixedWorldPos(PlayState* play, Vec3f* worldPos, s32 duration, u16 sfxId);
|
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);
|
2022-06-20 20:31:53 +00:00
|
|
|
s32 Jpeg_Decode(void* data, void* zbuffer, void* work, u32 workSize);
|
2022-05-21 18:23:43 +00:00
|
|
|
void KaleidoSetup_Update(PlayState* play);
|
|
|
|
void KaleidoSetup_Init(PlayState* play);
|
|
|
|
void KaleidoSetup_Destroy(PlayState* play);
|
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 func_8006EE50(Font* font, u16 arg1, u16 arg2);
|
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);
|
2022-05-20 18:40:13 +00:00
|
|
|
s32 Environment_ZBufValToFixedPoint(s32 zBufferVal);
|
2021-09-20 16:51:35 +00:00
|
|
|
u16 Environment_GetPixelDepth(s32 x, s32 y);
|
|
|
|
void Environment_GraphCallback(GraphicsContext* gfxCtx, void* param);
|
2022-06-20 20:31:53 +00:00
|
|
|
void Environment_Init(PlayState* play2, EnvironmentContext* envCtx, s32 unused);
|
2021-09-20 16:51:35 +00:00
|
|
|
u8 Environment_SmoothStepToU8(u8* pvalue, u8 target, u8 scale, u8 step, u8 minStep);
|
|
|
|
u8 Environment_SmoothStepToS8(s8* pvalue, s8 target, u8 scale, u8 step, u8 minStep);
|
|
|
|
f32 Environment_LerpWeight(u16 max, u16 min, u16 val);
|
|
|
|
f32 Environment_LerpWeightAccelDecel(u16 endFrame, u16 startFrame, u16 curFrame, u16 accelDuration, u16 decelDuration);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Environment_EnableUnderwaterLights(PlayState* play, s32 waterLightsIndex);
|
|
|
|
void Environment_DisableUnderwaterLights(PlayState* play);
|
|
|
|
void Environment_Update(PlayState* play, EnvironmentContext* envCtx, LightContext* lightCtx,
|
2021-09-20 16:51:35 +00:00
|
|
|
PauseContext* pauseCtx, MessageContext* msgCtx, GameOverContext* gameOverCtx,
|
|
|
|
GraphicsContext* gfxCtx);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Environment_DrawSunAndMoon(PlayState* play);
|
|
|
|
void Environment_DrawSunLensFlare(PlayState* play, EnvironmentContext* envCtx, View* view,
|
2021-09-20 16:51:35 +00:00
|
|
|
GraphicsContext* gfxCtx, Vec3f pos, s32 unused);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Environment_DrawLensFlare(PlayState* play, EnvironmentContext* envCtx, View* view,
|
2022-02-20 13:22:29 +00:00
|
|
|
GraphicsContext* gfxCtx, Vec3f pos, s32 unused, s16 scale, f32 colorIntensity,
|
2022-05-20 18:40:13 +00:00
|
|
|
s16 glareStrength, u8 isSun);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Environment_DrawRain(PlayState* play, View* view, GraphicsContext* gfxCtx);
|
|
|
|
void Environment_ChangeLightSetting(PlayState* play, u32 lightSetting);
|
|
|
|
void Environment_UpdateLightningStrike(PlayState* play);
|
|
|
|
void Environment_AddLightningBolts(PlayState* play, u8 num);
|
|
|
|
void Environment_DrawLightning(PlayState* play, s32 unused);
|
|
|
|
void Environment_PlaySceneSequence(PlayState* play);
|
|
|
|
void Environment_DrawCustomLensFlare(PlayState* play);
|
|
|
|
void Environment_InitGameOverLights(PlayState* play);
|
|
|
|
void Environment_FadeInGameOverLights(PlayState* play);
|
|
|
|
void Environment_FadeOutGameOverLights(PlayState* play);
|
2021-09-20 16:51:35 +00:00
|
|
|
void Environment_FillScreen(GraphicsContext* gfxCtx, u8 red, u8 green, u8 blue, u8 alpha, u8 drawFlags);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Environment_DrawSandstorm(PlayState* play, u8 sandstormState);
|
|
|
|
void Environment_AdjustLights(PlayState* play, f32 arg1, f32 arg2, f32 arg3, f32 arg4);
|
2021-09-20 16:51:35 +00:00
|
|
|
s32 Environment_GetBgsDayCount(void);
|
|
|
|
void Environment_ClearBgsDayCount(void);
|
|
|
|
s32 Environment_GetTotalDays(void);
|
2021-12-27 17:35:05 +00:00
|
|
|
void Environment_ForcePlaySequence(u16 seqId);
|
2021-12-03 14:49:32 +00:00
|
|
|
s32 Environment_IsForcedSequenceDisabled(void);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Environment_PlayStormNatureAmbience(PlayState* play);
|
|
|
|
void Environment_StopStormNatureAmbience(PlayState* play);
|
|
|
|
void Environment_WarpSongLeave(PlayState* play);
|
2022-05-01 22:06:35 +00:00
|
|
|
void Lib_MemSet(u8* dest, size_t len, u8 val);
|
2020-12-26 10:44:53 +00:00
|
|
|
f32 Math_CosS(s16 angle);
|
|
|
|
f32 Math_SinS(s16 angle);
|
|
|
|
s32 Math_ScaledStepToS(s16* pValue, s16 target, s16 step);
|
|
|
|
s32 Math_StepToS(s16* pValue, s16 target, s16 step);
|
|
|
|
s32 Math_StepToF(f32* pValue, f32 target, f32 step);
|
|
|
|
s32 Math_StepUntilAngleS(s16* pValue, s16 limit, s16 step);
|
|
|
|
s32 Math_StepUntilS(s16* pValue, s16 limit, s16 step);
|
|
|
|
s32 Math_StepToAngleS(s16* pValue, s16 target, s16 step);
|
|
|
|
s32 Math_StepUntilF(f32* pValue, f32 limit, f32 step);
|
2020-12-27 16:13:38 +00:00
|
|
|
s32 Math_AsymStepToF(f32* pValue, f32 target, f32 incrStep, f32 decrStep);
|
2023-09-20 01:37:03 +00:00
|
|
|
void Lib_GetControlStickData(f32* outMagnitude, s16* outAngle, Input* input);
|
2020-12-26 10:44:53 +00:00
|
|
|
s16 Rand_S16Offset(s16 base, s16 range);
|
2020-03-17 04:31:30 +00:00
|
|
|
void Math_Vec3f_Copy(Vec3f* dest, Vec3f* src);
|
|
|
|
void Math_Vec3s_ToVec3f(Vec3f* dest, Vec3s* src);
|
|
|
|
void Math_Vec3f_Sum(Vec3f* a, Vec3f* b, Vec3f* dest);
|
|
|
|
void Math_Vec3f_Diff(Vec3f* a, Vec3f* b, Vec3f* dest);
|
|
|
|
void Math_Vec3s_DiffToVec3f(Vec3f* dest, Vec3s* a, Vec3s* b);
|
|
|
|
void Math_Vec3f_Scale(Vec3f* vec, f32 scaleF);
|
|
|
|
f32 Math_Vec3f_DistXYZ(Vec3f* a, Vec3f* b);
|
|
|
|
f32 Math_Vec3f_DistXYZAndStoreDiff(Vec3f* a, Vec3f* b, Vec3f* dest);
|
|
|
|
f32 Math_Vec3f_DistXZ(Vec3f* a, Vec3f* b);
|
2024-01-18 22:56:54 +00:00
|
|
|
s16 Math_Vec3f_Yaw(Vec3f* origin, Vec3f* point);
|
2020-03-17 04:31:30 +00:00
|
|
|
s16 Math_Vec3f_Pitch(Vec3f* a, Vec3f* b);
|
2022-06-07 04:34:28 +00:00
|
|
|
void Actor_ProcessInitChain(Actor* actor, InitChainEntry* ichain);
|
2020-12-26 10:44:53 +00:00
|
|
|
f32 Math_SmoothStepToF(f32* pValue, f32 target, f32 fraction, f32 step, f32 minStep);
|
|
|
|
void Math_ApproachF(f32* pValue, f32 target, f32 fraction, f32 step);
|
|
|
|
void Math_ApproachZeroF(f32* pValue, f32 fraction, f32 step);
|
|
|
|
f32 Math_SmoothStepToDegF(f32* pValue, f32 target, f32 fraction, f32 step, f32 minStep);
|
|
|
|
s16 Math_SmoothStepToS(s16* pValue, s16 target, s16 scale, s16 step, s16 minStep);
|
|
|
|
void Math_ApproachS(s16* pValue, s16 target, s16 scale, s16 step);
|
2020-03-17 04:31:30 +00:00
|
|
|
void Color_RGBA8_Copy(Color_RGBA8* dst, Color_RGBA8* src);
|
2023-08-15 05:44:20 +00:00
|
|
|
void Sfx_PlaySfxCentered(u16 sfxId);
|
|
|
|
void Sfx_PlaySfxCentered2(u16 sfxId);
|
|
|
|
void Sfx_PlaySfxAtPos(Vec3f* projectedPos, u16 sfxId);
|
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);
|
2020-09-05 13:45:10 +00:00
|
|
|
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);
|
2022-05-21 18:23:43 +00:00
|
|
|
void LightContext_Init(PlayState* play, LightContext* lightCtx);
|
2020-09-05 13:45:10 +00:00
|
|
|
void LightContext_SetAmbientColor(LightContext* lightCtx, u8 r, u8 g, u8 b);
|
2022-11-01 23:00:38 +00:00
|
|
|
void LightContext_SetFog(LightContext* lightCtx, u8 r, u8 g, u8 b, s16 fogNear, s16 zFar);
|
2020-09-05 13:45:10 +00:00
|
|
|
Lights* LightContext_NewLights(LightContext* lightCtx, GraphicsContext* gfxCtx);
|
2022-05-21 18:23:43 +00:00
|
|
|
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);
|
2020-09-05 13:45:10 +00:00
|
|
|
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);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Lights_GlowCheck(PlayState* play);
|
|
|
|
void Lights_DrawGlow(PlayState* play);
|
2020-03-17 04:31:30 +00:00
|
|
|
void* ZeldaArena_Malloc(u32 size);
|
|
|
|
void* ZeldaArena_MallocR(u32 size);
|
|
|
|
void* ZeldaArena_Realloc(void* ptr, u32 newSize);
|
|
|
|
void ZeldaArena_Free(void* ptr);
|
|
|
|
void* ZeldaArena_Calloc(u32 num, u32 size);
|
|
|
|
void ZeldaArena_GetSizes(u32* outMaxFree, u32* outFree, u32* outAlloc);
|
2022-03-21 19:49:11 +00:00
|
|
|
void ZeldaArena_Check(void);
|
2020-03-17 04:31:30 +00:00
|
|
|
void ZeldaArena_Init(void* start, u32 size);
|
2022-03-21 19:49:11 +00:00
|
|
|
void ZeldaArena_Cleanup(void);
|
2022-08-30 21:35:00 +00:00
|
|
|
u8 ZeldaArena_IsInitialized(void);
|
2024-02-02 20:01:49 +00:00
|
|
|
#if OOT_DEBUG
|
|
|
|
void ZeldaArena_CheckPointer(void* ptr, u32 size, const char* name, const char* action);
|
2024-02-27 07:37:33 +00:00
|
|
|
void* ZeldaArena_MallocDebug(u32 size, const char* file, int line);
|
|
|
|
void* ZeldaArena_MallocRDebug(u32 size, const char* file, int line);
|
|
|
|
void* ZeldaArena_ReallocDebug(void* ptr, u32 newSize, const char* file, int line);
|
|
|
|
void ZeldaArena_FreeDebug(void* ptr, const char* file, int line);
|
2024-02-02 20:01:49 +00:00
|
|
|
void ZeldaArena_Display(void);
|
|
|
|
#endif
|
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);
|
2020-08-17 19:42:08 +00:00
|
|
|
f32 OLib_Vec3fDist(Vec3f* a, Vec3f* b);
|
|
|
|
f32 OLib_Vec3fDistXZ(Vec3f* a, Vec3f* b);
|
|
|
|
f32 OLib_ClampMinDist(f32 val, f32 min);
|
|
|
|
f32 OLib_ClampMaxDist(f32 val, f32 max);
|
2023-11-19 16:17:31 +00:00
|
|
|
Vec3f OLib_Vec3fDistNormalize(Vec3f* a, Vec3f* b);
|
|
|
|
Vec3f OLib_VecGeoToVec3f(VecGeo* geo);
|
|
|
|
VecSph OLib_Vec3fToVecSph(Vec3f* vec);
|
|
|
|
VecGeo OLib_Vec3fToVecGeo(Vec3f* vec);
|
|
|
|
VecGeo OLib_Vec3fDiffToVecGeo(Vec3f* a, Vec3f* b);
|
|
|
|
Vec3f OLib_Vec3fDiffRad(Vec3f* a, Vec3f* b);
|
2022-06-20 20:31:53 +00:00
|
|
|
s16 OnePointCutscene_Init(PlayState* play, s16 csId, s16 timer, Actor* actor, s16 parentCamId);
|
|
|
|
s16 OnePointCutscene_EndCutscene(PlayState* play, s16 subCamId);
|
2022-05-21 18:23:43 +00:00
|
|
|
s32 OnePointCutscene_Attention(PlayState* play, Actor* actor);
|
|
|
|
s32 OnePointCutscene_AttentionSetSfx(PlayState* play, Actor* actor, s32 sfxId);
|
2021-03-31 16:18:31 +00:00
|
|
|
void OnePointCutscene_EnableAttention(void);
|
|
|
|
void OnePointCutscene_DisableAttention(void);
|
2022-05-21 18:23:43 +00:00
|
|
|
s32 OnePointCutscene_CheckForCategory(PlayState* play, s32 actorCategory);
|
|
|
|
void OnePointCutscene_Noop(PlayState* play, s32 arg1);
|
|
|
|
void Map_SavePlayerInitialInfo(PlayState* play);
|
|
|
|
void Map_SetFloorPalettesData(PlayState* play, s16 floor);
|
|
|
|
void Map_InitData(PlayState* play, s16 room);
|
|
|
|
void Map_InitRoomData(PlayState* play, s16 room);
|
|
|
|
void Map_Destroy(PlayState* play);
|
|
|
|
void Map_Init(PlayState* play);
|
|
|
|
void Minimap_Draw(PlayState* play);
|
|
|
|
void Map_Update(PlayState* play);
|
2022-11-22 03:01:44 +00:00
|
|
|
void Interface_ChangeHudVisibilityMode(u16 hudVisibilityMode);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Interface_SetSceneRestrictions(PlayState* play);
|
2020-03-17 04:31:30 +00:00
|
|
|
void Inventory_SwapAgeEquipment(void);
|
2022-05-21 18:23:43 +00:00
|
|
|
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);
|
2020-03-17 04:31:30 +00:00
|
|
|
u8 Item_CheckObtainability(u8 item);
|
|
|
|
void Inventory_DeleteItem(u16 item, u16 invSlot);
|
2022-05-21 18:23:43 +00:00
|
|
|
s32 Inventory_ReplaceItem(PlayState* play, u16 oldItem, u16 newItem);
|
2020-03-17 04:31:30 +00:00
|
|
|
s32 Inventory_HasEmptyBottle(void);
|
|
|
|
s32 Inventory_HasSpecificBottle(u8 bottleItem);
|
2022-05-21 18:23:43 +00:00
|
|
|
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);
|
2022-05-23 16:52:01 +00:00
|
|
|
s32 Health_ChangeBy(PlayState* play, s16 amount);
|
2020-03-17 04:31:30 +00:00
|
|
|
void Rupees_ChangeBy(s16 rupeeChange);
|
|
|
|
void Inventory_ChangeAmmo(s16 item, s16 ammoChange);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Magic_Fill(PlayState* play);
|
2022-05-23 16:52:01 +00:00
|
|
|
void Magic_Reset(PlayState* play);
|
|
|
|
s32 Magic_RequestChange(PlayState* play, s16 amount, s16 type);
|
2022-11-16 18:41:27 +00:00
|
|
|
void Interface_SetSubTimer(s16 seconds);
|
|
|
|
void Interface_SetSubTimerToFinalSecond(PlayState* play);
|
|
|
|
void Interface_SetTimer(s16 seconds);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Interface_Draw(PlayState* play);
|
|
|
|
void Interface_Update(PlayState* play);
|
|
|
|
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);
|
2021-03-28 23:35:16 +00:00
|
|
|
void FrameAdvance_Init(FrameAdvanceContext* frameAdvCtx);
|
|
|
|
s32 FrameAdvance_Update(FrameAdvanceContext* frameAdvCtx, Input* input);
|
2022-06-07 04:34:28 +00:00
|
|
|
void Player_SetBootData(PlayState* play, Player* this);
|
2023-10-17 19:16:31 +00:00
|
|
|
int Player_InBlockingCsMode(PlayState* play, Player* this);
|
|
|
|
int Player_InCsMode(PlayState* play);
|
2022-06-07 04:34:28 +00:00
|
|
|
s32 func_8008E9C4(Player* this);
|
2023-10-17 19:16:31 +00:00
|
|
|
int Player_IsChildWithHylianShield(Player* this);
|
2022-10-09 13:59:57 +00:00
|
|
|
s32 Player_ActionToModelGroup(Player* this, s32 itemAction);
|
2022-06-07 04:34:28 +00:00
|
|
|
void Player_SetModelsForHoldingShield(Player* this);
|
|
|
|
void Player_SetModels(Player* this, s32 modelGroup);
|
|
|
|
void Player_SetModelGroup(Player* this, s32 modelGroup);
|
|
|
|
void func_8008EC70(Player* this);
|
|
|
|
void Player_SetEquipmentData(PlayState* play, Player* this);
|
2022-10-09 13:59:57 +00:00
|
|
|
void Player_UpdateBottleHeld(PlayState* play, Player* this, s32 item, s32 itemAction);
|
2022-06-07 04:34:28 +00:00
|
|
|
void func_8008EDF0(Player* this);
|
|
|
|
void func_8008EE08(Player* this);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_8008EEAC(PlayState* play, Actor* actor);
|
|
|
|
s32 func_8008EF44(PlayState* play, s32 ammo);
|
2023-10-17 19:16:31 +00:00
|
|
|
int Player_IsBurningStickInRange(PlayState* play, Vec3f* pos, f32 xzRange, f32 yRange);
|
2020-09-19 01:45:39 +00:00
|
|
|
s32 Player_GetStrength(void);
|
2022-05-21 18:23:43 +00:00
|
|
|
u8 Player_GetMask(PlayState* play);
|
|
|
|
Player* Player_UnsetMask(PlayState* play);
|
|
|
|
s32 Player_HasMirrorShieldEquipped(PlayState* play);
|
2023-10-17 19:16:31 +00:00
|
|
|
int Player_HasMirrorShieldSetToDraw(PlayState* play);
|
2022-10-09 13:59:57 +00:00
|
|
|
s32 Player_ActionToMagicSpell(Player* this, s32 itemAction);
|
2023-10-17 19:16:31 +00:00
|
|
|
int Player_HoldsHookshot(Player* this);
|
|
|
|
int func_8008F128(Player* this);
|
2022-10-09 13:59:57 +00:00
|
|
|
s32 Player_ActionToMeleeWeapon(s32 itemAction);
|
2022-06-07 04:34:28 +00:00
|
|
|
s32 Player_GetMeleeWeaponHeld(Player* this);
|
|
|
|
s32 Player_HoldsTwoHandedWeapon(Player* this);
|
2023-10-17 19:16:31 +00:00
|
|
|
int Player_HoldsBrokenKnife(Player* this);
|
2022-10-09 13:59:57 +00:00
|
|
|
s32 Player_ActionToBottle(Player* this, s32 itemAction);
|
2022-06-07 04:34:28 +00:00
|
|
|
s32 Player_GetBottleHeld(Player* this);
|
2022-10-09 13:59:57 +00:00
|
|
|
s32 Player_ActionToExplosive(Player* this, s32 itemAction);
|
2022-06-07 04:34:28 +00:00
|
|
|
s32 Player_GetExplosiveHeld(Player* this);
|
2022-10-09 13:59:57 +00:00
|
|
|
s32 func_8008F2BC(Player* this, s32 itemAction);
|
2022-11-16 18:41:27 +00:00
|
|
|
s32 Player_GetEnvironmentalHazard(PlayState* play);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Player_DrawImpl(PlayState* play, void** skeleton, Vec3s* jointTable, s32 dListCount, s32 lod, s32 tunic,
|
2022-03-13 00:06:43 +00:00
|
|
|
s32 boots, s32 face, OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw,
|
|
|
|
void* data);
|
2022-05-21 18:23:43 +00:00
|
|
|
s32 Player_OverrideLimbDrawGameplayCommon(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot,
|
2022-06-07 04:34:28 +00:00
|
|
|
void* thisx);
|
2022-05-21 18:23:43 +00:00
|
|
|
s32 Player_OverrideLimbDrawGameplayDefault(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot,
|
2022-06-07 04:34:28 +00:00
|
|
|
void* thisx);
|
|
|
|
s32 Player_OverrideLimbDrawGameplayFirstPerson(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot,
|
|
|
|
void* thisx);
|
2022-10-23 21:32:51 +00:00
|
|
|
s32 Player_OverrideLimbDrawGameplayCrawling(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot,
|
|
|
|
void* thisx);
|
2022-06-07 04:34:28 +00:00
|
|
|
u8 func_80090480(PlayState* play, ColliderQuad* collider, WeaponInfo* weaponInfo, Vec3f* newTip, Vec3f* newBase);
|
|
|
|
void Player_DrawGetItem(PlayState* play, Player* this);
|
|
|
|
void Player_PostLimbDrawGameplay(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx);
|
2023-09-06 15:14:15 +00:00
|
|
|
u32 Player_InitPauseDrawData(PlayState* play, u8* segment, SkelAnime* skelAnime);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Player_DrawPause(PlayState* play, u8* segment, SkelAnime* skelAnime, Vec3f* pos, Vec3s* rot, f32 scale,
|
2022-03-13 00:06:43 +00:00
|
|
|
s32 sword, s32 tunic, s32 shield, s32 boots);
|
2020-10-12 01:52:50 +00:00
|
|
|
void PreNMI_Init(GameState* thisx);
|
2021-09-20 16:51:35 +00:00
|
|
|
Gfx* Gfx_SetFog(Gfx* gfx, s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
|
|
|
Gfx* Gfx_SetFogWithSync(Gfx* gfx, s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
|
|
|
Gfx* Gfx_SetFog2(Gfx* gfx, s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
|
2022-06-03 22:25:48 +00:00
|
|
|
Gfx* Gfx_SetupDL(Gfx* gfx, u32 i);
|
|
|
|
Gfx* Gfx_SetupDL_57(Gfx* gfx);
|
|
|
|
Gfx* Gfx_SetupDL_52NoCD(Gfx* gfx);
|
|
|
|
void Gfx_SetupDL_57Opa(GraphicsContext* gfxCtx);
|
|
|
|
void Gfx_SetupDL_51Opa(GraphicsContext* gfxCtx);
|
|
|
|
void Gfx_SetupDL_54Opa(GraphicsContext* gfxCtx);
|
|
|
|
void Gfx_SetupDL_26Opa(GraphicsContext* gfxCtx);
|
|
|
|
void Gfx_SetupDL_25Xlu2(GraphicsContext* gfxCtx);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_80093C80(PlayState* play);
|
2022-06-03 22:25:48 +00:00
|
|
|
void Gfx_SetupDL_25Opa(GraphicsContext* gfxCtx);
|
|
|
|
void Gfx_SetupDL_25Xlu(GraphicsContext* gfxCtx);
|
|
|
|
Gfx* Gfx_SetupDL_64(Gfx* gfx);
|
|
|
|
Gfx* Gfx_SetupDL_34(Gfx* gfx);
|
|
|
|
void Gfx_SetupDL_44Xlu(GraphicsContext* gfxCtx);
|
|
|
|
void Gfx_SetupDL_36Opa(GraphicsContext* gfxCtx);
|
|
|
|
void Gfx_SetupDL_28Opa(GraphicsContext* gfxCtx);
|
|
|
|
Gfx* Gfx_SetupDL_28(Gfx* gfx);
|
|
|
|
void Gfx_SetupDL_38Xlu(GraphicsContext* gfxCtx);
|
|
|
|
void Gfx_SetupDL_4Xlu(GraphicsContext* gfxCtx);
|
|
|
|
void Gfx_SetupDL_37Opa(GraphicsContext* gfxCtx);
|
|
|
|
Gfx* Gfx_SetupDL_39(Gfx* gfx);
|
|
|
|
void Gfx_SetupDL_39Opa(GraphicsContext* gfxCtx);
|
|
|
|
void Gfx_SetupDL_39Overlay(GraphicsContext* gfxCtx);
|
2023-09-16 21:16:58 +00:00
|
|
|
void Gfx_SetupDL_39Ptr(Gfx** gfxP);
|
2022-06-03 22:25:48 +00:00
|
|
|
void Gfx_SetupDL_40Opa(GraphicsContext* gfxCtx);
|
|
|
|
void Gfx_SetupDL_41Opa(GraphicsContext* gfxCtx);
|
|
|
|
void Gfx_SetupDL_47Xlu(GraphicsContext* gfxCtx);
|
|
|
|
Gfx* Gfx_SetupDL_20NoCD(Gfx* gfx);
|
|
|
|
Gfx* Gfx_SetupDL_66(Gfx* gfx);
|
2020-03-29 16:43:45 +00:00
|
|
|
Gfx* func_800947AC(Gfx* gfx);
|
2022-06-03 22:25:48 +00:00
|
|
|
void Gfx_SetupDL_42Opa(GraphicsContext* gfxCtx);
|
|
|
|
void Gfx_SetupDL_42Overlay(GraphicsContext* gfxCtx);
|
|
|
|
void Gfx_SetupDL_27Xlu(GraphicsContext* gfxCtx);
|
|
|
|
void Gfx_SetupDL_60NoCDXlu(GraphicsContext* gfxCtx);
|
|
|
|
void Gfx_SetupDL_61Xlu(GraphicsContext* gfxCtx);
|
2023-09-16 21:16:58 +00:00
|
|
|
void Gfx_SetupDL_56Ptr(Gfx** gfxP);
|
|
|
|
Gfx* Gfx_BranchTexScroll(Gfx** gfxP, u32 x, u32 y, s32 width, s32 height);
|
2020-03-17 04:31:30 +00:00
|
|
|
Gfx* func_80094E78(GraphicsContext* gfxCtx, u32 x, u32 y);
|
2020-03-29 16:43:45 +00:00
|
|
|
Gfx* Gfx_TexScroll(GraphicsContext* gfxCtx, u32 x, u32 y, s32 width, s32 height);
|
2021-05-29 13:41:39 +00:00
|
|
|
Gfx* Gfx_TwoTexScroll(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 width1, s32 height1, s32 tile2, u32 x2,
|
|
|
|
u32 y2, s32 width2, s32 height2);
|
2020-03-29 16:43:45 +00:00
|
|
|
Gfx* Gfx_TwoTexScrollEnvColor(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 width1, s32 height1, s32 tile2,
|
|
|
|
u32 x2, u32 y2, s32 width2, s32 height2, s32 r, s32 g, s32 b, s32 a);
|
Poe Actor Decomps (#463)
* Poe actors progress
* Some more progress, En_Poh almost matching
* Further progress
* Fix merge
* Decompile data
* Actor struct cleanups
* More functions OK
* Progress
* Last function decompiled, some nonmatchings left
* Few more OK, skelanime_init definition changes
* Progress
* Style improvements, OPEN/CLOSE_DISPS, few more OK
* Few more style improvements, function prototype additions/changes, another function OK
* Remove unused asm, begin documentation
* Use generated reloc
* Cleanup, format
* Remove a few no longer needed comments
* PR suggestions
* DISP macros
* Missed some FrameUpdateMatrix != 0 replacements
* EnPoField_InteractWithSoul -> EnPoField_SoulInteract, eyeImageIdx -> eyeTextureIdx
* Fix merge, reformat
* Review Suggestions
Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
* Further review suggestions
* Ran formatter
* Less DECR usage
Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
2020-12-05 00:34:27 +00:00
|
|
|
Gfx* Gfx_EnvColor(GraphicsContext* gfxCtx, s32 r, s32 g, s32 b, s32 a);
|
2022-08-15 13:39:06 +00:00
|
|
|
void Gfx_SetupFrame(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b);
|
2020-03-29 16:43:45 +00:00
|
|
|
void func_80095974(GraphicsContext* gfxCtx);
|
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);
|
2022-05-21 18:23:43 +00:00
|
|
|
void func_80096FD4(PlayState* play, Room* room);
|
|
|
|
u32 func_80096FE8(PlayState* play, RoomContext* roomCtx);
|
|
|
|
s32 func_8009728C(PlayState* play, RoomContext* roomCtx, s32 roomNum);
|
|
|
|
s32 func_800973FC(PlayState* play, RoomContext* roomCtx);
|
|
|
|
void Room_Draw(PlayState* play, Room* room, u32 flags);
|
|
|
|
void func_80097534(PlayState* play, RoomContext* roomCtx);
|
2020-10-12 01:52:50 +00:00
|
|
|
void Sample_Destroy(GameState* thisx);
|
|
|
|
void Sample_Init(GameState* thisx);
|
2020-03-17 04:31:30 +00:00
|
|
|
void Inventory_ChangeEquipment(s16 equipment, u16 value);
|
2022-05-21 18:23:43 +00:00
|
|
|
u8 Inventory_DeleteEquipment(PlayState* play, s16 equipment);
|
2020-03-17 04:31:30 +00:00
|
|
|
void Inventory_ChangeUpgrade(s16 upgrade, s16 value);
|
2023-09-19 18:10:12 +00:00
|
|
|
void Object_InitContext(PlayState* play, ObjectContext* objectCtx);
|
|
|
|
void Object_UpdateEntries(ObjectContext* objectCtx);
|
|
|
|
s32 Object_GetSlot(ObjectContext* objectCtx, s16 objectId);
|
|
|
|
s32 Object_IsLoaded(ObjectContext* objectCtx, s32 slot);
|
2020-03-17 04:31:30 +00:00
|
|
|
void func_800981B8(ObjectContext* objectCtx);
|
2022-05-21 18:23:43 +00:00
|
|
|
s32 Scene_ExecuteCommands(PlayState* play, SceneCmd* sceneCmd);
|
2021-08-15 23:15:58 +00:00
|
|
|
void TransitionActor_InitContext(GameState* state, TransitionActorContext* transiActorCtx);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Scene_SetTransitionForNextEntrance(PlayState* play);
|
|
|
|
void Scene_Draw(PlayState* play);
|
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-08-08 15:23:16 +00:00
|
|
|
void SkinMatrix_Vec3fMtxFMultXYZW(MtxF* mf, Vec3f* src, Vec3f* xyzDest, f32* wDest);
|
|
|
|
void SkinMatrix_Vec3fMtxFMultXYZ(MtxF* mf, Vec3f* src, Vec3f* dest);
|
2021-11-17 10:52:26 +00:00
|
|
|
void SkinMatrix_MtxFMtxFMult(MtxF* mfA, MtxF* mfB, MtxF* dest);
|
2022-06-20 20:31:53 +00:00
|
|
|
void SkinMatrix_GetClear(MtxF** mfp);
|
2020-08-08 15:23:16 +00:00
|
|
|
void SkinMatrix_MtxFCopy(MtxF* src, MtxF* dest);
|
|
|
|
s32 SkinMatrix_Invert(MtxF* src, MtxF* dest);
|
|
|
|
void SkinMatrix_SetScale(MtxF* mf, f32 x, f32 y, f32 z);
|
2021-11-17 10:52:26 +00:00
|
|
|
void SkinMatrix_SetRotateZYX(MtxF* mf, s16 x, s16 y, s16 z);
|
2020-08-08 15:23:16 +00:00
|
|
|
void SkinMatrix_SetTranslate(MtxF* mf, f32 x, f32 y, f32 z);
|
2021-11-17 10:52:26 +00:00
|
|
|
void SkinMatrix_SetTranslateRotateYXZScale(MtxF* dest, f32 scaleX, f32 scaleY, f32 scaleZ, s16 rotX, s16 rotY, s16 rotZ,
|
|
|
|
f32 translateX, f32 translateY, f32 translateZ);
|
|
|
|
void SkinMatrix_SetTranslateRotateZYX(MtxF* dest, s16 rotX, s16 rotY, s16 rotZ, f32 translateX, f32 translateY,
|
|
|
|
f32 translateZ);
|
2020-08-08 15:23:16 +00:00
|
|
|
Mtx* SkinMatrix_MtxFToNewMtx(GraphicsContext* gfxCtx, MtxF* src);
|
2022-01-10 23:28:01 +00:00
|
|
|
void SkinMatrix_SetRotateAxis(MtxF* mf, s16 angle, f32 axisX, f32 axisY, f32 axisZ);
|
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);
|
2020-04-16 21:36:12 +00:00
|
|
|
View* View_New(GraphicsContext* gfxCtx);
|
|
|
|
void View_Free(View* view);
|
|
|
|
void View_Init(View*, GraphicsContext*);
|
2022-06-20 20:31:53 +00:00
|
|
|
void View_LookAt(View* view, Vec3f* eye, Vec3f* at, Vec3f* up);
|
|
|
|
void View_LookAtUnsafe(View* view, Vec3f* eye, Vec3f* at, Vec3f* up);
|
2020-04-16 21:36:12 +00:00
|
|
|
void View_SetScale(View* view, f32 scale);
|
|
|
|
void View_GetScale(View* view, f32* scale);
|
2022-04-08 22:50:28 +00:00
|
|
|
void View_SetPerspective(View* view, f32 fovy, f32 zNear, f32 zFar);
|
|
|
|
void View_GetPerspective(View* view, f32* fovy, f32* zNear, f32* zFar);
|
|
|
|
void View_SetOrtho(View* view, f32 fovy, f32 zNear, f32 zFar);
|
|
|
|
void View_GetOrtho(View* view, f32* fovy, f32* zNear, f32* zFar);
|
2020-04-16 21:36:12 +00:00
|
|
|
void View_SetViewport(View* view, Viewport* viewport);
|
|
|
|
void View_GetViewport(View* view, Viewport* viewport);
|
2022-02-20 23:35:53 +00:00
|
|
|
void View_SetDistortionOrientation(View* view, f32 rotX, f32 rotY, f32 rotZ);
|
|
|
|
void View_SetDistortionScale(View* view, f32 scaleX, f32 scaleY, f32 scaleZ);
|
|
|
|
s32 View_SetDistortionSpeed(View* view, f32 speed);
|
|
|
|
void View_InitDistortion(View* view);
|
|
|
|
void View_ClearDistortion(View* view);
|
|
|
|
void View_SetDistortion(View* view, Vec3f orientation, Vec3f scale, f32 speed);
|
|
|
|
s32 View_StepDistortion(View* view, Mtx* projectionMtx);
|
2024-02-02 00:52:52 +00:00
|
|
|
s32 View_Apply(View* view, s32 mask);
|
2022-04-08 22:50:28 +00:00
|
|
|
s32 View_ApplyOrthoToOverlay(View* view);
|
|
|
|
s32 View_ApplyPerspectiveToOverlay(View* view);
|
|
|
|
s32 View_UpdateViewingMatrix(View* view);
|
2023-09-16 21:16:58 +00:00
|
|
|
s32 View_ApplyTo(View* view, s32 mask, Gfx** gfxP);
|
2024-02-01 01:09:16 +00:00
|
|
|
#if OOT_DEBUG
|
2022-04-08 22:50:28 +00:00
|
|
|
s32 View_ErrorCheckEyePosition(f32 eyeX, f32 eyeY, f32 eyeZ);
|
2024-02-01 01:09:16 +00:00
|
|
|
#endif
|
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);
|
2022-08-15 13:39:06 +00:00
|
|
|
void Letterbox_SetSizeTarget(s32 target);
|
|
|
|
u32 Letterbox_GetSizeTarget(void);
|
|
|
|
void Letterbox_SetSize(s32 size);
|
|
|
|
u32 Letterbox_GetSize(void);
|
|
|
|
void Letterbox_Init(void);
|
|
|
|
void Letterbox_Destroy(void);
|
|
|
|
void Letterbox_Update(s32 updateRate);
|
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);
|
2021-05-02 23:15:16 +00:00
|
|
|
void KaleidoManager_LoadOvl(KaleidoMgrOverlay* ovl);
|
|
|
|
void KaleidoManager_ClearOvl(KaleidoMgrOverlay* ovl);
|
2022-05-21 18:23:43 +00:00
|
|
|
void KaleidoManager_Init(PlayState* play);
|
2022-03-21 19:49:11 +00:00
|
|
|
void KaleidoManager_Destroy(void);
|
2020-03-17 04:31:30 +00:00
|
|
|
void* KaleidoManager_GetRamAddr(void* vram);
|
2022-03-21 19:49:11 +00:00
|
|
|
void KaleidoScopeCall_LoadPlayer(void);
|
2022-05-21 18:23:43 +00:00
|
|
|
void KaleidoScopeCall_Init(PlayState* play);
|
|
|
|
void KaleidoScopeCall_Destroy(PlayState* play);
|
|
|
|
void KaleidoScopeCall_Update(PlayState* play);
|
|
|
|
void KaleidoScopeCall_Draw(PlayState* play);
|
2022-06-21 00:31:53 +00:00
|
|
|
void Play_SetViewpoint(PlayState* this, s16 viewpoint);
|
|
|
|
s32 Play_CheckViewpoint(PlayState* this, s16 viewpoint);
|
|
|
|
void Play_SetShopBrowsingViewpoint(PlayState* this);
|
2022-06-07 04:34:28 +00:00
|
|
|
Gfx* Play_SetFog(PlayState* this, Gfx* gfx);
|
2022-05-17 22:41:50 +00:00
|
|
|
void Play_Destroy(GameState* thisx);
|
|
|
|
void Play_Init(GameState* thisx);
|
|
|
|
void Play_Main(GameState* thisx);
|
2023-10-17 19:16:31 +00:00
|
|
|
int Play_InCsMode(PlayState* this);
|
2022-08-30 15:49:51 +00:00
|
|
|
f32 func_800BFCB8(PlayState* this, MtxF* mf, Vec3f* pos);
|
2022-06-07 04:34:28 +00:00
|
|
|
void* Play_LoadFile(PlayState* this, RomFile* file);
|
|
|
|
void Play_GetScreenPos(PlayState* this, Vec3f* src, Vec3f* dest);
|
|
|
|
s16 Play_CreateSubCamera(PlayState* this);
|
|
|
|
s16 Play_GetActiveCamId(PlayState* this);
|
|
|
|
s16 Play_ChangeCameraStatus(PlayState* this, s16 camId, s16 status);
|
|
|
|
void Play_ClearCamera(PlayState* this, s16 camId);
|
|
|
|
void Play_ClearAllSubCameras(PlayState* this);
|
|
|
|
Camera* Play_GetCamera(PlayState* this, s16 camId);
|
2022-12-17 21:07:31 +00:00
|
|
|
s32 Play_SetCameraAtEye(PlayState* this, s16 camId, Vec3f* at, Vec3f* eye);
|
|
|
|
s32 Play_SetCameraAtEyeUp(PlayState* this, s16 camId, Vec3f* at, Vec3f* eye, Vec3f* up);
|
|
|
|
s32 Play_SetCameraFov(PlayState* this, s16 camId, f32 fov);
|
2022-06-07 04:34:28 +00:00
|
|
|
s32 Play_SetCameraRoll(PlayState* this, s16 camId, s16 roll);
|
|
|
|
void Play_CopyCamera(PlayState* this, s16 destCamId, s16 srcCamId);
|
2022-12-17 21:07:31 +00:00
|
|
|
s32 Play_InitCameraDataUsingPlayer(PlayState* this, s16 camId, Player* player, s16 setting);
|
2023-11-19 01:17:32 +00:00
|
|
|
s32 Play_RequestCameraSetting(PlayState* this, s16 camId, s16 setting);
|
2022-12-17 21:07:31 +00:00
|
|
|
void Play_ReturnToMainCam(PlayState* this, s16 camId, s16 duration);
|
2022-06-07 04:34:28 +00:00
|
|
|
void Play_SaveSceneFlags(PlayState* this);
|
|
|
|
void Play_SetupRespawnPoint(PlayState* this, s32 respawnMode, s32 playerParams);
|
|
|
|
void Play_TriggerVoidOut(PlayState* this);
|
|
|
|
void Play_TriggerRespawn(PlayState* this);
|
2023-10-17 19:16:31 +00:00
|
|
|
int Play_CamIsNotFixed(PlayState* this);
|
|
|
|
int FrameAdvance_IsEnabled(PlayState* this);
|
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*);
|
|
|
|
void* Graph_Alloc(GraphicsContext* gfxCtx, size_t size);
|
2020-04-04 16:12:59 +00:00
|
|
|
void* Graph_Alloc2(GraphicsContext* gfxCtx, size_t size);
|
2024-02-01 00:07:12 +00:00
|
|
|
#if OOT_DEBUG
|
2024-02-27 07:37:33 +00:00
|
|
|
void Graph_OpenDisps(Gfx** dispRefs, GraphicsContext* gfxCtx, const char* file, int line);
|
|
|
|
void Graph_CloseDisps(Gfx** dispRefs, GraphicsContext* gfxCtx, const char* file, int line);
|
2024-02-01 00:07:12 +00:00
|
|
|
#endif
|
|
|
|
Gfx* Gfx_Open(Gfx* gfx);
|
|
|
|
Gfx* Gfx_Close(Gfx* gfx, Gfx* dst);
|
|
|
|
void* Gfx_Alloc(Gfx** gfxP, u32 size);
|
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);
|
2020-12-26 10:44:53 +00:00
|
|
|
f32 Math_FactorialF(f32 n);
|
|
|
|
f32 Math_Factorial(s32 n);
|
|
|
|
f32 Math_PowF(f32 base, s32 exp);
|
|
|
|
f32 Math_SinF(f32 angle);
|
|
|
|
f32 Math_CosF(f32 angle);
|
2020-08-17 19:42:08 +00:00
|
|
|
s32 Math3D_PlaneVsLineSegClosestPoint(f32 planeAA, f32 planeAB, f32 planeAC, f32 planeADist, f32 planeBA, f32 planeBB,
|
|
|
|
f32 planeBC, f32 planeBDist, Vec3f* linePointA, Vec3f* linePointB,
|
|
|
|
Vec3f* closestPoint);
|
2022-02-20 13:31:31 +00:00
|
|
|
void Math3D_LineClosestToPoint(InfiniteLine* line, Vec3f* pos, Vec3f* closestPoint);
|
2020-08-17 19:42:08 +00:00
|
|
|
s32 Math3D_PlaneVsPlaneVsLineClosestPoint(f32 planeAA, f32 planeAB, f32 planeAC, f32 planeADist, f32 planeBA,
|
|
|
|
f32 planeBB, f32 planeBC, f32 planeBDist, Vec3f* point, Vec3f* closestPoint);
|
|
|
|
void Math3D_LineSplitRatio(Vec3f* v0, Vec3f* v1, f32 ratio, Vec3f* ret);
|
|
|
|
f32 Math3D_Cos(Vec3f* a, Vec3f* b);
|
|
|
|
s32 Math3D_CosOut(Vec3f* a, Vec3f* b, f32* dst);
|
|
|
|
void Math3D_Vec3fReflect(Vec3f* vec, Vec3f* normal, Vec3f* reflVec);
|
|
|
|
s32 Math3D_PointInSquare2D(f32 upperLeftX, f32 lowerRightX, f32 upperLeftY, f32 lowerRightY, f32 x, f32 y);
|
|
|
|
f32 Math3D_Dist1DSq(f32 a, f32 b);
|
|
|
|
f32 Math3D_Dist2DSq(f32 x0, f32 y0, f32 x1, f32 y1);
|
|
|
|
f32 Math3D_Vec3fMagnitudeSq(Vec3f* vec);
|
2020-04-19 03:28:24 +00:00
|
|
|
f32 Math3D_Vec3fMagnitude(Vec3f* vec);
|
2020-08-17 19:42:08 +00:00
|
|
|
f32 Math3D_Vec3fDistSq(Vec3f* a, Vec3f* b);
|
2020-04-19 03:28:24 +00:00
|
|
|
void Math3D_Vec3f_Cross(Vec3f* a, Vec3f* b, Vec3f* ret);
|
|
|
|
void Math3D_SurfaceNorm(Vec3f* va, Vec3f* vb, Vec3f* vc, Vec3f* normal);
|
2020-08-17 19:42:08 +00:00
|
|
|
f32 Math3D_Vec3f_DistXYZ(Vec3f* a, Vec3f* b);
|
|
|
|
s32 Math3D_PointRelativeToCubeFaces(Vec3f* point, Vec3f* min, Vec3f* max);
|
|
|
|
s32 Math3D_PointRelativeToCubeEdges(Vec3f* point, Vec3f* min, Vec3f* max);
|
|
|
|
s32 Math3D_PointRelativeToCubeVertices(Vec3f* point, Vec3f* min, Vec3f* max);
|
|
|
|
s32 Math3D_LineVsCube(Vec3f* min, Vec3f* max, Vec3f* a, Vec3f* b);
|
|
|
|
void Math3D_RotateXZPlane(Vec3f* pointOnPlane, s16 angle, f32* a, f32* c, f32* d);
|
|
|
|
void Math3D_DefPlane(Vec3f* va, Vec3f* vb, Vec3f* vc, f32* nx, f32* ny, f32* nz, f32* originDist);
|
|
|
|
f32 Math3D_UDistPlaneToPos(f32 nx, f32 ny, f32 nz, f32 originDist, Vec3f* p);
|
|
|
|
f32 Math3D_DistPlaneToPos(f32 nx, f32 ny, f32 nz, f32 originDist, Vec3f* p);
|
|
|
|
s32 Math3D_TriChkPointParaYSlopedY(Vec3f* v0, Vec3f* v1, Vec3f* v2, f32 z, f32 x);
|
|
|
|
s32 Math3D_TriChkPointParaYIntersectDist(Vec3f* v0, Vec3f* v1, Vec3f* v2, f32 nx, f32 ny, f32 nz, f32 originDist, f32 z,
|
|
|
|
f32 x, f32* yIntersect, f32 chkDist);
|
|
|
|
s32 Math3D_TriChkPointParaYIntersectInsideTri(Vec3f* v0, Vec3f* v1, Vec3f* v2, f32 nx, f32 ny, f32 nz, f32 originDist,
|
|
|
|
f32 z, f32 x, f32* yIntersect, f32 chkDist);
|
|
|
|
s32 Math3D_TriChkLineSegParaYIntersect(Vec3f* v0, Vec3f* v1, Vec3f* v2, f32 nx, f32 ny, f32 nz, f32 originDist, f32 z,
|
|
|
|
f32 x, f32* yIntersect, f32 y0, f32 y1);
|
|
|
|
s32 Math3D_TriChkPointParaYDist(Vec3f* v0, Vec3f* v1, Vec3f* v2, Plane* plane, f32 z, f32 x, f32 chkDist);
|
|
|
|
s32 Math3D_TriChkPointParaXIntersect(Vec3f* v0, Vec3f* v1, Vec3f* v2, f32 nx, f32 ny, f32 nz, f32 originDist, f32 y,
|
|
|
|
f32 z, f32* xIntersect);
|
|
|
|
s32 Math3D_TriChkLineSegParaXIntersect(Vec3f* v0, Vec3f* v1, Vec3f* v2, f32 nx, f32 ny, f32 nz, f32 originDist, f32 y,
|
|
|
|
f32 z, f32* xIntersect, f32 x0, f32 x1);
|
|
|
|
s32 Math3D_TriChkPointParaXDist(Vec3f* v0, Vec3f* v1, Vec3f* v2, Plane* plane, f32 y, f32 z, f32 chkDist);
|
|
|
|
s32 Math3D_TriChkPointParaZIntersect(Vec3f* v0, Vec3f* v1, Vec3f* v2, f32 nx, f32 ny, f32 nz, f32 originDist, f32 x,
|
|
|
|
f32 y, f32* zIntersect);
|
|
|
|
s32 Math3D_TriChkLineSegParaZIntersect(Vec3f* v0, Vec3f* v1, Vec3f* v2, f32 nx, f32 ny, f32 nz, f32 originDist, f32 x,
|
|
|
|
f32 y, f32* zIntersect, f32 z0, f32 z1);
|
|
|
|
s32 Math3D_TriChkLineSegParaZDist(Vec3f* v0, Vec3f* v1, Vec3f* v2, Plane* plane, f32 x, f32 y, f32 chkDist);
|
|
|
|
s32 Math3D_LineSegVsPlane(f32 nx, f32 ny, f32 nz, f32 originDist, Vec3f* linePointA, Vec3f* linePointB,
|
|
|
|
Vec3f* intersect, s32 fromFront);
|
2020-04-19 03:28:24 +00:00
|
|
|
void Math3D_TriNorm(TriNorm* tri, Vec3f* va, Vec3f* vb, Vec3f* vc);
|
2022-05-31 18:48:41 +00:00
|
|
|
s32 Math3D_PointDistSqToLine2D(f32 x0, f32 y0, f32 x1, f32 y1, f32 x2, f32 y2, f32* lineLenSq);
|
2020-08-17 19:42:08 +00:00
|
|
|
s32 Math3D_LineVsSph(Sphere16* sphere, Linef* line);
|
|
|
|
s32 Math3D_TriVsSphIntersect(Sphere16* sphere, TriNorm* tri, Vec3f* intersectPoint);
|
|
|
|
s32 Math3D_CylVsLineSeg(Cylinder16* cyl, Vec3f* linePointA, Vec3f* linePointB, Vec3f* intersectA, Vec3f* intersectB);
|
|
|
|
s32 Math3D_CylVsTri(Cylinder16* cyl, TriNorm* tri);
|
|
|
|
s32 Math3D_CylTriVsIntersect(Cylinder16* cyl, TriNorm* tri, Vec3f* intersect);
|
|
|
|
s32 Math3D_SphVsSph(Sphere16* sphereA, Sphere16* sphereB);
|
|
|
|
s32 Math3D_SphVsSphOverlap(Sphere16* sphereA, Sphere16* sphereB, f32* overlapSize);
|
2023-10-07 23:42:28 +00:00
|
|
|
s32 Math3D_SphVsSphOverlapCenterDist(Sphere16* sphereA, Sphere16* sphereB, f32* overlapSize, f32* centerDist);
|
|
|
|
s32 Math3D_SphVsCylOverlap(Sphere16* sph, Cylinder16* cyl, f32* overlapSize);
|
2020-08-17 19:42:08 +00:00
|
|
|
s32 Math3D_SphVsCylOverlapCenterDist(Sphere16* sph, Cylinder16* cyl, f32* overlapSize, f32* centerDist);
|
2023-10-07 23:42:28 +00:00
|
|
|
s32 Math3D_CylVsCylOverlap(Cylinder16* ca, Cylinder16* cb, f32* overlapSize);
|
|
|
|
s32 Math3D_CylVsCylOverlapCenterDist(Cylinder16* ca, Cylinder16* cb, f32* overlapSize, f32* centerDist);
|
2020-08-17 19:42:08 +00:00
|
|
|
s32 Math3D_TriVsTriIntersect(TriNorm* ta, TriNorm* tb, Vec3f* intersect);
|
|
|
|
s32 Math3D_XZInSphere(Sphere16* sphere, f32 x, f32 z);
|
|
|
|
s32 Math3D_XYInSphere(Sphere16* sphere, f32 x, f32 y);
|
|
|
|
s32 Math3D_YZInSphere(Sphere16* sphere, f32 y, f32 z);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Math3D_DrawSphere(PlayState* play, Sphere16* sph);
|
|
|
|
void Math3D_DrawCylinder(PlayState* play, Cylinder16* cyl);
|
2020-12-26 10:44:53 +00:00
|
|
|
s16 Math_Atan2S(f32 x, f32 y);
|
|
|
|
f32 Math_Atan2F(f32 x, f32 y);
|
2020-03-17 04:31:30 +00:00
|
|
|
void Matrix_Init(GameState* gameState);
|
|
|
|
void Matrix_Push(void);
|
2021-02-24 19:28:04 +00:00
|
|
|
void Matrix_Pop(void);
|
2020-03-17 04:31:30 +00:00
|
|
|
void Matrix_Get(MtxF* dest);
|
|
|
|
void Matrix_Put(MtxF* src);
|
|
|
|
void Matrix_Mult(MtxF* mf, u8 mode);
|
|
|
|
void Matrix_Translate(f32 x, f32 y, f32 z, u8 mode);
|
|
|
|
void Matrix_Scale(f32 x, f32 y, f32 z, u8 mode);
|
|
|
|
void Matrix_RotateX(f32 x, u8 mode);
|
|
|
|
void Matrix_RotateY(f32 y, u8 mode);
|
|
|
|
void Matrix_RotateZ(f32 z, u8 mode);
|
2021-11-17 10:52:26 +00:00
|
|
|
void Matrix_RotateZYX(s16 x, s16 y, s16 z, u8 mode);
|
|
|
|
void Matrix_TranslateRotateZYX(Vec3f* translation, Vec3s* rotation);
|
2022-01-10 23:28:01 +00:00
|
|
|
void Matrix_SetTranslateRotateYXZ(f32 translateX, f32 translateY, f32 translateZ, Vec3s* rot);
|
2020-03-17 04:31:30 +00:00
|
|
|
Mtx* Matrix_MtxFToMtx(MtxF* src, Mtx* dest);
|
2024-01-30 18:54:38 +00:00
|
|
|
#if OOT_DEBUG
|
2024-02-27 07:37:33 +00:00
|
|
|
Mtx* Matrix_ToMtx(Mtx* dest, const char* file, int line);
|
|
|
|
Mtx* Matrix_NewMtx(GraphicsContext* gfxCtx, const char* file, int line);
|
2024-01-09 12:59:03 +00:00
|
|
|
#else
|
|
|
|
Mtx* Matrix_ToMtx(Mtx* dest);
|
|
|
|
Mtx* Matrix_NewMtx(GraphicsContext* gfxCtx);
|
|
|
|
#endif
|
2020-03-17 04:31:30 +00:00
|
|
|
void Matrix_MultVec3f(Vec3f* src, Vec3f* dest);
|
|
|
|
void Matrix_MtxFCopy(MtxF* dest, MtxF* src);
|
|
|
|
void Matrix_MtxToMtxF(Mtx* src, MtxF* dest);
|
|
|
|
void Matrix_MultVec3fExt(Vec3f* src, Vec3f* dest, MtxF* mf);
|
2021-08-22 15:25:17 +00:00
|
|
|
void Matrix_Transpose(MtxF* mf);
|
2022-01-10 23:28:01 +00:00
|
|
|
void Matrix_ReplaceRotation(MtxF* mf);
|
2021-08-22 15:25:17 +00:00
|
|
|
void Matrix_MtxFToYXZRotS(MtxF* mf, Vec3s* rotDest, s32 flag);
|
|
|
|
void Matrix_MtxFToZYXRotS(MtxF* mf, Vec3s* rotDest, s32 flag);
|
2022-01-10 23:28:01 +00:00
|
|
|
void Matrix_RotateAxis(f32 angle, Vec3f* axis, u8 mode);
|
2024-02-01 14:13:24 +00:00
|
|
|
#if OOT_DEBUG
|
2024-02-27 07:37:33 +00:00
|
|
|
MtxF* Matrix_CheckFloats(MtxF* mf, const char* file, int line);
|
2024-02-01 14:13:24 +00:00
|
|
|
#endif
|
2022-01-10 23:28:01 +00:00
|
|
|
void Matrix_SetTranslateScaleMtx2(Mtx* mtx, f32 scaleX, f32 scaleY, f32 scaleZ, f32 translateX, f32 translateY,
|
|
|
|
f32 translateZ);
|
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);
|
2022-08-30 21:35:00 +00:00
|
|
|
u8 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
|
2021-02-14 00:49:40 +00:00
|
|
|
void UCodeDisas_Init(UCodeDisas*);
|
|
|
|
void UCodeDisas_Destroy(UCodeDisas*);
|
2022-10-15 21:14:35 +00:00
|
|
|
void UCodeDisas_Disassemble(UCodeDisas*, Gfx*);
|
2021-02-14 00:49:40 +00:00
|
|
|
void UCodeDisas_RegisterUCode(UCodeDisas*, s32, UCodeInfo*);
|
|
|
|
void UCodeDisas_SetCurUCode(UCodeDisas*, void*);
|
2021-08-12 19:37:37 +00:00
|
|
|
Acmd* AudioSynth_Update(Acmd* cmdStart, s32* cmdCnt, s16* aiStart, s32 aiBufLen);
|
2021-11-07 16:58:50 +00:00
|
|
|
void AudioHeap_DiscardFont(s32 fontId);
|
|
|
|
void AudioHeap_DiscardSequence(s32 seqId);
|
2022-06-07 04:34:28 +00:00
|
|
|
void AudioHeap_WritebackDCache(void* ramAddr, u32 size);
|
2021-11-07 16:58:50 +00:00
|
|
|
void* AudioHeap_AllocZeroedAttemptExternal(AudioAllocPool* pool, u32 size);
|
|
|
|
void* AudioHeap_AllocAttemptExternal(AudioAllocPool* pool, u32 size);
|
|
|
|
void* AudioHeap_AllocDmaMemory(AudioAllocPool* pool, u32 size);
|
|
|
|
void* AudioHeap_AllocDmaMemoryZeroed(AudioAllocPool* pool, u32 size);
|
|
|
|
void* AudioHeap_AllocZeroed(AudioAllocPool* pool, u32 size);
|
|
|
|
void* AudioHeap_Alloc(AudioAllocPool* pool, u32 size);
|
2022-07-04 16:19:39 +00:00
|
|
|
void AudioHeap_InitPool(AudioAllocPool* pool, void* ramAddr, u32 size);
|
|
|
|
void AudioHeap_PopPersistentCache(s32 tableType);
|
2022-02-20 13:22:29 +00:00
|
|
|
void AudioHeap_InitMainPools(s32 initPoolSize);
|
2021-11-07 16:58:50 +00:00
|
|
|
void* AudioHeap_AllocCached(s32 tableType, s32 size, s32 cache, s32 id);
|
2022-06-07 04:34:28 +00:00
|
|
|
void* AudioHeap_SearchCaches(s32 tableType, s32 cache, s32 id);
|
2021-11-07 16:58:50 +00:00
|
|
|
void* AudioHeap_SearchRegularCaches(s32 tableType, s32 cache, s32 id);
|
2022-01-14 22:13:04 +00:00
|
|
|
void AudioHeap_LoadFilter(s16* filter, s32 lowPassCutoff, s32 highPassCutoff);
|
2021-11-07 16:58:50 +00:00
|
|
|
s32 AudioHeap_ResetStep(void);
|
|
|
|
void AudioHeap_Init(void);
|
|
|
|
void* AudioHeap_SearchPermanentCache(s32 tableType, s32 id);
|
|
|
|
void* AudioHeap_AllocPermanent(s32 tableType, s32 id, u32 size);
|
|
|
|
void* AudioHeap_AllocSampleCache(u32 size, s32 fontId, void* sampleAddr, s8 medium, s32 cache);
|
|
|
|
void AudioHeap_ApplySampleBankCache(s32 sampleBankId);
|
|
|
|
void AudioLoad_DecreaseSampleDmaTtls(void);
|
|
|
|
void* AudioLoad_DmaSampleData(u32 devAddr, u32 size, s32 arg2, u8* dmaIndexRef, s32 medium);
|
2022-06-07 04:34:28 +00:00
|
|
|
void AudioLoad_InitSampleDmaBuffers(s32 numNotes);
|
2021-11-07 16:58:50 +00:00
|
|
|
s32 AudioLoad_IsFontLoadComplete(s32 fontId);
|
|
|
|
s32 AudioLoad_IsSeqLoadComplete(s32 seqId);
|
2022-06-03 19:59:02 +00:00
|
|
|
void AudioLoad_SetFontLoadStatus(s32 fontId, s32 loadStatus);
|
|
|
|
void AudioLoad_SetSeqLoadStatus(s32 seqId, s32 loadStatus);
|
2021-11-07 16:58:50 +00:00
|
|
|
void AudioLoad_SyncLoadSeqParts(s32 seqId, s32 arg1);
|
|
|
|
s32 AudioLoad_SyncLoadInstrument(s32 fontId, s32 instId, s32 drumId);
|
|
|
|
void AudioLoad_AsyncLoadSeq(s32 seqId, s32 arg1, s32 retData, OSMesgQueue* retQueue);
|
|
|
|
void AudioLoad_AsyncLoadSampleBank(s32 sampleBankId, s32 arg1, s32 retData, OSMesgQueue* retQueue);
|
|
|
|
void AudioLoad_AsyncLoadFont(s32 fontId, s32 arg1, s32 retData, OSMesgQueue* retQueue);
|
2022-06-07 04:34:28 +00:00
|
|
|
u8* AudioLoad_GetFontsForSequence(s32 seqId, u32* outNumFonts);
|
2021-11-07 16:58:50 +00:00
|
|
|
void AudioLoad_DiscardSeqFonts(s32 seqId);
|
|
|
|
s32 AudioLoad_SyncInitSeqPlayer(s32 playerIdx, s32 seqId, s32 arg2);
|
2022-02-20 13:22:29 +00:00
|
|
|
s32 AudioLoad_SyncInitSeqPlayerSkipTicks(s32 playerIdx, s32 seqId, s32 skipTicks);
|
2021-11-07 16:58:50 +00:00
|
|
|
void AudioLoad_ProcessLoads(s32 resetStatus);
|
|
|
|
void AudioLoad_SetDmaHandler(DmaHandler callback);
|
|
|
|
void AudioLoad_Init(void* heap, u32 heapSize);
|
|
|
|
void AudioLoad_InitSlowLoads(void);
|
2022-06-03 19:59:02 +00:00
|
|
|
s32 AudioLoad_SlowLoadSample(s32 fontId, s32 instId, s8* status);
|
|
|
|
s32 AudioLoad_SlowLoadSeq(s32 seqId, u8* ramAddr, s8* status);
|
2021-11-07 16:58:50 +00:00
|
|
|
void AudioLoad_InitAsyncLoads(void);
|
|
|
|
void AudioLoad_LoadPermanentSamples(void);
|
2022-06-03 19:59:02 +00:00
|
|
|
void AudioLoad_ScriptLoad(s32 tableType, s32 id, s8* status);
|
2021-11-07 16:58:50 +00:00
|
|
|
void AudioLoad_ProcessScriptLoads(void);
|
|
|
|
void AudioLoad_InitScriptLoads(void);
|
2024-01-31 23:25:23 +00:00
|
|
|
|
|
|
|
AudioTask* AudioThread_Update(void);
|
|
|
|
void AudioThread_QueueCmdF32(u32 opArgs, f32 data);
|
|
|
|
void AudioThread_QueueCmdS32(u32 opArgs, s32 data);
|
|
|
|
void AudioThread_QueueCmdS8(u32 opArgs, s8 data);
|
|
|
|
void AudioThread_QueueCmdU16(u32 opArgs, u16 data);
|
|
|
|
s32 AudioThread_ScheduleProcessCmds(void);
|
2022-06-07 04:34:28 +00:00
|
|
|
u32 func_800E5E20(u32* out);
|
2024-01-31 23:25:23 +00:00
|
|
|
u8* AudioThread_GetFontsForSequence(s32 seqId, u32* outNumFonts);
|
2021-07-27 23:44:58 +00:00
|
|
|
s32 func_800E5EDC(void);
|
2024-01-31 23:25:23 +00:00
|
|
|
s32 AudioThread_ResetAudioHeap(s32 specId);
|
|
|
|
void AudioThread_PreNMIInternal(void);
|
2021-07-27 23:44:58 +00:00
|
|
|
s32 func_800E6680(void);
|
2024-01-31 23:25:23 +00:00
|
|
|
u32 AudioThread_NextRandom(void);
|
|
|
|
void AudioThread_InitMesgQueues(void);
|
|
|
|
|
2021-12-01 00:08:57 +00:00
|
|
|
void Audio_InvalDCache(void* buf, s32 size);
|
2022-06-07 04:34:28 +00:00
|
|
|
void Audio_WritebackDCache(void* buf, s32 size);
|
2020-05-26 15:39:27 +00:00
|
|
|
s32 osAiSetNextBuffer(void*, u32);
|
2021-08-31 22:53:35 +00:00
|
|
|
void Audio_InitNoteSub(Note* note, NoteSubEu* sub, NoteSubAttributes* attrs);
|
2020-04-21 08:19:33 +00:00
|
|
|
void Audio_NoteSetResamplingRate(NoteSubEu* noteSubEu, f32 resamplingRateInput);
|
|
|
|
void Audio_NoteInit(Note* note);
|
|
|
|
void Audio_NoteDisable(Note* note);
|
|
|
|
void Audio_ProcessNotes(void);
|
2022-06-19 14:31:08 +00:00
|
|
|
TunedSample* Audio_GetInstrumentTunedSample(Instrument* instrument, s32 semitone);
|
2021-11-07 16:58:50 +00:00
|
|
|
Instrument* Audio_GetInstrumentInner(s32 fontId, s32 instId);
|
|
|
|
Drum* Audio_GetDrum(s32 fontId, s32 drumId);
|
2022-06-19 14:31:08 +00:00
|
|
|
SoundEffect* Audio_GetSoundEffect(s32 fontId, s32 sfxId);
|
2021-11-07 16:58:50 +00:00
|
|
|
s32 Audio_SetFontInstrument(s32 instrumentType, s32 fontId, s32 index, void* value);
|
|
|
|
void Audio_SeqLayerDecayRelease(SequenceLayer* layer, s32 target);
|
|
|
|
void Audio_SeqLayerNoteDecay(SequenceLayer* layer);
|
|
|
|
void Audio_SeqLayerNoteRelease(SequenceLayer* layer);
|
|
|
|
s32 Audio_BuildSyntheticWave(Note* note, SequenceLayer* layer, s32 waveId);
|
|
|
|
void Audio_InitSyntheticWave(Note* note, SequenceLayer* layer);
|
2020-04-21 08:19:33 +00:00
|
|
|
void Audio_InitNoteList(AudioListItem* list);
|
|
|
|
void Audio_InitNoteLists(NotePool* pool);
|
|
|
|
void Audio_InitNoteFreeList(void);
|
|
|
|
void Audio_NotePoolClear(NotePool* pool);
|
|
|
|
void Audio_NotePoolFill(NotePool* pool, s32 count);
|
|
|
|
void Audio_AudioListPushFront(AudioListItem* list, AudioListItem* item);
|
|
|
|
void Audio_AudioListRemove(AudioListItem* item);
|
2021-11-07 16:58:50 +00:00
|
|
|
Note* Audio_FindNodeWithPrioLessThan(AudioListItem* list, s32 limit);
|
|
|
|
void Audio_NoteInitForLayer(Note* note, SequenceLayer* layer);
|
|
|
|
void func_800E82C0(Note* note, SequenceLayer* layer);
|
|
|
|
void Audio_NoteReleaseAndTakeOwnership(Note* note, SequenceLayer* layer);
|
|
|
|
Note* Audio_AllocNoteFromDisabled(NotePool* pool, SequenceLayer* layer);
|
|
|
|
Note* Audio_AllocNoteFromDecaying(NotePool* pool, SequenceLayer* layer);
|
|
|
|
Note* Audio_AllocNoteFromActive(NotePool* pool, SequenceLayer* layer);
|
|
|
|
Note* Audio_AllocNote(SequenceLayer* layer);
|
2020-04-21 08:19:33 +00:00
|
|
|
void Audio_NoteInitAll(void);
|
2022-06-07 04:34:28 +00:00
|
|
|
void Audio_SequenceChannelProcessSound(SequenceChannel* channel, s32 recalculateVolume, s32 applyBend);
|
2020-08-15 18:06:26 +00:00
|
|
|
void Audio_SequencePlayerProcessSound(SequencePlayer* seqPlayer);
|
2022-06-20 20:31:53 +00:00
|
|
|
f32 Audio_GetPortamentoFreqScale(Portamento* portamento);
|
2020-08-15 18:06:26 +00:00
|
|
|
s16 Audio_GetVibratoPitchChange(VibratoState* vib);
|
|
|
|
f32 Audio_GetVibratoFreqScale(VibratoState* vib);
|
|
|
|
void Audio_NoteVibratoUpdate(Note* note);
|
|
|
|
void Audio_NoteVibratoInit(Note* note);
|
|
|
|
void Audio_NotePortamentoInit(Note* note);
|
2022-06-19 14:31:08 +00:00
|
|
|
void Audio_AdsrInit(AdsrState* adsr, EnvelopePoint* envelope, s16* volOut);
|
2020-08-15 18:06:26 +00:00
|
|
|
f32 Audio_AdsrUpdate(AdsrState* adsr);
|
2021-11-07 16:58:50 +00:00
|
|
|
void AudioSeq_SequenceChannelDisable(SequenceChannel* channel);
|
|
|
|
void AudioSeq_SequencePlayerDisableAsFinished(SequencePlayer* seqPlayer);
|
|
|
|
void AudioSeq_SequencePlayerDisable(SequencePlayer* seqPlayer);
|
|
|
|
void AudioSeq_AudioListPushBack(AudioListItem* list, AudioListItem* item);
|
|
|
|
void* AudioSeq_AudioListPopBack(AudioListItem* list);
|
|
|
|
void AudioSeq_ProcessSequences(s32 arg0);
|
|
|
|
void AudioSeq_SkipForwardSequence(SequencePlayer* seqPlayer);
|
|
|
|
void AudioSeq_ResetSequencePlayer(SequencePlayer* seqPlayer);
|
|
|
|
void AudioSeq_InitSequencePlayerChannels(s32 playerIdx);
|
|
|
|
void AudioSeq_InitSequencePlayers(void);
|
2022-05-09 16:59:23 +00:00
|
|
|
void AudioOcarina_Start(u16 ocarinaFlags);
|
|
|
|
void AudioOcarina_SetInstrument(u8 ocarinaInstrumentId);
|
|
|
|
void AudioOcarina_SetPlaybackSong(s8 songIndexPlusOne, s8 playbackState);
|
|
|
|
void AudioOcarina_SetRecordingState(u8 recordingState);
|
|
|
|
OcarinaStaff* AudioOcarina_GetRecordingStaff(void);
|
|
|
|
OcarinaStaff* AudioOcarina_GetPlayingStaff(void);
|
|
|
|
OcarinaStaff* AudioOcarina_GetPlaybackStaff(void);
|
|
|
|
void AudioOcarina_MemoryGameInit(u8 minigameRound);
|
|
|
|
s32 AudioOcarina_MemoryGameNextNote(void);
|
2022-12-24 18:55:17 +00:00
|
|
|
void AudioOcarina_PlayLongScarecrowSong(void);
|
2021-08-30 00:08:41 +00:00
|
|
|
void AudioDebug_Draw(GfxPrint* printer);
|
2022-07-30 00:35:09 +00:00
|
|
|
void AudioDebug_ScrPrt(const char* str, u16 num);
|
2024-01-31 23:25:23 +00:00
|
|
|
void Audio_Update(void);
|
|
|
|
void Audio_SetSfxProperties(u8 bankId, u8 entryIdx, u8 channelIndex);
|
2022-06-02 07:49:10 +00:00
|
|
|
void Audio_PlayCutsceneEffectsSequence(u8 csEffectType);
|
2021-08-30 00:08:41 +00:00
|
|
|
void func_800F4010(Vec3f* pos, u16 sfxId, f32);
|
2022-07-30 13:05:27 +00:00
|
|
|
void Audio_PlaySfxRandom(Vec3f* pos, u16 baseSfxId, u8 randLim);
|
2021-08-30 00:08:41 +00:00
|
|
|
void func_800F4138(Vec3f* pos, u16 sfxId, f32);
|
|
|
|
void func_800F4190(Vec3f* pos, u16 sfxId);
|
2021-07-27 23:44:58 +00:00
|
|
|
void func_800F436C(Vec3f* pos, u16 sfxId, f32 arg2);
|
|
|
|
void func_800F4414(Vec3f* pos, u16 sfxId, f32);
|
|
|
|
void func_800F44EC(s8 arg0, s8 arg1);
|
2021-08-30 00:08:41 +00:00
|
|
|
void func_800F4524(Vec3f* pos, u16 sfxId, s8 arg2);
|
2022-06-07 04:34:28 +00:00
|
|
|
void func_800F4254(Vec3f* pos, u8 level);
|
2022-07-30 13:05:27 +00:00
|
|
|
void Audio_PlaySfxRiver(Vec3f* pos, f32 freqScale);
|
|
|
|
void Audio_PlaySfxWaterfall(Vec3f* pos, f32 freqScale);
|
2022-10-16 16:12:36 +00:00
|
|
|
void Audio_SetBgmVolumeOffDuringFanfare(void);
|
|
|
|
void Audio_SetBgmVolumeOnDuringFanfare(void);
|
|
|
|
void Audio_SetMainBgmVolume(u8 targetVol, u8 volFadeTimer);
|
2022-01-14 22:13:04 +00:00
|
|
|
void Audio_SetGanonsTowerBgmVolumeLevel(u8 ganonsTowerLevel);
|
|
|
|
void Audio_LowerMainBgmVolume(u8 volume);
|
2022-07-30 13:05:27 +00:00
|
|
|
void Audio_PlaySfxIncreasinglyTransposed(Vec3f* pos, s16 sfxId, u8* semitones);
|
2021-08-30 00:08:41 +00:00
|
|
|
void Audio_ResetIncreasingTranspose(void);
|
2022-07-30 13:05:27 +00:00
|
|
|
void Audio_PlaySfxTransposed(Vec3f* pos, u16 sfxId, s8 semitone);
|
2021-08-30 00:08:41 +00:00
|
|
|
void func_800F4C58(Vec3f* pos, u16 sfxId, u8);
|
|
|
|
void func_800F4E30(Vec3f* pos, f32);
|
|
|
|
void Audio_ClearSariaBgm(void);
|
|
|
|
void Audio_ClearSariaBgmAtPos(Vec3f* pos);
|
|
|
|
void Audio_PlaySariaBgm(Vec3f* pos, u16 seqId, u16 distMax);
|
|
|
|
void Audio_ClearSariaBgm2(void);
|
2022-10-10 01:57:50 +00:00
|
|
|
void Audio_PlayMorningSceneSequence(u16 seqId);
|
|
|
|
void Audio_PlaySceneSequence(u16 seqId);
|
2022-10-16 16:12:36 +00:00
|
|
|
void Audio_SetMainBgmTempoFreqAfterFanfare(f32 scaleTempoAndFreq, u8 duration);
|
|
|
|
void Audio_PlayWindmillBgm(void);
|
|
|
|
void Audio_SetFastTempoForTimedMinigame(void);
|
|
|
|
void Audio_PlaySequenceInCutscene(u16 seqId);
|
|
|
|
void Audio_StopSequenceInCutscene(u16 seqId);
|
|
|
|
s32 Audio_IsSequencePlaying(u16 seqId);
|
2021-12-27 17:35:05 +00:00
|
|
|
void func_800F5ACC(u16 seqId);
|
2020-11-23 13:53:21 +00:00
|
|
|
void func_800F5B58(void);
|
2021-12-27 17:35:05 +00:00
|
|
|
void func_800F5BF0(u8 natureAmbienceId);
|
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 Audio_PlayFanfare(u16);
|
2021-04-10 15:39:25 +00:00
|
|
|
void func_800F5C2C(void);
|
2022-10-10 01:57:50 +00:00
|
|
|
void Audio_PlaySequenceWithSeqPlayerIO(u8 seqPlayerIndex, u16 seqId, u8 fadeInDuration, s8 ioPort, s8 ioData);
|
2021-12-05 17:13:53 +00:00
|
|
|
void Audio_SetSequenceMode(u8 seqMode);
|
|
|
|
void Audio_SetBgmEnemyVolume(f32 dist);
|
2022-10-10 04:52:33 +00:00
|
|
|
void Audio_UpdateMalonSinging(f32 dist, u16 seqId);
|
2021-07-27 23:44:58 +00:00
|
|
|
void func_800F64E0(u8 arg0);
|
2022-10-10 04:52:33 +00:00
|
|
|
void Audio_ToggleMalonSinging(u8 malonSingingDisabled);
|
2021-08-30 00:08:41 +00:00
|
|
|
void Audio_SetEnvReverb(s8 reverb);
|
|
|
|
void Audio_SetCodeReverb(s8 reverb);
|
2022-06-24 23:27:54 +00:00
|
|
|
void func_800F6700(s8 audioSetting);
|
2021-11-07 16:58:50 +00:00
|
|
|
void Audio_SetBaseFilter(u8);
|
|
|
|
void Audio_SetExtraFilter(u8);
|
2021-08-30 00:08:41 +00:00
|
|
|
void Audio_SetCutsceneFlag(s8 flag);
|
2022-07-30 13:05:27 +00:00
|
|
|
void Audio_PlaySfxIfNotInCutscene(u16 sfxId);
|
2020-03-17 04:31:30 +00:00
|
|
|
void func_800F6964(u16);
|
2022-10-16 16:12:36 +00:00
|
|
|
void Audio_StopBgmAndFanfare(u16 fadeOutDuration);
|
2022-03-21 19:49:11 +00:00
|
|
|
void Audio_PreNMI(void);
|
2022-10-07 11:29:33 +00:00
|
|
|
void Audio_SetNatureAmbienceChannelIO(u8 channelIdxRange, u8 ioPort, u8 ioData);
|
2021-12-27 17:35:05 +00:00
|
|
|
void Audio_PlayNatureAmbienceSequence(u8 natureAmbienceId);
|
2022-03-21 19:49:11 +00:00
|
|
|
void Audio_Init(void);
|
|
|
|
void Audio_InitSound(void);
|
2021-07-27 23:44:58 +00:00
|
|
|
void func_800F7170(void);
|
2021-09-07 17:50:50 +00:00
|
|
|
void func_800F71BC(s32 arg0);
|
2022-07-30 13:05:27 +00:00
|
|
|
void Audio_SetSfxBanksMute(u16 muteMask);
|
2024-01-31 23:25:23 +00:00
|
|
|
void Audio_QueueSeqCmdMute(u8 channelIndex);
|
|
|
|
void Audio_ClearBGMMute(u8 channelIndex);
|
2022-07-30 13:05:27 +00:00
|
|
|
void Audio_PlaySfxGeneral(u16 sfxId, Vec3f* pos, u8 token, f32* freqScale, f32* vol, s8* reverbAdd);
|
|
|
|
void Audio_ProcessSfxRequest(void);
|
|
|
|
void Audio_ChooseActiveSfx(u8 bankId);
|
|
|
|
void Audio_PlayActiveSfx(u8 bankId);
|
2021-11-07 16:58:50 +00:00
|
|
|
void Audio_StopSfxByBank(u8 bankId);
|
2022-02-20 13:22:29 +00:00
|
|
|
void func_800F8884(u8 bankId, Vec3f* pos);
|
|
|
|
void Audio_StopSfxByPosAndBank(u8 bankId, Vec3f* pos);
|
|
|
|
void Audio_StopSfxByPos(Vec3f* pos);
|
2021-11-07 16:58:50 +00:00
|
|
|
void Audio_StopSfxByPosAndId(Vec3f* pos, u16 sfxId);
|
2022-02-20 13:22:29 +00:00
|
|
|
void Audio_StopSfxByTokenAndId(u8 token, u16 sfxId);
|
2021-11-07 16:58:50 +00:00
|
|
|
void Audio_StopSfxById(u32 sfxId);
|
2022-07-30 13:05:27 +00:00
|
|
|
void Audio_ProcessSfxRequests(void);
|
2020-10-26 11:58:56 +00:00
|
|
|
void func_800F8F88(void);
|
2021-08-30 00:08:41 +00:00
|
|
|
u8 Audio_IsSfxPlaying(u32 sfxId);
|
2022-07-30 13:05:27 +00:00
|
|
|
void Audio_ResetSfx(void);
|
2022-10-07 11:29:33 +00:00
|
|
|
void Audio_StartSequence(u8 seqPlayerIndex, u8 seqId, u8 seqArgs, u16 fadeInDuration);
|
|
|
|
void Audio_StopSequence(u8 seqPlayerIndex, u16 fadeOutDuration);
|
|
|
|
void Audio_QueueSeqCmd(u32 cmd);
|
2021-07-27 23:44:58 +00:00
|
|
|
void Audio_ProcessSeqCmds(void);
|
2022-10-07 11:29:33 +00:00
|
|
|
u16 Audio_GetActiveSeqId(u8 seqPlayerIndex);
|
|
|
|
s32 Audio_IsSeqCmdNotQueued(u32 cmdVal, u32 cmdMask);
|
|
|
|
void Audio_SetVolumeScale(u8 seqPlayerIndex, u8 scaleIndex, u8 targetVol, u8 volFadeTimer);
|
|
|
|
void Audio_UpdateActiveSequences(void);
|
2020-10-26 11:58:56 +00:00
|
|
|
u8 func_800FAD34(void);
|
2022-10-07 11:29:33 +00:00
|
|
|
void Audio_ResetActiveSequences(void);
|
|
|
|
void Audio_ResetActiveSequencesAndVolume(void);
|
2021-11-28 13:48:17 +00:00
|
|
|
void GfxPrint_SetColor(GfxPrint* this, u32 r, u32 g, u32 b, u32 a);
|
|
|
|
void GfxPrint_SetPosPx(GfxPrint* this, s32 x, s32 y);
|
|
|
|
void GfxPrint_SetPos(GfxPrint* this, s32 x, s32 y);
|
|
|
|
void GfxPrint_SetBasePosPx(GfxPrint* this, s32 x, s32 y);
|
|
|
|
void GfxPrint_Init(GfxPrint* this);
|
|
|
|
void GfxPrint_Destroy(GfxPrint* this);
|
|
|
|
void GfxPrint_Open(GfxPrint* this, Gfx* dList);
|
|
|
|
Gfx* GfxPrint_Close(GfxPrint* this);
|
|
|
|
s32 GfxPrint_Printf(GfxPrint* this, const char* fmt, ...);
|
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);
|
2022-10-15 21:29:36 +00:00
|
|
|
f32 Math_FTanF(f32 angle);
|
2020-12-26 10:44:53 +00:00
|
|
|
f32 Math_FFloorF(f32 x);
|
|
|
|
f32 Math_FCeilF(f32 x);
|
|
|
|
f32 Math_FRoundF(f32 x);
|
|
|
|
f32 Math_FNearbyIntF(f32 x);
|
|
|
|
f32 Math_FTruncF(f32 x);
|
|
|
|
f32 Math_FAtanF(f32 x);
|
|
|
|
f32 Math_FAtan2F(f32 y, f32 x);
|
|
|
|
f32 Math_FAsinF(f32 x);
|
|
|
|
f32 Math_FAcosF(f32 x);
|
2020-03-21 02:09:42 +00:00
|
|
|
f32 ceilf(f32 x);
|
|
|
|
f32 truncf(f32 x);
|
|
|
|
f32 roundf(f32 x);
|
|
|
|
f32 nearbyintf(f32 x);
|
2020-03-17 04:31:30 +00:00
|
|
|
void* SystemArena_Malloc(u32 size);
|
|
|
|
void* SystemArena_MallocR(u32 size);
|
|
|
|
void* SystemArena_Realloc(void* ptr, u32 newSize);
|
|
|
|
void SystemArena_Free(void* ptr);
|
|
|
|
void* SystemArena_Calloc(u32 num, u32 size);
|
|
|
|
void SystemArena_GetSizes(u32* outMaxFree, u32* outFree, u32* outAlloc);
|
2021-02-14 00:49:40 +00:00
|
|
|
void SystemArena_Check(void);
|
2020-03-17 04:31:30 +00:00
|
|
|
void SystemArena_Init(void* start, u32 size);
|
2021-02-14 00:49:40 +00:00
|
|
|
void SystemArena_Cleanup(void);
|
2022-08-30 21:35:00 +00:00
|
|
|
u8 SystemArena_IsInitialized(void);
|
2024-02-02 20:01:49 +00:00
|
|
|
#if OOT_DEBUG
|
2024-02-27 07:37:33 +00:00
|
|
|
void* SystemArena_MallocDebug(u32 size, const char* file, int line);
|
|
|
|
void* SystemArena_MallocRDebug(u32 size, const char* file, int line);
|
|
|
|
void* SystemArena_ReallocDebug(void* ptr, u32 newSize, const char* file, int line);
|
|
|
|
void SystemArena_FreeDebug(void* ptr, const char* file, int line);
|
2024-02-02 20:01:49 +00:00
|
|
|
void SystemArena_Display(void);
|
|
|
|
#endif
|
2020-12-26 10:44:53 +00:00
|
|
|
u32 Rand_Next(void);
|
|
|
|
void Rand_Seed(u32 seed);
|
|
|
|
f32 Rand_ZeroOne(void);
|
|
|
|
f32 Rand_Centered(void);
|
|
|
|
void Rand_Seed_Variable(u32* rndNum, u32 seed);
|
|
|
|
u32 Rand_Next_Variable(u32* rndNum);
|
|
|
|
f32 Rand_ZeroOne_Variable(u32* rndNum);
|
|
|
|
f32 Rand_Centered_Variable(u32* rndNum);
|
2020-03-17 04:31:30 +00:00
|
|
|
void __osMallocInit(Arena* arena, void* start, u32 size);
|
|
|
|
void __osMallocAddBlock(Arena* arena, void* start, s32 size);
|
|
|
|
void __osMallocCleanup(Arena* arena);
|
2022-08-30 21:35:00 +00:00
|
|
|
u8 __osMallocIsInitialized(Arena* arena);
|
2020-03-17 04:31:30 +00:00
|
|
|
void* __osMalloc(Arena* arena, u32 size);
|
2020-03-22 21:50:11 +00:00
|
|
|
void* __osMallocR(Arena* arena, u32 size);
|
2020-03-17 04:31:30 +00:00
|
|
|
void __osFree(Arena* arena, void* ptr);
|
|
|
|
void* __osRealloc(Arena* arena, void* ptr, u32 newSize);
|
|
|
|
void ArenaImpl_GetSizes(Arena* arena, u32* outMaxFree, u32* outFree, u32* outAlloc);
|
|
|
|
u32 __osCheckArena(Arena* arena);
|
2024-02-02 22:37:32 +00:00
|
|
|
#if OOT_DEBUG
|
2024-02-27 07:37:33 +00:00
|
|
|
void* __osMallocDebug(Arena* arena, u32 size, const char* file, int line);
|
|
|
|
void* __osMallocRDebug(Arena* arena, u32 size, const char* file, int line);
|
|
|
|
void __osFreeDebug(Arena* arena, void* ptr, const char* file, int line);
|
|
|
|
void* __osReallocDebug(Arena* arena, void* ptr, u32 newSize, const char* file, int line);
|
2024-02-02 22:37:32 +00:00
|
|
|
void __osDisplayArena(Arena* arena);
|
|
|
|
#endif
|
2021-08-30 00:08:41 +00:00
|
|
|
s32 PrintUtils_VPrintf(PrintCallback* pfn, const char* fmt, va_list args);
|
|
|
|
s32 PrintUtils_Printf(PrintCallback* pfn, const char* fmt, ...);
|
2020-04-08 16:36:15 +00:00
|
|
|
void Sleep_Cycles(OSTime cycles);
|
|
|
|
void Sleep_Nsec(u32 nsec);
|
|
|
|
void Sleep_Usec(u32 usec);
|
|
|
|
void Sleep_Msec(u32 ms);
|
|
|
|
void Sleep_Sec(u32 sec);
|
2020-04-16 18:08:23 +00:00
|
|
|
void JpegUtils_ProcessQuantizationTable(u8* dqt, JpegQuantizationTable* qt, u8 count);
|
2020-06-21 22:43:14 +00:00
|
|
|
s32 JpegUtils_ParseHuffmanCodesLengths(u8* ptr, u8* codesLengths);
|
2020-04-16 18:08:23 +00:00
|
|
|
s32 JpegUtils_GetHuffmanCodes(u8* codesLengths, u16* codes);
|
|
|
|
s32 JpegUtils_SetHuffmanTable(u8* data, JpegHuffmanTable* ht, u16* codes);
|
|
|
|
u32 JpegUtils_ProcessHuffmanTableImpl(u8* data, JpegHuffmanTable* ht, u8* codesLengths, u16* codes, u8 isAc);
|
|
|
|
u32 JpegUtils_ProcessHuffmanTable(u8* dht, JpegHuffmanTable* ht, u8* codesLengths, u16* codes, u8 count);
|
|
|
|
void JpegUtils_SetHuffmanTableOld(u8* data, JpegHuffmanTableOld* ht, u8* codesLengths, u16* codes, s16 count, u8 isAc);
|
|
|
|
u32 JpegUtils_ProcessHuffmanTableImplOld(u8* dht, JpegHuffmanTableOld* ht, u8* codesLengths, u16* codes);
|
2020-06-21 22:43:14 +00:00
|
|
|
s32 JpegDecoder_Decode(JpegDecoder* decoder, u16* mcuBuff, s32 count, u8 isFollowing, JpegDecoderState* state);
|
2021-02-14 00:49:40 +00:00
|
|
|
s32 JpegDecoder_ProcessMcu(JpegHuffmanTable* hTable0, JpegHuffmanTable* hTable1, u16* mcu, s16* unk);
|
|
|
|
s32 JpegDecoder_ParseNextSymbol(JpegHuffmanTable* hTable, s16* outCoeff, s8* outZeroCount);
|
2020-06-21 22:43:14 +00:00
|
|
|
u16 JpegDecoder_ReadBits(u8 len);
|
2020-07-07 00:15:01 +00:00
|
|
|
s32 osPfsFreeBlocks(OSPfs* pfs, s32* leftoverBytes);
|
2020-04-30 18:41:09 +00:00
|
|
|
void guScale(Mtx* m, f32 x, f32 y, f32 z);
|
2022-10-15 21:29:36 +00:00
|
|
|
f32 sinf(f32 angle);
|
|
|
|
s16 sins(u16 angle);
|
2020-10-28 19:59:18 +00:00
|
|
|
OSTask* _VirtualToPhysicalTask(OSTask* intp);
|
2022-06-07 04:34:28 +00:00
|
|
|
void osSpTaskLoad(OSTask* intp);
|
|
|
|
void osSpTaskStartGo(OSTask* tp);
|
2021-02-14 00:49:40 +00:00
|
|
|
void __osSiCreateAccessQueue(void);
|
|
|
|
void __osSiGetAccess(void);
|
|
|
|
void __osSiRelAccess(void);
|
2022-06-07 04:34:28 +00:00
|
|
|
s32 osContInit(OSMesgQueue* mq, u8* ctlBitfield, OSContStatus* status);
|
2022-07-30 21:28:50 +00:00
|
|
|
void __osContGetInitData(u8* ctlBitfield, OSContStatus* data);
|
2020-06-17 11:16:30 +00:00
|
|
|
void __osPackRequestData(u8 poll);
|
2020-07-19 13:54:24 +00:00
|
|
|
s32 osContStartReadData(OSMesgQueue* mq);
|
2022-06-07 04:34:28 +00:00
|
|
|
void osContGetReadData(OSContPad* contData);
|
2021-02-14 00:49:40 +00:00
|
|
|
void __osPackReadData(void);
|
2020-10-03 15:22:44 +00:00
|
|
|
void guPerspectiveF(f32 mf[4][4], u16* perspNorm, f32 fovy, f32 aspect, f32 near, f32 far, f32 scale);
|
|
|
|
void guPerspective(Mtx* m, u16* perspNorm, f32 fovy, f32 aspect, f32 near, f32 far, f32 scale);
|
|
|
|
s32 __osSpRawStartDma(s32 direction, void* devAddr, void* dramAddr, u32 size);
|
2020-07-19 13:54:24 +00:00
|
|
|
s32 __osSiRawStartDma(s32 dir, void* addr);
|
2020-10-03 15:22:44 +00:00
|
|
|
void osSpTaskYield(void);
|
2020-07-07 00:15:01 +00:00
|
|
|
s32 __osPfsGetNextPage(OSPfs* pfs, u8* bank, __OSInode* inode, __OSInodeUnit* page);
|
|
|
|
s32 osPfsReadWriteFile(OSPfs* pfs, s32 fileNo, u8 flag, s32 offset, s32 size, u8* data);
|
2020-06-17 11:16:30 +00:00
|
|
|
s32 __osPfsGetStatus(OSMesgQueue* queue, s32 channel);
|
2022-07-30 21:28:50 +00:00
|
|
|
void __osPfsRequestOneChannel(s32 channel, u8 cmd);
|
2020-06-17 11:16:30 +00:00
|
|
|
void __osPfsGetOneChannelData(s32 channel, OSContStatus* contData);
|
2020-10-28 19:59:18 +00:00
|
|
|
void guMtxIdentF(f32 mf[4][4]);
|
2020-10-03 15:22:44 +00:00
|
|
|
void guLookAtF(f32 mf[4][4], f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt, f32 xUp, f32 yUp, f32 zUp);
|
2020-04-30 18:41:09 +00:00
|
|
|
void guLookAt(Mtx*, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt, f32 xUp, f32 yUp, f32 zUp);
|
2022-06-07 04:34:28 +00:00
|
|
|
s32 osPfsAllocateFile(OSPfs* pfs, u16 companyCode, u32 gameCode, u8* gameName, u8* extName, s32 fileSize, s32* fileNo);
|
2020-12-02 03:19:56 +00:00
|
|
|
s32 __osPfsDeclearPage(OSPfs* pfs, __OSInode* inode, s32 fileSizeInPages, s32* startPage, u8 bank, s32* decleared,
|
|
|
|
s32* finalPage);
|
2020-10-03 15:22:44 +00:00
|
|
|
s32 osStopTimer(OSTimer* timer);
|
2020-07-07 00:15:01 +00:00
|
|
|
u16 __osSumcalc(u8* ptr, s32 length);
|
2022-06-07 04:34:28 +00:00
|
|
|
s32 __osIdCheckSum(u16* ptr, u16* checkSum, u16* idSum);
|
2020-07-07 00:15:01 +00:00
|
|
|
s32 __osRepairPackId(OSPfs* pfs, __OSPackId* badid, __OSPackId* newid);
|
2021-02-14 00:49:40 +00:00
|
|
|
s32 __osCheckPackId(OSPfs* pfs, __OSPackId* check);
|
2020-07-07 00:15:01 +00:00
|
|
|
s32 __osGetId(OSPfs* pfs);
|
|
|
|
s32 __osCheckId(OSPfs* pfs);
|
|
|
|
s32 __osPfsRWInode(OSPfs* pfs, __OSInode* inode, u8 flag, u8 bank);
|
2020-10-28 19:59:18 +00:00
|
|
|
void guMtxL2F(MtxF* m1, Mtx* m2);
|
2020-07-19 13:54:24 +00:00
|
|
|
s32 osPfsFindFile(OSPfs* pfs, u16 companyCode, u32 gameCode, u8* gameName, u8* extName, s32* fileNo);
|
2020-10-03 15:22:44 +00:00
|
|
|
s32 osAfterPreNMI(void);
|
|
|
|
s32 osContStartQuery(OSMesgQueue* mq);
|
2020-04-22 17:20:49 +00:00
|
|
|
void osContGetQuery(OSContStatus* data);
|
2020-10-28 19:59:18 +00:00
|
|
|
void guLookAtHiliteF(f32 mf[4][4], LookAt* l, Hilite* h, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt,
|
2020-12-02 03:19:56 +00:00
|
|
|
f32 xUp, f32 yUp, f32 zUp, f32 xl1, f32 yl1, f32 zl1, f32 xl2, f32 yl2, f32 zl2, s32 hiliteWidth,
|
|
|
|
s32 hiliteHeight);
|
2020-04-28 04:14:27 +00:00
|
|
|
void guLookAtHilite(Mtx* m, LookAt* l, Hilite* h, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt, f32 xUp,
|
|
|
|
f32 yUp, f32 zUp, f32 xl1, f32 yl1, f32 zl1, f32 xl2, f32 yl2, f32 zl2, s32 hiliteWidth,
|
|
|
|
s32 hiliteHeight);
|
2021-02-14 00:49:40 +00:00
|
|
|
u32 __osSpDeviceBusy(void);
|
|
|
|
void guMtxIdent(Mtx*);
|
2020-10-03 15:22:44 +00:00
|
|
|
void guPositionF(f32 mf[4][4], f32 rot, f32 pitch, f32 yaw, f32 scale, f32 x, f32 y, f32 z);
|
2020-04-22 17:20:49 +00:00
|
|
|
void guPosition(Mtx*, f32, f32, f32, f32, f32, f32, f32);
|
2020-10-03 15:22:44 +00:00
|
|
|
OSYieldResult osSpTaskYielded(OSTask* task);
|
2020-10-28 19:59:18 +00:00
|
|
|
void guRotateF(f32 m[4][4], f32 a, f32 x, f32 y, f32 z);
|
2022-06-20 20:31:53 +00:00
|
|
|
void guRotate(Mtx*, f32 a, f32 x, f32 y, f32 z);
|
2020-09-20 17:22:09 +00:00
|
|
|
s32 osAiSetFrequency(u32 frequency);
|
2021-02-14 00:49:40 +00:00
|
|
|
OSThread* __osGetActiveQueue(void);
|
2020-10-28 19:59:18 +00:00
|
|
|
void guNormalize(f32* x, f32* y, f32* z);
|
2020-03-17 04:31:30 +00:00
|
|
|
u32 osDpGetStatus(void);
|
|
|
|
void osDpSetStatus(u32 status);
|
2020-10-03 15:22:44 +00:00
|
|
|
s32 osPfsDeleteFile(OSPfs* pfs, u16 companyCode, u32 gameCode, u8* gameName, u8* extName);
|
2020-07-07 00:15:01 +00:00
|
|
|
s32 __osPfsReleasePages(OSPfs* pfs, __OSInode* inode, u8 initialPage, u8 bank, __OSInodeUnit* finalPage);
|
2020-06-01 21:54:47 +00:00
|
|
|
void guOrthoF(f32[4][4], f32, f32, f32, f32, f32, f32, f32);
|
2020-05-27 07:48:07 +00:00
|
|
|
void guOrtho(Mtx*, f32, f32, f32, f32, f32, f32, f32);
|
2022-10-15 21:29:36 +00:00
|
|
|
f32 cosf(f32 angle);
|
|
|
|
s16 coss(u16 angle);
|
2022-06-20 20:31:53 +00:00
|
|
|
void osViSetEvent(OSMesgQueue* mq, OSMesg msg, u32 retraceCount);
|
2020-06-17 11:16:30 +00:00
|
|
|
s32 osPfsIsPlug(OSMesgQueue* mq, u8* pattern);
|
2022-07-30 21:28:50 +00:00
|
|
|
void __osPfsRequestData(u8 cmd);
|
2020-07-19 13:54:24 +00:00
|
|
|
void __osPfsGetInitData(u8* pattern, OSContStatus* contData);
|
|
|
|
void guS2DInitBg(uObjBg* bg);
|
|
|
|
s32 __osPfsSelectBank(OSPfs* pfs, u8 bank);
|
2020-06-17 11:16:30 +00:00
|
|
|
s32 osContSetCh(u8 ch);
|
2020-10-03 15:22:44 +00:00
|
|
|
s32 osPfsFileState(OSPfs* pfs, s32 fileNo, OSPfsState* state);
|
2022-06-07 04:34:28 +00:00
|
|
|
s32 osPfsInitPak(OSMesgQueue* queue, OSPfs* pfs, s32 channel);
|
2020-07-07 00:15:01 +00:00
|
|
|
s32 __osPfsCheckRamArea(OSPfs* pfs);
|
|
|
|
s32 osPfsChecker(OSPfs* pfs);
|
|
|
|
s32 func_80105788(OSPfs* pfs, __OSInodeCache* cache);
|
|
|
|
s32 func_80105A60(OSPfs* pfs, __OSInodeUnit fpage, __OSInodeCache* cache);
|
2020-10-03 15:22:44 +00:00
|
|
|
u32 osAiGetLength(void);
|
2020-04-30 18:41:09 +00:00
|
|
|
void guTranslate(Mtx* m, f32 x, f32 y, f32 z);
|
2020-07-07 00:15:01 +00:00
|
|
|
s32 __osContRamWrite(OSMesgQueue* mq, s32 channel, u16 address, u8* buffer, s32 force);
|
|
|
|
s32 __osContRamRead(OSMesgQueue* ctrlrqueue, s32 channel, u16 addr, u8* data);
|
|
|
|
u8 __osContAddressCrc(u16 addr);
|
|
|
|
u8 __osContDataCrc(u8* data);
|
2020-10-03 15:22:44 +00:00
|
|
|
s32 osSetTimer(OSTimer* timer, OSTime countdown, OSTime interval, OSMesgQueue* mq, OSMesg msg);
|
2021-02-14 00:49:40 +00:00
|
|
|
u32 __osSpGetStatus(void);
|
2020-03-17 04:31:30 +00:00
|
|
|
void __osSpSetStatus(u32 status);
|
2020-05-26 15:39:27 +00:00
|
|
|
void osWritebackDCacheAll(void);
|
2021-02-14 00:49:40 +00:00
|
|
|
OSThread* __osGetCurrFaultedThread(void);
|
2020-10-28 19:59:18 +00:00
|
|
|
void guMtxF2L(MtxF* m1, Mtx* m2);
|
2020-03-17 04:31:30 +00:00
|
|
|
// ? __d_to_ll(?);
|
|
|
|
// ? __f_to_ll(?);
|
|
|
|
// ? __d_to_ull(?);
|
|
|
|
// ? __f_to_ull(?);
|
|
|
|
// ? __ll_to_d(?);
|
|
|
|
// ? __ll_to_f(?);
|
|
|
|
// ? __ull_to_d(?);
|
|
|
|
// ? __ull_to_f(?);
|
2022-06-03 19:43:30 +00:00
|
|
|
void* osViGetCurrentFramebuffer(void);
|
2020-10-03 15:22:44 +00:00
|
|
|
s32 __osSpSetPc(void* pc);
|
2020-03-17 04:31:30 +00:00
|
|
|
f32 absf(f32);
|
2022-05-01 22:06:35 +00:00
|
|
|
void* __osMemset(void* dest, s32 val, size_t len);
|
|
|
|
void* __osMemmove(void* dest, const void* src, size_t len);
|
2022-05-21 18:23:43 +00:00
|
|
|
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);
|
2022-12-20 22:03:41 +00:00
|
|
|
void Message_StartOcarina(PlayState* play, u16 ocarinaActionId);
|
|
|
|
void Message_StartOcarinaSunsSongDisabled(PlayState* play, u16 ocarinaActionId);
|
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
|
|
|
u8 Message_GetState(MessageContext* msgCtx);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Message_Draw(PlayState* play);
|
|
|
|
void Message_Update(PlayState* play);
|
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 Message_SetTables(void);
|
2022-05-21 18:23:43 +00:00
|
|
|
void GameOver_Init(PlayState* play);
|
|
|
|
void GameOver_FadeInLights(PlayState* play);
|
|
|
|
void GameOver_Update(PlayState* play);
|
2022-08-24 01:13:03 +00:00
|
|
|
void Interface_Destroy(PlayState* play);
|
|
|
|
void Interface_Init(PlayState* play);
|
2022-05-21 18:23:43 +00:00
|
|
|
void Message_Init(PlayState* play);
|
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
|