mirror of https://github.com/n64decomp/mk64.git
parent
91fc8ea473
commit
378144b35b
|
|
@ -652,7 +652,7 @@ glabel func_80009B60
|
|||
.L8000A488:
|
||||
/* 00B088 8000A488 00E02825 */ move $a1, $a3
|
||||
/* 00B08C 8000A48C AFA8003C */ sw $t0, 0x3c($sp)
|
||||
/* 00B090 8000A490 0C0AD489 */ jal func_802B5224
|
||||
/* 00B090 8000A490 0C0AD489 */ jal get_angle_between_points
|
||||
/* 00B094 8000A494 24C40014 */ addiu $a0, $a2, 0x14
|
||||
/* 00B098 8000A498 8FA60040 */ lw $a2, 0x40($sp)
|
||||
/* 00B09C 8000A49C 8FA8003C */ lw $t0, 0x3c($sp)
|
||||
|
|
@ -718,7 +718,7 @@ glabel func_80009B60
|
|||
/* 00B16C 8000A56C 1040008A */ beqz $v0, .L8000A798
|
||||
/* 00B170 8000A570 8FAE0040 */ lw $t6, 0x40($sp)
|
||||
/* 00B174 8000A574 25C40020 */ addiu $a0, $t6, 0x20
|
||||
/* 00B178 8000A578 0C0AD489 */ jal func_802B5224
|
||||
/* 00B178 8000A578 0C0AD489 */ jal get_angle_between_points
|
||||
/* 00B17C 8000A57C 25C50014 */ addiu $a1, $t6, 0x14
|
||||
/* 00B180 8000A580 8FAC0034 */ lw $t4, 0x34($sp)
|
||||
/* 00B184 8000A584 3C188016 */ lui $t8, %hi(D_80163300) # $t8, 0x8016
|
||||
|
|
@ -1172,7 +1172,7 @@ glabel func_80009B60
|
|||
/* 00B7F8 8000ABF8 C4A80008 */ lwc1 $f8, 8($a1)
|
||||
/* 00B7FC 8000ABFC AFA80020 */ sw $t0, 0x20($sp)
|
||||
/* 00B800 8000AC00 8FA4001C */ lw $a0, 0x1c($sp)
|
||||
/* 00B804 8000AC04 0C0AD489 */ jal func_802B5224
|
||||
/* 00B804 8000AC04 0C0AD489 */ jal get_angle_between_points
|
||||
/* 00B808 8000AC08 E4680000 */ swc1 $f8, ($v1)
|
||||
/* 00B80C 8000AC0C 3C013FC0 */ li $at, 0x3FC00000 # 1.500000
|
||||
/* 00B810 8000AC10 44810000 */ mtc1 $at, $f0
|
||||
|
|
|
|||
|
|
@ -343,7 +343,7 @@ glabel L8000E1F4
|
|||
/* 00F01C 8000E41C 00000000 */ nop
|
||||
/* 00F020 8000E420 468051A0 */ cvt.s.w $f6, $f10
|
||||
/* 00F024 8000E424 46083100 */ add.s $f4, $f6, $f8
|
||||
/* 00F028 8000E428 0C0AD489 */ jal func_802B5224
|
||||
/* 00F028 8000E428 0C0AD489 */ jal get_angle_between_points
|
||||
/* 00F02C 8000E42C E4A40008 */ swc1 $f4, 8($a1)
|
||||
/* 00F030 8000E430 3403FFFF */ li $v1, 65535
|
||||
/* 00F034 8000E434 00430019 */ multu $v0, $v1
|
||||
|
|
@ -458,7 +458,7 @@ glabel L8000E45C
|
|||
/* 00F1E4 8000E5E4 00000000 */ nop
|
||||
/* 00F1E8 8000E5E8 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 00F1EC 8000E5EC 46065100 */ add.s $f4, $f10, $f6
|
||||
/* 00F1F0 8000E5F0 0C0AD489 */ jal func_802B5224
|
||||
/* 00F1F0 8000E5F0 0C0AD489 */ jal get_angle_between_points
|
||||
/* 00F1F4 8000E5F4 E4A40008 */ swc1 $f4, 8($a1)
|
||||
/* 00F1F8 8000E5F8 00027400 */ sll $t6, $v0, 0x10
|
||||
/* 00F1FC 8000E5FC 01C27023 */ subu $t6, $t6, $v0
|
||||
|
|
@ -583,7 +583,7 @@ glabel L8000E634
|
|||
/* 00F3B0 8000E7B0 44984000 */ mtc1 $t8, $f8
|
||||
/* 00F3B4 8000E7B4 00000000 */ nop
|
||||
/* 00F3B8 8000E7B8 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 00F3BC 8000E7BC 0C0AD489 */ jal func_802B5224
|
||||
/* 00F3BC 8000E7BC 0C0AD489 */ jal get_angle_between_points
|
||||
/* 00F3C0 8000E7C0 E4AA0008 */ swc1 $f10, 8($a1)
|
||||
/* 00F3C4 8000E7C4 00027C00 */ sll $t7, $v0, 0x10
|
||||
/* 00F3C8 8000E7C8 01E27823 */ subu $t7, $t7, $v0
|
||||
|
|
@ -608,7 +608,7 @@ glabel L8000E634
|
|||
/* 00F410 8000E810 E4A60000 */ swc1 $f6, ($a1)
|
||||
/* 00F414 8000E814 E4A40004 */ swc1 $f4, 4($a1)
|
||||
/* 00F418 8000E818 C428D020 */ lwc1 $f8, %lo(D_800ED020)($at)
|
||||
/* 00F41C 8000E81C 0C0AD489 */ jal func_802B5224
|
||||
/* 00F41C 8000E81C 0C0AD489 */ jal get_angle_between_points
|
||||
/* 00F420 8000E820 E4A80008 */ swc1 $f8, 8($a1)
|
||||
/* 00F424 8000E824 00025C00 */ sll $t3, $v0, 0x10
|
||||
/* 00F428 8000E828 01625823 */ subu $t3, $t3, $v0
|
||||
|
|
@ -767,7 +767,7 @@ glabel L8000E968
|
|||
/* 00F66C 8000EA6C 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* 00F670 8000EA70 00C02025 */ move $a0, $a2
|
||||
/* 00F674 8000EA74 460A2181 */ sub.s $f6, $f4, $f10
|
||||
/* 00F678 8000EA78 0C0AD489 */ jal func_802B5224
|
||||
/* 00F678 8000EA78 0C0AD489 */ jal get_angle_between_points
|
||||
/* 00F67C 8000EA7C 4606A500 */ add.s $f20, $f20, $f6
|
||||
/* 00F680 8000EA80 00026400 */ sll $t4, $v0, 0x10
|
||||
/* 00F684 8000EA84 01826023 */ subu $t4, $t4, $v0
|
||||
|
|
|
|||
|
|
@ -36,6 +36,9 @@ Other members are more flexible, and even the non-general specifications can be
|
|||
exactly what you're doing.
|
||||
*/
|
||||
|
||||
#define ACTOR_TREE_MARIO_RACEWAY 0x02
|
||||
#define ACTOR_TREE_YOSHI_VALLEY 0x03
|
||||
#define ACTOR_TREE_ROYAL_RACEWAY 0x04
|
||||
#define ACTOR_FALLING_ROCK 0x05
|
||||
#define ACTOR_BANANA 0x06
|
||||
#define ACTOR_GREEN_SHELL 0x07
|
||||
|
|
@ -48,10 +51,18 @@ exactly what you're doing.
|
|||
#define ACTOR_TRAIN_ENGINE 0x0F
|
||||
#define ACTOR_TRAIN_TENDER 0x10
|
||||
#define ACTOR_TRAIN_PASSENGER_CAR 0x11
|
||||
#define ACTOR_COW 0x12
|
||||
#define ACTOR_TREE_MOO_MOO_FARM 0x13
|
||||
#define ACTOR_TRIPLE_GREEN_SHELL 0x15
|
||||
#define ACTOR_TRIPLE_RED_SHELL 0x16
|
||||
#define ACTOR_MARIO_RACEWAY_SIGN 0x17
|
||||
#define ACTOR_PALM_TREE 0x19
|
||||
#define ACTOR_TREE_BOWSERS_CASTLE 0x1C
|
||||
#define ACTOR_TREE_FRAPPE_SNOWLAND 0x1D
|
||||
#define ACTOR_CACTUS1_KALAMARI_DESERT 0x1E
|
||||
#define ACTOR_CACTUS2_KALAMARI_DESERT 0x1F
|
||||
#define ACTOR_CACTUS3_KALAMARI_DESERT 0x20
|
||||
#define ACTOR_BUSH_BOWSERS_CASTLE 0x21
|
||||
#define ACTOR_WARIO_STADIUM_SIGN 0x23
|
||||
#define ACTOR_BOX_TRUCK 0x25
|
||||
#define ACTOR_PADDLE_WHEEL_BOAT 0x26
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
void update_obj_paddle_wheel(struct PaddleWheelBoat *boat) {
|
||||
void update_actor_paddle_wheel(struct PaddleWheelBoat *boat) {
|
||||
boat->wheelRot += 0x38E;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ void place_falling_rocks(struct ActorSpawnData *spawnData) {
|
|||
}
|
||||
}
|
||||
|
||||
void update_obj_falling_rocks(struct FallingRock *rock) {
|
||||
void update_actor_falling_rocks(struct FallingRock *rock) {
|
||||
Vec3f unkVec;
|
||||
f32 pad0;
|
||||
f32 pad1;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
// wheels
|
||||
void update_obj_train_engine(struct TrainCar *arg0) {
|
||||
void update_actor_train_engine(struct TrainCar *arg0) {
|
||||
arg0->wheelRot -= 0x666;
|
||||
|
||||
if (arg0->unk_08 != 0.0f) {
|
||||
|
|
@ -9,11 +9,11 @@ void update_obj_train_engine(struct TrainCar *arg0) {
|
|||
}
|
||||
|
||||
// wheels
|
||||
void update_obj_train_car1(struct TrainCar *tender) {
|
||||
void update_actor_train_car1(struct TrainCar *tender) {
|
||||
tender->wheelRot -= 0x4FA;
|
||||
}
|
||||
|
||||
// wheels
|
||||
void update_obj_train_car2(struct TrainCar *arg0) {
|
||||
void update_actor_train_car2(struct TrainCar *arg0) {
|
||||
arg0->wheelRot -= 0x666;
|
||||
}
|
||||
|
|
|
|||
20
src/camera.c
20
src/camera.c
|
|
@ -43,7 +43,7 @@ extern f32 D_80164A48[4];
|
|||
extern f32 D_80164A78[];
|
||||
extern s8 D_80164A88;
|
||||
extern s8 D_80164A89;
|
||||
extern f32 D_80150130[4];
|
||||
extern f32 gCameraZoom[4];
|
||||
|
||||
void camera_init(f32 posX, f32 posY, f32 posZ, UNUSED s16 rot, u32 arg4, s32 cameraId) {
|
||||
Player *player = gPlayerOne;
|
||||
|
|
@ -152,27 +152,27 @@ void camera_init(f32 posX, f32 posY, f32 posZ, UNUSED s16 rot, u32 arg4, s32 cam
|
|||
|
||||
if (D_80164678[cameraId] == 0) {
|
||||
if (D_80164A28 == 1) {
|
||||
D_80150130[cameraId] = 80.0f;
|
||||
gCameraZoom[cameraId] = 80.0f;
|
||||
} else {
|
||||
D_80150130[cameraId] = 40.0f;
|
||||
gCameraZoom[cameraId] = 40.0f;
|
||||
}
|
||||
camera->unk_B4 = D_80150130[cameraId];
|
||||
camera->unk_B4 = gCameraZoom[cameraId];
|
||||
}
|
||||
if (D_80164678[cameraId] == 1) {
|
||||
if (D_80164A28 == 1) {
|
||||
D_80150130[cameraId] = 100.0f;
|
||||
gCameraZoom[cameraId] = 100.0f;
|
||||
} else {
|
||||
D_80150130[cameraId] = 60.0f;
|
||||
gCameraZoom[cameraId] = 60.0f;
|
||||
}
|
||||
camera->unk_B4 = D_80150130[cameraId];
|
||||
camera->unk_B4 = gCameraZoom[cameraId];
|
||||
}
|
||||
if (D_80164678[cameraId] == 2) {
|
||||
if (D_80164A28 == 1) {
|
||||
D_80150130[cameraId] = 100.0f;
|
||||
gCameraZoom[cameraId] = 100.0f;
|
||||
} else {
|
||||
D_80150130[cameraId] = 60.0f;
|
||||
gCameraZoom[cameraId] = 60.0f;
|
||||
}
|
||||
camera->unk_B4 = D_80150130[cameraId];
|
||||
camera->unk_B4 = gCameraZoom[cameraId];
|
||||
D_80164A38[cameraId] = 20.0f;
|
||||
D_80164A48[cameraId] = 1.5f;
|
||||
D_80164A78[cameraId] = 1.0f;
|
||||
|
|
|
|||
|
|
@ -8,6 +8,6 @@ void func_802816B8(void);
|
|||
|
||||
// guPerspective params
|
||||
extern f32 D_80150148, D_8015014C, D_80150150;
|
||||
extern f32 D_80150130[];
|
||||
extern f32 gCameraZoom[];
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -373,7 +373,7 @@ s16 func_80005FD0(Vec3f arg0, Vec3f arg1) {
|
|||
s16 temp_ret;
|
||||
s16 phi_v1;
|
||||
|
||||
temp_ret = func_802B5224(arg0, arg1);
|
||||
temp_ret = get_angle_between_points(arg0, arg1);
|
||||
phi_v1 = temp_ret;
|
||||
if (gIsMirrorMode != 0) {
|
||||
phi_v1 = -temp_ret;
|
||||
|
|
@ -2087,7 +2087,7 @@ block_63:
|
|||
}
|
||||
}
|
||||
sp3C = var_t0_2;
|
||||
sp40->unk_02E = -func_802B5224(sp40->pos, &D_80162FA0);
|
||||
sp40->unk_02E = -get_angle_between_points(sp40->pos, &D_80162FA0);
|
||||
} else {
|
||||
sp40->unk_02E = (s16) D_80164590[D_80163448][(s32) (D_801630E0 + 4) % (s32) D_80164430];
|
||||
}
|
||||
|
|
@ -2106,7 +2106,7 @@ block_63:
|
|||
}
|
||||
if (var_v0 != 0) {
|
||||
temp_v1_4 = sp34 + &D_80163300;
|
||||
*temp_v1_4 = -func_802B5224(&sp40->rotX, sp40->pos);
|
||||
*temp_v1_4 = -get_angle_between_points(&sp40->rotX, sp40->pos);
|
||||
var_a0_2 = (s16) ((s32) ((s16) D_801631DC[(s32) (D_80162FCE + 2) % (s32) D_80164430] * 0x168) / 65535);
|
||||
var_a1 = (s16) ((s32) (*temp_v1_4 * 0x168) / 65535);
|
||||
if (var_a0_2 < -0xB4) {
|
||||
|
|
@ -2207,7 +2207,7 @@ block_63:
|
|||
sp20 = temp_t0_2;
|
||||
*temp_v1_7 = D_80162FA0.unk8;
|
||||
temp_f2_2 = 1.5f * 182.0f;
|
||||
temp_v1_8 = -func_802B5224(sp1C, &D_80162FA0) - sp40->unk_02E;
|
||||
temp_v1_8 = -get_angle_between_points(sp1C, &D_80162FA0) - sp40->unk_02E;
|
||||
temp_f10 = (s32) temp_f2_2;
|
||||
var_a2 = temp_v1_8;
|
||||
temp_f6 = (s32) (-1.5f * 182.0f);
|
||||
|
|
@ -3705,7 +3705,7 @@ void func_8000DF8C(s32 arg0) {
|
|||
D_80162FC0.unk0 = (f32) temp_v0_2->wayPointX + sp118;
|
||||
D_80162FC0.unk4 = (f32) temp_v0_2->wayPointY;
|
||||
D_80162FC0.unk8 = (f32) ((f32) temp_v0_2->wayPointZ + (f32) (temp_f10 * 25.0));
|
||||
spC2 = (u16) ((s32) (func_802B5224(&D_80162FB0, &D_80162FC0) * 0xFFFF) / 65520);
|
||||
spC2 = (u16) ((s32) (get_angle_between_points(&D_80162FB0, &D_80162FC0) * 0xFFFF) / 65520);
|
||||
break;
|
||||
case 2:
|
||||
temp_v0_3 = ((s32) (var_s1 + 4) % 360) & 0xFFFF;
|
||||
|
|
@ -3730,7 +3730,7 @@ void func_8000DF8C(s32 arg0) {
|
|||
D_80162FC0.unk0 = (f32) temp_v0_4->wayPointX + sp118;
|
||||
D_80162FC0.unk4 = (f32) temp_v0_4->wayPointY;
|
||||
D_80162FC0.unk8 = (f32) ((f32) temp_v0_4->wayPointZ + (f32) (temp_f8 * 25.0));
|
||||
spC2 = (u16) ((s32) (func_802B5224(&D_80162FB0, &D_80162FC0) * 0xFFFF) / 65520);
|
||||
spC2 = (u16) ((s32) (get_angle_between_points(&D_80162FB0, &D_80162FC0) * 0xFFFF) / 65520);
|
||||
default:
|
||||
break;
|
||||
case 3:
|
||||
|
|
@ -3756,7 +3756,7 @@ void func_8000DF8C(s32 arg0) {
|
|||
D_80162FC0.unk0 = (f32) temp_v1->unk0;
|
||||
D_80162FC0.unk4 = (f32) temp_v1->unk2;
|
||||
D_80162FC0.unk8 = (f32) temp_v1->unk4;
|
||||
spC2 = (u16) ((s32) (func_802B5224(&D_80162FB0, &D_80162FC0) * 0xFFFF) / 65520);
|
||||
spC2 = (u16) ((s32) (get_angle_between_points(&D_80162FB0, &D_80162FC0) * 0xFFFF) / 65520);
|
||||
} else {
|
||||
D_80162FB0.unk0 = var_f22;
|
||||
D_80162FB0.unk4 = var_f20;
|
||||
|
|
@ -3764,7 +3764,7 @@ void func_8000DF8C(s32 arg0) {
|
|||
D_80162FC0.unk0 = -2409.197f;
|
||||
D_80162FC0.unk4 = 0.0f;
|
||||
D_80162FC0.unk8 = -355.254f;
|
||||
spC2 = (u16) ((s32) (func_802B5224(&D_80162FB0, &D_80162FC0) * 0xFFFF) / 65520);
|
||||
spC2 = (u16) ((s32) (get_angle_between_points(&D_80162FB0, &D_80162FC0) * 0xFFFF) / 65520);
|
||||
}
|
||||
temp_f14 = ((D_80162FC0.unk0 + D_80162FB0.unk0) * 0.5f) - var_f22;
|
||||
spF8 = temp_f14;
|
||||
|
|
@ -3802,7 +3802,7 @@ void func_8000DF8C(s32 arg0) {
|
|||
var_f6 += 4294967296.0f;
|
||||
}
|
||||
var_f20 += 3.0f - (var_f6 * 0.3f);
|
||||
spC2 = (u16) ((s32) (func_802B5224(&D_80162FB0, &D_80162FC0) * 0xFFFF) / 65520);
|
||||
spC2 = (u16) ((s32) (get_angle_between_points(&D_80162FB0, &D_80162FC0) * 0xFFFF) / 65520);
|
||||
break;
|
||||
}
|
||||
if (sp4C == 4) {
|
||||
|
|
@ -4926,7 +4926,7 @@ s16 func_80010CB0(s32 pathIndex, s32 wayPointIndex) {
|
|||
sp24[0] = temp_v0->wayPointX;
|
||||
sp24[1] = temp_v0->wayPointY;
|
||||
sp24[2] = temp_v0->wayPointZ;
|
||||
ret = func_802B5224(sp30, sp24);
|
||||
ret = get_angle_between_points(sp30, sp24);
|
||||
return -ret;
|
||||
}
|
||||
|
||||
|
|
@ -6427,7 +6427,7 @@ void func_80013D20(VehicleStuff *vehicle) {
|
|||
sp34[0] = vehicle->position[1];
|
||||
sp34[1] = 0.0f;
|
||||
sp34[2] = sqrtf((temp_f0_3 * temp_f0_3) + (temp_f2_2 * temp_f2_2));
|
||||
thing = func_802B5224(sp40, sp34);
|
||||
thing = get_angle_between_points(sp40, sp34);
|
||||
func_800224F0(&vehicle->rotation[0], -thing, 100);
|
||||
vehicle->velocity[0] = vehicle->position[0] - sp5C;
|
||||
vehicle->velocity[1] = vehicle->position[1] - sp58;
|
||||
|
|
|
|||
|
|
@ -2887,27 +2887,27 @@ void func_80078C70(s32 arg0) {
|
|||
case 0: /* switch 1 */
|
||||
sp1C = 0;
|
||||
camera = camera1;
|
||||
D_8018D200 = D_80150130[0] + 40.0f;
|
||||
D_8018D200 = gCameraZoom[0] + 40.0f;
|
||||
break;
|
||||
case 1: /* switch 1 */
|
||||
sp1C = 0;
|
||||
camera = camera1;
|
||||
D_8018D200 = D_80150130[0] + 40.0f;
|
||||
D_8018D200 = gCameraZoom[0] + 40.0f;
|
||||
break;
|
||||
case 2: /* switch 1 */
|
||||
camera = camera2;
|
||||
sp1C = D_8018D1F0;
|
||||
D_8018D200 = D_80150130[1] + 40.0f;
|
||||
D_8018D200 = gCameraZoom[1] + 40.0f;
|
||||
break;
|
||||
case 3: /* switch 1 */
|
||||
sp1C = 0;
|
||||
camera = camera1;
|
||||
D_8018D200 = D_80150130[0] + 40.0f;
|
||||
D_8018D200 = gCameraZoom[0] + 40.0f;
|
||||
break;
|
||||
case 4: /* switch 1 */
|
||||
camera = camera2;
|
||||
sp1C = D_8018D1F0;
|
||||
D_8018D200 = D_80150130[1] + 40.0f;
|
||||
D_8018D200 = gCameraZoom[1] + 40.0f;
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -6981,7 +6981,7 @@ void func_8008275C(s32 objectIndex) {
|
|||
D_80165C18[objectIndex].unk_028[1] *= 2.5;
|
||||
D_80165C18[objectIndex].unk_028[2] *= 2.0;
|
||||
func_8008BF18(objectIndex);
|
||||
D_80165C18[objectIndex].unk_0BE[1] = func_802B5224(D_80165C18[objectIndex].unk_01C, D_80165C18[objectIndex].pos);
|
||||
D_80165C18[objectIndex].unk_0BE[1] = get_angle_between_points(D_80165C18[objectIndex].unk_01C, D_80165C18[objectIndex].pos);
|
||||
break;
|
||||
}
|
||||
func_800873F4(objectIndex);
|
||||
|
|
@ -8084,7 +8084,7 @@ void func_80085AA8(void) {
|
|||
func_800859C8(temp_s2, var_s4);
|
||||
func_80040EC4(temp_s0->unk_01C, temp_s0->unk_028);
|
||||
func_8000D940(temp_s0->unk_028, &temp_s0->unk_084[8], temp_s0->unk_034, temp_s0->unk_044, 0);
|
||||
temp_s0->unk_0BE[1] = func_802B5224(temp_s0->unk_01C, temp_s0->unk_028);
|
||||
temp_s0->unk_0BE[1] = get_angle_between_points(temp_s0->unk_01C, temp_s0->unk_028);
|
||||
func_8008BF18(temp_s2);
|
||||
func_80089CBC(temp_s2, 30.0f);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1890,7 +1890,7 @@ void func_80090970(Player *player, s8 arg1, s8 arg2) {
|
|||
case 2:
|
||||
func_80090178(player, arg1, sp44, sp38);
|
||||
// Fakematch found by Verti, who knows what's going on here
|
||||
player->unk_02C[1] = (u16) -func_802B5224(sp44, sp38) & 0xFFFF;
|
||||
player->unk_02C[1] = (u16) -get_angle_between_points(sp44, sp38) & 0xFFFF;
|
||||
player->pos[0] = sp44[0];
|
||||
player->pos[1] = sp44[1] + 40.0f;
|
||||
player->pos[2] = sp44[2];
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ extern Vtx D_0D001300[];
|
|||
extern Vtx D_0D001330[];
|
||||
extern Vtx D_0D001360[];
|
||||
extern Vtx D_0D001390[];
|
||||
extern Vtx D_0D001590[];
|
||||
extern Vtx common_vertex_finish_post[];
|
||||
extern Vtx D_0D001710[];
|
||||
extern Gfx D_0D001750[];
|
||||
extern Gfx D_0D001780[];
|
||||
|
|
@ -34,14 +34,14 @@ extern Gfx D_0D0017F8[];
|
|||
extern Gfx D_0D001810[];
|
||||
extern Gfx D_0D001828[];
|
||||
extern Gfx D_0D001840[];
|
||||
extern Gfx D_0D001AB8[];
|
||||
extern Gfx common_model_finish_post[];
|
||||
extern Gfx D_0D001B68[];
|
||||
extern Gfx D_0D001B90[];
|
||||
extern Gfx D_0D001BD8[];
|
||||
extern Gfx D_0D001C20[];
|
||||
extern Gfx D_0D001C88[];
|
||||
extern Vtx D_0D001CE8[];
|
||||
extern Vtx D_0D001D28[];
|
||||
extern Vtx common_vtx_itembox_question_mark[];
|
||||
extern Vtx D_0D001D68[];
|
||||
extern Vtx D_0D001D98[];
|
||||
extern Vtx D_0D001DC8[];
|
||||
|
|
@ -52,9 +52,9 @@ extern Vtx D_0D001E88[];
|
|||
extern Vtx D_0D001EB8[];
|
||||
extern s8 gItemBoxQuestionMark_Texture[];
|
||||
extern Gfx D_0D002EE8[];
|
||||
extern Vtx D_0D002F40[];
|
||||
extern Gfx D_0D002F80[];
|
||||
extern Gfx D_0D003008[];
|
||||
extern Vtx common_fake_item_box_question_mark_vertices[];
|
||||
extern Gfx common_model_fake_itembox[];
|
||||
extern Gfx itemBoxQuestionMarkModel[];
|
||||
extern Gfx D_0D003090[];
|
||||
extern Gfx D_0D0030F8[];
|
||||
extern Gfx D_0D003128[];
|
||||
|
|
@ -66,12 +66,12 @@ extern Gfx D_0D003218[];
|
|||
extern Gfx D_0D003248[];
|
||||
extern Gfx D_0D003278[];
|
||||
extern Gfx D_0D003288[];
|
||||
extern Vtx D_0D003298[];
|
||||
extern Vtx D_0D0032E8[];
|
||||
extern Vtx common_vtx_banana[];
|
||||
extern Vtx common_vtx_flat_banana[];
|
||||
extern s8 gBananaTexture[];
|
||||
extern s8 D_0D003B48[];
|
||||
extern Gfx D_0D004B48[];
|
||||
extern Gfx D_0D004BD8[];
|
||||
extern s8 common_texture_flat_banana[];
|
||||
extern Gfx common_model_banana[];
|
||||
extern Gfx common_model_flat_banana[];
|
||||
extern s8 D_0D004C68[];
|
||||
extern s8 gTLUTGreenShell[];
|
||||
extern s8 gTLUTBlueShell[];
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ Vtx D_0D001390[] = {
|
|||
{{{ 40, 100, 0}, 0, {0, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
};
|
||||
|
||||
Vtx D_0D001590[] = {
|
||||
Vtx common_vertex_finish_post[] = {
|
||||
{{{ -92, 0, 0}, 0, {0, 990}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
{{{ -89, 0, 0}, 0, {990, 990}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
{{{ -89, 115, 0}, 0, {990, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
|
|
@ -244,7 +244,7 @@ Gfx D_0D001840[] = {
|
|||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
Gfx D_0D001AB8[] = {
|
||||
Gfx common_model_finish_post[] = {
|
||||
gsSPClearGeometryMode(G_CULL_BACK),
|
||||
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, 0x03008000),
|
||||
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, 5, G_TX_NOLOD),
|
||||
|
|
@ -252,7 +252,7 @@ Gfx D_0D001AB8[] = {
|
|||
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 1023, 256),
|
||||
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, 5, G_TX_NOLOD),
|
||||
gsDPSetTileSize(G_TX_RENDERTILE, 0, 0, 124, 124),
|
||||
gsSPVertex(D_0D001590, 24, 0),
|
||||
gsSPVertex(common_vertex_finish_post, 24, 0),
|
||||
gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
|
||||
gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0),
|
||||
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, 0x03008800),
|
||||
|
|
@ -284,7 +284,7 @@ Gfx D_0D001B90[] = {
|
|||
gsSPDisplayList(D_0D001840),
|
||||
gsDPSetRenderMode(G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2),
|
||||
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
|
||||
gsSPDisplayList(D_0D001AB8),
|
||||
gsSPDisplayList(common_model_finish_post),
|
||||
gsDPPipeSync(),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
|
@ -293,7 +293,7 @@ Gfx D_0D001BD8[] = {
|
|||
gsDPPipeSync(),
|
||||
gsDPSetRenderMode(G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2),
|
||||
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
|
||||
gsSPDisplayList(D_0D001AB8),
|
||||
gsSPDisplayList(common_model_finish_post),
|
||||
gsDPSetCombineMode(G_CC_DECALRGB, G_CC_DECALRGB),
|
||||
gsSPSetGeometryMode(G_CULL_BACK),
|
||||
gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2),
|
||||
|
|
@ -310,7 +310,7 @@ Gfx D_0D001C20[] = {
|
|||
gsSPDisplayList(D_0D001840),
|
||||
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_TEX_EDGE2),
|
||||
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_PASS2),
|
||||
gsSPDisplayList(D_0D001AB8),
|
||||
gsSPDisplayList(common_model_finish_post),
|
||||
gsSPClearGeometryMode(G_FOG),
|
||||
gsDPSetCycleType(G_CYC_1CYCLE),
|
||||
gsDPPipeSync(),
|
||||
|
|
@ -323,7 +323,7 @@ Gfx D_0D001C88[] = {
|
|||
gsSPSetGeometryMode(G_FOG),
|
||||
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_TEX_EDGE2),
|
||||
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_PASS2),
|
||||
gsSPDisplayList(D_0D001AB8),
|
||||
gsSPDisplayList(common_model_finish_post),
|
||||
gsDPSetCombineMode(G_CC_DECALRGB, G_CC_PASS2),
|
||||
gsSPDisplayList(D_0D001B68),
|
||||
gsSPClearGeometryMode(G_FOG),
|
||||
|
|
@ -340,7 +340,7 @@ Vtx D_0D001CE8[] = {
|
|||
{{{ 5, 0, -5}, 0, {0, 0}, {0x00, 0x00, 0x00, 0x80}}},
|
||||
};
|
||||
|
||||
Vtx D_0D001D28[] = {
|
||||
Vtx common_vtx_itembox_question_mark[] = {
|
||||
{{{ 3, -5, 0}, 0, {1024, 1945}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
{{{ 3, 5, 0}, 0, {1024, 65434}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
{{{ -3, 5, 0}, 0, {0, 65434}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
|
|
@ -414,14 +414,14 @@ Gfx D_0D002EE8[] = {
|
|||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
Vtx D_0D002F40[] = {
|
||||
Vtx common_fake_item_box_question_mark_vertices[] = {
|
||||
{{{ -3, 5, 0}, 0, {1024, 2048}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
{{{ -3, -5, 0}, 0, {1024, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
{{{ 3, -5, 0}, 0, {0, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
{{{ 3, 5, 0}, 0, {0, 2048}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
};
|
||||
|
||||
Gfx D_0D002F80[] = {
|
||||
Gfx common_model_fake_itembox[] = {
|
||||
gsSPClearGeometryMode(G_CULL_BACK),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
|
||||
gsDPPipeSync(),
|
||||
|
|
@ -435,13 +435,13 @@ Gfx D_0D002F80[] = {
|
|||
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD),
|
||||
gsDPLoadSync(),
|
||||
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 2047, 256),
|
||||
gsSPVertex(D_0D002F40, 4, 0),
|
||||
gsSPVertex(common_fake_item_box_question_mark_vertices, 4, 0),
|
||||
gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
|
||||
gsSPSetGeometryMode(G_CULL_BACK),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
Gfx D_0D003008[] = {
|
||||
Gfx itemBoxQuestionMarkModel[] = {
|
||||
gsSPClearGeometryMode(G_CULL_BACK),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
|
||||
gsDPPipeSync(),
|
||||
|
|
@ -455,7 +455,7 @@ Gfx D_0D003008[] = {
|
|||
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD),
|
||||
gsDPLoadSync(),
|
||||
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 2047, 256),
|
||||
gsSPVertex(D_0D001D28, 4, 0),
|
||||
gsSPVertex(common_vtx_itembox_question_mark, 4, 0),
|
||||
gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
|
||||
gsSPSetGeometryMode(G_CULL_BACK),
|
||||
gsSPEndDisplayList(),
|
||||
|
|
@ -559,7 +559,7 @@ Gfx D_0D003288[] = {
|
|||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
Vtx D_0D003298[] = {
|
||||
Vtx common_vtx_banana[] = {
|
||||
{{{ 4, -3, 0}, 0, {1228, 1024}, {0xff, 0xfe, 0xfe, 0xff}}},
|
||||
{{{ 0, 4, 0}, 0, {512, 65332}, {0xc1, 0xff, 0x00, 0xff}}},
|
||||
{{{ -4, -3, 0}, 0, {65332, 1024}, {0xff, 0xfe, 0xfe, 0xff}}},
|
||||
|
|
@ -567,7 +567,7 @@ Vtx D_0D003298[] = {
|
|||
{{{ 0, -3, -4}, 0, {65332, 1024}, {0xd3, 0xda, 0xad, 0xff}}},
|
||||
};
|
||||
|
||||
Vtx D_0D0032E8[] = {
|
||||
Vtx common_vtx_flat_banana[] = {
|
||||
{{{ 6, -3, 0}, 0, {2048, 1024}, {0xff, 0xfe, 0xfe, 0xff}}},
|
||||
{{{ 0, 4, 0}, 0, {1023, 65127}, {0xc1, 0xff, 0x00, 0xff}}},
|
||||
{{{ -6, -3, 0}, 0, {0, 1024}, {0xff, 0xfe, 0xfe, 0xff}}},
|
||||
|
|
@ -582,12 +582,12 @@ s8 gBananaTexture[] = {
|
|||
#include "textures/common/132B50_03348.rgba16.inc.c"
|
||||
};
|
||||
|
||||
s8 D_0D003B48[] = {
|
||||
s8 common_texture_flat_banana[] = {
|
||||
#include "textures/common/132B50_03B48.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x4B48
|
||||
Gfx D_0D004B48[] = {
|
||||
Gfx common_model_banana[] = {
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA),
|
||||
|
|
@ -601,7 +601,7 @@ Gfx D_0D004B48[] = {
|
|||
gsDPLoadSync(),
|
||||
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 1023, 256),
|
||||
gsSPClearGeometryMode(G_CULL_BACK | G_LIGHTING),
|
||||
gsSPVertex(D_0D003298, 5, 0),
|
||||
gsSPVertex(common_vtx_banana, 5, 0),
|
||||
gsSP1Triangle(0, 1, 2, 0),
|
||||
gsSP1Triangle(3, 1, 4, 0),
|
||||
gsSPSetGeometryMode(G_CULL_BACK),
|
||||
|
|
@ -609,7 +609,7 @@ Gfx D_0D004B48[] = {
|
|||
};
|
||||
|
||||
|
||||
Gfx D_0D004BD8[] = {
|
||||
Gfx common_model_flat_banana[] = {
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA),
|
||||
|
|
@ -617,13 +617,13 @@ Gfx D_0D004BD8[] = {
|
|||
gsDPTileSync(),
|
||||
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0x0000, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, 6, G_TX_NOLOD),
|
||||
gsDPSetTileSize(G_TX_RENDERTILE, 0, 0, 252, 124),
|
||||
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, D_0D003B48),
|
||||
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, common_texture_flat_banana),
|
||||
gsDPTileSync(),
|
||||
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD),
|
||||
gsDPLoadSync(),
|
||||
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 2047, 128),
|
||||
gsSPClearGeometryMode(G_CULL_BACK | G_LIGHTING),
|
||||
gsSPVertex(D_0D0032E8, 6, 0),
|
||||
gsSPVertex(common_vtx_flat_banana, 6, 0),
|
||||
gsSP1Triangle(0, 1, 2, 0),
|
||||
gsSP1Triangle(3, 4, 5, 0),
|
||||
gsSPSetGeometryMode(G_CULL_BACK),
|
||||
|
|
@ -684,7 +684,7 @@ Gfx D_0D005308[] = {
|
|||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
Gfx D_0D005338[] = {
|
||||
Gfx D_0D005338[] = { // normal shell
|
||||
gsSPDisplayList(D_0D005308),
|
||||
gsSPVertex(D_0D005238, 4, 0),
|
||||
gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
|
||||
|
|
@ -693,7 +693,7 @@ Gfx D_0D005338[] = {
|
|||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
Gfx D_0D005368[] = {
|
||||
Gfx D_0D005368[] = { // mirrored shell
|
||||
gsSPDisplayList(D_0D005308),
|
||||
gsSPVertex(D_0D005278, 4, 0),
|
||||
gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ void func_802816B8(void) {
|
|||
cameras[0].up[0] = 0.0f;
|
||||
cameras[0].up[1] = 1.0f;
|
||||
cameras[0].up[2] = 0.0f;
|
||||
D_80150130[0] = 40.0f;
|
||||
gCameraZoom[0] = 40.0f;
|
||||
D_80150148 = 1.33333333f;
|
||||
D_80150150 = 3.0f;
|
||||
D_8015014C = 6800.0f;
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
#include "podium_ceremony_actors.h"
|
||||
#include "code_80091750.h"
|
||||
|
||||
extern f32 D_80150130[];
|
||||
extern f32 gCameraZoom[];
|
||||
|
||||
f32 D_802856B0 = 98.0f;
|
||||
f32 D_802856B4 = 12.0f;
|
||||
|
|
@ -543,7 +543,7 @@ void init_cinematic_camera(void) {
|
|||
camera->unk68 = 0.0f;
|
||||
camera->unk6C = 0;
|
||||
camera->unk6E = 0;
|
||||
camera->unk20 = D_80150130[0];
|
||||
camera->unk20 = gCameraZoom[0];
|
||||
sCutsceneShot = 0;
|
||||
gCutsceneShotTimer = 0;
|
||||
D_802876D4 = 0;
|
||||
|
|
@ -626,7 +626,7 @@ s32 func_80283648(Camera *camera) {
|
|||
}
|
||||
func_80282F44(0, new_var, camera);
|
||||
func_80282F44(1, new_var, camera);
|
||||
func_80283100(new_var, D_80150130);
|
||||
func_80283100(new_var, gCameraZoom);
|
||||
vec3f_copy_dupe(new_var->unk30, camera->pos);
|
||||
vec3f_copy_dupe(new_var->unk24, camera->lookAt);
|
||||
vec3f_copy_dupe(new_var->unk3C, camera->up);
|
||||
|
|
|
|||
|
|
@ -51,16 +51,16 @@ void func_80280038(void) {
|
|||
func_80057FC4(0);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, D_80150130[0], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraZoom[0], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
gSPPerspNormalize(gDisplayListHead++, perspNorm);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->mtxLookAt[0], camera->pos[0], camera->pos[1], camera->pos[2], camera->lookAt[0], camera->lookAt[1], camera->lookAt[2], camera->up[0], camera->up[1], camera->up[2]);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gCurrentCourseId = gCreditsCourseId;
|
||||
mtxf_identity(matrix);
|
||||
func_802B4FF8(matrix, 0);
|
||||
render_set_position(matrix, 0);
|
||||
func_80295A38(D_800DC5EC);
|
||||
func_802A3008(D_800DC5EC);
|
||||
render_course_actors(D_800DC5EC);
|
||||
func_80058090(0);
|
||||
func_80058538(0);
|
||||
transition_sliding_borders();
|
||||
|
|
@ -128,7 +128,7 @@ void load_credits(void) {
|
|||
func_802A4D18();
|
||||
func_802A74BC();
|
||||
camera->unk_B4 = 60.0f;
|
||||
D_80150130[0] = 60.0f;
|
||||
gCameraZoom[0] = 60.0f;
|
||||
D_800DC5EC->screenWidth = SCREEN_WIDTH;
|
||||
D_800DC5EC->screenHeight = SCREEN_HEIGHT;
|
||||
D_800DC5EC->screenStartX = 160;
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ void load_credits(void);
|
|||
extern Gfx *gDisplayListHead;
|
||||
|
||||
extern f32 D_80150148, D_8015014C, D_80150150;
|
||||
extern f32 D_80150130[4];
|
||||
extern f32 gCameraZoom[4];
|
||||
extern s16 gCreditsCourseId;
|
||||
extern u16 gMatrixObjectCount;
|
||||
extern s16 gMatrixEffectCount;
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ void load_ceremony_cutscene(void) {
|
|||
func_802A4D18();
|
||||
func_802A74BC();
|
||||
camera->unk_B4 = 60.0f;
|
||||
D_80150130[0] = 60.0f;
|
||||
gCameraZoom[0] = 60.0f;
|
||||
D_800DC5EC->screenWidth = SCREEN_WIDTH;
|
||||
D_800DC5EC->screenHeight = SCREEN_HEIGHT;
|
||||
D_800DC5EC->screenStartX = 160;
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ extern struct UnkStruct_800DC5EC *D_800DC5EC;
|
|||
|
||||
extern s32 D_80287554;
|
||||
extern f32 D_801647A4;
|
||||
extern f32 D_80150130[];
|
||||
extern f32 gCameraZoom[];
|
||||
|
||||
extern s32 D_8015F5A0;
|
||||
|
||||
|
|
|
|||
|
|
@ -67,13 +67,13 @@ void func_80281D00(void) {
|
|||
}
|
||||
func_8028150C();
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
guPerspective((Mtx*) &gGfxPool->mtxPersp[0], &perspNorm, D_80150130[0], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
guPerspective((Mtx*) &gGfxPool->mtxPersp[0], &perspNorm, gCameraZoom[0], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
gSPPerspNormalize(gDisplayListHead++, perspNorm);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt((Mtx*) &gGfxPool->mtxLookAt[0], camera->pos[0], camera->pos[1], camera->pos[2], camera->lookAt[0], camera->lookAt[1], camera->lookAt[2], camera->up[0], camera->up[1], camera->up[2]);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(matrix);
|
||||
func_802B4FF8(matrix, 0);
|
||||
render_set_position(matrix, 0);
|
||||
gSPDisplayList(gDisplayListHead++, VIRTUAL_TO_PHYSICAL2(&D_80284F70));
|
||||
func_800212B4();
|
||||
gSPDisplayList(gDisplayListHead++, VIRTUAL_TO_PHYSICAL2(&D_80284EE0));
|
||||
|
|
|
|||
|
|
@ -14,6 +14,6 @@ extern Gfx D_00284EE0[];
|
|||
|
||||
extern f32 D_80150148, D_8015014C, D_80150150;
|
||||
|
||||
extern f32 D_80150130[];
|
||||
extern f32 gCameraZoom[];
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -5321,7 +5321,7 @@ void func_80055FA0(s32 objectIndex, UNUSED s32 arg1) {
|
|||
gSPDisplayList(gDisplayListHead++, object->unk_070);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(someMatrix2);
|
||||
func_802B4FF8(someMatrix2, 0);
|
||||
render_set_position(someMatrix2, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
14
src/main.c
14
src/main.c
|
|
@ -117,7 +117,7 @@ s32 D_80150120;
|
|||
s32 gMenuSelectionFromQuit;
|
||||
UNUSED s32 D_80150128;
|
||||
UNUSED s32 D_8015012C;
|
||||
f32 D_80150130[4];
|
||||
f32 gCameraZoom[4]; // look like to be the fov of each character
|
||||
//f32 D_80150134;
|
||||
//f32 D_80150138;
|
||||
//f32 D_8015013C;
|
||||
|
|
@ -579,7 +579,7 @@ void race_logic_loop(void) {
|
|||
func_80028F70();
|
||||
func_8028F474();
|
||||
func_80059AC8();
|
||||
update_simple_objects();
|
||||
update_course_actors();
|
||||
func_802966A0();
|
||||
func_8028FCBC();
|
||||
|
||||
|
|
@ -646,7 +646,7 @@ void race_logic_loop(void) {
|
|||
func_80029150();
|
||||
func_8028F474();
|
||||
func_80059AC8();
|
||||
update_simple_objects();
|
||||
update_course_actors();
|
||||
func_802966A0();
|
||||
func_8028FCBC();
|
||||
}
|
||||
|
|
@ -692,7 +692,7 @@ void race_logic_loop(void) {
|
|||
func_80029150();
|
||||
func_8028F474();
|
||||
func_80059AC8();
|
||||
update_simple_objects();
|
||||
update_course_actors();
|
||||
func_802966A0();
|
||||
func_8028FCBC();
|
||||
}
|
||||
|
|
@ -764,7 +764,7 @@ void race_logic_loop(void) {
|
|||
func_800291F8();
|
||||
func_8028F474();
|
||||
func_80059AC8();
|
||||
update_simple_objects();
|
||||
update_course_actors();
|
||||
func_802966A0();
|
||||
func_8028FCBC();
|
||||
}
|
||||
|
|
@ -825,7 +825,7 @@ void race_logic_loop(void) {
|
|||
func_800591B4();
|
||||
func_80093E20();
|
||||
#if DVDL
|
||||
display_dvdl();
|
||||
display_dvdl();
|
||||
#endif
|
||||
gDPFullSync(gDisplayListHead++);
|
||||
gSPEndDisplayList(gDisplayListHead++);
|
||||
|
|
@ -873,7 +873,7 @@ void game_state_handler(void) {
|
|||
init_rcp();
|
||||
func_80094A64(gGfxPool);
|
||||
#if DVDL
|
||||
display_dvdl();
|
||||
display_dvdl();
|
||||
#endif
|
||||
break;
|
||||
case RACING:
|
||||
|
|
|
|||
|
|
@ -1692,7 +1692,7 @@ void func_8002B9CC(Player *player, s8 arg1, UNUSED s32 arg2) {
|
|||
func_8008C73C(player, arg1);
|
||||
}
|
||||
}
|
||||
temp = (-(s16)func_802B5224(player->pos, &player->rotX));
|
||||
temp = (-(s16)get_angle_between_points(player->pos, &player->rotX));
|
||||
temp2 = (player->unk_02C[1] - player->unk_0C0);
|
||||
temp = temp - temp2;
|
||||
player->unk_234 = temp / 182;
|
||||
|
|
@ -1735,7 +1735,7 @@ void func_8002BB9C(Player *player, f32 *arg1, f32 *arg2, UNUSED s8 arg3, UNUSED
|
|||
|
||||
func_802B63B8(sp4C, sp64);
|
||||
|
||||
var_v0 = -(s16)func_802B5224(sp58, sp4C);
|
||||
var_v0 = -(s16)get_angle_between_points(sp58, sp4C);
|
||||
t0 = player->unk_02C[1];
|
||||
var_v0 = 0x10000 + (t0 - var_v0);
|
||||
var_v0 /= 182;
|
||||
|
|
@ -2156,7 +2156,7 @@ void func_8002D028(Player *player, s8 arg1) {
|
|||
sp4C[1] = 0;
|
||||
sp4C[2] = D_80165230[D_80165270[arg1]];
|
||||
|
||||
temp = -(s16)func_802B5224(player->pos, sp4C);
|
||||
temp = -(s16)get_angle_between_points(player->pos, sp4C);
|
||||
temp2 = player->unk_02C[1];
|
||||
temp = (temp - temp2);
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
void func_8029E158(void);
|
||||
void cleanup_red_and_green_shells(struct ShellActor*);
|
||||
void actor_init(struct Actor*, f32*, s16*, f32*, s16);
|
||||
void actor_init(struct Actor*, Vec3f, s16*, f32*, s16);
|
||||
void func_80297230(Camera*, struct Actor*);
|
||||
void func_802972B8(Camera*, struct Actor*);
|
||||
void func_80297340(Camera*);
|
||||
|
|
@ -16,45 +16,45 @@ void func_802976EC(Collision*, Vec3s);
|
|||
void func_80297760(struct Actor*, Vec3f);
|
||||
void func_802977B0(Player*);
|
||||
void func_802977E4(Player*);
|
||||
void func_80297818(void);
|
||||
void init_red_shell_texture(void);
|
||||
void func_80297944(void);
|
||||
void func_8029794C(Vec3f, Vec3s, f32);
|
||||
void func_802979F8(struct Actor*, f32);
|
||||
void func_80297A50(Camera*, Mat4, struct Actor*);
|
||||
void update_obj_yoshi_valley_egg(struct YoshiValleyEgg*);
|
||||
void update_obj_trees_cacti_shrubs(struct Actor*);
|
||||
void update_obj_kiwano_fruit(struct KiwanoFruit*);
|
||||
void update_obj_paddle_wheel(struct PaddleWheelBoat*);
|
||||
void update_obj_train_engine(struct TrainCar*);
|
||||
void update_obj_train_car1(struct TrainCar*);
|
||||
void update_obj_train_car2(struct TrainCar*);
|
||||
void update_obj_piranha_plant(struct PiranhaPlant*);
|
||||
void func_80298328(Camera*, Mat4, struct PiranhaPlant*);
|
||||
void render_actor_cow(Camera*, Mat4, struct Actor*);
|
||||
void update_actor_yoshi_valley_egg(struct YoshiValleyEgg*);
|
||||
void update_actor_trees_cacti_shrubs(struct Actor*);
|
||||
void update_actor_kiwano_fruit(struct KiwanoFruit*);
|
||||
void update_actor_paddle_wheel(struct PaddleWheelBoat*);
|
||||
void update_actor_train_engine(struct TrainCar*);
|
||||
void update_actor_train_car1(struct TrainCar*);
|
||||
void update_actor_train_car2(struct TrainCar*);
|
||||
void update_actor_piranha_plant(struct PiranhaPlant*);
|
||||
void render_actor_piranha_plant(Camera*, Mat4, struct PiranhaPlant*);
|
||||
void func_802986B4(Camera*, Mat4, struct Actor*);
|
||||
void func_80298AC0(Player*);
|
||||
void func_80298D7C(Camera*, Mat4, struct Actor*);
|
||||
void func_80298C94(void);
|
||||
void func_80298D10(void);
|
||||
void func_80299144(Camera*, Mat4, struct Actor*);
|
||||
void func_8029930C(Camera*, Mat4, struct Actor*);
|
||||
void func_802994D4(Camera*, Mat4, struct Actor*);
|
||||
void func_8029969C(Camera*, Mat4, struct Actor*);
|
||||
void render_actor_tree_mario_raceway(Camera*, Mat4, struct Actor*);
|
||||
void render_actor_tree_yoshi_valley(Camera*, Mat4, struct Actor*);
|
||||
void render_actor_tree_royal_raceway(Camera*, Mat4, struct Actor*);
|
||||
void render_actor_tree_moo_moo_farm(Camera*, Mat4, struct Actor*);
|
||||
void func_80299864(Camera*, Mat4, struct Actor*);
|
||||
void func_80299A2C(Camera*, Mat4, struct Actor*);
|
||||
void func_80299BF4(Camera*, Mat4, struct Actor*);
|
||||
void func_80299DBC(Camera*, Mat4, struct Actor*);
|
||||
void func_80299EDC(Camera*, Mat4, struct Actor*);
|
||||
void func_80299FFC(Camera*, Mat4, struct Actor*);
|
||||
void func_8029A11C(Camera*, Mat4, struct Actor*);
|
||||
void func_8029A23C(Camera*, Mat4, struct Actor*);
|
||||
void func_8029A3AC(Camera*, Mat4, struct ShellActor*);
|
||||
void func_8029A690(Camera*, Mat4, struct ShellActor*);
|
||||
void func_8029A75C(Camera*, Mat4, struct ShellActor*);
|
||||
void func_8029A828(Camera*, Mat4, struct ShellActor*);
|
||||
void func_8029A8F4(Camera*, Mat4, struct BananaActor*);
|
||||
void update_obj_wario_stadium_sign(struct Actor*);
|
||||
void update_obj_railroad_crossing(struct RailroadCrossing*);
|
||||
void update_obj_mario_raceway_sign(struct Actor*);
|
||||
void render_actor_tree_bowser_castle(Camera*, Mat4, struct Actor*);
|
||||
void render_actor_bush_bowser_castle(Camera*, Mat4, struct Actor*);
|
||||
void render_actor_tree_frappe_snowland(Camera*, Mat4, struct Actor*);
|
||||
void render_actor_tree_cactus1_kalimari_desert(Camera*, Mat4, struct Actor*);
|
||||
void render_actor_tree_cactus2_kalimari_desert(Camera*, Mat4, struct Actor*);
|
||||
void render_actor_tree_cactus3_kalimari_desert(Camera*, Mat4, struct Actor*);
|
||||
void render_actor_kiwano_fruit_dks_jungle_parkway(Camera*, Mat4, struct Actor*);
|
||||
void render_actor_shell(Camera*, Mat4, struct ShellActor*);
|
||||
void render_actor_green_shell(Camera*, Mat4, struct ShellActor*);
|
||||
void render_actor_red_shell(Camera*, Mat4, struct ShellActor*);
|
||||
void render_actor_blue_shell(Camera*, Mat4, struct ShellActor*);
|
||||
void render_actor_banana(Camera*, Mat4, struct BananaActor*);
|
||||
void update_actor_wario_stadium_sign(struct Actor*);
|
||||
void update_actor_railroad_crossing(struct RailroadCrossing*);
|
||||
void update_actor_mario_raceway_sign(struct Actor*);
|
||||
void func_8029ABD4(Vec3f, s16);
|
||||
void func_8029AC18(Camera*, Mat4, struct Actor*);
|
||||
void func_8029AE14(void);
|
||||
|
|
@ -66,12 +66,12 @@ void func_8029B6EC(Camera*, struct Actor*);
|
|||
void func_8029B8E8(Camera*, struct TrainCar*);
|
||||
void func_8029BFB0(Camera*, struct TrainCar*);
|
||||
void func_8029C3CC(Camera*, struct TrainCar*);
|
||||
void func_8029CA90(Camera*, struct FallingRock*);
|
||||
void render_actor_falling_rock(Camera*, struct FallingRock*);
|
||||
void place_piranha_plants(struct ActorSpawnData*);
|
||||
void place_palm_trees(struct ActorSpawnData*);
|
||||
void func_8029CF0C(struct ActorSpawnData*, struct FallingRock*);
|
||||
void place_falling_rocks(struct ActorSpawnData*);
|
||||
void update_obj_falling_rocks(struct FallingRock*);
|
||||
void update_actor_falling_rocks(struct FallingRock*);
|
||||
void spawn_foliage(struct ActorSpawnData*);
|
||||
void place_all_item_boxes(struct ActorSpawnData*);
|
||||
void init_kiwano_fruit(void);
|
||||
|
|
@ -96,10 +96,10 @@ void func_802A0450(Player*, struct Actor*);
|
|||
void evaluate_player_collision(void);
|
||||
void func_802A0E44(void);
|
||||
void func_802A1064(struct FakeItemBox*);
|
||||
void update_obj_fake_item_box(struct FakeItemBox*);
|
||||
void update_actor_fake_item_box(struct FakeItemBox*);
|
||||
void func_802A14BC(f32, f32, f32);
|
||||
void update_obj_item_box_hot_air_balloon(struct ItemBox*);
|
||||
void update_obj_item_box(struct ItemBox*);
|
||||
void update_actor_item_box_hot_air_balloon(struct ItemBox*);
|
||||
void update_actor_item_box(struct ItemBox*);
|
||||
void func_802A171C(Camera*, struct FakeItemBox*);
|
||||
void func_802A1EA0(Camera*, struct ItemBox*);
|
||||
void func_802A269C(Camera*, struct Actor*);
|
||||
|
|
@ -108,8 +108,8 @@ void func_802A29BC(Camera*, Mat4, struct Actor*);
|
|||
void func_802A2AD0(Camera*, struct RailroadCrossing*);
|
||||
void func_802A2C78(Camera*, Mat4, struct Actor*);
|
||||
void func_802A2F34(struct UnkStruct_800DC5EC*);
|
||||
void func_802A3008(struct UnkStruct_800DC5EC*);
|
||||
void update_simple_objects(void);
|
||||
void render_course_actors(struct UnkStruct_800DC5EC*);
|
||||
void update_course_actors(void);
|
||||
|
||||
// audio/external.c
|
||||
extern void func_800C98B8(Vec3f, Vec3f, u32);
|
||||
|
|
@ -121,7 +121,7 @@ extern u8 *D_802BA050;
|
|||
extern u8 *D_802BA054;
|
||||
extern u8 *D_802BA058;
|
||||
extern struct Actor *D_802BA05C;
|
||||
extern s8 D_802BA060[512]; // tlut 256
|
||||
extern s8 gTLUTRedShell[512]; // tlut 256
|
||||
extern u16 D_802BA260;
|
||||
|
||||
extern s32 gPlayerCountSelection1;
|
||||
|
|
@ -141,7 +141,7 @@ extern Camera *camera1;
|
|||
extern Gfx *gDisplayListHead;
|
||||
extern s32 gModeSelection;
|
||||
extern s16 gCurrentCourseId;
|
||||
extern f32 D_80150130[];
|
||||
extern f32 gCameraZoom[];
|
||||
extern u16 isCrossingTriggeredByIndex[];
|
||||
extern Lights1 D_800DC610[];
|
||||
|
||||
|
|
@ -188,8 +188,8 @@ extern Gfx D_0D001BD8[];
|
|||
extern Gfx D_0D001C20[];
|
||||
extern Gfx D_0D001C88[];
|
||||
extern Gfx D_0D002EE8[];
|
||||
extern Gfx D_0D002F80[];
|
||||
extern Gfx D_0D003008[];
|
||||
extern Gfx common_model_fake_itembox[];
|
||||
extern Gfx itemBoxQuestionMarkModel[];
|
||||
extern Gfx D_0D003090[];
|
||||
extern Gfx D_0D0030F8[];
|
||||
extern Gfx D_0D003128[];
|
||||
|
|
@ -197,8 +197,8 @@ extern Gfx D_0D003158[];
|
|||
extern Gfx D_0D003188[];
|
||||
extern Gfx D_0D0031B8[];
|
||||
extern Gfx D_0D0031E8[];
|
||||
extern Gfx D_0D004B48[];
|
||||
extern Gfx D_0D004BD8[];
|
||||
extern Gfx common_model_banana[];
|
||||
extern Gfx common_model_flat_banana[];
|
||||
|
||||
extern u8 D_0F04CBE0[];
|
||||
extern u8 D_0F04CE30[];
|
||||
|
|
|
|||
|
|
@ -213,7 +213,7 @@ s32 func_802B09C0(s16 bananaId) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
void update_obj_banana_bunch(struct BananaBunchParent *banana_bunch) {
|
||||
void update_actor_banana_bunch(struct BananaBunchParent *banana_bunch) {
|
||||
UNUSED s32 pad[2];
|
||||
Player *owner;
|
||||
struct Controller *controller;
|
||||
|
|
@ -329,7 +329,7 @@ s32 func_802B0E14(s16 arg0) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
void update_obj_triple_shell(TripleShellParent *parent, s16 shellType) {
|
||||
void update_actor_triple_shell(TripleShellParent *parent, s16 shellType) {
|
||||
UNUSED s32 pad[2];
|
||||
s16 playerId;
|
||||
UNUSED s32 pad2;
|
||||
|
|
@ -665,7 +665,7 @@ void func_802B1FFC(Player *player) {
|
|||
gActorList[func_802B1E48(player)].type = ACTOR_BLUE_SPINY_SHELL;
|
||||
}
|
||||
|
||||
void update_obj_banana(struct BananaActor *banana) {
|
||||
void update_actor_banana(struct BananaActor *banana) {
|
||||
UNUSED f32 pad;
|
||||
Player *player;
|
||||
struct BananaActor *elderBanana;
|
||||
|
|
@ -1103,7 +1103,7 @@ void func_802B30EC(void) {
|
|||
}
|
||||
}
|
||||
|
||||
void update_obj_green_shell(struct ShellActor *shell) {
|
||||
void update_actor_green_shell(struct ShellActor *shell) {
|
||||
Player *player;
|
||||
UNUSED f32 pad9;
|
||||
UNUSED f32 padA;
|
||||
|
|
@ -1469,7 +1469,7 @@ void func_802B4104(struct ShellActor *shell) {
|
|||
}
|
||||
}
|
||||
|
||||
void update_obj_red_blue_shell(struct ShellActor *shell) {
|
||||
void update_actor_red_blue_shell(struct ShellActor *shell) {
|
||||
UNUSED f32 pad9;
|
||||
Player *player;
|
||||
f32 temp_f0;
|
||||
|
|
|
|||
|
|
@ -13,28 +13,28 @@ void func_802B0570(struct BananaActor*);
|
|||
void func_802B0648(struct BananaBunchParent*);
|
||||
void func_802B0788(s16, struct BananaBunchParent*, Player*);
|
||||
s32 func_802B09C0(s16);
|
||||
void update_obj_banana_bunch(struct BananaBunchParent*);
|
||||
void update_actor_banana_bunch(struct BananaBunchParent*);
|
||||
s32 func_802B0E14(s16);
|
||||
void update_obj_triple_shell(TripleShellParent*, s16);
|
||||
void update_actor_triple_shell(TripleShellParent*, s16);
|
||||
s32 func_802B17F4(Player*);
|
||||
s32 func_802B18E4(Player*, s16);
|
||||
s32 func_802B19EC(TripleShellParent*, Player*, s16, u16);
|
||||
s32 func_802B1C9C(Player*);
|
||||
s32 func_802B1E48(Player*);
|
||||
void func_802B1FFC(Player*);
|
||||
void update_obj_banana(struct BananaActor*);
|
||||
void update_actor_banana(struct BananaActor*);
|
||||
void func_802B2914(struct BananaBunchParent*, Player*, s16);
|
||||
s32 func_802B2C40(Player*);
|
||||
s32 func_802B2D70(Player*);
|
||||
void func_802B2EBC(Player*);
|
||||
void func_802B2FA0(Player*);
|
||||
void func_802B30EC(void);
|
||||
void update_obj_green_shell(struct ShellActor*);
|
||||
void update_actor_green_shell(struct ShellActor*);
|
||||
void func_802B3B44(struct ShellActor*);
|
||||
void func_802B3E7C(struct ShellActor*, Player*);
|
||||
s16 func_802B3FD0(Player*, struct ShellActor*);
|
||||
void func_802B4104(struct ShellActor*);
|
||||
void update_obj_red_blue_shell(struct ShellActor*);
|
||||
void update_actor_red_blue_shell(struct ShellActor*);
|
||||
void func_802B4E30(struct Actor*);
|
||||
|
||||
// audio/external.c
|
||||
|
|
|
|||
|
|
@ -39,7 +39,8 @@ UNUSED void func_802B4FF0() {
|
|||
|
||||
}
|
||||
|
||||
s32 func_802B4FF8(Mat4 arg0, s32 arg1) {
|
||||
// set the position, rotation and mode of where to render the next object and check number of object already render
|
||||
s32 render_set_position(Mat4 arg0, s32 arg1) {
|
||||
if (gMatrixObjectCount >= MTX_OBJECT_POOL_SIZE) {
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -72,7 +73,7 @@ f32 func_802B51E8(Vec3f arg0, Vec3f arg1) {
|
|||
return (temp_f2 * temp_f2) + (temp_f12 * temp_f12) + temp_f14 + temp_f14;
|
||||
}
|
||||
//u32 atan2s(f32, f32); // might be s32
|
||||
u32 func_802B5224(Vec3f arg0, Vec3f arg1) {
|
||||
u32 get_angle_between_points(Vec3f arg0, Vec3f arg1) {
|
||||
f32 temp_v1;
|
||||
f32 temp_v2;
|
||||
temp_v1 = arg1[0] - arg0[0];
|
||||
|
|
@ -1030,7 +1031,7 @@ f32 coss(u16 arg0) {
|
|||
return gCosineTable[arg0 >> 4];
|
||||
}
|
||||
|
||||
s32 func_802B8058(u16 arg0, u16 arg1, u16 arg2) {
|
||||
s32 is_visible_between_angle(u16 arg0, u16 arg1, u16 arg2) {
|
||||
if (arg1 < arg0) {
|
||||
if (arg1 >= arg2) {
|
||||
return 0;
|
||||
|
|
@ -1046,65 +1047,67 @@ s32 func_802B8058(u16 arg0, u16 arg1, u16 arg2) {
|
|||
return 1;
|
||||
}
|
||||
|
||||
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
|
||||
f32 func_802B80D0(Vec3f arg0, Vec3f arg1, u16 arg2, f32 arg3, f32 arg4, f32 arg5) {
|
||||
u16 temp_a2;
|
||||
/**
|
||||
* Returns distance or -1.0f if exceeds render distance.
|
||||
*/
|
||||
f32 is_within_render_distance(Vec3f cameraPos, Vec3f objectPos, u16 orientationY, f32 minDistance, f32 fov, f32 maxDistance) {
|
||||
u16 angleObject;
|
||||
UNUSED u16 pad;
|
||||
u16 temp_v0;
|
||||
f32 temp_f0;
|
||||
f32 temp_f20;
|
||||
f32 temp_f2;
|
||||
s32 temp_t6;
|
||||
s32 temp_t7;
|
||||
f32 distanceX;
|
||||
f32 distance;
|
||||
f32 distanceY;
|
||||
s32 plus_fov_angle;
|
||||
s32 minus_fov_angle;
|
||||
u16 temp;
|
||||
UNUSED s32 pad2[3];
|
||||
u16 temp_v1 = ((u16) arg4 * 0xB6);
|
||||
u16 extended_fov = ((u16) fov * 0xB6);
|
||||
|
||||
temp_f0 = arg1[0] - arg0[0];
|
||||
temp_f0 = temp_f0 * temp_f0;
|
||||
if (arg5 < temp_f0) {
|
||||
distanceX = objectPos[0] - cameraPos[0];
|
||||
distanceX = distanceX * distanceX;
|
||||
if (maxDistance < distanceX) {
|
||||
return -1.0f;
|
||||
}
|
||||
|
||||
temp_f2 = arg1[2] - arg0[2];
|
||||
temp_f2 = temp_f2 * temp_f2;
|
||||
if (arg5 < temp_f2) {
|
||||
distanceY = objectPos[2] - cameraPos[2];
|
||||
distanceY = distanceY * distanceY;
|
||||
if (maxDistance < distanceY) {
|
||||
return -1.0f;
|
||||
}
|
||||
|
||||
temp_f20 = temp_f0 + temp_f2;
|
||||
if (temp_f20 < arg3) {
|
||||
return temp_f20;
|
||||
distance = distanceX + distanceY;
|
||||
if (distance < minDistance) {
|
||||
return distance;
|
||||
}
|
||||
|
||||
if (temp_f20 > arg5) {
|
||||
if (distance > maxDistance) {
|
||||
return -1.0f;
|
||||
}
|
||||
|
||||
temp_a2 = func_802B5224(arg0, arg1);
|
||||
temp_t7 = (arg2 - temp_v1);
|
||||
temp_t6 = (arg2 + temp_v1);
|
||||
angleObject = get_angle_between_points(cameraPos, objectPos);
|
||||
minus_fov_angle = (orientationY - extended_fov);
|
||||
plus_fov_angle = (orientationY + extended_fov);
|
||||
|
||||
if (arg3 == 0.0f) {
|
||||
if (func_802B8058((arg2 + temp_v1), (arg2 - temp_v1), temp_a2) == 1) {
|
||||
return temp_f20;
|
||||
if (minDistance == 0.0f) {
|
||||
if (is_visible_between_angle((orientationY + extended_fov), (orientationY - extended_fov), angleObject) == 1) {
|
||||
return distance;
|
||||
}
|
||||
return -1.0f;
|
||||
}
|
||||
|
||||
if (func_802B8058((u16) temp_t6, (u16) temp_t7, temp_a2) == 1) {
|
||||
return temp_f20;
|
||||
if (is_visible_between_angle((u16) plus_fov_angle, (u16) minus_fov_angle, angleObject) == 1) {
|
||||
return distance;
|
||||
}
|
||||
temp_v0 = func_802B7CA8(arg3 / temp_f20);
|
||||
temp = temp_a2 + temp_v0;
|
||||
temp_v0 = func_802B7CA8(minDistance / distance);
|
||||
temp = angleObject + temp_v0;
|
||||
|
||||
if (func_802B8058(temp_t6, temp_t7, temp) == 1) {
|
||||
return temp_f20;
|
||||
if (is_visible_between_angle(plus_fov_angle, minus_fov_angle, temp) == 1) {
|
||||
return distance;
|
||||
}
|
||||
|
||||
temp = temp_a2 - temp_v0;
|
||||
if (func_802B8058(temp_t6, temp_t7, temp) == 1) {
|
||||
return temp_f20;
|
||||
temp = angleObject - temp_v0;
|
||||
if (is_visible_between_angle(plus_fov_angle, minus_fov_angle, temp) == 1) {
|
||||
return distance;
|
||||
}
|
||||
return -1.0f;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,9 +19,9 @@ double fabs(double x);
|
|||
void func_802B6A84(Mat3, s16, f32, f32, f32);
|
||||
void func_802B4FF0(void);
|
||||
void func_802B5794(Mat4, Vec3f, Vec3f);
|
||||
s32 func_802B4FF8(Mat4, s32);
|
||||
s32 render_set_position(Mat4, s32);
|
||||
f32 func_802B51E8(Vec3f, Vec3f);
|
||||
u32 func_802B5224(Vec3f, Vec3f);
|
||||
u32 get_angle_between_points(Vec3f, Vec3f);
|
||||
u32 func_802B5258(Vec3f, Vec3s);
|
||||
void vec3f_set(Vec3f, f32, f32, f32);
|
||||
void vec3s_set(Vec3s, s16, s16, s16);
|
||||
|
|
@ -72,8 +72,8 @@ s16 func_802B7F34(f32, f32, f32, f32);
|
|||
void func_802B7F7C(Vec3f, Vec3f, Vec3s);
|
||||
f32 sins(u16);
|
||||
f32 coss(u16);
|
||||
s32 func_802B8058(u16, u16, u16);
|
||||
f32 func_802B80D0(Vec3f, Vec3f, u16, f32, f32, f32);
|
||||
s32 is_visible_between_angle(u16, u16, u16);
|
||||
f32 is_within_render_distance(Vec3f, Vec3f, u16, f32, f32, f32);
|
||||
void func_802B8414(uintptr_t, Mat4, s16, s16, s32);
|
||||
|
||||
extern u16 gRandomSeed16;
|
||||
|
|
|
|||
|
|
@ -228,7 +228,7 @@ void func_8029122C(struct UnkStruct_800DC5EC *arg0, s32 arg1) {
|
|||
break;
|
||||
}
|
||||
mtxf_identity(matrix);
|
||||
func_802B4FF8(matrix, 0);
|
||||
render_set_position(matrix, 0);
|
||||
switch (gCurrentCourseId) {
|
||||
case COURSE_BOWSER_CASTLE:
|
||||
if (gActiveScreenMode != 0) { return; }
|
||||
|
|
@ -277,7 +277,7 @@ void func_8029122C(struct UnkStruct_800DC5EC *arg0, s32 arg1) {
|
|||
vector[1] = D_8015F8E4;
|
||||
vector[2] = 0.0f;
|
||||
mtxf_translate(matrix, vector);
|
||||
func_802B4FF8(matrix, 0);
|
||||
render_set_position(matrix, 0);
|
||||
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_XLU_INTER, G_RM_NOOP2);
|
||||
gDPSetBlendMask(gDisplayListHead++, 0xFF);
|
||||
|
|
@ -300,7 +300,7 @@ void func_8029122C(struct UnkStruct_800DC5EC *arg0, s32 arg1) {
|
|||
gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP);
|
||||
|
||||
mtxf_identity(matrix);
|
||||
func_802B4FF8(matrix, 0);
|
||||
render_set_position(matrix, 0);
|
||||
load_surface_map((uintptr_t) &D_090001D0, arg0);
|
||||
|
||||
gDPSetAlphaCompare(gDisplayListHead++, G_AC_NONE);
|
||||
|
|
@ -315,7 +315,7 @@ void func_8029122C(struct UnkStruct_800DC5EC *arg0, s32 arg1) {
|
|||
case COURSE_RAINBOW_ROAD:
|
||||
gDPPipeSync(gDisplayListHead++);
|
||||
mtxf_identity(matrix);
|
||||
func_802B4FF8(matrix, 0);
|
||||
render_set_position(matrix, 0);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
load_surface_map((uintptr_t) &d_course_rainbow_road_dl_list, arg0);
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
|
|
@ -333,7 +333,7 @@ void func_8029122C(struct UnkStruct_800DC5EC *arg0, s32 arg1) {
|
|||
gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP);
|
||||
|
||||
mtxf_identity(matrix);
|
||||
func_802B4FF8(matrix, 0);
|
||||
render_set_position(matrix, 0);
|
||||
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA);
|
||||
|
|
@ -354,7 +354,7 @@ void func_8029122C(struct UnkStruct_800DC5EC *arg0, s32 arg1) {
|
|||
gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP);
|
||||
|
||||
mtxf_identity(matrix);
|
||||
func_802B4FF8(matrix, 0);
|
||||
render_set_position(matrix, 0);
|
||||
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_XLU_INTER, G_RM_NOOP2);
|
||||
|
|
@ -714,7 +714,7 @@ void render_banshee_boardwalk(struct UnkStruct_800DC5EC *arg0) {
|
|||
spA8[1] = -82.0f;
|
||||
spA8[2] = camera->pos[2];
|
||||
mtxf_translate(spCC, spA8);
|
||||
func_802B4FF8(spCC, 0);
|
||||
render_set_position(spCC, 0);
|
||||
|
||||
gSPDisplayList(gDisplayListHead++, d_course_banshee_boardwalk_dl_B278);
|
||||
gDPPipeSync(gDisplayListHead++);
|
||||
|
|
|
|||
|
|
@ -567,22 +567,22 @@ void func_802A4D18(void) {
|
|||
void func_802A4EF4(void) {
|
||||
switch(gActiveScreenMode) {
|
||||
case SCREEN_MODE_1P:
|
||||
func_8001F394(gPlayerOne, &D_80150130[0]);
|
||||
func_8001F394(gPlayerOne, &gCameraZoom[0]);
|
||||
break;
|
||||
|
||||
case SCREEN_MODE_2P_SPLITSCREEN_VERTICAL:
|
||||
func_8001F394(gPlayerOne, &D_80150130[0]);
|
||||
func_8001F394(gPlayerTwo, &D_80150130[1]);
|
||||
func_8001F394(gPlayerOne, &gCameraZoom[0]);
|
||||
func_8001F394(gPlayerTwo, &gCameraZoom[1]);
|
||||
break;
|
||||
case SCREEN_MODE_2P_SPLITSCREEN_HORIZONTAL:
|
||||
func_8001F394(gPlayerOne, &D_80150130[0]);
|
||||
func_8001F394(gPlayerTwo, &D_80150130[1]);
|
||||
func_8001F394(gPlayerOne, &gCameraZoom[0]);
|
||||
func_8001F394(gPlayerTwo, &gCameraZoom[1]);
|
||||
break;
|
||||
case SCREEN_MODE_3P_4P_SPLITSCREEN:
|
||||
func_8001F394(gPlayerOne, &D_80150130[0]);
|
||||
func_8001F394(gPlayerTwo, &D_80150130[1]);
|
||||
func_8001F394(gPlayerThree, &D_80150130[2]);
|
||||
func_8001F394(gPlayerFour, &D_80150130[3]);
|
||||
func_8001F394(gPlayerOne, &gCameraZoom[0]);
|
||||
func_8001F394(gPlayerTwo, &gCameraZoom[1]);
|
||||
func_8001F394(gPlayerThree, &gCameraZoom[2]);
|
||||
func_8001F394(gPlayerFour, &gCameraZoom[3]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -598,9 +598,9 @@ void func_802A5004(void) {
|
|||
|
||||
func_802A39E0(D_800DC5F0);
|
||||
if (D_800DC5B4 != 0) {
|
||||
func_802A4A0C((Vtx *) D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[1]);
|
||||
func_802A4A0C((Vtx *) D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[1]);
|
||||
func_80057FC4(2);
|
||||
func_802A487C((Vtx *) D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[1]);
|
||||
func_802A487C((Vtx *) D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[1]);
|
||||
func_80093A30(2);
|
||||
}
|
||||
}
|
||||
|
|
@ -615,9 +615,9 @@ void func_802A50EC(void) {
|
|||
|
||||
func_802A39E0(D_800DC5EC);
|
||||
if (D_800DC5B4 != 0) {
|
||||
func_802A4A0C((Vtx *) D_802B8890, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[0]);
|
||||
func_802A4A0C((Vtx *) D_802B8890, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[0]);
|
||||
func_80057FC4(1);
|
||||
func_802A487C((Vtx *) D_802B8890, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[0]);
|
||||
func_802A487C((Vtx *) D_802B8890, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[0]);
|
||||
func_80093A30(1);
|
||||
}
|
||||
}
|
||||
|
|
@ -632,9 +632,9 @@ void func_802A51D4(void) {
|
|||
gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH | G_CLIPPING);
|
||||
|
||||
if (D_800DC5B4 != 0) {
|
||||
func_802A4A0C((Vtx *) D_802B8890, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[0]);
|
||||
func_802A4A0C((Vtx *) D_802B8890, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[0]);
|
||||
func_80057FC4(3);
|
||||
func_802A487C((Vtx *) D_802B8890, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[0]);
|
||||
func_802A487C((Vtx *) D_802B8890, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[0]);
|
||||
func_80093A30(3);
|
||||
}
|
||||
}
|
||||
|
|
@ -649,9 +649,9 @@ void func_802A52BC(void) {
|
|||
gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH | G_CLIPPING);
|
||||
|
||||
if (D_800DC5B4 != 0) {
|
||||
func_802A4A0C((Vtx *) D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[1]);
|
||||
func_802A4A0C((Vtx *) D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[1]);
|
||||
func_80057FC4(4);
|
||||
func_802A487C((Vtx *) D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[1]);
|
||||
func_802A487C((Vtx *) D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[1]);
|
||||
func_80093A30(4);
|
||||
}
|
||||
}
|
||||
|
|
@ -668,11 +668,11 @@ void func_802A53A4(void) {
|
|||
init_z_buffer();
|
||||
select_framebuffer();
|
||||
if (D_800DC5B4 != 0) {
|
||||
func_802A4A0C((Vtx *) D_802B8890, D_800DC5EC, 0x140, 0xF0, &D_80150130[0]);
|
||||
func_802A4A0C((Vtx *) D_802B8890, D_800DC5EC, 0x140, 0xF0, &gCameraZoom[0]);
|
||||
if (gGamestate != CREDITS_SEQUENCE) {
|
||||
func_80057FC4(0);
|
||||
}
|
||||
func_802A487C((Vtx *) D_802B8890, D_800DC5EC, 0x140, 0xF0, &D_80150130[0]);
|
||||
func_802A487C((Vtx *) D_802B8890, D_800DC5EC, 0x140, 0xF0, &gCameraZoom[0]);
|
||||
func_80093A30(0);
|
||||
}
|
||||
}
|
||||
|
|
@ -687,9 +687,9 @@ void func_802A54A8(void) {
|
|||
gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH | G_CLIPPING);
|
||||
|
||||
if (D_800DC5B4 != 0) {
|
||||
func_802A4A0C((Vtx *) D_802B8890, D_800DC5EC, 0x140, 0xF0, &D_80150130[0]);
|
||||
func_802A4A0C((Vtx *) D_802B8890, D_800DC5EC, 0x140, 0xF0, &gCameraZoom[0]);
|
||||
func_80057FC4(8);
|
||||
func_802A487C((Vtx *) D_802B8890, D_800DC5EC, 0x140, 0xF0, &D_80150130[0]);
|
||||
func_802A487C((Vtx *) D_802B8890, D_800DC5EC, 0x140, 0xF0, &gCameraZoom[0]);
|
||||
func_80093A30(8);
|
||||
}
|
||||
}
|
||||
|
|
@ -704,9 +704,9 @@ void func_802A5590(void) {
|
|||
gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH | G_CLIPPING);
|
||||
|
||||
if (D_800DC5B4 != 0) {
|
||||
func_802A4A0C((Vtx *) D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[1]);
|
||||
func_802A4A0C((Vtx *) D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[1]);
|
||||
func_80057FC4(9);
|
||||
func_802A487C((Vtx *) D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[1]);
|
||||
func_802A487C((Vtx *) D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[1]);
|
||||
func_80093A30(9);
|
||||
}
|
||||
}
|
||||
|
|
@ -721,9 +721,9 @@ void func_802A5678(void) {
|
|||
gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH | G_CLIPPING);
|
||||
|
||||
if (D_800DC5B4 != 0) {
|
||||
func_802A4A0C((Vtx *) D_802B8990, D_800DC5F4, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[2]);
|
||||
func_802A4A0C((Vtx *) D_802B8990, D_800DC5F4, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[2]);
|
||||
func_80057FC4(10);
|
||||
func_802A487C((Vtx *) D_802B8990, D_800DC5F4, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[2]);
|
||||
func_802A487C((Vtx *) D_802B8990, D_800DC5F4, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[2]);
|
||||
func_80093A30(10);
|
||||
}
|
||||
}
|
||||
|
|
@ -757,9 +757,9 @@ void func_802A5760(void) {
|
|||
func_802A39E0(D_800DC5F8);
|
||||
|
||||
if (D_800DC5B4 != 0) {
|
||||
func_802A4A0C(D_802B8A10, D_800DC5F8, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[3]);
|
||||
func_802A4A0C(D_802B8A10, D_800DC5F8, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[3]);
|
||||
func_80057FC4(11);
|
||||
func_802A487C(D_802B8A10, D_800DC5F8, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[3]);
|
||||
func_802A487C(D_802B8A10, D_800DC5F8, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[3]);
|
||||
func_80093A30(11);
|
||||
}
|
||||
}
|
||||
|
|
@ -778,7 +778,7 @@ void func_802A59A4(void) {
|
|||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_LIGHTING | G_SHADING_SMOOTH);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||
guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, D_80150130[0], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraZoom[0], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
gSPPerspNormalize(gDisplayListHead++, perspNorm);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
|
||||
|
|
@ -788,7 +788,7 @@ void func_802A59A4(void) {
|
|||
if (D_800DC5C8 == 0) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(matrix);
|
||||
func_802B4FF8(matrix, 0);
|
||||
render_set_position(matrix, 0);
|
||||
} else {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
}
|
||||
|
|
@ -796,9 +796,9 @@ void func_802A59A4(void) {
|
|||
if (D_800DC5C8 == 1) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(matrix);
|
||||
func_802B4FF8(matrix, 0);
|
||||
render_set_position(matrix, 0);
|
||||
}
|
||||
func_802A3008(D_800DC5EC);
|
||||
render_course_actors(D_800DC5EC);
|
||||
func_80058090(0);
|
||||
func_800212B4();
|
||||
func_8029122C(D_800DC5EC, 0);
|
||||
|
|
@ -826,7 +826,7 @@ void func_802A5CB4(void) {
|
|||
func_802A3730(D_800DC5EC);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, D_80150130[0], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraZoom[0], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
gSPPerspNormalize(gDisplayListHead++, perspNorm);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->mtxLookAt[0], camera->pos[0], camera->pos[1], camera->pos[2], camera->lookAt[0], camera->lookAt[1], camera->lookAt[2], camera->up[0], camera->up[1], camera->up[2]);
|
||||
|
|
@ -835,7 +835,7 @@ void func_802A5CB4(void) {
|
|||
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(matrix);
|
||||
func_802B4FF8(matrix, 0);
|
||||
render_set_position(matrix, 0);
|
||||
} else {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
}
|
||||
|
|
@ -845,9 +845,9 @@ void func_802A5CB4(void) {
|
|||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
|
||||
mtxf_identity(matrix);
|
||||
func_802B4FF8(matrix, 0);
|
||||
render_set_position(matrix, 0);
|
||||
}
|
||||
func_802A3008(D_800DC5EC);
|
||||
render_course_actors(D_800DC5EC);
|
||||
func_80058090(1);
|
||||
func_800212B4();
|
||||
func_8029122C(D_800DC5EC, 0);
|
||||
|
|
@ -876,7 +876,7 @@ void func_802A5FAC(void) {
|
|||
func_802A3730(D_800DC5F0);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
guPerspective(&gGfxPool->mtxPersp[1], &perspNorm, D_80150130[1], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
guPerspective(&gGfxPool->mtxPersp[1], &perspNorm, gCameraZoom[1], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
gSPPerspNormalize(gDisplayListHead++, perspNorm);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->mtxLookAt[1], camera->pos[0], camera->pos[1], camera->pos[2], camera->lookAt[0], camera->lookAt[1], camera->lookAt[2], camera->up[0], camera->up[1], camera->up[2]);
|
||||
|
|
@ -884,7 +884,7 @@ void func_802A5FAC(void) {
|
|||
if (D_800DC5C8 == 0) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[1]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(matrix);
|
||||
func_802B4FF8(matrix, 0);
|
||||
render_set_position(matrix, 0);
|
||||
} else {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
}
|
||||
|
|
@ -892,9 +892,9 @@ void func_802A5FAC(void) {
|
|||
if (D_800DC5C8 == 1) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[1]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(matrix);
|
||||
func_802B4FF8(matrix, 0);
|
||||
render_set_position(matrix, 0);
|
||||
}
|
||||
func_802A3008(D_800DC5F0);
|
||||
render_course_actors(D_800DC5F0);
|
||||
func_80058090(2);
|
||||
func_800215DC();
|
||||
func_8029122C(D_800DC5F0, 1);
|
||||
|
|
@ -924,7 +924,7 @@ void func_802A62A4(void) {
|
|||
func_802A3730(D_800DC5EC);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, D_80150130[0], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraZoom[0], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
gSPPerspNormalize(gDisplayListHead++, perspNorm);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->mtxLookAt[0], camera->pos[0], camera->pos[1], camera->pos[2], camera->lookAt[0], camera->lookAt[1], camera->lookAt[2], camera->up[0], camera->up[1], camera->up[2]);
|
||||
|
|
@ -933,7 +933,7 @@ void func_802A62A4(void) {
|
|||
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(matrix);
|
||||
func_802B4FF8(matrix, 0);
|
||||
render_set_position(matrix, 0);
|
||||
} else {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
}
|
||||
|
|
@ -941,9 +941,9 @@ void func_802A62A4(void) {
|
|||
if (D_800DC5C8 == 1) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(matrix);
|
||||
func_802B4FF8(matrix, 0);
|
||||
render_set_position(matrix, 0);
|
||||
}
|
||||
func_802A3008(D_800DC5EC);
|
||||
render_course_actors(D_800DC5EC);
|
||||
func_80058090(3);
|
||||
func_800212B4();
|
||||
func_8029122C(D_800DC5EC, 0);
|
||||
|
|
@ -974,7 +974,7 @@ void func_802A65B8(void) {
|
|||
func_802A3730(D_800DC5F0);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
guPerspective(&gGfxPool->mtxPersp[1], &perspNorm, D_80150130[1], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
guPerspective(&gGfxPool->mtxPersp[1], &perspNorm, gCameraZoom[1], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
gSPPerspNormalize(gDisplayListHead++, perspNorm);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->mtxLookAt[1], camera->pos[0], camera->pos[1], camera->pos[2], camera->lookAt[0], camera->lookAt[1], camera->lookAt[2], camera->up[0], camera->up[1], camera->up[2]);
|
||||
|
|
@ -982,7 +982,7 @@ void func_802A65B8(void) {
|
|||
if (D_800DC5C8 == 0) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[1]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(matrix);
|
||||
func_802B4FF8(matrix, 0);
|
||||
render_set_position(matrix, 0);
|
||||
} else {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
}
|
||||
|
|
@ -990,9 +990,9 @@ void func_802A65B8(void) {
|
|||
if (D_800DC5C8 == 1) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[1]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(matrix);
|
||||
func_802B4FF8(matrix, 0);
|
||||
render_set_position(matrix, 0);
|
||||
}
|
||||
func_802A3008(D_800DC5F0);
|
||||
render_course_actors(D_800DC5F0);
|
||||
func_80058090(4);
|
||||
func_800215DC();
|
||||
func_8029122C(D_800DC5F0, 1);
|
||||
|
|
@ -1021,7 +1021,7 @@ void func_802A68CC(void) {
|
|||
func_802A3730(D_800DC5EC);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, D_80150130[0], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraZoom[0], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
gSPPerspNormalize(gDisplayListHead++, perspNorm);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->mtxLookAt[0], camera->pos[0], camera->pos[1], camera->pos[2], camera->lookAt[0], camera->lookAt[1], camera->lookAt[2], camera->up[0], camera->up[1], camera->up[2]);
|
||||
|
|
@ -1029,7 +1029,7 @@ void func_802A68CC(void) {
|
|||
if (D_800DC5C8 == 0) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(matrix);
|
||||
func_802B4FF8(matrix, 0);
|
||||
render_set_position(matrix, 0);
|
||||
} else {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
}
|
||||
|
|
@ -1037,9 +1037,9 @@ void func_802A68CC(void) {
|
|||
if (D_800DC5C8 == 1) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(matrix);
|
||||
func_802B4FF8(matrix, 0);
|
||||
render_set_position(matrix, 0);
|
||||
}
|
||||
func_802A3008(D_800DC5EC);
|
||||
render_course_actors(D_800DC5EC);
|
||||
func_80058090(8);
|
||||
func_800212B4();
|
||||
func_8029122C(D_800DC5EC, 0);
|
||||
|
|
@ -1068,7 +1068,7 @@ void func_802A6BB0(void) {
|
|||
func_802A3730(D_800DC5F0);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
guPerspective(&gGfxPool->mtxPersp[1], &perspNorm, D_80150130[1], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
guPerspective(&gGfxPool->mtxPersp[1], &perspNorm, gCameraZoom[1], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
gSPPerspNormalize(gDisplayListHead++, perspNorm);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
|
||||
|
|
@ -1076,7 +1076,7 @@ void func_802A6BB0(void) {
|
|||
if (D_800DC5C8 == 0) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[1]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(matrix);
|
||||
func_802B4FF8(matrix, 0);
|
||||
render_set_position(matrix, 0);
|
||||
} else {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
}
|
||||
|
|
@ -1084,9 +1084,9 @@ void func_802A6BB0(void) {
|
|||
if (D_800DC5C8 == 1) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[1]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(matrix);
|
||||
func_802B4FF8(matrix, 0);
|
||||
render_set_position(matrix, 0);
|
||||
}
|
||||
func_802A3008(D_800DC5F0);
|
||||
render_course_actors(D_800DC5F0);
|
||||
func_80058090(9);
|
||||
func_800215DC();
|
||||
func_8029122C(D_800DC5F0, 1);
|
||||
|
|
@ -1115,7 +1115,7 @@ void func_802A6E94(void) {
|
|||
func_802A3730(D_800DC5F4);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
guPerspective(&gGfxPool->mtxPersp[2], &perspNorm, D_80150130[2], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
guPerspective(&gGfxPool->mtxPersp[2], &perspNorm, gCameraZoom[2], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
gSPPerspNormalize(gDisplayListHead++, perspNorm);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[2]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->mtxLookAt[2], camera->pos[0], camera->pos[1], camera->pos[2], camera->lookAt[0], camera->lookAt[1], camera->lookAt[2], camera->up[0], camera->up[1], camera->up[2]);
|
||||
|
|
@ -1123,7 +1123,7 @@ void func_802A6E94(void) {
|
|||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[2]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
|
||||
mtxf_identity(matrix);
|
||||
func_802B4FF8(matrix, 0);
|
||||
render_set_position(matrix, 0);
|
||||
} else {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[2]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
}
|
||||
|
|
@ -1131,9 +1131,9 @@ void func_802A6E94(void) {
|
|||
if (D_800DC5C8 == 1) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[2]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(matrix);
|
||||
func_802B4FF8(matrix, 0);
|
||||
render_set_position(matrix, 0);
|
||||
}
|
||||
func_802A3008(D_800DC5F4);
|
||||
render_course_actors(D_800DC5F4);
|
||||
func_80058090(10);
|
||||
func_8002186C();
|
||||
func_8029122C(D_800DC5F4, 2);
|
||||
|
|
@ -1171,14 +1171,14 @@ void func_802A7178(void) {
|
|||
func_802A3730(D_800DC5F8);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
guPerspective(&gGfxPool->mtxPersp[3], &perspNorm, D_80150130[3], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
guPerspective(&gGfxPool->mtxPersp[3], &perspNorm, gCameraZoom[3], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
gSPPerspNormalize(gDisplayListHead++, perspNorm);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[3]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->mtxLookAt[3], camera->pos[0], camera->pos[1], camera->pos[2], camera->lookAt[0], camera->lookAt[1], camera->lookAt[2], camera->up[0], camera->up[1], camera->up[2]);
|
||||
if (D_800DC5C8 == 0) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[3]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(matrix);
|
||||
func_802B4FF8(matrix, 0);
|
||||
render_set_position(matrix, 0);
|
||||
} else {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[3]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
}
|
||||
|
|
@ -1186,9 +1186,9 @@ void func_802A7178(void) {
|
|||
if (D_800DC5C8 == 1) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[3]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(matrix);
|
||||
func_802B4FF8(matrix, 0);
|
||||
render_set_position(matrix, 0);
|
||||
}
|
||||
func_802A3008(D_800DC5F8);
|
||||
render_course_actors(D_800DC5F8);
|
||||
func_80058090(11);
|
||||
func_800219BC();
|
||||
func_8029122C(D_800DC5F8, 3);
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ extern s32 D_800DC5D4;
|
|||
extern s32 D_800DC5D8;
|
||||
extern u16 D_800DC5BC;
|
||||
extern struct GfxPool *gGfxPool;
|
||||
extern f32 D_80150130[];
|
||||
extern f32 gCameraZoom[];
|
||||
extern u16 D_800DC5B4;
|
||||
extern f32 D_80150148;
|
||||
extern f32 D_8015014C;
|
||||
|
|
|
|||
Loading…
Reference in New Issue