mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-07-03 13:10:18 -04:00
Fix Thwomp Collision and Better Interp Tagging for Actors (#665)
* Update actors.c * Update actors.c * actor * Fix bounding box * More interp fix * Update KoopaTroopaBeach.cpp * Update Thwomp.cpp * Update actors.c * Update render.inc.c * Update render.inc.c
This commit is contained in:
@@ -146,8 +146,10 @@ void OThwomp::Tick60fps() { // func_80081210
|
||||
|
||||
player = gPlayerOne;
|
||||
for (var_s4 = 0; var_s4 < NUM_PLAYERS; var_s4++, player++) {
|
||||
player->tyres[FRONT_LEFT].unk_14 &= ~3;
|
||||
player->unk_046 &= ~0x0006;
|
||||
if (_idx == 0) { // Clear only once per frame
|
||||
player->tyres[FRONT_LEFT].unk_14 &= ~3;
|
||||
player->unk_046 &= ~0x0006;
|
||||
}
|
||||
|
||||
if (!(player->effects & BOO_EFFECT)) {
|
||||
OThwomp::func_80080B28(_objectIndex, var_s4);
|
||||
@@ -666,7 +668,7 @@ void OThwomp::func_80080B28(s32 objectIndex, s32 playerId) {
|
||||
}
|
||||
} else if ((temp_f0 <= 17.5) && (func_80072320(objectIndex, 1) != 0) &&
|
||||
(is_within_horizontal_distance_of_player(objectIndex, player,
|
||||
(player->speed * 0.5) + BoundingBoxSize) != 0)) {
|
||||
(player->speed * 0.5) + gObjectList[objectIndex].boundingBoxSize) != 0)) {
|
||||
if ((player->type & PLAYER_EXISTS) && !(player->type & PLAYER_INVISIBLE_OR_BOMB)) {
|
||||
if (is_obj_flag_status_active(objectIndex, 0x04000000) != 0) {
|
||||
func_80072180();
|
||||
|
||||
@@ -112,6 +112,11 @@ KoopaTroopaBeach::KoopaTroopaBeach() {
|
||||
Props.Skybox.FloorTopLeft = {48, 152, 120};
|
||||
Props.Sequence = MusicSeq::MUSIC_SEQ_KOOPA_TROOPA_BEACH;
|
||||
|
||||
mVtx[0].v.ob[0] = 129; mVtx[0].v.ob[1] = 1; mVtx[0].v.ob[2] = 2257;
|
||||
mVtx[1].v.ob[0] = 112; mVtx[1].v.ob[1] = 1; mVtx[1].v.ob[2] = 2298;
|
||||
mVtx[2].v.ob[0] = 129; mVtx[2].v.ob[1] = 40; mVtx[2].v.ob[2] = 2257;
|
||||
mVtx[3].v.ob[0] = 112; mVtx[3].v.ob[1] = 40; mVtx[3].v.ob[2] = 2298;
|
||||
|
||||
Props.WaterLevel = 0.0f;
|
||||
gWaterVelocity = -0.1f;
|
||||
WaterVolumes.push_back({0.8f, 67.0f, 239.0f, 2233.0f, 2405.0f});
|
||||
@@ -131,6 +136,7 @@ void KoopaTroopaBeach::Load() {
|
||||
InvertTriangleWindingByName(d_course_koopa_troopa_beach_packed_dl_2C0);
|
||||
InvertTriangleWindingByName(d_course_koopa_troopa_beach_packed_dl_9E70);
|
||||
}
|
||||
add_vtx_from_quadrangle(mVtx, 4);
|
||||
parse_track_displaylists((TrackSections*)LOAD_ASSET_RAW(d_course_koopa_troopa_beach_addr));
|
||||
func_80295C6C();
|
||||
find_vtx_and_set_colours((Gfx*) d_course_koopa_troopa_beach_packed_dl_ADE0, 150, 255, 255, 255);
|
||||
|
||||
@@ -40,4 +40,5 @@ public:
|
||||
virtual void Tick() override;
|
||||
virtual void DrawTransparency(ScreenContext* screen, uint16_t pathCounter, uint16_t cameraRot, uint16_t playerDirection) override;
|
||||
virtual void Destroy() override;
|
||||
Vtx mVtx[4];
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user