mirror of https://github.com/zeldaret/tmc.git
				
				
				
			
		
			
				
	
	
		
			146 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			146 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C
		
	
	
	
#ifndef COMMON_H
 | 
						|
#define COMMON_H
 | 
						|
 | 
						|
#include "global.h"
 | 
						|
 | 
						|
struct Entity_;
 | 
						|
 | 
						|
/**
 | 
						|
 * Holds input information from system registers.
 | 
						|
 */
 | 
						|
typedef struct {
 | 
						|
    u16 heldKeys; /**< Keys held since last frame. */
 | 
						|
    u16 newKeys;  /** Keys newly pressed this frame. */
 | 
						|
    u16 unk4;
 | 
						|
    u8 unk6;
 | 
						|
    u8 unk7;
 | 
						|
} Input;
 | 
						|
extern Input gInput; /**< Input instance. */
 | 
						|
 | 
						|
typedef struct {
 | 
						|
    u8 evt_type;
 | 
						|
    u8 entity_idx;
 | 
						|
    u8 _2;
 | 
						|
    u8 _3;
 | 
						|
    u16 _4;
 | 
						|
    u16 _6;
 | 
						|
    u16 x;
 | 
						|
    u16 y;
 | 
						|
    u16 _c;
 | 
						|
    u16 _e;
 | 
						|
    u8 _10;
 | 
						|
    u8 _11;
 | 
						|
    u16 flag;
 | 
						|
} struct_080FE320;
 | 
						|
extern struct_080FE320 gUnk_080FE320[];
 | 
						|
 | 
						|
void LoadPalettes(const u8*, s32, s32);
 | 
						|
 | 
						|
/**
 | 
						|
 * Loads a packed group of palettes.
 | 
						|
 *
 | 
						|
 * @param group Group number.
 | 
						|
 */
 | 
						|
void LoadPaletteGroup(u32 group);
 | 
						|
 | 
						|
/**
 | 
						|
 * Loads a packed group of tiles.
 | 
						|
 *
 | 
						|
 * @param group Group number.
 | 
						|
 */
 | 
						|
void LoadGfxGroup(u32 group);
 | 
						|
 | 
						|
/**
 | 
						|
 * Set color in the palette.
 | 
						|
 *
 | 
						|
 * @param colorIndex Color index.
 | 
						|
 * @param color Color.
 | 
						|
 */
 | 
						|
void SetColor(u32 colorIndex, u32 color);
 | 
						|
 | 
						|
void SetFillColor(u32 color, u32 arg1);
 | 
						|
 | 
						|
/**
 | 
						|
 * Fill memory with 16 bit value.
 | 
						|
 *
 | 
						|
 * @param value Fill value.
 | 
						|
 * @param dest Destination.
 | 
						|
 * @param size Byte count.
 | 
						|
 */
 | 
						|
void MemFill16(u32 value, void* dest, u32 size);
 | 
						|
 | 
						|
/**
 | 
						|
 * Fill memory with 32 bit value.
 | 
						|
 *
 | 
						|
 * @param value Fill value.
 | 
						|
 * @param dest Destination.
 | 
						|
 * @param size Byte count.
 | 
						|
 */
 | 
						|
void MemFill32(u32 value, void* dest, u32 size);
 | 
						|
 | 
						|
/**
 | 
						|
 * Clear memory.
 | 
						|
 *
 | 
						|
 * @param dest Destination
 | 
						|
 * @param size Byte count.
 | 
						|
 */
 | 
						|
void MemClear(void* dest, u32 size);
 | 
						|
 | 
						|
/**
 | 
						|
 * Copy memory.
 | 
						|
 *
 | 
						|
 * @param src Source.
 | 
						|
 * @param dest Destination.
 | 
						|
 * @param size Byte count.
 | 
						|
 */
 | 
						|
void MemCopy(const void* src, void* dest, u32 size);
 | 
						|
 | 
						|
/**
 | 
						|
 * Refresh #gInput from system registers.
 | 
						|
 */
 | 
						|
void ReadKeyInput(void);
 | 
						|
 | 
						|
/**
 | 
						|
 * Initialize the heap.
 | 
						|
 */
 | 
						|
void zMallocInit(void);
 | 
						|
 | 
						|
/**
 | 
						|
 * Allocate memory on heap.
 | 
						|
 *
 | 
						|
 * The heap size is 0x1000 bytes and should be used sparingly.
 | 
						|
 * It is customary for entities store the returned pointer in the Entity.myHeap field.
 | 
						|
 *
 | 
						|
 * @param size u32 Size to be allocated.
 | 
						|
 * @return Pointer to allocated memory.
 | 
						|
 */
 | 
						|
void* zMalloc(u32 size);
 | 
						|
 | 
						|
/**
 | 
						|
 * Free memory from heap.
 | 
						|
 * The Entity system will automatically free the pointer stored in the Entity.myHeap field.
 | 
						|
 *
 | 
						|
 * @param ptr Pointer to be freed.
 | 
						|
 */
 | 
						|
void zFree(void* ptr);
 | 
						|
 | 
						|
/**
 | 
						|
 * Reset All display system registers.
 | 
						|
 *
 | 
						|
 * @param refresh Request refresh of HUD layer (bg 0).
 | 
						|
 */
 | 
						|
void DispReset(bool32 refresh);
 | 
						|
 | 
						|
u32 CheckPlayerProximity(u32, u32, u32, u32);
 | 
						|
u32 CheckKinstoneFused(u32);
 | 
						|
void sub_0801E1EC(u32, u32, u32);
 | 
						|
void sub_0801DD58(u32, u32);
 | 
						|
void sub_0801E1B8(u32, u32);
 | 
						|
void sub_0801E738(u32);
 | 
						|
void sub_0801DFB4(struct Entity_*, u32, u32, u32);
 | 
						|
u32 sub_0801E00C(void);
 | 
						|
bool32 sub_0801E810(u32);
 | 
						|
u32 sub_0801DB94(void);
 | 
						|
 | 
						|
#endif // COMMON_H
 |