Implemented D-Pad transformation masks and ocarina
This commit is contained in:
parent
3be10210ad
commit
0ceeeb04ea
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 955 B |
1945
patches/input.c
1945
patches/input.c
File diff suppressed because it is too large
Load Diff
|
@ -19,4 +19,27 @@ static inline void* actor_relocate(Actor* actor, void* addr) {
|
||||||
(intptr_t)((uintptr_t)actor->overlayEntry->vramStart - (uintptr_t)actor->overlayEntry->loadedRamAddr));
|
(intptr_t)((uintptr_t)actor->overlayEntry->vramStart - (uintptr_t)actor->overlayEntry->loadedRamAddr));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
/* 0 */ PICTO_BOX_STATE_OFF, // Not using the pictograph
|
||||||
|
/* 1 */ PICTO_BOX_STATE_LENS, // Looking through the lens of the pictograph
|
||||||
|
/* 2 */ PICTO_BOX_STATE_SETUP_PHOTO, // Looking at the photo currently taken
|
||||||
|
/* 3 */ PICTO_BOX_STATE_PHOTO
|
||||||
|
} PictoBoxState;
|
||||||
|
|
||||||
|
|
||||||
|
#define INCBIN(identifier, filename) \
|
||||||
|
asm(".pushsection .rodata\n" \
|
||||||
|
"\t.local " #identifier "\n" \
|
||||||
|
"\t.type " #identifier ", @object\n" \
|
||||||
|
"\t.balign 8\n" \
|
||||||
|
#identifier ":\n" \
|
||||||
|
"\t.incbin \"" filename "\"\n\n" \
|
||||||
|
\
|
||||||
|
"\t.balign 8\n" \
|
||||||
|
"\t.popsection\n"); \
|
||||||
|
extern u8 identifier[]
|
||||||
|
|
||||||
|
void draw_dpad(PlayState* play);
|
||||||
|
void draw_dpad_icons(PlayState* play);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -169,14 +169,6 @@ void Graph_ExecuteAndDraw(GraphicsContext* gfxCtx, GameState* gameState) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
/* 0 */ PICTO_BOX_STATE_OFF, // Not using the pictograph
|
|
||||||
/* 1 */ PICTO_BOX_STATE_LENS, // Looking through the lens of the pictograph
|
|
||||||
/* 2 */ PICTO_BOX_STATE_SETUP_PHOTO, // Looking at the photo currently taken
|
|
||||||
/* 3 */ PICTO_BOX_STATE_PHOTO
|
|
||||||
} PictoBoxState;
|
|
||||||
|
|
||||||
extern s16 sPictoState;
|
extern s16 sPictoState;
|
||||||
|
|
||||||
// Modify interface drawing (rupees, key counter, etc.)
|
// Modify interface drawing (rupees, key counter, etc.)
|
||||||
|
@ -472,6 +464,12 @@ void Interface_Draw(PlayState* play) {
|
||||||
gEXSetRectAlign(OVERLAY_DISP++, G_EX_ORIGIN_LEFT, G_EX_ORIGIN_LEFT, -margin_reduction * 4, -margin_reduction * 4, -margin_reduction * 4, -margin_reduction * 4);
|
gEXSetRectAlign(OVERLAY_DISP++, G_EX_ORIGIN_LEFT, G_EX_ORIGIN_LEFT, -margin_reduction * 4, -margin_reduction * 4, -margin_reduction * 4, -margin_reduction * 4);
|
||||||
|
|
||||||
Magic_DrawMeter(play);
|
Magic_DrawMeter(play);
|
||||||
|
|
||||||
|
// @recomp Draw the D-Pad and its item icons
|
||||||
|
if (pauseCtx->state != PAUSE_STATE_MAIN) {
|
||||||
|
draw_dpad(play);
|
||||||
|
draw_dpad_icons(play);
|
||||||
|
}
|
||||||
|
|
||||||
// @recomp Right align and shift right/down for minimap
|
// @recomp Right align and shift right/down for minimap
|
||||||
gEXSetRectAlign(OVERLAY_DISP++, G_EX_ORIGIN_RIGHT, G_EX_ORIGIN_RIGHT,
|
gEXSetRectAlign(OVERLAY_DISP++, G_EX_ORIGIN_RIGHT, G_EX_ORIGIN_RIGHT,
|
||||||
|
|
Loading…
Reference in New Issue