mirror of
https://github.com/zeldaret/oot.git
synced 2024-11-14 21:40:03 +00:00
Match some graphics functions
This commit is contained in:
parent
6dd443c0e3
commit
2453af9697
4 changed files with 45 additions and 11 deletions
|
@ -1,4 +1,4 @@
|
|||
glabel func_80A77BF8
|
||||
glabel EnIk_OverrideLimbDraw
|
||||
/* 038E8 80A77BF8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 038EC 80A77BFC 24010011 */ addiu $at, $zero, 0x0011 ## $at = 00000011
|
||||
/* 038F0 80A77C00 AFBF0014 */ sw $ra, 0x0014($sp)
|
|
@ -48,7 +48,7 @@ glabel jtbl_80A78A3C
|
|||
.word 0x00000000
|
||||
|
||||
.text
|
||||
glabel func_80A77C7C
|
||||
glabel EnIk_PostLimbDraw
|
||||
/* 0396C 80A77C7C 27BDFF98 */ addiu $sp, $sp, 0xFF98 ## $sp = FFFFFF98
|
||||
/* 03970 80A77C80 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 03974 80A77C84 AFB00018 */ sw $s0, 0x0018($sp)
|
|
@ -85,12 +85,12 @@ glabel func_80A77EDC
|
|||
/* 03CF0 80A78000 0C29D86C */ jal func_80A761B0
|
||||
/* 03CF4 80A78004 AFA20038 */ sw $v0, 0x0038($sp)
|
||||
/* 03CF8 80A78008 8FA30038 */ lw $v1, 0x0038($sp)
|
||||
/* 03CFC 80A7800C 3C1980A7 */ lui $t9, %hi(func_80A77BF8) ## $t9 = 80A70000
|
||||
/* 03D00 80A78010 3C0880A7 */ lui $t0, %hi(func_80A77C7C) ## $t0 = 80A70000
|
||||
/* 03CFC 80A7800C 3C1980A7 */ lui $t9, %hi(EnIk_OverrideLimbDraw) ## $t9 = 80A70000
|
||||
/* 03D00 80A78010 3C0880A7 */ lui $t0, %hi(EnIk_PostLimbDraw) ## $t0 = 80A70000
|
||||
/* 03D04 80A78014 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||
/* 03D08 80A78018 8FA30068 */ lw $v1, 0x0068($sp)
|
||||
/* 03D0C 80A7801C 25087C7C */ addiu $t0, $t0, %lo(func_80A77C7C) ## $t0 = 80A77C7C
|
||||
/* 03D10 80A78020 27397BF8 */ addiu $t9, $t9, %lo(func_80A77BF8) ## $t9 = 80A77BF8
|
||||
/* 03D0C 80A7801C 25087C7C */ addiu $t0, $t0, %lo(EnIk_PostLimbDraw) ## $t0 = 80A77C7C
|
||||
/* 03D10 80A78020 27397BF8 */ addiu $t9, $t9, %lo(EnIk_OverrideLimbDraw) ## $t9 = 80A77BF8
|
||||
/* 03D14 80A78024 2462014C */ addiu $v0, $v1, 0x014C ## $v0 = 0000014C
|
||||
/* 03D18 80A78028 8C450004 */ lw $a1, 0x0004($v0) ## 00000150
|
||||
/* 03D1C 80A7802C 8C460020 */ lw $a2, 0x0020($v0) ## 0000016C
|
||||
|
|
|
@ -38,6 +38,9 @@ void func_80A76798(Actor* thisx, GlobalContext* globalCtx);
|
|||
void func_80A780D0(EnIk* this, GlobalContext* globalCtx);
|
||||
void func_80A78160(EnIk* this, GlobalContext* globalCtx);
|
||||
|
||||
s32 EnIk_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* actor);
|
||||
void EnIk_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* actor);
|
||||
|
||||
extern AnimationHeader D_0600C114;
|
||||
extern AnimationHeader D_0600DD50;
|
||||
extern SkeletonHeader D_0601E178;
|
||||
|
@ -252,7 +255,20 @@ void func_80A7489C(EnIk* this) {
|
|||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ik/func_80A75FA0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ik/func_80A761B0.s")
|
||||
Gfx* func_80A761B0(GraphicsContext* gfxCtx, u8 primR, u8 primG, u8 primB, u8 envR, u8 envG, u8 envB) {
|
||||
Gfx* displayList;
|
||||
Gfx* displayListHead;
|
||||
|
||||
displayList = Graph_Alloc(gfxCtx, 4 * sizeof(Gfx));
|
||||
displayListHead = displayList;
|
||||
|
||||
gDPPipeSync(displayListHead++);
|
||||
gDPSetPrimColor(displayListHead++, 0, 0, primR, primG, primB, 255);
|
||||
gDPSetEnvColor(displayListHead++, envR, envG, envB, 255);
|
||||
gSPEndDisplayList(displayListHead++);
|
||||
|
||||
return displayList;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ik/func_80A7626C.s")
|
||||
|
||||
|
@ -335,13 +351,31 @@ void EnIk_Update(Actor* thisx, GlobalContext* globalCtx) {
|
|||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ik/func_80A77BF8.s")
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ik/EnIk_OverrideLimbDraw.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ik/func_80A77C7C.s")
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ik/EnIk_PostLimbDraw.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ik/func_80A77ED0.s")
|
||||
void func_80A77ED0(EnIk* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ik/func_80A77EDC.s")
|
||||
void func_80A77EDC(EnIk* this, GlobalContext* globalCtx) {
|
||||
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
|
||||
SkelAnime* skelAnime = &this->skelAnime;
|
||||
s32 pad[2];
|
||||
|
||||
OPEN_DISPS(gfxCtx, "../z_en_ik_inConfrontion.c", 630);
|
||||
|
||||
func_8002EBCC(&this->actor, globalCtx, 0);
|
||||
func_80093D18(gfxCtx);
|
||||
func_80093D84(gfxCtx);
|
||||
gSPSegment(oGfxCtx->polyOpa.p++, 0x08, func_80A761B0(gfxCtx, 245, 225, 155, 30, 30, 0));
|
||||
gSPSegment(oGfxCtx->polyOpa.p++, 0x09, func_80A761B0(gfxCtx, 255, 40, 0, 40, 0, 0));
|
||||
gSPSegment(oGfxCtx->polyOpa.p++, 0x0A, func_80A761B0(gfxCtx, 255, 255, 255, 20, 40, 30));
|
||||
SkelAnime_DrawSV(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
|
||||
EnIk_OverrideLimbDraw, EnIk_PostLimbDraw, &this->actor);
|
||||
|
||||
CLOSE_DISPS(gfxCtx, "../z_en_ik_inConfrontion.c", 653);
|
||||
}
|
||||
|
||||
void EnIk_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnIk* this = THIS;
|
||||
|
|
Loading…
Reference in a new issue