diff --git a/src/scene/fizzler.c b/src/scene/fizzler.c index 6d282e3..5c183a9 100644 --- a/src/scene/fizzler.c +++ b/src/scene/fizzler.c @@ -156,7 +156,7 @@ void fizzlerInit(struct Fizzler* fizzler, struct Transform* transform, float wid collisionObjectUpdateBB(&fizzler->collisionObject); collisionSceneAddDynamicObject(&fizzler->collisionObject); - fizzler->maxExtent = (int)(width * SCENE_SCALE * 0.5f); + fizzler->maxExtent = (int)(maxf(0.0f, width - 0.5f) * SCENE_SCALE); fizzler->maxVerticalExtent = (int)(height * SCENE_SCALE); fizzler->particleCount = (int)(width * height * FIZZLER_PARTICLES_PER_1x1); @@ -203,7 +203,7 @@ void fizzlerInit(struct Fizzler* fizzler, struct Transform* transform, float wid } fizzler->oldestParticleIndex = 0; - fizzler->dynamicId = dynamicSceneAdd(fizzler, fizzlerRender, &fizzler->rigidBody.transform.position, sqrtf(width * width + height * height) * 0.5f); + fizzler->dynamicId = dynamicSceneAdd(fizzler, fizzlerRender, &fizzler->rigidBody.transform.position, sqrtf(width * width + height * height)); dynamicSceneSetRoomFlags(fizzler->dynamicId, ROOM_FLAG_FROM_INDEX(room)); diff --git a/tools/level_scripts/entities.lua b/tools/level_scripts/entities.lua index a7014b4..6d22dbd 100644 --- a/tools/level_scripts/entities.lua +++ b/tools/level_scripts/entities.lua @@ -117,14 +117,14 @@ sk_definition_writer.add_definition('elevators', 'struct ElevatorDefinition[]', local fizzlers = {} for _, fizzler in pairs(sk_scene.nodes_for_type('@fizzler')) do - local position, rotation = fizzler.node.full_transformation:decompose() + local position, rotation, scale = fizzler.node.full_transformation:decompose() local room_index = room_export.node_nearest_room_index(fizzler.node) table.insert(fizzlers, { position, rotation, - 1, + scale.x, 1, room_index, signals.optional_signal_index_for_name(fizzler.arguments[1]),