mk64/src/code_80281610.c

48 lines
1.2 KiB
C

#include <ultra64.h>
#include <macros.h>
#include <common_structs.h>
extern Camera cameras[];
extern u16 atan2s(f32, f32);
void func_80281610(void) {
Camera *camera = &cameras[0];
//f32 sp1C;
f32 temp_f12;
f32 temp;
f32 temp_f14;
func_80283648(camera);
temp_f12 = camera->unk - camera->pos[0];
temp = camera->unk1 - camera->pos[1];
temp_f14 = camera->unk2 - camera->pos[2];
camera->rotX[1] = atan2s(temp_f12, temp_f14);
camera->rotX[0] = atan2s(sqrtf((temp_f12 * temp_f12) + (temp_f14 * temp_f14)), temp);
camera->rotX[2] = 0;
}
// guPerspective params
extern f32 D_80150148, D_8015014C, D_80150150;
extern f32 D_80150130[];
// rodata
extern const f32 D_80286B90, D_80286B94, D_80286B98, D_80286B9C, D_80286BA0;
void func_802816B8(void) {
cameras[0].pos[0] = D_80286B90;
cameras[0].pos[1] = 19.0f;
cameras[0].pos[2] = D_80286B94;
cameras[0].unk = D_80286B98;
cameras[0].unk1 = 21.0f;
cameras[0].unk2 = -528.0f;
cameras[0].angleX = 0.0f;
cameras[0].angleY = 1.0f;
cameras[0].angleZ = 0.0f;
D_80150130[0] = 40.0f;
D_80150148 = D_80286B9C;
D_80150150 = 3.0f;
D_8015014C = D_80286BA0;
func_80283430();
}