mirror of
https://github.com/zeldaret/oot.git
synced 2024-09-22 21:35:27 +00:00
206 lines
6.5 KiB
C
206 lines
6.5 KiB
C
|
#include <ultra64.h>
|
||
|
#include <global.h>
|
||
|
|
||
|
#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")
|
||
|
|