make fizzler width scale with blender scale & fix rendering bug which used to cause fizzlers from disappearing at some viewing angles

This commit is contained in:
Deconimus 2024-03-21 22:54:42 +01:00
parent c15576dfa7
commit 5e6425075d
2 changed files with 4 additions and 4 deletions

View file

@ -156,7 +156,7 @@ void fizzlerInit(struct Fizzler* fizzler, struct Transform* transform, float wid
collisionObjectUpdateBB(&fizzler->collisionObject); collisionObjectUpdateBB(&fizzler->collisionObject);
collisionSceneAddDynamicObject(&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->maxVerticalExtent = (int)(height * SCENE_SCALE);
fizzler->particleCount = (int)(width * height * FIZZLER_PARTICLES_PER_1x1); 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->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)); dynamicSceneSetRoomFlags(fizzler->dynamicId, ROOM_FLAG_FROM_INDEX(room));

View file

@ -117,14 +117,14 @@ sk_definition_writer.add_definition('elevators', 'struct ElevatorDefinition[]',
local fizzlers = {} local fizzlers = {}
for _, fizzler in pairs(sk_scene.nodes_for_type('@fizzler')) do 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) local room_index = room_export.node_nearest_room_index(fizzler.node)
table.insert(fizzlers, { table.insert(fizzlers, {
position, position,
rotation, rotation,
1, scale.x,
1, 1,
room_index, room_index,
signals.optional_signal_index_for_name(fizzler.arguments[1]), signals.optional_signal_index_for_name(fizzler.arguments[1]),