mirror of https://github.com/zeldaret/tmc.git
				
				
				
			cleanup structures.h
This commit is contained in:
		
							parent
							
								
									3b9b1a388b
								
							
						
					
					
						commit
						46506530fc
					
				|  | @ -45,4 +45,19 @@ typedef struct { | |||
|  */ | ||||
| extern void SetMultipleTiles(const TileData* tileData, u32 basePosition, u32 layer); | ||||
| 
 | ||||
| typedef struct { | ||||
|     u8 unk_0; | ||||
|     u8 unk_1; | ||||
|     u8 unk_2[2]; | ||||
|     u16 unk_4; | ||||
|     u8 filler[12]; | ||||
|     struct Entity_* unk_14; | ||||
|     u8 unk_18; | ||||
|     u8 unk_19; | ||||
|     u8 unk_1a; | ||||
|     u8 unk_1b; | ||||
| } struct_02018EB0; | ||||
| 
 | ||||
| extern struct_02018EB0 gUnk_02018EB0; | ||||
| 
 | ||||
| #endif // BEANSTALKSUBTASK_H
 | ||||
|  |  | |||
|  | @ -23,7 +23,7 @@ typedef struct { | |||
|     u16 unk_02; | ||||
|     union SplitWord unk_04; | ||||
|     union SplitWord unk_08; | ||||
|     u32 unk_0C; | ||||
|     void* unk_0C; | ||||
| } struct_gUnk_020000C0_1; | ||||
| 
 | ||||
| typedef struct { | ||||
|  |  | |||
|  | @ -537,6 +537,16 @@ typedef struct { | |||
| } CarriedEntity; | ||||
| extern CarriedEntity gCarriedEntity; | ||||
| 
 | ||||
| typedef struct { | ||||
|     u8 event_priority;        /**< system requested priority @see Priority */ | ||||
|     u8 ent_priority;          /**< entity requested priority @see Priority */ | ||||
|     u8 queued_priority;       /**< @see Priority */ | ||||
|     u8 queued_priority_reset; /**< @see Priority */ | ||||
|     Entity* requester; | ||||
|     u16 priority_timer; | ||||
| } PriorityHandler; | ||||
| extern PriorityHandler gPriorityHandler; | ||||
| 
 | ||||
| /**
 | ||||
|  * Current number of entities. | ||||
|  * @see Entity | ||||
|  |  | |||
|  | @ -100,4 +100,7 @@ void FadeVBlank(void); | |||
|  */ | ||||
| void ResetFadeMask(void); | ||||
| 
 | ||||
| extern u32 gUsedPalettes; | ||||
| #define USE_PALETTE(i) do { gUsedPalettes |= 1 << (i); } while(0) | ||||
| 
 | ||||
| #endif // FADE_H
 | ||||
|  |  | |||
|  | @ -0,0 +1,8 @@ | |||
| #ifndef GFX_H | ||||
| #define GFX_H | ||||
| 
 | ||||
| #include "global.h" | ||||
| 
 | ||||
| extern const u8 gGlobalGfxAndPalettes[]; | ||||
| 
 | ||||
| #endif //GFX_H
 | ||||
|  | @ -0,0 +1,20 @@ | |||
| #ifndef ITEMDEFINITIONS_H | ||||
| #define ITEMDEFINITIONS_H | ||||
| 
 | ||||
| #include "global.h" | ||||
| 
 | ||||
| typedef struct { | ||||
|     /*0x00*/ bool8 isOnlyActiveFirstFrame; /**< Is the behavior for this item only created on the first frame */ | ||||
|     /*0x01*/ u8 priority; | ||||
|     /*0x02*/ u8 createFunc; | ||||
|     /*0x03*/ u8 playerItemId; /**< Id for the corresponsing PlayerItem. */ | ||||
|     /*0x04*/ u16 frameIndex; | ||||
|     /*0x06*/ u8 animPriority; | ||||
|     /*0x07*/ bool8 isChangingAttackStatus; | ||||
|     /*0x08*/ bool8 isUseableAsMinish; | ||||
|     /*0x09*/ u8 pad[3]; | ||||
| } ItemDefinition; | ||||
| 
 | ||||
| static_assert(sizeof(ItemDefinition) == 0xc); | ||||
| 
 | ||||
| #endif //ITEMDEFINITIONS_H
 | ||||
|  | @ -101,6 +101,18 @@ static_assert(sizeof(UI) == 0x3b4); | |||
| extern Main gMain; /**< Main instance. */ | ||||
| extern UI gUI;     /**< UI instance. */ | ||||
| 
 | ||||
| typedef struct { | ||||
|     s32 signature; | ||||
|     u8 field_0x4; | ||||
|     u8 listenForKeyPresses; | ||||
|     u8 field_0x6; | ||||
|     u8 field_0x7; | ||||
|     u8 pad[24]; | ||||
| } struct_02000010; | ||||
| static_assert(sizeof(struct_02000010) == 0x20); | ||||
| 
 | ||||
| extern struct_02000010 gUnk_02000010; | ||||
| 
 | ||||
| /**
 | ||||
|  * Program entry point. | ||||
|  */ | ||||
|  |  | |||
|  | @ -127,6 +127,14 @@ typedef struct { | |||
| extern TextRender gTextRender; | ||||
| static_assert(sizeof(TextRender) == 0xa8); | ||||
| 
 | ||||
| typedef struct { | ||||
|     u8 unk_00; | ||||
|     u8 unk_01; | ||||
|     u8 unk_02[0xE]; | ||||
| } struct_02000040; | ||||
| 
 | ||||
| extern struct_02000040 gUnk_02000040; | ||||
| 
 | ||||
| /**
 | ||||
|  * @brief Initialize the message system. | ||||
|  */ | ||||
|  |  | |||
|  | @ -40,4 +40,20 @@ typedef enum { | |||
|     PauseMenuScreen_19, | ||||
| } PauseMenuScreen; | ||||
| 
 | ||||
| typedef struct { | ||||
|     u8 disabled; | ||||
|     u8 screen; | ||||
|     u8 unk2[0xf]; // cursor positions on the different screens
 | ||||
|     u8 unk11; | ||||
|     u8 unk12; | ||||
|     u8 unk13; | ||||
|     s8 screen2; | ||||
|     u8 unk15; | ||||
|     s8 unk16; | ||||
|     u8 unk17; | ||||
| } PauseMenuOptions; | ||||
| 
 | ||||
| extern PauseMenuOptions gPauseMenuOptions; | ||||
| static_assert(sizeof(PauseMenuOptions) == 0x18); | ||||
| 
 | ||||
| #endif // PAUSEMENU_H
 | ||||
|  |  | |||
|  | @ -676,6 +676,37 @@ typedef enum { | |||
|     INTERACTION_NULL = 0xFF, | ||||
| } InteractionType; | ||||
| 
 | ||||
| typedef struct { | ||||
|     s8 x; | ||||
|     s8 y; | ||||
|     s8 width; | ||||
|     s8 height; | ||||
| } Rect; | ||||
| 
 | ||||
| typedef struct { | ||||
|     /*0x00*/ u8 ignoreLayer; /* if bit 0 set, skip layer check for collision */ | ||||
|     /*0x01*/ u8 type; | ||||
|     /*0x02*/ u8 interactDirections; /* lower 4 bits determine Link's allowed facing directions to interact, 0 to allow
 | ||||
|                                        (0000WSEN) */ | ||||
|     /*0x03*/ u8 kinstoneId; | ||||
|     /*0x04*/ const Rect* customHitbox; /* optional custom rectangle */ | ||||
|     /*0x08*/ Entity* entity; | ||||
| } InteractableObject; | ||||
| 
 | ||||
| typedef struct { | ||||
|     /*0x00*/ u8 isUpdated; | ||||
|     /*0x01*/ u8 unused; | ||||
|     /*0x02*/ u8 kinstoneId; | ||||
|     /*0x03*/ u8 currentIndex; /* index of currentObject in candidate list, or 0xFF */ | ||||
|     /*0x04*/ InteractableObject* currentObject; | ||||
|     /*0x08*/ InteractableObject | ||||
|         candidates[0x20]; /* contains the loaded NPCs, key doors, windcrests and other objects */ | ||||
| } PossibleInteraction; | ||||
| 
 | ||||
| static_assert(sizeof(PossibleInteraction) == 0x188); | ||||
| 
 | ||||
| extern PossibleInteraction gPossibleInteraction; | ||||
| 
 | ||||
| typedef enum { | ||||
|     R_ACTION_NONE, | ||||
|     R_ACTION_CANCEL, | ||||
|  |  | |||
|  | @ -4,6 +4,12 @@ | |||
| #include "global.h" | ||||
| #include "transitions.h" | ||||
| 
 | ||||
| typedef struct { | ||||
|     u16 unk_00; | ||||
|     u8 unk_02[0xE]; | ||||
| } struct_02034480; | ||||
| extern struct_02034480 gUnk_02034480; | ||||
| 
 | ||||
| extern bool32 DoApplicableTransition(u32, u32, u32, u32); | ||||
| extern void DoExitTransitionWithType(const Transition* screenTransition, u32 transitionType); | ||||
| 
 | ||||
|  |  | |||
|  | @ -2,223 +2,6 @@ | |||
| #define STRUCTURES_H | ||||
| 
 | ||||
| #include "global.h" | ||||
| #include "entity.h" | ||||
| 
 | ||||
| typedef struct { | ||||
|     u8 unk_00; | ||||
|     u8 unk_01; | ||||
|     u8 unk_02[0xE]; | ||||
| } struct_02000040; | ||||
| 
 | ||||
| extern struct_02000040 gUnk_02000040; | ||||
| 
 | ||||
| typedef struct { | ||||
|     s32 signature; | ||||
|     u8 field_0x4; | ||||
|     u8 listenForKeyPresses; | ||||
|     u8 field_0x6; | ||||
|     u8 field_0x7; | ||||
|     u8 pad[24]; | ||||
| } struct_02000010; | ||||
| static_assert(sizeof(struct_02000010) == 0x20); | ||||
| 
 | ||||
| extern struct_02000010 gUnk_02000010; | ||||
| 
 | ||||
| typedef struct { | ||||
|     u8 unk0; | ||||
|     u8 unk1; | ||||
|     u16 unk2; | ||||
| } struct_020354C0; | ||||
| extern struct_020354C0 gUnk_020354C0[0x20]; | ||||
| 
 | ||||
| #define MAX_UI_ELEMENTS 24 | ||||
| 
 | ||||
| typedef enum { | ||||
|     UI_ELEMENT_BUTTON_A, | ||||
|     UI_ELEMENT_BUTTON_B, | ||||
|     UI_ELEMENT_BUTTON_R, | ||||
|     UI_ELEMENT_ITEM_A, | ||||
|     UI_ELEMENT_ITEM_B, | ||||
|     UI_ELEMENT_TEXT_R, | ||||
|     UI_ELEMENT_HEART, | ||||
|     UI_ELEMENT_EZLONAGSTART, | ||||
|     UI_ELEMENT_EZLONAGACTIVE, | ||||
|     UI_ELEMENT_TEXT_A, | ||||
|     UI_ELEMENT_TEXT_B | ||||
| } UIElementType; | ||||
| 
 | ||||
| /**
 | ||||
|  * @brief Floating UI element | ||||
|  */ | ||||
| typedef struct { | ||||
|     u8 used : 1; | ||||
|     u8 unk_0_1 : 1; | ||||
|     u8 unk_0_2 : 2; // Load data into VRAM? 0: do not load, 1: ready to load 2: loaded
 | ||||
|     u8 unk_0_4 : 4; | ||||
|     u8 type;            /**< @see UIElementType */ | ||||
|     u8 type2;           // Subtype
 | ||||
|     u8 buttonElementId; /**< Id of the button UI element this text is attached to */ | ||||
|     u8 action; | ||||
|     u8 unk_5; | ||||
|     u8 unk_6; | ||||
|     u8 unk_7; | ||||
|     u8 unk_8; | ||||
|     u8 unk_9[3]; | ||||
|     u16 x; | ||||
|     u16 y; | ||||
|     u8 frameIndex; | ||||
|     u8 duration; | ||||
|     u8 spriteSettings; | ||||
|     u8 frameSettings; | ||||
|     Frame* framePtr; | ||||
|     u8 unk_18; | ||||
|     u8 numTiles; | ||||
|     u16 unk_1a; // TODO oam id? VRAM target (element->unk_1a * 0x20 + 0x6010000)
 | ||||
|     u32* firstTile; | ||||
| } UIElement; | ||||
| 
 | ||||
| typedef enum { | ||||
|     HUD_HIDE_NONE, | ||||
|     HUD_HIDE_1 = 0x1, // A
 | ||||
|     HUD_HIDE_2 = 0x2, // B
 | ||||
|     HUD_HIDE_4 = 0x4, // R
 | ||||
|     HUD_HIDE_8 = 0x8, | ||||
|     HUD_HIDE_HEARTS = 0x10, | ||||
|     HUD_HIDE_CHARGE_BAR = 0x20, | ||||
|     HUD_HIDE_RUPEES = 0x40, | ||||
|     HUD_HIDE_KEYS = 0x80, | ||||
| 
 | ||||
|     HUD_HIDE_ALL = 0xff | ||||
| } HUDHideFlags; | ||||
| 
 | ||||
| typedef struct { | ||||
|     u8 unk_0; | ||||
|     u8 hideFlags; | ||||
|     u8 unk_2; | ||||
|     u8 health; | ||||
|     u8 maxHealth; | ||||
|     u8 unk_5; | ||||
|     u8 unk_6; | ||||
|     u8 unk_7; | ||||
|     u8 unk_8; | ||||
|     u8 unk_9; | ||||
|     u8 unk_a; | ||||
|     u8 unk_b; | ||||
|     u8 unk_c; | ||||
|     u8 unk_d; | ||||
|     u16 rupees; | ||||
|     u8 unk_10; // TODO drawing keys dirty flag or something?
 | ||||
|     u8 unk_11; | ||||
|     u8 dungeonKeys; | ||||
|     s8 unk_13; | ||||
|     s8 unk_14; | ||||
|     u8 unk_15; | ||||
|     u16 buttonX[3]; /**< X coordinates for the button UI elements */ | ||||
|     u16 buttonY[3]; /**< Y coordinates for the button UI elements */ | ||||
|     u8 filler22[0x2]; | ||||
|     u8 ezloNagFuncIndex; | ||||
|     u8 filler25[7]; | ||||
|     u8 rActionInteractObject; // used as R button UI frame index
 | ||||
|     u8 rActionInteractTile; | ||||
|     u8 rActionGrabbing; | ||||
|     u8 rActionPlayerState; // if not 0, overrides other R actions
 | ||||
|     u8 buttonText[3]; | ||||
|     u8 unk_33; | ||||
|     UIElement elements[MAX_UI_ELEMENTS]; | ||||
| } HUD; | ||||
| extern HUD gHUD; | ||||
| 
 | ||||
| typedef struct { | ||||
|     u16 unk_00; | ||||
|     u8 unk_02[0xE]; | ||||
| } struct_02034480; | ||||
| extern struct_02034480 gUnk_02034480; | ||||
| 
 | ||||
| extern u16 gBG0Buffer[0x400]; | ||||
| extern u16 gBG1Buffer[0x400]; | ||||
| extern u16 gBG2Buffer[0x400]; | ||||
| extern u16 gBG3Buffer[0x800]; | ||||
| 
 | ||||
| 
 | ||||
| typedef struct { | ||||
|     u8 event_priority; // system requested priority
 | ||||
|     u8 ent_priority;   // entity requested priority
 | ||||
|     u8 queued_priority; | ||||
|     u8 queued_priority_reset; | ||||
|     Entity* requester; | ||||
|     u16 priority_timer; | ||||
| } PriorityHandler; | ||||
| extern PriorityHandler gPriorityHandler; | ||||
| 
 | ||||
| typedef struct { | ||||
|     u8 disabled; | ||||
|     u8 screen; | ||||
|     u8 unk2[0xf]; // cursor positions on the different screens
 | ||||
|     u8 unk11; | ||||
|     u8 unk12; | ||||
|     u8 unk13; | ||||
|     s8 screen2; | ||||
|     u8 unk15; | ||||
|     s8 unk16; | ||||
|     u8 unk17; | ||||
| } PauseMenuOptions; | ||||
| 
 | ||||
| extern PauseMenuOptions gPauseMenuOptions; | ||||
| static_assert(sizeof(PauseMenuOptions) == 0x18); | ||||
| 
 | ||||
| typedef struct { | ||||
|     u8 unk0; | ||||
|     u8 unk1; | ||||
|     u16 unk2; | ||||
|     u8 unk4; | ||||
|     u8 unk5; | ||||
|     u8 unk6; | ||||
|     u8 unk7; | ||||
| } OAMObj; | ||||
| 
 | ||||
| typedef struct { | ||||
|     u8 field_0x0; | ||||
|     u8 field_0x1; | ||||
|     u8 spritesOffset; | ||||
|     u8 updated; | ||||
|     u16 _4; | ||||
|     u16 _6; | ||||
|     u8 _0[0x18]; | ||||
|     struct OamData oam[0x80]; | ||||
|     OAMObj unk[0xA0]; /* todo: affine */ | ||||
| } OAMControls; | ||||
| extern OAMControls gOAMControls; | ||||
| 
 | ||||
| typedef struct { | ||||
|     s8 x; | ||||
|     s8 y; | ||||
|     s8 width; | ||||
|     s8 height; | ||||
| } Rect; | ||||
| 
 | ||||
| typedef struct { | ||||
|     /*0x00*/ u8 ignoreLayer; /* if bit 0 set, skip layer check for collision */ | ||||
|     /*0x01*/ u8 type; | ||||
|     /*0x02*/ u8 interactDirections; /* lower 4 bits determine Link's allowed facing directions to interact, 0 to allow
 | ||||
|                                        (0000WSEN) */ | ||||
|     /*0x03*/ u8 kinstoneId; | ||||
|     /*0x04*/ const Rect* customHitbox; /* optional custom rectangle */ | ||||
|     /*0x08*/ Entity* entity; | ||||
| } InteractableObject; | ||||
| 
 | ||||
| typedef struct { | ||||
|     /*0x00*/ u8 isUpdated; | ||||
|     /*0x01*/ u8 unused; | ||||
|     /*0x02*/ u8 kinstoneId; | ||||
|     /*0x03*/ u8 currentIndex; /* index of currentObject in candidate list, or 0xFF */ | ||||
|     /*0x04*/ InteractableObject* currentObject; | ||||
|     /*0x08*/ InteractableObject | ||||
|         candidates[0x20]; /* contains the loaded NPCs, key doors, windcrests and other objects */ | ||||
| } PossibleInteraction; | ||||
| 
 | ||||
| static_assert(sizeof(PossibleInteraction) == 0x188); | ||||
| 
 | ||||
| extern PossibleInteraction gPossibleInteraction; | ||||
| 
 | ||||
| typedef struct { | ||||
|     u8 numTiles; | ||||
|  | @ -233,60 +16,11 @@ typedef struct { | |||
|     u32 pad; | ||||
| } SpritePtr; | ||||
| 
 | ||||
| extern SpritePtr gSpritePtrs[]; | ||||
| 
 | ||||
| typedef struct { | ||||
|     u8 unk_0; | ||||
|     u8 unk_1; | ||||
|     u8 unk_2[2]; | ||||
|     u16 unk_4; | ||||
|     u8 filler[12]; | ||||
|     Entity* unk_14; | ||||
|     u8 unk_18; | ||||
|     u8 unk_19; | ||||
|     u8 unk_1a; | ||||
|     u8 unk_1b; | ||||
| } struct_02018EB0; | ||||
| 
 | ||||
| extern struct_02018EB0 gUnk_02018EB0; | ||||
| 
 | ||||
| typedef struct { | ||||
|     /*0x00*/ bool8 isOnlyActiveFirstFrame; /**< Is the behavior for this item only created on the first frame */ | ||||
|     /*0x01*/ u8 priority; | ||||
|     /*0x02*/ u8 createFunc; | ||||
|     /*0x03*/ u8 playerItemId; /**< Id for the corresponsing PlayerItem. */ | ||||
|     /*0x04*/ u16 frameIndex; | ||||
|     /*0x06*/ u8 animPriority; | ||||
|     /*0x07*/ bool8 isChangingAttackStatus; | ||||
|     /*0x08*/ bool8 isUseableAsMinish; | ||||
|     /*0x09*/ u8 pad[3]; | ||||
| } ItemDefinition; | ||||
| 
 | ||||
| static_assert(sizeof(ItemDefinition) == 0xc); | ||||
| extern const SpritePtr gSpritePtrs[]; | ||||
| 
 | ||||
| typedef struct { | ||||
|     u8 frame; | ||||
|     u8 frameIndex; | ||||
| } PACKED FrameStruct; | ||||
| 
 | ||||
| typedef struct { | ||||
|     /*0x0*/ u8 menuType; | ||||
|     /*0x1*/ u16 font; | ||||
|     /*0x3*/ u8 unk_3; // TODO padding?
 | ||||
|     /*0x4*/ u16 transitionTimer; | ||||
|     /*0x6*/ u16 gfxEntry; | ||||
|     /*0x8*/ u16 bg2XOffset; | ||||
|     /*0xa*/ u16 sm_unk_14; | ||||
| } PACKED StaffrollEntry; | ||||
| 
 | ||||
| static_assert(sizeof(StaffrollEntry) == 0xc); | ||||
| 
 | ||||
| typedef struct { | ||||
|     u8 paletteGroup; | ||||
|     u8 gfxGroup; | ||||
| } PACKED StaffrollGfxEntry; | ||||
| 
 | ||||
| extern const u8 gGlobalGfxAndPalettes[]; | ||||
| extern u32 gUsedPalettes; | ||||
| 
 | ||||
| #endif // STRUCTURES_H
 | ||||
|  |  | |||
							
								
								
									
										98
									
								
								include/ui.h
								
								
								
								
							
							
						
						
									
										98
									
								
								include/ui.h
								
								
								
								
							|  | @ -2,6 +2,104 @@ | |||
| #define UI_H | ||||
| 
 | ||||
| #include "global.h" | ||||
| #include "sprite.h" | ||||
| 
 | ||||
| #define MAX_UI_ELEMENTS 24 | ||||
| 
 | ||||
| typedef enum { | ||||
|     UI_ELEMENT_BUTTON_A, | ||||
|     UI_ELEMENT_BUTTON_B, | ||||
|     UI_ELEMENT_BUTTON_R, | ||||
|     UI_ELEMENT_ITEM_A, | ||||
|     UI_ELEMENT_ITEM_B, | ||||
|     UI_ELEMENT_TEXT_R, | ||||
|     UI_ELEMENT_HEART, | ||||
|     UI_ELEMENT_EZLONAGSTART, | ||||
|     UI_ELEMENT_EZLONAGACTIVE, | ||||
|     UI_ELEMENT_TEXT_A, | ||||
|     UI_ELEMENT_TEXT_B | ||||
| } UIElementType; | ||||
| 
 | ||||
| /**
 | ||||
|  * @brief Floating UI element | ||||
|  */ | ||||
| typedef struct { | ||||
|     u8 used : 1; | ||||
|     u8 unk_0_1 : 1; | ||||
|     u8 unk_0_2 : 2; // Load data into VRAM? 0: do not load, 1: ready to load 2: loaded
 | ||||
|     u8 unk_0_4 : 4; | ||||
|     u8 type;            /**< @see UIElementType */ | ||||
|     u8 type2;           // Subtype
 | ||||
|     u8 buttonElementId; /**< Id of the button UI element this text is attached to */ | ||||
|     u8 action; | ||||
|     u8 unk_5; | ||||
|     u8 unk_6; | ||||
|     u8 unk_7; | ||||
|     u8 unk_8; | ||||
|     u8 unk_9[3]; | ||||
|     u16 x; | ||||
|     u16 y; | ||||
|     u8 frameIndex; | ||||
|     u8 duration; | ||||
|     u8 spriteSettings; | ||||
|     u8 frameSettings; | ||||
|     Frame* framePtr; | ||||
|     u8 unk_18; | ||||
|     u8 numTiles; | ||||
|     u16 unk_1a; // TODO oam id? VRAM target (element->unk_1a * 0x20 + 0x6010000)
 | ||||
|     u32* firstTile; | ||||
| } UIElement; | ||||
| 
 | ||||
| typedef enum { | ||||
|     HUD_HIDE_NONE, | ||||
|     HUD_HIDE_1 = 0x1, // A
 | ||||
|     HUD_HIDE_2 = 0x2, // B
 | ||||
|     HUD_HIDE_4 = 0x4, // R
 | ||||
|     HUD_HIDE_8 = 0x8, | ||||
|     HUD_HIDE_HEARTS = 0x10, | ||||
|     HUD_HIDE_CHARGE_BAR = 0x20, | ||||
|     HUD_HIDE_RUPEES = 0x40, | ||||
|     HUD_HIDE_KEYS = 0x80, | ||||
| 
 | ||||
|     HUD_HIDE_ALL = 0xff | ||||
| } HUDHideFlags; | ||||
| 
 | ||||
| typedef struct { | ||||
|     u8 unk_0; | ||||
|     u8 hideFlags; | ||||
|     u8 unk_2; | ||||
|     u8 health; | ||||
|     u8 maxHealth; | ||||
|     u8 unk_5; | ||||
|     u8 unk_6; | ||||
|     u8 unk_7; | ||||
|     u8 unk_8; | ||||
|     u8 unk_9; | ||||
|     u8 unk_a; | ||||
|     u8 unk_b; | ||||
|     u8 unk_c; | ||||
|     u8 unk_d; | ||||
|     u16 rupees; | ||||
|     u8 unk_10; // TODO drawing keys dirty flag or something?
 | ||||
|     u8 unk_11; | ||||
|     u8 dungeonKeys; | ||||
|     s8 unk_13; | ||||
|     s8 unk_14; | ||||
|     u8 unk_15; | ||||
|     u16 buttonX[3]; /**< X coordinates for the button UI elements */ | ||||
|     u16 buttonY[3]; /**< Y coordinates for the button UI elements */ | ||||
|     u8 filler22[0x2]; | ||||
|     u8 ezloNagFuncIndex; | ||||
|     u8 filler25[7]; | ||||
|     u8 rActionInteractObject; // used as R button UI frame index
 | ||||
|     u8 rActionInteractTile; | ||||
|     u8 rActionGrabbing; | ||||
|     u8 rActionPlayerState; // if not 0, overrides other R actions
 | ||||
|     u8 buttonText[3]; | ||||
|     u8 unk_33; | ||||
|     UIElement elements[MAX_UI_ELEMENTS]; | ||||
| } HUD; | ||||
| extern HUD gHUD; | ||||
| 
 | ||||
| extern void DrawUIElements(void); | ||||
| extern void UpdateUIElements(void); | ||||
|  |  | |||
|  | @ -50,4 +50,32 @@ extern bool32 LoadSwapGFX(Entity*, u32, u32); | |||
| extern void UnloadGFXSlots(Entity*); | ||||
| extern void sub_080ADD70(void); | ||||
| 
 | ||||
| extern u16 gBG0Buffer[0x400]; | ||||
| extern u16 gBG1Buffer[0x400]; | ||||
| extern u16 gBG2Buffer[0x400]; | ||||
| extern u16 gBG3Buffer[0x800]; | ||||
| 
 | ||||
| typedef struct { | ||||
|     u8 unk0; | ||||
|     u8 unk1; | ||||
|     u16 unk2; | ||||
|     u8 unk4; | ||||
|     u8 unk5; | ||||
|     u8 unk6; | ||||
|     u8 unk7; | ||||
| } OAMObj; | ||||
| 
 | ||||
| typedef struct { | ||||
|     u8 field_0x0; | ||||
|     u8 field_0x1; | ||||
|     u8 spritesOffset; | ||||
|     u8 updated; | ||||
|     u16 _4; | ||||
|     u16 _6; | ||||
|     u8 _0[0x18]; | ||||
|     struct OamData oam[0x80]; | ||||
|     OAMObj unk[0xA0]; /* todo: affine */ | ||||
| } OAMControls; | ||||
| extern OAMControls gOAMControls; | ||||
| 
 | ||||
| #endif //VRAM_H
 | ||||
|  |  | |||
|  | @ -1,6 +1,5 @@ | |||
| #include "affine.h" | ||||
| #include "global.h" | ||||
| #include "structures.h" | ||||
| #include "main.h" | ||||
| #include "room.h" | ||||
| #include "screen.h" | ||||
|  |  | |||
|  | @ -8,7 +8,7 @@ | |||
| #include "asm.h" | ||||
| #include "assets/gfx_offsets.h" | ||||
| #include "common.h" | ||||
| #include "structures.h" | ||||
| #include "gfx.h" | ||||
| #include "room.h" | ||||
| 
 | ||||
| void LoadBgAnimationGfx(const BgAnimationGfx*); | ||||
|  |  | |||
|  | @ -17,10 +17,10 @@ | |||
| #include "player.h" | ||||
| #include "screen.h" | ||||
| #include "scroll.h" | ||||
| #include "structures.h" | ||||
| #include "tiles.h" | ||||
| #include "affine.h" | ||||
| #include "subtask.h" | ||||
| #include "ui.h" | ||||
| 
 | ||||
| extern void sub_0807C898(void); | ||||
| extern void sub_0805BB74(s32); | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| #include "entity.h" | ||||
| #include "player.h" | ||||
| #include "room.h" | ||||
| #include "structures.h" | ||||
| #include "vram.h" | ||||
| 
 | ||||
| const u8 gUnk_08109202[] = { | ||||
|     255, 8, 24, 255, 0, 4, 28, 255, 16, 12, 20, 255, 255, 255, 255, 255, 0, 0, | ||||
|  |  | |||
|  | @ -3,7 +3,6 @@ | |||
| #include "common.h" | ||||
| #include "enemy.h" | ||||
| #include "entity.h" | ||||
| #include "structures.h" | ||||
| #include "global.h" | ||||
| #include "item.h" | ||||
| #include "object.h" | ||||
|  |  | |||
							
								
								
									
										17
									
								
								src/color.c
								
								
								
								
							
							
						
						
									
										17
									
								
								src/color.c
								
								
								
								
							|  | @ -3,15 +3,12 @@ | |||
| #include "common.h" | ||||
| #include "color.h" | ||||
| #include "room.h" | ||||
| #include "global.h" | ||||
| #include "fileselect.h" | ||||
| #include "main.h" | ||||
| #include "physics.h" | ||||
| #include "structures.h" | ||||
| #include "gfx.h" | ||||
| 
 | ||||
| extern Palette gUnk_02001A3C; | ||||
| 
 | ||||
| void LoadObjPaletteAtIndex(u32 a1, u32 a2); | ||||
| void LoadObjPaletteAtIndex(u32 a1, u32 paletteIndex); | ||||
| void CleanUpObjPalettes(); | ||||
| u32 FindFreeObjPalette(u32); | ||||
| void SetEntityObjPalette(Entity*, s32); | ||||
|  | @ -238,21 +235,21 @@ void ChangeObjPalette(Entity* entity, u32 objPaletteId) { | |||
|     LoadObjPalette(entity, objPaletteId); | ||||
| } | ||||
| 
 | ||||
| void LoadObjPaletteAtIndex(u32 objPaletteId, u32 a2) { | ||||
| void LoadObjPaletteAtIndex(u32 objPaletteId, u32 paletteIndex) { | ||||
|     u16* buffer; | ||||
| 
 | ||||
|     gUsedPalettes |= 1 << (a2 + 16); | ||||
|     USE_PALETTE(paletteIndex + 16); | ||||
|     if (objPaletteId > 5) { | ||||
|         if (objPaletteId == 0x15) { | ||||
|             buffer = gPaletteBuffer; | ||||
|             MemFill16(buffer[0x3C], buffer + (a2 + 16) * 16, 0x20); | ||||
|             MemFill16(buffer[0x3C], buffer + (paletteIndex + 16) * 16, 0x20); | ||||
|         } else if (objPaletteId < 0x15) { | ||||
|             LoadPalettes((u8*)(gPaletteBuffer + (objPaletteId - 6) * 16), a2 + 16, 1); | ||||
|             LoadPalettes((u8*)(gPaletteBuffer + (objPaletteId - 6) * 16), paletteIndex + 16, 1); | ||||
|         } else { | ||||
|             u32 offset = gUnk_08133368[(objPaletteId - 0x16)].WORD_U; | ||||
|             u32 numPalettes = (offset >> 0x18) & 0xf; | ||||
|             offset &= 0xffffff; | ||||
|             LoadPalettes(gGlobalGfxAndPalettes + offset, a2 + 16, numPalettes); | ||||
|             LoadPalettes(&gGlobalGfxAndPalettes[offset], paletteIndex + 16, numPalettes); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  |  | |||
|  | @ -16,7 +16,6 @@ | |||
| #include "screen.h" | ||||
| #include "sound.h" | ||||
| #include "subtask.h" | ||||
| #include "structures.h" | ||||
| 
 | ||||
| extern u8 gUnk_03003DE0; | ||||
| extern u8 gzHeap[0x1000]; | ||||
|  | @ -244,7 +243,7 @@ void LoadPalettes(const u8* src, s32 destPaletteNum, s32 numPalettes) { | |||
|     u32 size = numPalettes * 32; | ||||
|     u32 usedPalettesMask = 1 << destPaletteNum; | ||||
|     while (--numPalettes > 0) { | ||||
|         usedPalettesMask |= (usedPalettesMask << 1); | ||||
|         usedPalettesMask |= usedPalettesMask << 1; | ||||
|     } | ||||
|     gUsedPalettes |= usedPalettesMask; | ||||
|     dest = &gPaletteBuffer[destPaletteNum * 16]; | ||||
|  | @ -253,7 +252,7 @@ void LoadPalettes(const u8* src, s32 destPaletteNum, s32 numPalettes) { | |||
| 
 | ||||
| void SetColor(u32 colorIndex, u32 color) { | ||||
|     gPaletteBuffer[colorIndex] = color; | ||||
|     gUsedPalettes |= 1 << (colorIndex / 16); | ||||
|     USE_PALETTE(colorIndex / 16); | ||||
| } | ||||
| 
 | ||||
| void SetFillColor(u32 color, u32 disable_layers) { | ||||
|  |  | |||
|  | @ -8,7 +8,6 @@ | |||
| #include "enemy.h" | ||||
| #include "fade.h" | ||||
| #include "fileselect.h" | ||||
| #include "structures.h" | ||||
| #include "game.h" | ||||
| #include "main.h" | ||||
| #include "menu.h" | ||||
|  |  | |||
|  | @ -13,7 +13,6 @@ | |||
| #include "screen.h" | ||||
| #include "sound.h" | ||||
| #include "save.h" | ||||
| #include "structures.h" | ||||
| 
 | ||||
| void sub_0805FA04(void); | ||||
| void sub_0805FA98(void); | ||||
|  |  | |||
|  | @ -16,7 +16,6 @@ | |||
| #include "menu.h" | ||||
| #include "sound.h" | ||||
| #include "affine.h" | ||||
| #include "structures.h" | ||||
| 
 | ||||
| void sub_080A30AC(void); | ||||
| void sub_080A2E40(void); | ||||
|  |  | |||
|  | @ -14,7 +14,7 @@ | |||
| #include "physics.h" | ||||
| #include "player.h" | ||||
| #include "tiles.h" | ||||
| #include "structures.h" | ||||
| #include "pauseMenu.h" | ||||
| #ifndef EU | ||||
| #include "vram.h" | ||||
| #endif | ||||
|  |  | |||
|  | @ -16,7 +16,7 @@ | |||
| #include "physics.h" | ||||
| #include "player.h" | ||||
| #include "screen.h" | ||||
| #include "structures.h" | ||||
| #include "pauseMenu.h" | ||||
| 
 | ||||
| typedef struct { | ||||
|     union SplitHWord unk0; | ||||
|  |  | |||
|  | @ -7,7 +7,6 @@ | |||
| #include "enemy.h" | ||||
| #include "screenTransitions.h" | ||||
| #include "script.h" | ||||
| #include "structures.h" | ||||
| #include "tiles.h" | ||||
| #include "player.h" | ||||
| #include "physics.h" | ||||
|  |  | |||
|  | @ -6,7 +6,7 @@ | |||
|  */ | ||||
| #include "enemy/octorokBoss.h" | ||||
| #include "collision.h" | ||||
| #include "structures.h" | ||||
| #include "pauseMenu.h" | ||||
| #include "game.h" | ||||
| #include "object.h" | ||||
| #include "asm.h" | ||||
|  |  | |||
|  | @ -12,7 +12,7 @@ | |||
| #include "physics.h" | ||||
| #include "player.h" | ||||
| #include "screen.h" | ||||
| #include "structures.h" | ||||
| #include "vram.h" | ||||
| 
 | ||||
| void sub_0802A39C(Entity*); | ||||
| void sub_0802A334(Entity*); | ||||
|  |  | |||
|  | @ -9,7 +9,7 @@ | |||
| #include "area.h" | ||||
| #include "common.h" | ||||
| #include "entity.h" | ||||
| #include "structures.h" | ||||
| #include "beanstalkSubtask.h" | ||||
| #include "game.h" | ||||
| #include "main.h" | ||||
| #include "object.h" | ||||
|  | @ -188,7 +188,7 @@ void Subtask_PortalCutscene_0(void) { | |||
|     LoadPaletteGroup(ptr->paletteGroup); | ||||
|     LoadGfxGroup(ptr->gfxGroup); | ||||
|     MemCopy(gPaletteBuffer + 3 * 16, gPaletteBuffer + 21 * 16, 16 * 2); | ||||
|     gUsedPalettes |= 1 << 21; | ||||
|     USE_PALETTE(21); | ||||
|     EraseAllEntities(); | ||||
|     LoadRoomEntityList(gUnk_080D4110[portalId]); | ||||
|     ClearEventPriority(); | ||||
|  |  | |||
|  | @ -6,7 +6,6 @@ | |||
| #include "npc.h" | ||||
| #include "vram.h" | ||||
| #include "script.h" | ||||
| #include "structures.h" | ||||
| #include "room.h" | ||||
| #include "player.h" | ||||
| #include "physics.h" | ||||
|  |  | |||
							
								
								
									
										10
									
								
								src/fade.c
								
								
								
								
							
							
						
						
									
										10
									
								
								src/fade.c
								
								
								
								
							|  | @ -1,6 +1,6 @@ | |||
| #include "global.h" | ||||
| #include "save.h" | ||||
| #include "structures.h" | ||||
| #include "vram.h" | ||||
| #include "screen.h" | ||||
| #include "common.h" | ||||
| 
 | ||||
|  | @ -8,7 +8,13 @@ static u32 sub_080501C0(FadeControl* ctl); | |||
| static u32 sub_08050230(FadeControl* ctl); | ||||
| static u32 sub_080502A4(FadeControl* ctl); | ||||
| 
 | ||||
| extern u32 gUsedPalettes; | ||||
| typedef struct { | ||||
|     u8 unk0; | ||||
|     u8 unk1; | ||||
|     u16 unk2; | ||||
| } struct_020354C0; | ||||
| extern struct_020354C0 gUnk_020354C0[0x20]; | ||||
| 
 | ||||
| extern u16 gPaletteBuffer[]; | ||||
| extern u16 gUnk_080FC3C4[]; | ||||
| 
 | ||||
|  |  | |||
|  | @ -24,7 +24,7 @@ | |||
| #include "subtask.h" | ||||
| #include "ui.h" | ||||
| #include "affine.h" | ||||
| #include "structures.h" | ||||
| #include "gfx.h" | ||||
| 
 | ||||
| // copy, erase, start
 | ||||
| #define NUM_FILE_OPERATIONS 3 | ||||
|  |  | |||
|  | @ -12,7 +12,6 @@ | |||
| #include "common.h" | ||||
| #include "entity.h" | ||||
| #include "fileselect.h" | ||||
| #include "structures.h" | ||||
| #include "main.h" | ||||
| #include "manager/diggingCaveEntranceManager.h" | ||||
| #include "message.h" | ||||
|  | @ -23,6 +22,7 @@ | |||
| #include "sound.h" | ||||
| #include "ui.h" | ||||
| #include "beanstalkSubtask.h" | ||||
| #include "pauseMenu.h" | ||||
| 
 | ||||
| // Game task
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -23,7 +23,7 @@ | |||
| #include "ui.h" | ||||
| #include "subtask.h" | ||||
| #include "beanstalkSubtask.h" | ||||
| #include "structures.h" | ||||
| #include "pauseMenu.h" | ||||
| 
 | ||||
| u32 StairsAreValid(void); | ||||
| void ClearFlagArray(const u16*); | ||||
|  | @ -828,7 +828,7 @@ void sub_080533CC(void) { | |||
|     *p2++ = *p1++; | ||||
|     *p2++ = *p1++; | ||||
|     *p2++ = *p1++; | ||||
|     gUsedPalettes |= 1 << 3; | ||||
|     USE_PALETTE(3); | ||||
| } | ||||
| 
 | ||||
| void UpdateTimerCallbacks(void) { | ||||
|  |  | |||
|  | @ -10,7 +10,6 @@ | |||
| #include "save.h" | ||||
| #include "screen.h" | ||||
| #include "sound.h" | ||||
| #include "structures.h" | ||||
| #include "ui.h" | ||||
| #include "asm.h" | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| #include "structures.h" | ||||
| #include "pauseMenu.h" | ||||
| #include "item.h" | ||||
| #include "sound.h" | ||||
| 
 | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| #include "item.h" | ||||
| #include "playeritem.h" | ||||
| #include "sound.h" | ||||
| #include "structures.h" | ||||
| #include "ui.h" | ||||
| #include "room.h" | ||||
| 
 | ||||
| u32 sub_08077F64(ItemBehavior* arg0, u32 index); | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| #include "itemDefinitions.h" | ||||
| #include "item.h" | ||||
| #include "playeritem.h" | ||||
| #include "structures.h" | ||||
| 
 | ||||
| const ItemDefinition gItemDefinitions[] = { | ||||
|     [ITEM_NONE] = { TRUE, 1, CREATE_ITEM_0, PLAYER_ITEM_NONE, 0, 0, FALSE, FALSE }, | ||||
|  |  | |||
|  | @ -16,7 +16,7 @@ | |||
| #include "player.h" | ||||
| #include "enemy.h" | ||||
| #include "message.h" | ||||
| #include "structures.h" | ||||
| #include "ui.h" | ||||
| 
 | ||||
| const Wallet gWalletSizes[] = { | ||||
|     { 100, 0xf060 }, | ||||
|  |  | |||
|  | @ -12,7 +12,6 @@ | |||
| #include "save.h" | ||||
| #include "screen.h" | ||||
| #include "sound.h" | ||||
| #include "structures.h" | ||||
| 
 | ||||
| extern u32 gRand; | ||||
| 
 | ||||
|  |  | |||
|  | @ -12,7 +12,6 @@ | |||
| #include "scroll.h" | ||||
| #include "tiles.h" | ||||
| #ifndef  EU | ||||
| #include "structures.h" | ||||
| #endif | ||||
| 
 | ||||
| void DiggingCaveEntranceManager_Main(DiggingCaveEntranceManager*); | ||||
|  |  | |||
|  | @ -11,7 +11,7 @@ | |||
| #include "game.h" | ||||
| #include "message.h" | ||||
| #include "screen.h" | ||||
| #include "structures.h" | ||||
| #include "vram.h" | ||||
| 
 | ||||
| const u16 gUnk_08108DE8[] = { 0,     0x70b, 0x70c, 0x70d, 0x70e, 0x70f, 0x710, 0x711, 0x712, 0x713, 0x714, | ||||
|                               0x715, 0x716, 0x717, 0x718, 0x719, 0x71a, 0x71b, 0x71c, 0x71d, 0x71e, 0x71f, | ||||
|  |  | |||
|  | @ -15,7 +15,7 @@ | |||
| #include "game.h" | ||||
| #include "manager/lightManager.h" | ||||
| #include "assets/gfx_offsets.h" | ||||
| #include "structures.h" | ||||
| #include "gfx.h" | ||||
| 
 | ||||
| typedef enum { | ||||
|     HOLE_TRANSITION_ABSOLUTE, | ||||
|  |  | |||
|  | @ -8,7 +8,7 @@ | |||
| #include "common.h" | ||||
| #include "screen.h" | ||||
| #include "game.h" | ||||
| #include "structures.h" | ||||
| #include "vram.h" | ||||
| #include "room.h" | ||||
| 
 | ||||
| void sub_08057F20(HorizontalMinishPathBackgroundManager*); | ||||
|  |  | |||
|  | @ -12,7 +12,6 @@ | |||
| #include "main.h" | ||||
| #include "screen.h" | ||||
| #include "game.h" | ||||
| #include "structures.h" | ||||
| #include "player.h" | ||||
| #include "physics.h" | ||||
| 
 | ||||
|  |  | |||
|  | @ -8,7 +8,7 @@ | |||
| #include "common.h" | ||||
| #include "room.h" | ||||
| #include "game.h" | ||||
| #include "structures.h" | ||||
| #include "vram.h" | ||||
| 
 | ||||
| void MinishRaftersBackgroundManager_OnEnterRoom(MinishRaftersBackgroundManager*); | ||||
| void sub_08058210(MinishRaftersBackgroundManager*); | ||||
|  |  | |||
|  | @ -10,7 +10,8 @@ | |||
| #include "main.h" | ||||
| #include "game.h" | ||||
| #include "assets/gfx_offsets.h" | ||||
| #include "structures.h" | ||||
| #include "pauseMenu.h" | ||||
| #include "gfx.h" | ||||
| 
 | ||||
| void MinishVillageTileSetManager_OnEnterRoom(void*); | ||||
| bool32 MinishVillageTileSetManager_UpdateRoomGfxGroup(MinishVillageTileSetManager*); | ||||
|  |  | |||
|  | @ -261,7 +261,7 @@ void RollingBarrelManager_OnEnterRoom(void) { | |||
|     u32 tmp2; | ||||
|     LoadPaletteGroup(0x28); | ||||
|     MemCopy(gPaletteBuffer + 3 * 16, gPaletteBuffer + 21 * 16, 16 * 2); | ||||
|     gUsedPalettes |= 1 << 21; | ||||
|     USE_PALETTE(21); | ||||
|     LoadGfxGroup(0x16); | ||||
|     tmp = gScreen.lcd.displayControl; | ||||
|     tmp2 = 0; | ||||
|  |  | |||
|  | @ -10,7 +10,6 @@ | |||
| #include "entity.h" | ||||
| #include "flags.h" | ||||
| #include "sound.h" | ||||
| #include "structures.h" | ||||
| 
 | ||||
| void SecretManager_Type0_Action2(SecretManager*); | ||||
| void SecretManager_Type0(SecretManager*); | ||||
|  |  | |||
|  | @ -14,7 +14,8 @@ | |||
| #include "screen.h" | ||||
| #include "sound.h" | ||||
| #include "game.h" | ||||
| #include "structures.h" | ||||
| #include "vram.h" | ||||
| #include "pauseMenu.h" | ||||
| 
 | ||||
| static const u16 gUnk_081085B8[] = { 0x1008, 0x1007, 0x1006, 0x1005, 0x1006, 0x1007, 0x1008, 0x1009, | ||||
|                                      0x1008, 0x1007, 0x1006, 0x1005, 0x1006, 0x1007, 0x1008, 0x1009 }; | ||||
|  |  | |||
|  | @ -7,7 +7,6 @@ | |||
| #include "manager/vaati3InsideArmManager.h" | ||||
| #include "screenTransitions.h" | ||||
| #include "sound.h" | ||||
| #include "structures.h" | ||||
| 
 | ||||
| void sub_0805DBF0(Vaati3InsideArmManager*); | ||||
| void Vaati3InsideArmManager_Init(Vaati3InsideArmManager*); | ||||
|  |  | |||
|  | @ -15,7 +15,6 @@ | |||
| #include "game.h" | ||||
| #include "manager/staticBackgroundManager.h" | ||||
| #include "player.h" | ||||
| #include "structures.h" | ||||
| 
 | ||||
| void WeatherChangeManager_OnEnterRoom(WeatherChangeManager*); | ||||
| void sub_08059608(WeatherChangeManager*); | ||||
|  |  | |||
|  | @ -8,7 +8,6 @@ | |||
| 
 | ||||
| #include "common.h" | ||||
| #include "flags.h" | ||||
| #include "structures.h" | ||||
| #include "game.h" | ||||
| #include "main.h" | ||||
| #include "menu.h" | ||||
|  | @ -23,6 +22,7 @@ | |||
| #include "subtask.h" | ||||
| #include "ui.h" | ||||
| #include "affine.h" | ||||
| #include "pauseMenu.h" | ||||
| 
 | ||||
| void sub_080A4DA8(u32); | ||||
| void sub_080A4B44(void); | ||||
|  |  | |||
|  | @ -8,7 +8,6 @@ | |||
| #include "common.h" | ||||
| #include "enemy.h" | ||||
| #include "flags.h" | ||||
| #include "structures.h" | ||||
| #include "kinstone.h" | ||||
| #include "main.h" | ||||
| #include "menu.h" | ||||
|  |  | |||
|  | @ -17,7 +17,6 @@ | |||
| #include "save.h" | ||||
| #include "screen.h" | ||||
| #include "sound.h" | ||||
| #include "structures.h" | ||||
| #include "subtask.h" | ||||
| #include "ui.h" | ||||
| #include "affine.h" | ||||
|  | @ -1074,7 +1073,7 @@ void PauseMenu_Screen_5(void) { | |||
|         paletteColor = *gUnk_02017830; | ||||
|         MemCopy(gUnk_02017830 + 1, gUnk_02017830, 7 * 2); | ||||
|         gUnk_02017830[7] = paletteColor; | ||||
|         gUsedPalettes |= 1 << 12; | ||||
|         USE_PALETTE(12); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -13,7 +13,6 @@ | |||
| #include "save.h" | ||||
| #include "screen.h" | ||||
| #include "affine.h" | ||||
| #include "structures.h" | ||||
| 
 | ||||
| typedef struct { | ||||
|     u8 unk0; | ||||
|  |  | |||
|  | @ -6,7 +6,7 @@ | |||
| #include "message.h" | ||||
| #include "save.h" | ||||
| #include "ui.h" | ||||
| #include "structures.h" | ||||
| #include "vram.h" | ||||
| 
 | ||||
| #define MESSAGE_ADVANCE_KEYS (A_BUTTON | B_BUTTON | DPAD_ANY | R_BUTTON) | ||||
| #define MESSAGE_PRESS_ANY_ADVANCE_KEYS ((gInput.newKeys & MESSAGE_ADVANCE_KEYS) != 0) | ||||
|  |  | |||
|  | @ -11,7 +11,6 @@ | |||
| #include "npc.h" | ||||
| #include "room.h" | ||||
| #include "script.h" | ||||
| #include "structures.h" | ||||
| 
 | ||||
| typedef struct { | ||||
|     Rect customHitbox; | ||||
|  |  | |||
|  | @ -12,7 +12,6 @@ | |||
| #include "save.h" | ||||
| #include "script.h" | ||||
| #include "asm.h" | ||||
| #include "structures.h" | ||||
| 
 | ||||
| void sub_0806BFD8(Entity* this); | ||||
| 
 | ||||
|  |  | |||
|  | @ -10,7 +10,7 @@ | |||
| #include "save.h" | ||||
| #include "script.h" | ||||
| #include "screen.h" | ||||
| #include "structures.h" | ||||
| #include "beanstalkSubtask.h" | ||||
| #include "physics.h" | ||||
| 
 | ||||
| typedef struct { | ||||
|  |  | |||
|  | @ -13,7 +13,6 @@ | |||
| #include "save.h" | ||||
| #include "script.h" | ||||
| #include "physics.h" | ||||
| #include "structures.h" | ||||
| 
 | ||||
| typedef struct { | ||||
|     /*0x00*/ Entity base; | ||||
|  |  | |||
|  | @ -8,7 +8,7 @@ | |||
| #include "message.h" | ||||
| #include "npc.h" | ||||
| #include "player.h" | ||||
| #include "structures.h" | ||||
| #include "pauseMenu.h" | ||||
| #include "room.h" | ||||
| #include "physics.h" | ||||
| 
 | ||||
|  |  | |||
|  | @ -6,7 +6,6 @@ | |||
|  */ | ||||
| #include "entity.h" | ||||
| #include "flags.h" | ||||
| #include "structures.h" | ||||
| #include "game.h" | ||||
| #include "hitbox.h" | ||||
| #include "item.h" | ||||
|  |  | |||
|  | @ -13,7 +13,6 @@ | |||
| #include "asm.h" | ||||
| #include "message.h" | ||||
| #include "physics.h" | ||||
| #include "structures.h" | ||||
| 
 | ||||
| typedef struct { | ||||
|     /*0x00*/ Entity base; | ||||
|  |  | |||
|  | @ -12,7 +12,6 @@ | |||
| #include "message.h" | ||||
| #include "script.h" | ||||
| #include "asm.h" | ||||
| #include "structures.h" | ||||
| #include "room.h" | ||||
| 
 | ||||
| typedef struct { | ||||
|  |  | |||
|  | @ -11,7 +11,6 @@ | |||
| #include "player.h" | ||||
| #include "save.h" | ||||
| #include "script.h" | ||||
| #include "structures.h" | ||||
| 
 | ||||
| void SmallTownMinish(Entity* this) { | ||||
|     static const Hitbox gUnk_081142FC = { -2, 1, { 0, 0, 0, 0 }, 6, 6 }; | ||||
|  |  | |||
|  | @ -13,7 +13,6 @@ | |||
| #include "message.h" | ||||
| #include "script.h" | ||||
| #include "asm.h" | ||||
| #include "structures.h" | ||||
| 
 | ||||
| typedef struct { | ||||
|     /*0x00*/ Entity base; | ||||
|  |  | |||
|  | @ -18,7 +18,6 @@ | |||
| #include "save.h" | ||||
| #include "subtask.h" | ||||
| #ifndef EU | ||||
| #include "structures.h" | ||||
| #endif | ||||
| 
 | ||||
| #ifndef EU | ||||
|  |  | |||
|  | @ -14,7 +14,6 @@ | |||
| #include "message.h" | ||||
| #include "save.h" | ||||
| #include "script.h" | ||||
| #include "structures.h" | ||||
| 
 | ||||
| typedef struct { | ||||
|     /*0x00*/ Entity base; | ||||
|  |  | |||
|  | @ -19,7 +19,7 @@ | |||
| #include "object/cutsceneOrchestrator.h" | ||||
| #include "save.h" | ||||
| #include "subtask.h" | ||||
| #include "structures.h" | ||||
| #include "pauseMenu.h" | ||||
| 
 | ||||
| typedef struct { | ||||
|     /*0x00*/ Entity base; | ||||
|  |  | |||
|  | @ -10,7 +10,6 @@ | |||
| #include "kinstone.h" | ||||
| #include "message.h" | ||||
| #include "vram.h" | ||||
| #include "structures.h" | ||||
| 
 | ||||
| // typedef struct {
 | ||||
| //     Entity base;
 | ||||
|  |  | |||
|  | @ -15,7 +15,7 @@ | |||
| #include "screen.h" | ||||
| #include "tiles.h" | ||||
| #include "manager/lightManager.h" | ||||
| #include "structures.h" | ||||
| #include "pauseMenu.h" | ||||
| #include "beanstalkSubtask.h" | ||||
| 
 | ||||
| typedef struct { | ||||
|  |  | |||
|  | @ -11,7 +11,7 @@ | |||
| #include "room.h" | ||||
| #include "physics.h" | ||||
| #include "player.h" | ||||
| #include "structures.h" | ||||
| #include "pauseMenu.h" | ||||
| 
 | ||||
| typedef struct { | ||||
|     /*0x00*/ Entity base; | ||||
|  |  | |||
|  | @ -14,7 +14,7 @@ | |||
| #include "physics.h" | ||||
| #include "player.h" | ||||
| #include "tiles.h" | ||||
| #include "structures.h" | ||||
| #include "ui.h" | ||||
| 
 | ||||
| typedef struct { | ||||
|     /*0x00*/ Entity base; | ||||
|  |  | |||
|  | @ -13,7 +13,7 @@ | |||
| #include "flags.h" | ||||
| #include "physics.h" | ||||
| #include "player.h" | ||||
| #include "structures.h" | ||||
| #include "gfx.h" | ||||
| 
 | ||||
| typedef struct { | ||||
|     /*0x00*/ Entity base; | ||||
|  |  | |||
|  | @ -10,7 +10,7 @@ | |||
| #include "message.h" | ||||
| #include "scroll.h" | ||||
| #include "asm.h" | ||||
| #include "structures.h" | ||||
| #include "ui.h" | ||||
| #include "room.h" | ||||
| #include "player.h" | ||||
| 
 | ||||
|  |  | |||
|  | @ -11,7 +11,7 @@ | |||
| #include "player.h" | ||||
| #include "object/linkAnimation.h" | ||||
| #include "item.h" | ||||
| #include "structures.h" | ||||
| #include "pauseMenu.h" | ||||
| 
 | ||||
| typedef enum { | ||||
|     ITEMGET_INIT, | ||||
|  |  | |||
|  | @ -9,7 +9,7 @@ | |||
| #include "object.h" | ||||
| #include "room.h" | ||||
| #include "sound.h" | ||||
| #include "structures.h" | ||||
| #include "beanstalkSubtask.h" | ||||
| 
 | ||||
| void MacroMushroomStalk_Init(Entity*); | ||||
| void MacroMushroomStalk_Action1(Entity*); | ||||
|  |  | |||
|  | @ -11,7 +11,7 @@ | |||
| #include "asm.h" | ||||
| #include "physics.h" | ||||
| #include "player.h" | ||||
| #include "structures.h" | ||||
| #include "beanstalkSubtask.h" | ||||
| 
 | ||||
| typedef struct { | ||||
|     Entity base; | ||||
|  |  | |||
|  | @ -10,7 +10,6 @@ | |||
| #include "common.h" | ||||
| #include "room.h" | ||||
| #include "screen.h" | ||||
| #include "structures.h" | ||||
| 
 | ||||
| typedef struct { | ||||
|     /*0x00*/ Entity base; | ||||
|  |  | |||
|  | @ -14,7 +14,7 @@ | |||
| #include "beanstalkSubtask.h" | ||||
| #include "manager/lightManager.h" | ||||
| #include "effects.h" | ||||
| #include "structures.h" | ||||
| #include "pauseMenu.h" | ||||
| 
 | ||||
| typedef struct { | ||||
|     /*0x00*/ Entity base; | ||||
|  |  | |||
|  | @ -6,7 +6,6 @@ | |||
|  */ | ||||
| #include "effects.h" | ||||
| #include "entity.h" | ||||
| #include "structures.h" | ||||
| #include "save.h" | ||||
| #include "script.h" | ||||
| #include "sound.h" | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
| #include "asm.h" | ||||
| #include "effects.h" | ||||
| #include "player.h" | ||||
| #include "structures.h" | ||||
| #include "pauseMenu.h" | ||||
| #include "definitions.h" | ||||
| #include "vram.h" | ||||
| #include "object/linkAnimation.h" | ||||
|  |  | |||
|  | @ -557,7 +557,7 @@ void sub_0806FEBC(Entity* ent, u32 param_2, Entity* param_3) { | |||
|     *((u32*)ptr) = 0; | ||||
|     ptr->unk_04.WORD = 0; | ||||
|     ptr->unk_08.WORD = 0; | ||||
|     ptr->unk_0C = (u32)param_3; | ||||
|     ptr->unk_0C = param_3; | ||||
|     ptr->unk_00.unk0 = 1; | ||||
|     ptr->unk_00.unk1 = 1; | ||||
| } | ||||
|  | @ -647,9 +647,9 @@ void sub_0807000C(Entity* this) { | |||
| } | ||||
| 
 | ||||
| static bool32 sub_0807007C(struct_gUnk_020000C0* this, u32 param_2) { | ||||
|     u8* ptr2; | ||||
|     u8* ptr3; | ||||
|     u32* spritePtr; | ||||
|     SpriteFrame* frames; | ||||
|     SpriteFrame* frame; | ||||
|     const SpritePtr* spritePtr; | ||||
|     struct_gUnk_020000C0_1* ptr1 = &this->unk_00[param_2]; | ||||
|     if ((ptr1->unk_00.unk3) == 0) | ||||
|         return 0; | ||||
|  | @ -658,14 +658,14 @@ static bool32 sub_0807007C(struct_gUnk_020000C0* this, u32 param_2) { | |||
|     if (ptr1->unk_01 == 0xff) | ||||
|         return 0; | ||||
| 
 | ||||
|     spritePtr = &((u32*)gSpritePtrs)[ptr1->unk_02 * 4]; | ||||
|     ptr2 = (u8*)(spritePtr[1]); | ||||
|     if (ptr2 == 0) | ||||
|     spritePtr = &gSpritePtrs[ptr1->unk_02]; | ||||
|     frames = spritePtr->frames; | ||||
|     if (frames == 0) | ||||
|         return 0; | ||||
| 
 | ||||
|     ptr3 = &ptr2[ptr1->unk_01 * 4]; | ||||
|     ptr1->unk_08.BYTES.byte1 = *ptr3; | ||||
|     ptr1->unk_0C = spritePtr[2] + ((*(u16*)&ptr3[2]) << 5); | ||||
|     frame = &frames[ptr1->unk_01]; | ||||
|     ptr1->unk_08.BYTES.byte1 = frame->numTiles; | ||||
|     ptr1->unk_0C = spritePtr->ptr + (frame->firstTileIndex << 5); | ||||
|     return 1; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -29,7 +29,8 @@ | |||
| #include "scroll.h" | ||||
| #include "sound.h" | ||||
| #include "tiles.h" | ||||
| #include "structures.h" | ||||
| #include "ui.h" | ||||
| #include "pauseMenu.h" | ||||
| 
 | ||||
| #define kGravityRate Q_8_8(32) | ||||
| #define kWalkSpeedSlopeSubtractor Q_8_8(0.3125) | ||||
|  |  | |||
|  | @ -8,7 +8,7 @@ | |||
| #include "entity.h" | ||||
| #include "save.h" | ||||
| #include "sound.h" | ||||
| #include "structures.h" | ||||
| #include "pauseMenu.h" | ||||
| #include "vram.h" | ||||
| #include "asm.h" | ||||
| 
 | ||||
|  |  | |||
|  | @ -26,6 +26,8 @@ | |||
| #include "tileMap.h" | ||||
| #include "tiles.h" | ||||
| #include "backgroundAnimations.h" | ||||
| #include "itemDefinitions.h" | ||||
| #include "ui.h" | ||||
| 
 | ||||
| static void sub_08077E54(ItemBehavior* this); | ||||
| 
 | ||||
|  | @ -3817,18 +3819,18 @@ void LoadRoomTileSet(void) { | |||
|     MemFill16(0xffff, gMapTop.tileTypes, 0x1000); | ||||
|     gMapTop.tileTypes[0] = 0; | ||||
| 
 | ||||
|     if ((void*)gRoomControls.tileSet != (gArea.pCurrentRoomInfo)->tileSet) { | ||||
|         gRoomControls.tileSet = (u32)(gArea.pCurrentRoomInfo)->tileSet; | ||||
|         LoadMapData((gArea.pCurrentRoomInfo)->tileSet); | ||||
|     if ((void*)gRoomControls.tileSet != gArea.pCurrentRoomInfo->tileSet) { | ||||
|         gRoomControls.tileSet = (u32)gArea.pCurrentRoomInfo->tileSet; | ||||
|         LoadMapData(gArea.pCurrentRoomInfo->tileSet); | ||||
|     } | ||||
| 
 | ||||
|     LoadMapData((gArea.pCurrentRoomInfo)->tiles); | ||||
|     LoadMapData(gArea.pCurrentRoomInfo->tiles); | ||||
|     paletteBuffer = gPaletteBuffer; | ||||
|     MemCopy(&paletteBuffer[0x30], &paletteBuffer[0x150], 0x20); | ||||
|     gUsedPalettes |= 0x200000; | ||||
|     USE_PALETTE(21); | ||||
| 
 | ||||
|     if ((gArea.pCurrentRoomInfo)->bg_anim != NULL) { | ||||
|         LoadBgAnimations((gArea.pCurrentRoomInfo)->bg_anim); | ||||
|     if (gArea.pCurrentRoomInfo->bg_anim != NULL) { | ||||
|         LoadBgAnimations(gArea.pCurrentRoomInfo->bg_anim); | ||||
|     } | ||||
| 
 | ||||
|     tileTypes = gMapBottom.tileTypes; | ||||
|  |  | |||
|  | @ -19,7 +19,7 @@ | |||
| #include "ui.h" | ||||
| #include "save.h" | ||||
| #include "subtask.h" | ||||
| #include "structures.h" | ||||
| #include "pauseMenu.h" | ||||
| 
 | ||||
| void InitScriptExecutionContext(ScriptExecutionContext* context, Script* script); | ||||
| void sub_0807DE80(Entity*); | ||||
|  |  | |||
|  | @ -16,7 +16,6 @@ | |||
| #include "physics.h" | ||||
| #include "player.h" | ||||
| #include "screen.h" | ||||
| #include "structures.h" | ||||
| #include "tileMap.h" | ||||
| #include "tiles.h" | ||||
| 
 | ||||
|  |  | |||
|  | @ -15,7 +15,6 @@ | |||
| #include "screen.h" | ||||
| #include "subtask.h" | ||||
| #include "sound.h" | ||||
| #include "structures.h" | ||||
| 
 | ||||
| typedef struct { | ||||
|     /*0x00*/ Menu base; | ||||
|  | @ -32,6 +31,23 @@ typedef struct { | |||
| } StaffrollMenu; | ||||
| #define gStaffrollMenu (*(StaffrollMenu*)&gMenu) | ||||
| 
 | ||||
| typedef struct { | ||||
|     /*0x0*/ u8 menuType; | ||||
|     /*0x1*/ u16 font; | ||||
|     /*0x3*/ u8 unk_3; // TODO padding?
 | ||||
|     /*0x4*/ u16 transitionTimer; | ||||
|     /*0x6*/ u16 gfxEntry; | ||||
|     /*0x8*/ u16 bg2XOffset; | ||||
|     /*0xa*/ u16 sm_unk_14; | ||||
| } PACKED StaffrollEntry; | ||||
| 
 | ||||
| static_assert(sizeof(StaffrollEntry) == 0xc); | ||||
| 
 | ||||
| typedef struct { | ||||
|     u8 paletteGroup; | ||||
|     u8 gfxGroup; | ||||
| } PACKED StaffrollGfxEntry; | ||||
| 
 | ||||
| const Font gUnk_08127280 = { | ||||
|     &gBG1Buffer[0x21], BG_TILE_ADDR(0x188), gTextGfxBuffer, 0, 61472, 240, 0, 0, 0, 0, 0, 5, 0, 1, 0 | ||||
| }; | ||||
|  |  | |||
|  | @ -10,7 +10,7 @@ | |||
| #include "ui.h" | ||||
| #include "windcrest.h" | ||||
| #include "affine.h" | ||||
| #include "structures.h" | ||||
| #include "beanstalkSubtask.h" | ||||
| 
 | ||||
| extern Screen gUnk_03001020; | ||||
| extern u8 gPaletteBufferBackup[]; | ||||
|  |  | |||
|  | @ -6,7 +6,6 @@ | |||
| #include "area.h" | ||||
| #include "asm.h" | ||||
| #include "common.h" | ||||
| #include "structures.h" | ||||
| #include "game.h" | ||||
| #include "main.h" | ||||
| #include "menu.h" | ||||
|  |  | |||
|  | @ -12,7 +12,7 @@ | |||
| #include "save.h" | ||||
| #include "affine.h" | ||||
| #include "asm.h" | ||||
| #include "structures.h" | ||||
| #include "pauseMenu.h" | ||||
| 
 | ||||
| extern void (*const Subtask_FastTravel_Functions[])(void); | ||||
| void sub_080A6E70(void); | ||||
|  |  | |||
|  | @ -12,7 +12,7 @@ | |||
| #include "sound.h" | ||||
| #include "common.h" | ||||
| #include "affine.h" | ||||
| #include "structures.h" | ||||
| #include "vram.h" | ||||
| 
 | ||||
| void Subtask_LocalMapHint() { | ||||
|     extern void (*const gUnk_08128F1C[])(void); | ||||
|  |  | |||
|  | @ -1,6 +1,5 @@ | |||
| #include "global.h" | ||||
| #include "common.h" | ||||
| #include "structures.h" | ||||
| #include "asm.h" | ||||
| #include "enemy.h" | ||||
| #include "message.h" | ||||
|  |  | |||
|  | @ -14,7 +14,6 @@ | |||
| #include "room.h" | ||||
| #include "player.h" | ||||
| #include "message.h" | ||||
| #include "structures.h" | ||||
| #include "save.h" | ||||
| #include "game.h" | ||||
| #include "affine.h" | ||||
|  |  | |||
							
								
								
									
										4
									
								
								src/ui.c
								
								
								
								
							
							
						
						
									
										4
									
								
								src/ui.c
								
								
								
								
							|  | @ -1,3 +1,4 @@ | |||
| #include "ui.h" | ||||
| #include "area.h" | ||||
| #include "common.h" | ||||
| #include "game.h" | ||||
|  | @ -9,6 +10,7 @@ | |||
| #include "screen.h" | ||||
| #include "sound.h" | ||||
| #include "affine.h" | ||||
| #include "vram.h" | ||||
| #include "structures.h" | ||||
| 
 | ||||
| extern void sub_0805ECEC(u32, u32, u32, u32); | ||||
|  | @ -609,7 +611,7 @@ void sub_0801CAFC(UIElement* element, u32 frameIndex) { | |||
| 
 | ||||
| void sub_0801CB20(UIElement* element, UIElementDefinition* definition) { | ||||
|     if (definition->unk_e == 0) { | ||||
|         SpritePtr* ptr = &gSpritePtrs[definition->spriteIndex]; | ||||
|         const SpritePtr* ptr = &gSpritePtrs[definition->spriteIndex]; | ||||
|         SpriteFrame* frame = &ptr->frames[element->frameIndex]; | ||||
|         u32* firstTile = (u32*)(ptr->ptr + frame->firstTileIndex * 0x20); | ||||
|         u8 numTiles = frame->numTiles; | ||||
|  |  | |||
|  | @ -1,7 +1,7 @@ | |||
| #include "common.h" | ||||
| #include "fileselect.h" | ||||
| #include "vram.h" | ||||
| #include "structures.h" | ||||
| #include "gfx.h" | ||||
| 
 | ||||
| extern u32 gFixedTypeGfxData[]; | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Henny022p
						Henny022p