mirror of
https://github.com/mwpenny/portal64-still-alive.git
synced 2024-10-20 10:37:37 -04:00
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:
parent
c15576dfa7
commit
5e6425075d
|
@ -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));
|
||||||
|
|
||||||
|
|
|
@ -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]),
|
||||||
|
|
Loading…
Reference in a new issue