2022-03-21 21:51:23 -04:00
|
|
|
#ifndef Z_KALEIDO_SCOPE_H
|
|
|
|
#define Z_KALEIDO_SCOPE_H
|
|
|
|
|
2023-01-17 00:17:49 -05:00
|
|
|
#include <libultraship/libultra.h>
|
2022-03-21 21:51:23 -04:00
|
|
|
#include "global.h"
|
|
|
|
|
|
|
|
extern u8 gAmmoItems[];
|
|
|
|
extern s16 D_8082AAEC[];
|
|
|
|
extern s16 D_8082AB2C[];
|
|
|
|
extern u8 gEquipAgeReqs[][4];
|
2023-10-20 19:40:10 -04:00
|
|
|
extern u8 gSlotAgeReqs[];
|
|
|
|
extern u8 gItemAgeReqs[];
|
2022-03-21 21:51:23 -04:00
|
|
|
extern u8 gAreaGsFlags[];
|
|
|
|
|
2023-12-17 15:42:34 -05:00
|
|
|
#define MAP_48x85_TEX_WIDTH 48
|
|
|
|
#define MAP_48x85_TEX_HEIGHT 85
|
|
|
|
#define MAP_48x85_TEX_SIZE ((MAP_48x85_TEX_WIDTH * MAP_48x85_TEX_HEIGHT) / 2) // 48x85 CI4 texture
|
|
|
|
|
2023-10-20 19:40:10 -04:00
|
|
|
#define AGE_REQ_ADULT LINK_AGE_ADULT
|
|
|
|
#define AGE_REQ_CHILD LINK_AGE_CHILD
|
|
|
|
#define AGE_REQ_NONE 9
|
|
|
|
|
|
|
|
#define CHECK_AGE_REQ_EQUIP(i, j) (CVarGetInteger("gTimelessEquipment", 0) || (gEquipAgeReqs[i][j] == AGE_REQ_NONE) || (gEquipAgeReqs[i][j] == ((void)0, gSaveContext.linkAge)))
|
|
|
|
#define CHECK_AGE_REQ_SLOT(slotIndex) (CVarGetInteger("gTimelessEquipment", 0) || (gSlotAgeReqs[slotIndex] == AGE_REQ_NONE) || gSlotAgeReqs[slotIndex] == ((void)0, gSaveContext.linkAge))
|
|
|
|
#define CHECK_AGE_REQ_ITEM(itemIndex) (CVarGetInteger("gTimelessEquipment", 0) || (gItemAgeReqs[itemIndex] == AGE_REQ_NONE) || (gItemAgeReqs[itemIndex] == gSaveContext.linkAge))
|
|
|
|
|
2022-11-06 03:24:34 -05:00
|
|
|
void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx);
|
2022-03-21 21:51:23 -04:00
|
|
|
s32 KaleidoScope_UpdateQuestStatusPoint(PauseContext* pauseCtx, s32 point);
|
2022-11-06 03:24:34 -05:00
|
|
|
void KaleidoScope_DrawDebugEditor(PlayState* play);
|
|
|
|
void KaleidoScope_DrawPlayerWork(PlayState* play);
|
|
|
|
void KaleidoScope_DrawEquipment(PlayState* play);
|
2022-03-21 21:51:23 -04:00
|
|
|
void KaleidoScope_SetCursorVtx(PauseContext* pauseCtx, u16 index, Vtx* vtx);
|
2022-11-06 03:24:34 -05:00
|
|
|
void KaleidoScope_DrawItemSelect(PlayState* play);
|
|
|
|
void KaleidoScope_SetupItemEquip(PlayState* play, u16 item, u16 slot, s16 animX, s16 animY);
|
|
|
|
void KaleidoScope_UpdateItemEquip(PlayState* play);
|
|
|
|
void KaleidoScope_DrawDungeonMap(PlayState* play, GraphicsContext* gfxCtx);
|
|
|
|
void KaleidoScope_DrawWorldMap(PlayState* play, GraphicsContext* gfxCtx);
|
|
|
|
void KaleidoScope_UpdatePrompt(PlayState* play);
|
2022-03-21 21:51:23 -04:00
|
|
|
Gfx* KaleidoScope_QuadTextureIA4(Gfx* gfx, void* texture, s16 width, s16 height, u16 point);
|
|
|
|
Gfx* KaleidoScope_QuadTextureIA8(Gfx* gfx, void* texture, s16 width, s16 height, u16 point);
|
2022-11-06 03:24:34 -05:00
|
|
|
void KaleidoScope_MoveCursorToSpecialPos(PlayState* play, u16 specialPos);
|
2022-03-21 21:51:23 -04:00
|
|
|
void KaleidoScope_DrawQuadTextureRGBA32(GraphicsContext* gfxCtx, void* texture, u16 width, u16 height, u16 point);
|
|
|
|
void KaleidoScope_ProcessPlayerPreRender();
|
2022-11-06 03:24:34 -05:00
|
|
|
void KaleidoScope_SetupPlayerPreRender(PlayState* play);
|
|
|
|
void KaleidoScope_DrawCursor(PlayState* play, u16 pageIndex);
|
|
|
|
void KaleidoScope_UpdateDungeonMap(PlayState* play);
|
2022-03-21 21:51:23 -04:00
|
|
|
|
2022-11-06 03:24:34 -05:00
|
|
|
void PauseMapMark_Draw(PlayState* play);
|
2022-03-21 21:51:23 -04:00
|
|
|
|
|
|
|
void KaleidoScope_UpdateCursorSize(PauseContext* pauseCtx);
|
|
|
|
|
2023-12-27 12:55:09 -05:00
|
|
|
void KaleidoScope_ResetItemCycling();
|
2023-05-03 21:45:41 -04:00
|
|
|
|
2022-03-21 21:51:23 -04:00
|
|
|
#endif
|