#include #include #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80093370.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_8009352C.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80093708.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_8009373C.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80093774.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80093794.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_800937C0.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_800937E4.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80093808.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80093848.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_800938B4.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80093920.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_8009398C.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_800939F8.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80093A64.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80093AD0.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80093B3C.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80093BA8.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80093C14.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80093C80.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80093D18.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80093D84.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80093DF0.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80093E5C.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80093EC8.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80093F34.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80093F58.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80093F7C.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80093FD8.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80094044.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_800940B0.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_8009411C.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80094140.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_800941AC.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80094218.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80094284.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_800942F0.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_8009435C.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_800943C8.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80094434.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_800944A0.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_800944C4.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80094520.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_8009457C.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_800945A0.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_8009460C.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80094678.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_800946E4.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80094708.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_8009472C.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_8009476C.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_800947AC.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80094944.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80094968.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_800949A8.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80094A14.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80094A80.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80094AEC.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80094B58.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80094BC4.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80094C50.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80094CBC.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80094D28.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80094D4C.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80094DB8.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80094E54.s") Gfx* func_80094E78(GraphicsContext* gfxCtx, u32 x, u32 y) { return Draw_TexScroll(gfxCtx, x, y, 0, 0); } Gfx* Draw_TexScroll(GraphicsContext* gfxCtx, u32 x, u32 y, s32 width, s32 height) { Gfx* displayList = Graph_Alloc(gfxCtx, 3 * sizeof(Gfx)); x %= 2048; y %= 2048; gDPTileSync(displayList); gDPSetTileSize(displayList+1, 0, x, y, (x+((width-1)<<2)), (y+((height-1)<<2))); gSPEndDisplayList(displayList+2); return displayList; } Gfx* Draw_TwoTexScroll(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 width1, s32 height1, s32 tile2, u32 x2, u32 y2, s32 width2, s32 height2) { Gfx* displayList = Graph_Alloc(gfxCtx, 5 * sizeof(Gfx)); x1 %= 2048; y1 %= 2048; x2 %= 2048; y2 %= 2048; gDPTileSync(displayList); gDPSetTileSize(displayList+1, tile1, x1, y1, (x1+((width1-1)<<2)), (y1+((height1-1)<<2))); gDPTileSync(displayList+2); gDPSetTileSize(displayList+3, tile2, x2, y2, (x2+((width2-1)<<2)), (y2+((height2-1)<<2))); gSPEndDisplayList(displayList+4); return displayList; } Gfx* Draw_TwoTexScrollEnvColor(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 width1, s32 height1, s32 tile2, u32 x2, u32 y2, s32 width2, s32 height2, s32 red, s32 green, s32 blue, s32 alpha) { Gfx* displayList = Graph_Alloc(gfxCtx, 6 * sizeof(Gfx)); x1 %= 2048; y1 %= 2048; x2 %= 2048; y2 %= 2048; gDPTileSync(displayList); gDPSetTileSize(displayList+1, tile1, x1, y1, (x1+((width1-1)<<2)), (y1+((height1-1)<<2))); gDPTileSync(displayList+2); gDPSetTileSize(displayList+3, tile2, x2, y2, (x2+((width2-1)<<2)), (y2+((height2-1)<<2))); gDPSetEnvColor(displayList+4, red, green, blue, alpha); gSPEndDisplayList(displayList+5); return displayList; } #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_800951D0.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80095248.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_80095974.s")