mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-07-04 05:21:09 -04:00
Identify some stuff in the Camera struct (#238)
Make a header file for all the camera stuff, refresh a lot of mips_to_c output Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
This commit is contained in:
+29
-33
@@ -1,48 +1,44 @@
|
||||
#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;
|
||||
}
|
||||
#include "camera.h"
|
||||
#include "math_util.h"
|
||||
|
||||
// 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_80281610(void) {
|
||||
Camera *camera;
|
||||
f32 x_dist;
|
||||
f32 y_dist;
|
||||
f32 z_dist;
|
||||
|
||||
camera = &cameras[0];
|
||||
func_80283648(camera);
|
||||
|
||||
x_dist = camera->lookAt[0] - camera->pos[0];
|
||||
y_dist = camera->lookAt[1] - camera->pos[1];
|
||||
z_dist = camera->lookAt[2] - camera->pos[2];
|
||||
camera->rot[1] = atan2s(x_dist, z_dist);
|
||||
camera->rot[0] = atan2s(sqrtf((x_dist * x_dist) + (z_dist * z_dist)), y_dist);
|
||||
camera->rot[2] = 0;
|
||||
}
|
||||
|
||||
// GP Ending sequence camera settings?
|
||||
void func_802816B8(void) {
|
||||
cameras[0].pos[0] = D_80286B90;
|
||||
cameras[0].pos[0] = -3133.0f;
|
||||
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;
|
||||
cameras[0].pos[2] = -467.0f;
|
||||
cameras[0].lookAt[0] = -3478.0f;
|
||||
cameras[0].lookAt[1] = 21.0f;
|
||||
cameras[0].lookAt[2] = -528.0f;
|
||||
cameras[0].up[0] = 0.0f;
|
||||
cameras[0].up[1] = 1.0f;
|
||||
cameras[0].up[2] = 0.0f;
|
||||
D_80150130[0] = 40.0f;
|
||||
D_80150148 = D_80286B9C;
|
||||
D_80150148 = 1.33333333f;
|
||||
D_80150150 = 3.0f;
|
||||
D_8015014C = D_80286BA0;
|
||||
D_8015014C = 6800.0f;
|
||||
func_80283430();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user