Deconimus
5e6425075d
make fizzler width scale with blender scale & fix rendering bug which used to cause fizzlers from disappearing at some viewing angles
2024-03-21 22:54:42 +01:00
Matt Penny
c15576dfa7
Merge pull request #42 from mwpenny/chamber-14
...
Chamber 14 stairs first iteration
2024-03-20 23:21:56 -04:00
Matt Penny
eaf1a3012d
Finalize chamber 14 stairs first iteration
...
Next iteration will focus on making the pit beneath the stairs visible
while ideally allowing portals to be placed during the descend
animation.
Ideas include a transparent portal surface with either separately
animated step collision (to hide it beneath the level) or an animated
piece of floor geometry to act as a cover.
2024-03-20 22:16:09 -04:00
Matt Penny
236e7993c4
More performant collision detection between portals and moving dynamic collision
...
Short circuit if bounding boxes do not intersect
2024-03-20 22:12:00 -04:00
Matt Penny
1318e8ec4b
Don't cull animated objects in rooms where many exist
...
Calculating whether or not to cull many objects can be more expensive
than rendering them
2024-03-20 21:14:11 -04:00
Matt Penny
8e6a854b8a
Portal placement on descended chamber 14 stairs
...
This is currently implemented by having the stairs simply descend
beneath the floor. The floor cannot disappear/reappear dynamically until
issue #40 is fixed and portals work properly on dynamic collision. For now,
the behind-the-scenes pit is not shown as a result.
To do:
* Investigate engine optimization opportunities
* Reduce static element count if proven to be necessary
* Look into other ways to handle the floor
2024-03-16 19:22:41 -04:00
Matt Penny
2b09deb1fe
Fix off by one error which omitted final frame of animations
2024-03-16 00:47:29 -04:00
Matt Penny
35e9d433a4
Read level animation sound from first specifying bone, and play from armature center
...
Removes multi-bone animation dependency on bone order for audio, and
allows the sound to play as long as one bone is still moving. The center
is also a more natural sound position.
This is needed for the chamber 14 stairs.
2024-03-13 01:03:41 -04:00
Matt Penny
f16f88a73a
Close portals touched by moving dynamic collision
...
This allows collision brushing up against portals to close them, such as
the stairs in chamber 14, making it more difficult to get underneath.
Dynamic collision part of the same animation as the portal is excluded.
2024-03-12 22:18:41 -04:00
Matt Penny
54f0666045
Merge pull request #35 from Deconimus/pr31split_keep_objects_in_front
...
Keep grabbed objects in front of player & savegame grab through portals fix
2024-03-12 12:09:15 -04:00
Deconimus
7d48221146
rotate grabbed objects towards players' forwards direction (XZ-plane) instead of looking direction
2024-03-12 14:19:50 +01:00
Deconimus
b6afce6e0a
Merge branch 'master' into pr31split_keep_objects_in_front
2024-03-12 12:25:53 +01:00
Matt Penny
87af5a059c
Merge pull request #36 from Deconimus/encapsulate_decorIdFromCollisionObject
...
Encapsulate looking up a decorId from CollisionObjects
2024-03-11 23:29:16 -04:00
Matt Penny
ef5b032fc6
Add sound to chamber 14 stair animations
2024-03-11 21:25:49 -04:00
Matt Penny
020b181499
Animate chamber 14 stairs
...
Added ascend/descend animation, triggers, and dynamic collision.
Next steps:
* Simplify collision (currently quite expensive)
* Destroy portals during ascend animation
2024-03-11 19:38:53 -04:00
Deconimus
64bcfe30aa
encapsulate the hacky way of looking up a decor type id from CollisionObjects into the function decorIdForCollisionObject(struct CollisionObject*)
2024-03-09 14:42:14 +01:00
Deconimus
b6fdc1116e
keep grabbed objects in front of player.
...
fix grabbed objects being let go of when loading a savegame in which the player was grabbing through a portal.
2024-03-09 13:46:38 +01:00
Matt Penny
a2d57343e7
Merge pull request #34 from Deconimus/pr32fix_throw_direction_portals
...
Throw direction fix when grabbing through portal
2024-03-08 17:45:35 -05:00
Matt Penny
53605070f3
Create function to share portal grab transform code between held object throw and update
2024-03-08 17:42:56 -05:00
Deconimus
8eb474856c
fix throw direction when throwing a grabbed object that is being held through a portal
2024-03-08 17:43:45 +01:00
Matt Penny
a873ab233b
Merge pull request #32 from Deconimus/issue_26_dont_fire_portal_whith_grabbed_object
...
Dont fire portal with grabbed object or from pause menu
2024-03-07 23:10:32 -05:00
Deconimus
689f7a9358
replace obsolete ignorePortalGun with controllerActionMuteActive()
2024-03-08 02:04:12 +01:00
Matt Penny
88d393b3a2
Merge pull request #29 from Deconimus/issue_25_security_cam_savefile
...
Serialize / deserialize detached security cameras in savegames (fixes #25 )
2024-03-07 08:36:10 -05:00
Deconimus
3bf2d80d63
replace all security_camera related ridigbody flag checks regarding kinematic with the securityCameraIsDetached function
2024-03-07 13:09:34 +01:00
Deconimus
d5418db73d
make security_camera serialization object oriented again
2024-03-07 12:47:20 +01:00
Matt Penny
26e39d0353
Clarify Blender version in file formats documentation
2024-03-06 21:10:30 -05:00
Matt Penny
b2aa24724e
Beginnings of chamber 14 stairs
...
Created steps, pit, static collision, and armature.
Still need to:
* Create proper animation
* Add triggers
* Convert static collision to dynamic
* Make portals work
2024-03-05 23:40:50 -05:00
Deconimus
73900f76f7
fix portal fire from exiting pause menu + improved ignorePortalGun logic
2024-03-05 23:30:14 +01:00
Deconimus
eee2c25890
player throw impulse now scales with mass of grabbed object, to ensure every object is thrown the same distance
2024-03-05 22:54:03 +01:00
Deconimus
43b5a83f6f
throw grabbed objects when using the portal buttons
2024-03-05 20:33:49 +01:00
Deconimus
d7b2bcfe67
prevent portalgun from firing when dropping a grabbed object
2024-03-05 19:16:34 +01:00
Deconimus
b23e22bb34
scene_serialize: serialize and deserialize security cameras
...
security_camera: replaced hardcoded mass of 1.0f with SECURITY_CAMERA_RIGID_BODY_MASS definition in header. added utility function to calculate security_camera moment_of_inertia, making it accessible to scene_serialize for deserialization due to rigidBodyUnmarkKinematic
2024-03-04 13:24:06 +01:00
Matt Penny
e2b3fcdd8d
Prevent placing portals under test elements in chambers 11, 12, and 14
...
The following static geometry was previously not marked with `no_portals`:
* Walls behind ball launcher and catcher in chamber 11
* Floor beneath button in chamber 12
* Wall behind ball launcher in chamber 14
2024-03-02 22:33:01 -05:00
Matt Penny
6a1a7994b9
Avoid unnecessary signal definition
...
* Don't generate button cube signal if -1 or omitted
* Require button press, door, and box dropper signals to be specified
2024-03-02 22:03:13 -05:00
Matt Penny
cd72779930
Merge pull request #19 from Deconimus/bug_13_fizzler_voice_lines
...
Fizzler Cutscenes and Voice Lines in Chamber00 and Chamber12
2024-03-02 16:06:40 -05:00
Matt Penny
754273d955
Update fizzler docs, and consistent spacing
2024-03-02 16:06:26 -05:00
Matt Penny
74ba106faf
Save test chambers in Blender 3.6
2024-03-02 15:40:03 -05:00
Deconimus
984dd65d2c
fix fizzler optional signals generating unnecessary signals.
...
in test_chamber blender files, renamed @fizzler objects to not cause generation of unused signals.
removed "parse_trigger_signal" in trigger.lua, added "optional_signal_index_for_name", which is used for both trigger signals and fizzler signals.
added check in fizzler.c if signal is -1
2024-03-02 03:19:44 +01:00
Deconimus
59cdb047ec
Merge branch 'master' into bug_13_fizzler_voice_lines
2024-03-02 02:23:25 +01:00
Matt Penny
5e70af8e82
Merge pull request #15 from Deconimus/chamber14_trapped_check
...
Chamber14 trapped check
2024-03-01 09:08:36 -05:00
Matt Penny
2cc4b37757
Rename button pressFrames to cubePressFrames for clarity
2024-03-01 09:07:49 -05:00
hackgrid
41eb36c82d
fix ambience sound est_chamber_09
2024-03-01 14:06:53 +01:00
hackgrid
21362ed407
add ambience sound to test_chamber_09
2024-03-01 13:07:01 +01:00
hackgrid
7062d9a88d
add ambience sound to test_chamber_08
2024-03-01 13:05:04 +01:00
Deconimus
2da3537c82
button.c: cleanup, removed unnecessary check
2024-03-01 12:48:14 +01:00
Matt Penny
3d6e9db6bc
Merge pull request #16 from Deconimus/chamber_04_trapped_check
...
Chamber 04 Escape Hatch
2024-02-29 12:09:13 -05:00
Matt Penny
db1bb3f5ea
Chamber 4 signal operators before chamber 5 signal operators
2024-02-29 12:05:22 -05:00
Deconimus
026332c5bd
Level logic cleanup for test_chamber_00.yaml and test_chamber_07.yaml
2024-02-29 14:51:18 +01:00
Deconimus
5862ed99c2
Chamber04: set wait time in CHECK_TRAPPED to ~6 seconds
...
test_chamber_02.yaml: operator sorting
2024-02-29 13:28:42 +01:00
Deconimus
df9d4acaac
Merge branch 'chamber14_trapped_check' of https://github.com/Deconimus/portal64-still-alive into chamber14_trapped_check
...
Reverted commits related to deactivating buttons.
2024-02-29 13:20:26 +01:00