diff --git a/ld/libfiles.ntsc-beta.inc b/ld/libfiles.ntsc-beta.inc index 05f78a789..f7407994d 100644 --- a/ld/libfiles.ntsc-beta.inc +++ b/ld/libfiles.ntsc-beta.inc @@ -186,6 +186,7 @@ build/ROMID/lib/ultra/io/contreaddata.o (section); \ build/ROMID/lib/ultra/io/motor.o (section); \ build/ROMID/lib/lib_4f9b0.o (section); \ + build/ROMID/lib/ultra/gu/coss.o (section); \ build/ROMID/lib/ultra/gu/sins.o (section); \ build/ROMID/lib/ultra/gu/ortho.o (section); \ build/ROMID/lib/ultra/gu/frustum.o (section); \ diff --git a/ld/libfiles.ntsc-final.inc b/ld/libfiles.ntsc-final.inc index 9a387d697..216978f23 100644 --- a/ld/libfiles.ntsc-final.inc +++ b/ld/libfiles.ntsc-final.inc @@ -182,6 +182,7 @@ build/ROMID/lib/ultra/io/contreaddata.o (section); \ build/ROMID/lib/ultra/io/motor.o (section); \ build/ROMID/lib/lib_4f9b0.o (section); \ + build/ROMID/lib/ultra/gu/coss.o (section); \ build/ROMID/lib/ultra/gu/sins.o (section); \ build/ROMID/lib/ultra/gu/ortho.o (section); \ build/ROMID/lib/ultra/gu/frustum.o (section); \ diff --git a/ld/libfiles.pal-final.inc b/ld/libfiles.pal-final.inc index 22be35872..6790ce371 100644 --- a/ld/libfiles.pal-final.inc +++ b/ld/libfiles.pal-final.inc @@ -182,6 +182,7 @@ build/ROMID/lib/ultra/io/contreaddata.o (section); \ build/ROMID/lib/ultra/io/motor.o (section); \ build/ROMID/lib/lib_4f9b0.o (section); \ + build/ROMID/lib/ultra/gu/coss.o (section); \ build/ROMID/lib/ultra/gu/sins.o (section); \ build/ROMID/lib/ultra/gu/ortho.o (section); \ build/ROMID/lib/ultra/gu/frustum.o (section); \ diff --git a/src/include/PR/gu.h b/src/include/PR/gu.h index e98df6567..322d2b323 100644 --- a/src/include/PR/gu.h +++ b/src/include/PR/gu.h @@ -28,6 +28,7 @@ void guLookAt(Mtx *m, float xEye, float yEye, float zEye, float xAt, float yAt, float zAt, float xUp, float yUp, float zUp); +signed short coss(unsigned short x); signed short sins(unsigned short x); /* Used only in Fast3DEX2 */ diff --git a/src/include/lib/lib_4f9b0.h b/src/include/lib/lib_4f9b0.h index d3bbd3c4b..2190484b3 100644 --- a/src/include/lib/lib_4f9b0.h +++ b/src/include/lib/lib_4f9b0.h @@ -5,6 +5,5 @@ #include "types.h" u32 func0004f9b0(void); -u32 func0004fbc0(void); #endif diff --git a/src/lib/lib_4f9b0.c b/src/lib/lib_4f9b0.c index 30c36da14..154f9b445 100644 --- a/src/lib/lib_4f9b0.c +++ b/src/lib/lib_4f9b0.c @@ -149,19 +149,3 @@ glabel func0004fb70 /* 4fbb8: 03e00008 */ jr $ra /* 4fbbc: 00000000 */ nop ); - -GLOBAL_ASM( -glabel func0004fbc0 -/* 4fbc0: 27bdffe8 */ addiu $sp,$sp,-24 -/* 4fbc4: afa40018 */ sw $a0,0x18($sp) -/* 4fbc8: 00802825 */ or $a1,$a0,$zero -/* 4fbcc: 24a44000 */ addiu $a0,$a1,0x4000 -/* 4fbd0: afbf0014 */ sw $ra,0x14($sp) -/* 4fbd4: 308effff */ andi $t6,$a0,0xffff -/* 4fbd8: 0c013efc */ jal sins -/* 4fbdc: 01c02025 */ or $a0,$t6,$zero -/* 4fbe0: 8fbf0014 */ lw $ra,0x14($sp) -/* 4fbe4: 27bd0018 */ addiu $sp,$sp,0x18 -/* 4fbe8: 03e00008 */ jr $ra -/* 4fbec: 00000000 */ nop -); diff --git a/src/lib/model.c b/src/lib/model.c index b16aa30d7..0b33d64fa 100644 --- a/src/lib/model.c +++ b/src/lib/model.c @@ -8561,7 +8561,7 @@ glabel func0002124c /* 213b0: 00000000 */ nop /* 213b4: 00025280 */ sll $t2,$v0,0xa /* 213b8: 3151ffff */ andi $s1,$t2,0xffff -/* 213bc: 0c013ef0 */ jal func0004fbc0 +/* 213bc: 0c013ef0 */ jal coss /* 213c0: 3144ffff */ andi $a0,$t2,0xffff /* 213c4: 00025940 */ sll $t3,$v0,0x5 /* 213c8: 01770019 */ multu $t3,$s7 @@ -9200,7 +9200,7 @@ glabel var70054454 /* 21d58: 00608825 */ or $s1,$v1,$zero /* 21d5c: 00026a80 */ sll $t5,$v0,0xa /* 21d60: a7ad0062 */ sh $t5,0x62($sp) -/* 21d64: 0c013ef0 */ jal func0004fbc0 +/* 21d64: 0c013ef0 */ jal coss /* 21d68: 31a4ffff */ andi $a0,$t5,0xffff /* 21d6c: 922e0004 */ lbu $t6,0x4($s1) /* 21d70: 97a40062 */ lhu $a0,0x62($sp) diff --git a/src/lib/ultra/gu/coss.c b/src/lib/ultra/gu/coss.c new file mode 100644 index 000000000..d0f161019 --- /dev/null +++ b/src/lib/ultra/gu/coss.c @@ -0,0 +1,11 @@ +#include +#include "constants.h" +#include "bss.h" +#include "lib/lib_16110.h" +#include "data.h" +#include "types.h" + +signed short coss(unsigned short x) +{ + return sins ((unsigned short) (x + 0x4000)); +}