summaryrefslogtreecommitdiff
path: root/src/camera.c
diff options
context:
space:
mode:
authorMegaMech <MegaMech@users.noreply.github.com>2024-07-26 11:29:35 -0600
committerGitHub <noreply@github.com>2024-07-26 11:29:35 -0600
commit532ad5a4c03d7098b316ac1ebf2c467525442791 (patch)
tree258d8b8b206efab661fa69c92121718b08b5a9d7 /src/camera.c
parentdd5844ab81ebe3e429b8810e16ececb6b56219bc (diff)
Renames & seg 3 & 5 texture fixes (#19)
* Remove tools/torch * Auto compile torch and extract * Re-implement soh's implementation of lus implementation of an array * Fix static actors in mr * Update * Updated torch * Updated lus * uncomment * Fix collision * Renames * More renaming * Collision Renames * Update collision.c * Collision Documentation (#640) * Collision related renames * Update * update lus * Bug fixes * remove tabs * fixes * fixes * Fix kart textures * Networking * net * Add networking * Update * Cleanup * Fix balloon rendering * Fix lakitu and red shell * fixes * Implement new random system --------- Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
Diffstat (limited to 'src/camera.c')
-rw-r--r--src/camera.c36
1 files changed, 18 insertions, 18 deletions
diff --git a/src/camera.c b/src/camera.c
index 6eb5396a5..3cd45996e 100644
--- a/src/camera.c
+++ b/src/camera.c
@@ -641,23 +641,23 @@ void func_8001E0C4(Camera *camera, Player *player, s8 arg2) {
adjust_angle(&camera->unk_2C, player->rotation[1], var_a2);
func_8001CA78(player, camera, sp60, &sp74, &sp70, &sp6C, camera->unk_2C, arg2);
camera->someBitFlags &= ~0x0004;
- temp_t7 = func_802ADDC8(&camera->unk_54, test, sp74, sp70, sp6C);
- if (camera->unk_54.unk3C[2] < 0.0f) {
- sp74 += -camera->unk_54.orientationVector[0] * camera->unk_54.unk3C[2] * 1;
- sp70 += -camera->unk_54.orientationVector[1] * camera->unk_54.unk3C[2] * 0.5;
- sp6C += -camera->unk_54.orientationVector[2] * camera->unk_54.unk3C[2] * 1;
+ temp_t7 = check_bounding_collision(&camera->collision, test, sp74, sp70, sp6C);
+ if (camera->collision.surfaceDistance[2] < 0.0f) {
+ sp74 += -camera->collision.orientationVector[0] * camera->collision.surfaceDistance[2] * 1;
+ sp70 += -camera->collision.orientationVector[1] * camera->collision.surfaceDistance[2] * 0.5;
+ sp6C += -camera->collision.orientationVector[2] * camera->collision.surfaceDistance[2] * 1;
}
- if (camera->unk_54.unk3C[0] < 0.0f) {
+ if (camera->collision.surfaceDistance[0] < 0.0f) {
camera->someBitFlags = camera->someBitFlags | 4 | 2;
- sp74 += -camera->unk_54.unk48[0] * camera->unk_54.unk3C[0] * 1.5;
- sp70 += -camera->unk_54.unk48[1] * camera->unk_54.unk3C[0] * 1;
- sp6C += -camera->unk_54.unk48[2] * camera->unk_54.unk3C[0] * 1.5;
+ sp74 += -camera->collision.unk48[0] * camera->collision.surfaceDistance[0] * 1.5;
+ sp70 += -camera->collision.unk48[1] * camera->collision.surfaceDistance[0] * 1;
+ sp6C += -camera->collision.unk48[2] * camera->collision.surfaceDistance[0] * 1.5;
}
- if (camera->unk_54.unk3C[1] < 0.0f) {
+ if (camera->collision.surfaceDistance[1] < 0.0f) {
camera->someBitFlags = camera->someBitFlags | 4 | 2;
- sp74 += -camera->unk_54.unk54[0] * camera->unk_54.unk3C[1] * 1.5;
- sp70 += -camera->unk_54.unk54[1] * camera->unk_54.unk3C[1] * 1;
- sp6C += -camera->unk_54.unk54[2] * camera->unk_54.unk3C[1] * 1.5;
+ sp74 += -camera->collision.unk54[0] * camera->collision.surfaceDistance[1] * 1.5;
+ sp70 += -camera->collision.unk54[1] * camera->collision.surfaceDistance[1] * 1;
+ sp6C += -camera->collision.unk54[2] * camera->collision.surfaceDistance[1] * 1.5;
}
if ((temp_t7 == 0) && ((camera->someBitFlags & 2) != 2)) {
camera->unk_AC = camera->unk_2C;
@@ -740,7 +740,7 @@ void func_8001E45C(Camera *camera, Player *player, s8 arg2) {
if (((player->effects & 0x80) == 0x80) || ((player->effects & 0x40) == 0x40) ||
((player->effects & 0x4000) == 0x4000) || ((player->effects & 0x80000) == 0x80000) ||
((player->effects & 0x800000) == 0x800000) || (((player->effects & 0x20) == 0x20) && (player->unk_078 != 0)) ||
- (player->unk_110.unk3C[0] <= 0.0f) || (player->unk_110.unk3C[1] <= 0.0f) || ((player->effects & 0x20000) == 0x20000)) {
+ (player->collision.surfaceDistance[0] <= 0.0f) || (player->collision.surfaceDistance[1] <= 0.0f) || ((player->effects & 0x20000) == 0x20000)) {
func_8001CCEC(player, camera, sp64, &sp84, &sp80, &sp7C, &sp58, (s32) camera->unk_2C, (s32) arg2);
} else {
adjust_angle(&camera->unk_2C, (s16) (player->rotation[1] + camera->unk_B0), var_a3);
@@ -748,7 +748,7 @@ void func_8001E45C(Camera *camera, Player *player, s8 arg2) {
}
temp = 3;
camera->someBitFlags &= 0xFFFB;
- func_802ADDC8(&camera->unk_54, temp, sp84, sp80, sp7C);
+ check_bounding_collision(&camera->collision, temp, sp84, sp80, sp7C);
camera->pos[0] = sp84;
camera->pos[1] = sp80;
@@ -783,7 +783,7 @@ void func_8001E8E8(Camera *camera, Player *player, s8 arg2) {
camera->unk_B0 = 0;
camera->unk_2C = player->rotation[1];
func_8001D53C(player, camera, sp5C, &sp7C, &sp78, &sp74, (s16) (s32) player->rotation[1], (s16) (s32) arg2);
- func_802ADDC8(&camera->unk_54, 5.0f, sp7C, sp78, sp74);
+ check_bounding_collision(&camera->collision, 5.0f, sp7C, sp78, sp74);
camera->lookAt[0] = sp5C[0];
camera->lookAt[1] = sp5C[1];
camera->lookAt[2] = sp5C[2];
@@ -862,7 +862,7 @@ void func_8001EA0C(Camera *camera, Player *player, s8 arg2) {
if (((player->effects & 0x80) == 0x80) || ((player->effects & 0x40) == 0x40) ||
((player->effects & 0x4000) == 0x4000) || ((player->effects & 0x80000) == 0x80000) ||
((player->effects & 0x800000) == 0x800000) || (((player->effects & 0x20) == 0x20) && (player->unk_078 != 0)) ||
- (player->unk_110.unk3C[0] <= 0.0f) || (player->unk_110.unk3C[1] <= 0.0f) || ((player->effects & 0x20000) == 0x20000)) {
+ (player->collision.surfaceDistance[0] <= 0.0f) || (player->collision.surfaceDistance[1] <= 0.0f) || ((player->effects & 0x20000) == 0x20000)) {
func_8001D944(player, camera, sp64, &sp84, &sp80, &sp7C, &sp58, (s32) camera->unk_2C, (s32) arg2);
} else {
adjust_angle(&camera->unk_2C, (s16) (player->rotation[1] + camera->unk_B0), var_a3);
@@ -870,7 +870,7 @@ void func_8001EA0C(Camera *camera, Player *player, s8 arg2) {
}
temp = 3;
camera->someBitFlags &= 0xFFFB;
- func_802ADDC8(&camera->unk_54, temp, sp84, sp80, sp7C);
+ check_bounding_collision(&camera->collision, temp, sp84, sp80, sp7C);
camera->pos[0] = sp84;
camera->pos[1] = sp80;