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