1
0
Fork 0
mirror of https://github.com/AquariaOSE/Aquaria.git synced 2025-06-08 01:22:02 +00:00
Commit graph

1332 commits

Author SHA1 Message Date
fgenesis
c2b72fd9dd make window + GL context creation more robust in the presence of weird graphics drivers 2025-03-04 04:05:25 +01:00
fgenesis
59706456ce kill some now unused/unnecessary legacy GL functions 2025-03-04 04:05:25 +01:00
fgenesis
cf90556430 some gl debug stuff 2025-03-04 04:05:25 +01:00
fgenesis
4d6c62b6cd FTGL: Don't change blending
See also https://github.com/frankheckenbach/ftgl/blob/master/README-LegacyOpenGLState
2025-03-04 04:05:25 +01:00
fgenesis
586a94325e remove every part of FTGL that isn't necessary for Aquaria 2025-03-04 04:05:25 +01:00
fgenesis
36826bfec5 rework DarkLayer to use a VBO 2025-03-04 04:05:25 +01:00
fgenesis
477293bb5a rework CurrentRender to use VBOs 2025-03-04 04:05:25 +01:00
fgenesis
5eecf2d84c fixes to VertexBuffer
- only reallocate if size changes
- fix logic error in the rare case of glUnmapBufferARB() failing
2025-03-04 04:05:25 +01:00
fgenesis
3a55777d63 rework Beam to use VBOs 2025-03-04 04:05:25 +01:00
fgenesis
ce310c2ae8 move Strand to BBGE 2025-03-04 04:05:25 +01:00
fgenesis
6f8bc8647a split Strand from Segmented; don't waste an entire RenderObject to store a single position 2025-03-04 04:05:25 +01:00
fgenesis
33567d323e Don't render before update()ing first. Fixes map load crash in prev. commit 2025-03-04 04:05:25 +01:00
fgenesis
9cc323b501 rework Strand to use VBOs 2025-03-04 04:05:25 +01:00
fgenesis
f167ce7167 oops 2025-02-13 22:54:55 +01:00
fgenesis
83fe458595 forgot a file 2025-02-12 13:56:12 +01:00
fgenesis
947f55f10b simplify particle render
Less special cases for non-rotated and non-flipped particles,
but since these are rare and the rest of the quad rendering code
has already gotten improvements there's not really any reason to keep
the specialized modes around.
The gains in GL calls were negligible and the new quad render code avoids
glVertex3f() entirely, which is a much better gain imho.
2025-02-05 05:30:46 +01:00
fgenesis
68c29a3fc9 Improve particle spawning behavior; small cleanup
Apparently there was an interpolation scheme in place to spawn
quickly-spawning (ie more than 1 per frame) particles along a line
interpolated between the previous and current position,
but the math was incorrect and it always ended up spawning all
particles on the same spot.
2025-02-05 04:55:06 +01:00
fgenesis
7b442174c8 Particle RandomScale is now cumulative and doesn't break interpolated scaling
Don't allocate interpolation data for RandomRotationRange when not needed

Hope this commit doesn't break some visuals; i'm not 100% sure.
Some particle files may rely on this behavior to look as intended.
2025-02-01 19:35:55 +01:00
fgenesis
3a40506ddb cleanup the partcile system a bit, and use new randomness 2025-02-01 07:32:54 +01:00
fgenesis
26e1da131d unused code begone 2025-02-01 06:10:21 +01:00
fgenesis
8a5f8d2ac7 Base functions use the new randomness now.
- randRange() is no longer broken.
- Lua randRange() uses the same function now and is no longer off-by-1
  (exclusive; right end never reached)
2025-02-01 06:09:37 +01:00
fgenesis
9664352a11 Add new randomness subsystem 2025-02-01 05:51:54 +01:00
fgenesis
c9365a3266 anim editor: only allow selecting bones from currently active sprite & keyframe
fixes crashing and weird behavior
2025-02-01 05:06:51 +01:00
fgenesis
51cf2f75f5 add support for Bone to inherit renderpass from parent 2025-01-22 05:36:21 +01:00
fgenesis
6bffa3a3f9 fix animations possibly going nuts in the anim editor due to timer overflow handling 2025-01-21 23:51:16 +01:00
fgenesis
dd403d7d55 fix possible crash when playing transition animation 2025-01-21 23:28:56 +01:00
fgenesis
3e16ddb89e anim editor: Put flipH on T key, like in the rest of the editor 2025-01-21 23:28:38 +01:00
fgenesis
7d7d4856d4 that was dumb 2025-01-18 05:41:59 +01:00
fgenesis
533cd94a57 Add worldmap_forgetMap() Lua function 2025-01-17 05:38:46 +01:00
fgenesis
7b8f540c7e Fixes to skel keyframe handling that would usually skip the first keyframe
This didn't seem to cause problems since apparently nothing ever depended
on the first keyframe being processed properly (ie. animationKey(),
bone commands, sounds, particle spawning, etc).
Curiously this was never an issue in the editor since the first keyframe
is hit immediately (since it keeps the time clamped to 0 when not animating),
and the first keyframe triggered ONLY when t==0 exactly.

With this change no keyframes are skipped, and during an animation loop,
the last and the first keyframe are hit together.
entity_setAnimationTime() got an extra param whether to skip keyframes
when setting the time manually (if not skipping, it'll catch up).

This commit also fixes a bug(?) that animationKey() was called with key -1
when changing animations, which was a side-effect of how the old code worked.
(I hope nothing depended on this behavior, i'm not sure but i think it's safe to fix)
2025-01-17 05:38:07 +01:00
fgenesis
33e0ee3439 anim editor usability fixes 2025-01-13 04:58:43 +01:00
fgenesis
140aa4d78d fix Lua func obj_fhTo() and variants, minor related cleanups in RenderObject 2025-01-13 04:57:35 +01:00
fgenesis
0e1283a4d7 Rework bone selection logic
A skeleton no longer has a "selectedBone".
It's all in the anim editor now.
2025-01-13 02:53:33 +01:00
fgenesis
8cb19e528f anim editor: support horizontal flip 2025-01-13 01:12:53 +01:00
fgenesis
1138eab08e couple random warning fixes, no functional changes 2025-01-13 00:56:28 +01:00
fgenesis
63892518cd more fixes and improvements to anim editor; eliminate OutlineRect 2025-01-12 18:42:58 +01:00
fgenesis
db2b71c3d8 fix many new anim editor bugs & typos after recent changes 2025-01-12 04:24:42 +01:00
fgenesis
d2040adbd5 more tweaks to anim editor, allow seeking via timeline when RMB is held 2025-01-12 03:30:08 +01:00
fgenesis
8369a7168f anim editor: support up to 9 tracks/anims at once. wip still. 2025-01-12 02:15:40 +01:00
fgenesis
2b2d4c712f exorcise another sneaky case of bubble sort 2025-01-08 03:52:45 +01:00
fgenesis
9e75e2093e move anim editor keyframes to timeline; minor cleanups 2025-01-08 03:51:43 +01:00
fgenesis
c6ba6ea99d fix startup crash when holding down Alt key 2025-01-06 16:38:11 +01:00
fgenesis
fe77a8ea5a Now is the time to finally switch on AQUARIA_SAVE_MAPVIS_RAW for good 2024-11-16 06:01:02 +01:00
fgenesis
0ae1250146 fix old fixme, remove unused code 2024-11-16 06:00:00 +01:00
fgenesis
5516c89576 fix gem scaling, attempt #2
This sort-of-reverts 4a71c5e12f and fixes overlooked cases
2024-11-16 04:55:56 +01:00
fgenesis
da7cd05ffa Fix a couple oversights in gem data loading 2024-11-16 04:53:23 +01:00
fgenesis
78005c1a51 obvious rant 2024-11-16 02:30:34 +01:00
fgenesis
c333b6b2a5 flip gem load cases around; prefer to load newer formats 2024-11-16 02:29:58 +01:00
fgenesis
de80af5612 improvements to gem storage
gems from old saves are still compatible but won't be associated to map tiles
2024-11-16 02:21:41 +01:00
fgenesis
4a71c5e12f fix worldmap gem scaling 2024-11-15 06:39:29 +01:00