diff options
| author | MegaMech <MegaMech@users.noreply.github.com> | 2024-07-26 11:29:35 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-26 11:29:35 -0600 |
| commit | 532ad5a4c03d7098b316ac1ebf2c467525442791 (patch) | |
| tree | 258d8b8b206efab661fa69c92121718b08b5a9d7 /src/camera.c | |
| parent | dd5844ab81ebe3e429b8810e16ececb6b56219bc (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.c | 36 |
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; |
