diff --git a/src/game/game_0b63b0.c b/src/game/game_0b63b0.c index d68bc2d51..2710a49df 100644 --- a/src/game/game_0b63b0.c +++ b/src/game/game_0b63b0.c @@ -8129,7 +8129,7 @@ glabel func0f0bd764 /* f0bd840: 44816000 */ mtc1 $at,$f12 /* f0bd844: 01203025 */ or $a2,$t1,$zero /* f0bd848: 01403825 */ or $a3,$t2,$zero -/* f0bd84c: 0c002f76 */ jal func0000bdd8 +/* f0bd84c: 0c002f76 */ jal viSetFovAspectAndSize /* f0bd850: c7ae0024 */ lwc1 $f14,0x24($sp) /* f0bd854: 0fc2f1eb */ jal func0f0bc7ac /* f0bd858: 00000000 */ sll $zero,$zero,0x0 @@ -8390,7 +8390,7 @@ glabel var7f1ad6ac /* f0bdb78: 44816000 */ mtc1 $at,$f12 /* f0bdb7c: 01203025 */ or $a2,$t1,$zero /* f0bdb80: 01403825 */ or $a3,$t2,$zero -/* f0bdb84: 0c002f76 */ jal func0000bdd8 +/* f0bdb84: 0c002f76 */ jal viSetFovAspectAndSize /* f0bdb88: c7ae032c */ lwc1 $f14,0x32c($sp) /* f0bdb8c: 0fc2f1eb */ jal func0f0bc7ac /* f0bdb90: 00000000 */ sll $zero,$zero,0x0 @@ -10642,7 +10642,7 @@ glabel var7f1ad6ac // // // db44 // func0000aab0(var800705c0[g_HiResActive].unk10); -// func0000bdd8(60, aspectratio, func0f0bc554(), func0f0bcaa0()); +// viSetFovAspectAndSize(60, aspectratio, func0f0bc554(), func0f0bcaa0()); // viSetViewPosition(func0f0bc7ac(), func0f0bce24()); // viSetXY(func0f0bc44c(), func0f0bc478()); // viSetBuf(func0f0bc44c(), func0f0bc478()); diff --git a/src/game/game_0f09f0.c b/src/game/game_0f09f0.c index e4ce48db0..5b38d049e 100644 --- a/src/game/game_0f09f0.c +++ b/src/game/game_0f09f0.c @@ -4765,7 +4765,7 @@ glabel var7f1b2948 /* f0f486c: 00067c00 */ sll $t7,$a2,0x10 /* f0f4870: 00075c00 */ sll $t3,$a3,0x10 /* f0f4874: 000b3c03 */ sra $a3,$t3,0x10 -/* f0f4878: 0c002f76 */ jal func0000bdd8 +/* f0f4878: 0c002f76 */ jal viSetFovAspectAndSize /* f0f487c: 000f3403 */ sra $a2,$t7,0x10 /* f0f4880: 3c0d8007 */ lui $t5,%hi(g_MpPlayerNum) /* f0f4884: 8dad1448 */ lw $t5,%lo(g_MpPlayerNum)($t5) @@ -6699,7 +6699,7 @@ glabel func0f0f5360 /* f0f6470: c60c1854 */ lwc1 $f12,0x1854($s0) /* f0f6474: c60e1858 */ lwc1 $f14,0x1858($s0) /* f0f6478: 86060630 */ lh $a2,0x630($s0) -/* f0f647c: 0c002f76 */ jal func0000bdd8 +/* f0f647c: 0c002f76 */ jal viSetFovAspectAndSize /* f0f6480: 86070632 */ lh $a3,0x632($s0) /* f0f6484: 8fa701ec */ lw $a3,0x1ec($sp) /* f0f6488: 8fa401e8 */ lw $a0,0x1e8($sp) diff --git a/src/game/game_167ae0.c b/src/game/game_167ae0.c index 724b4b66c..59daaf30e 100644 --- a/src/game/game_167ae0.c +++ b/src/game/game_167ae0.c @@ -1579,7 +1579,7 @@ glabel var7f1b7868 /* f169618: c60c1854 */ lwc1 $f12,0x1854($s0) /* f16961c: c60e1858 */ lwc1 $f14,0x1858($s0) /* f169620: 86060630 */ lh $a2,0x630($s0) -/* f169624: 0c002f76 */ jal func0000bdd8 +/* f169624: 0c002f76 */ jal viSetFovAspectAndSize /* f169628: 86070632 */ lh $a3,0x632($s0) /* f16962c: 3c013f80 */ lui $at,0x3f80 /* f169630: 44816000 */ mtc1 $at,$f12 @@ -1647,7 +1647,7 @@ glabel var7f1b7868 /* f169724: c60c1854 */ lwc1 $f12,0x1854($s0) /* f169728: c60e1858 */ lwc1 $f14,0x1858($s0) /* f16972c: 86060630 */ lh $a2,0x630($s0) -/* f169730: 0c002f76 */ jal func0000bdd8 +/* f169730: 0c002f76 */ jal viSetFovAspectAndSize /* f169734: 86070632 */ lh $a3,0x632($s0) /* f169738: 3c013f80 */ lui $at,0x3f80 /* f16973c: 44816000 */ mtc1 $at,$f12 @@ -1720,7 +1720,7 @@ glabel var7f1b7868 /* f169844: c60c1854 */ lwc1 $f12,0x1854($s0) /* f169848: c60e1858 */ lwc1 $f14,0x1858($s0) /* f16984c: 86060630 */ lh $a2,0x630($s0) -/* f169850: 0c002f76 */ jal func0000bdd8 +/* f169850: 0c002f76 */ jal viSetFovAspectAndSize /* f169854: 86070632 */ lh $a3,0x632($s0) /* f169858: 3c013f80 */ lui $at,0x3f80 /* f16985c: 44816000 */ mtc1 $at,$f12 @@ -1931,7 +1931,7 @@ glabel var7f1b7868 /* f169b4c: c60c1854 */ lwc1 $f12,0x1854($s0) /* f169b50: c60e1858 */ lwc1 $f14,0x1858($s0) /* f169b54: 86060630 */ lh $a2,0x630($s0) -/* f169b58: 0c002f76 */ jal func0000bdd8 +/* f169b58: 0c002f76 */ jal viSetFovAspectAndSize /* f169b5c: 86070632 */ lh $a3,0x632($s0) /* f169b60: 8e6e0288 */ lw $t6,0x288($s3) /* f169b64: 0c0059d2 */ jal func00016748 diff --git a/src/include/lib/lib_09660.h b/src/include/lib/lib_09660.h index eec90786b..b6585fc13 100644 --- a/src/include/lib/lib_09660.h +++ b/src/include/lib/lib_09660.h @@ -51,7 +51,7 @@ void viSetUseZBuf(bool use); void viSetFovY(f32 fovy); void viSetAspect(f32 aspect); f32 viGetAspect(void); -void func0000bdd8(f32 arg0, f32 arg1, s16 viewx, s16 viewy); +void viSetFovAspectAndSize(f32 fovy, f32 aspect, s16 width, s16 height); f32 viGetFovY(void); void func0000be84(f32 arg0, f32 arg1); void viGetZRange(struct zrange *zrange); diff --git a/src/lib/lib_09660.c b/src/lib/lib_09660.c index 293e56e72..0a23ad2a9 100644 --- a/src/lib/lib_09660.c +++ b/src/lib/lib_09660.c @@ -2810,48 +2810,17 @@ f32 viGetAspect(void) return g_ViData->aspect; } -GLOBAL_ASM( -glabel func0000bdd8 -/* bdd8: 27bdffe8 */ addiu $sp,$sp,-24 -/* bddc: 3c038006 */ lui $v1,%hi(g_ViData) -/* bde0: 2463d594 */ addiu $v1,$v1,%lo(g_ViData) -/* bde4: e7ac0018 */ swc1 $f12,0x18($sp) -/* bde8: c7a40018 */ lwc1 $f4,0x18($sp) -/* bdec: 8c680000 */ lw $t0,0x0($v1) -/* bdf0: afbf0014 */ sw $ra,0x14($sp) -/* bdf4: e7ae001c */ swc1 $f14,0x1c($sp) -/* bdf8: afa60020 */ sw $a2,0x20($sp) -/* bdfc: afa70024 */ sw $a3,0x24($sp) -/* be00: e5040008 */ swc1 $f4,0x8($t0) -/* be04: 8c690000 */ lw $t1,0x0($v1) -/* be08: c7a6001c */ lwc1 $f6,0x1c($sp) -/* be0c: e526000c */ swc1 $f6,0xc($t1) -/* be10: 8c6a0000 */ lw $t2,0x0($v1) -/* be14: a546001c */ sh $a2,0x1c($t2) -/* be18: 8c6b0000 */ lw $t3,0x0($v1) -/* be1c: a567001e */ sh $a3,0x1e($t3) -/* be20: 8c620000 */ lw $v0,0x0($v1) -/* be24: 844c001c */ lh $t4,0x1c($v0) -/* be28: 844d001e */ lh $t5,0x1e($v0) -/* be2c: 448c4000 */ mtc1 $t4,$f8 -/* be30: 448d5000 */ mtc1 $t5,$f10 -/* be34: 46804320 */ cvt.s.w $f12,$f8 -/* be38: 0fc2d256 */ jal currentPlayerSetScreenSize -/* be3c: 468053a0 */ cvt.s.w $f14,$f10 -/* be40: 3c038006 */ lui $v1,%hi(g_ViData) -/* be44: 2463d594 */ addiu $v1,$v1,%lo(g_ViData) -/* be48: 8c620000 */ lw $v0,0x0($v1) -/* be4c: c44c0010 */ lwc1 $f12,0x10($v0) -/* be50: c44e0008 */ lwc1 $f14,0x8($v0) -/* be54: 0fc2d266 */ jal currentPlayerSetPerspective -/* be58: 8c46000c */ lw $a2,0xc($v0) -/* be5c: 0fc2d289 */ jal currentPlayerSetCameraScale -/* be60: 00000000 */ sll $zero,$zero,0x0 -/* be64: 8fbf0014 */ lw $ra,0x14($sp) -/* be68: 27bd0018 */ addiu $sp,$sp,0x18 -/* be6c: 03e00008 */ jr $ra -/* be70: 00000000 */ sll $zero,$zero,0x0 -); +void viSetFovAspectAndSize(f32 fovy, f32 aspect, s16 width, s16 height) +{ + g_ViData->fovy = fovy; + g_ViData->aspect = aspect; + g_ViData->viewx = width; + g_ViData->viewy = height; + + currentPlayerSetScreenSize(g_ViData->viewx, g_ViData->viewy); + currentPlayerSetPerspective(g_ViData->znear, g_ViData->fovy, g_ViData->aspect); + currentPlayerSetCameraScale(); +} f32 viGetFovY(void) { diff --git a/src/lib/lib_0d520.c b/src/lib/lib_0d520.c index d95b50b06..77960c442 100644 --- a/src/lib/lib_0d520.c +++ b/src/lib/lib_0d520.c @@ -1285,7 +1285,7 @@ glabel func0000e324 /* e518: c60c1854 */ lwc1 $f12,0x1854($s0) /* e51c: c60e1858 */ lwc1 $f14,0x1858($s0) /* e520: 86060630 */ lh $a2,0x630($s0) -/* e524: 0c002f76 */ jal func0000bdd8 +/* e524: 0c002f76 */ jal viSetFovAspectAndSize /* e528: 86070632 */ lh $a3,0x632($s0) .L0000e52c: /* e52c: 0fc5b2c1 */ jal currentPlayerRecordDistanceMoved