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);
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));

View file

@ -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]),