1
0
Fork 0
mirror of https://github.com/AquariaOSE/Aquaria.git synced 2025-09-15 11:41:41 +00:00
Commit graph

617 commits

Author SHA1 Message Date
fgenesis
9583375537 fix possible out of bounds access 2022-11-23 20:42:30 +01:00
fgenesis
ed98a3328e anim editor: allow to select anim by name (no more hammering PgUp/PgDown!) 2022-11-18 01:52:46 +01:00
fgenesis
92ab459736 Improve some skel anim edge cases; warning fixes. Also new Lua function.
+ entity_setAnimationTime()
2022-11-16 22:46:56 +01:00
fgenesis
da8faf2bd9 new Lua func to get elapsed time of anim currently playing
+ entity_getAnimationTime(e, layer)
2022-11-13 12:54:00 +01:00
fgenesis
37cf5134ba fix possible crash in anim editor 2022-11-13 12:30:03 +01:00
fgenesis
0469ab8dfb Add support for below-maxspeed shots
The game used to unconditionally enforce shots to go at close to their max speed;
it is now possible to turn that behavior off if needed:
In a shot txt file, set AlwaysMaxSpeed = 0

New Lua functions:
+ shot_setAlwaysMaxSpeed()
+ shot_isAlwaysMaxSpeed
2022-10-12 18:58:48 +02:00
fgenesis
58e9ba340e Add skel/bone gridDrawOrder attrib to control the way the gris is drawn
Also ignore grid.z (used as worldmap alpha) by default because it's really
only needed for the world map and ignoring it results in less GL calls.
2022-09-25 04:30:38 +02:00
fgenesis
e35dfb9f68 anim edit: slightly more useful border modes 2022-09-24 05:25:54 +02:00
fgenesis
cf70cfe48d anim editor: highlight bspline'd bones 2022-09-24 04:58:14 +02:00
fgenesis
cfa5d45932 render: remove one mutable hack, border color is now per-quad 2022-09-24 04:57:08 +02:00
fgenesis
575a83abd6 Initial implementation of bspline support in the animation editor 2022-09-23 18:10:44 +02:00
fgenesis
8e979e0e05 simplify Quad::drawGrid 2022-09-14 05:11:56 +02:00
fgenesis
29fd4ec44e clean up interpolators; WIP towards bspline support in anim editor 2022-09-13 18:38:44 +02:00
fgenesis
0afd09dc75 bspline wip more 2022-09-05 17:19:34 +02:00
fgenesis
214590742d wip splines 2022-09-04 17:16:35 +02:00
fgenesis
a494a3f411 ignore mouse motion events generated by SDL_WarpMouse().
Also fix bug that mouse.change got stuck on a tiny value and constantly
move the camera in editor mode.
This is a continuation of 764d106d50 and seems to fix the
previous issues with SDL2 >= 2.0.17

Also remove some unused vars.
2022-08-24 14:16:25 +02:00
fgenesis
cf6464daa7 remove unused / reorg entity variables 2022-08-24 02:33:31 +02:00
fgenesis
fb3d27fcfe Remove Lua functions:
- toggleVersionLabel()
- setVersionLabelText()

+ Implement compat function entity_flipHToAvatar() properly
2022-07-17 17:56:26 +02:00
fgenesis
d7ff053efd Rewrite SceneEditor level generation and skinning, use light pink to designate areas that should not be skinned
This also fixes a long-standing off-by-one with the generated ObsRows:
Before this commit, the game would (upon F11) eat every black pixel from
the map template that was directly left of a white pixel, eg.
#### ## # ## ... would become
###  #    #  ...

GENERATED MAPS ARE NOW DIFFERENT!
With this bug gone, dumping obs (F8) and loading that back in as a map
template (F11) should now be fully round-trip compatible and not lose
pixels anymore.

Extra feature:
(R>=200, G in [128..199], B>=200) in the map template now designate zones
that should not be obstructed but also not generate border rocks when
skinned (F12). Makes editing energy temple styled maps much easier since
we don't have to manually erase tiles on layer "5" anymore, all the time.
2022-07-06 08:59:55 +02:00
fgenesis
5c3c0037c9 Reload texture in anim editor on Ctrl+R 2022-07-06 08:47:44 +02:00
fgenesis
614f987df2 Make Game::fillGridFromQuad() and RenderObject::getInvRotPosition() use glm instead of the GL matrix stack 2022-06-20 18:36:49 +02:00
fgenesis
baa1170e6f remove RenderObject::isPieceFlippedHorizontal() + tiny cleanup 2022-06-20 17:46:37 +02:00
fgenesis
777de27dce declutter main. AQconfig.exe is gone, did not produce a proper config anymore anyway
plus it was never open sourced, so there's no reason to keep support for it around
2022-06-20 04:26:42 +02:00
fgenesis
f01db61292 show better errors when we fail to start up 2022-06-20 04:25:18 +02:00
fgenesis
af6c6a31aa fix crash when usersettings fail to load 2022-06-20 04:24:01 +02:00
fgenesis
6ee59762e7 Add Lua func: refreshElementsOnLayerCallback() 2022-06-14 23:57:19 +02:00
fgenesis
609a13d03d fix shot hitEntity() interface function 2022-06-10 02:03:28 +02:00
fgenesis
01b7d51834 Make Avatar::render() actually const 2022-06-09 02:32:46 +02:00
fgenesis
4732d10d78 Add "default" and "none" mod compat scripts 2022-06-09 02:30:31 +02:00
fgenesis
b4ae208886 remove now unused constant OVERRIDE_NONE 2022-05-25 21:19:14 +02:00
fgenesis
f466e1e7c8 remove overrideRenderPass completely
Also removes Lua functions:
- obj_setOverrideRenderPass()
* entity_setRenderPass() is now the same as obj_setRenderPass(),
  without the special case alternate name in Lua
2022-05-25 00:40:47 +02:00
fgenesis
4b044a7e3b remove old color hack in Avatar::render(), looks better without it 2022-05-21 19:02:38 +02:00
fgenesis
70562f103d Fix newly introduced crash, wtf how why 2022-05-21 18:56:58 +02:00
fgenesis
da23098692 remove PostProcessingFX
It was broken on modern graphics cards anyway and should rather be re-introduced
in a cleaner way once the renderer is ready for it
2022-05-21 18:56:27 +02:00
fgenesis
693223552d remove Quad::createStrip(), related members, and cleanup Bone strip handling
Saves some work when rendering EVERY SINGLE QUAD in the game
2022-05-21 17:31:50 +02:00
fgenesis
5c558c122f Remove RenderObject::setColorMult() hack and related members 2022-05-21 16:31:10 +02:00
fgenesis
5c419efd79 Remove RenderObject::updateAfterParent; simplify + clarify ParentManaged logic
SkeletalSprite was the only thing using it.
Instead of PM_STATIC it's now added to its Entity as PM_NONE.
PM_NONE is not auto-updated so SkeletalSprite::update() is now called
at the end of Entity::onUpdate()

(There's now a bug that during spirit form the screen stays black,
probably added that in an earlier commit. Will fix.)

(On second tought, maybe ParentManaged should be boolean.
Instead add a noAutoUpdate flag. But i'll save that for another time when i get around
to move all RenderObject bools into a bitmask.)
2022-05-20 03:27:15 +02:00
fgenesis
68b3c61852 Add RenderState to be passed through the scene graph
This will eventually handle all mutable state during rendering
2022-05-20 01:04:19 +02:00
fgenesis
b6c5d90d3a delete unused files + add missing headers to cmake 2022-05-19 05:17:49 +02:00
fgenesis
b6fb6944f6 first step towards making the render process const 2022-05-19 05:17:00 +02:00
fgenesis
46010244f5 remove RenderObject::blendEnabled and cleanup the blend code a bit 2022-05-19 01:34:31 +02:00
fgenesis
140f750d00 More RenderObject slimming; reorder members, split out motion blur data + collideRadius, add new CollideQuad type
CollideQuad is now base class for Shot, Entity, Bone
2022-05-18 19:44:42 +02:00
fgenesis
4db7990ac2 remove displaylist support
i'd rather trim all possible fat off the renderer and then modularize it
into multiple backends. gotta start somewhere.
2022-05-18 03:39:33 +02:00
fgenesis
c528a6186f track sizes of core objects to motivate the numbers to go down 2022-05-18 03:37:29 +02:00
fgenesis
c82aab1e51 Move RenderObject::positionSnapTo to PauseQuad
And another RenderObject member less...
2022-05-18 02:52:30 +02:00
fgenesis
046b98c725 delete some unused code 2022-05-18 02:38:53 +02:00
fgenesis
111cd43805 Move members related to collision mask from RenderObject to Bone 2022-05-18 02:15:19 +02:00
fgenesis
e33bde0a89 Small extension to bone:
+ attrib c="0" in the anim XML to turn off all collision for a bone
  even if collide radius or collision mask is set
+ Lua func: bone_toggleCollision() to change the above setting at runtime
+ Lua func: bone_spawnParticlesFromCollisionMask()
- Fix int truncation in entity_collideSkeletalVsLine()
2022-05-18 01:18:27 +02:00
fgenesis
00883143d7 SceneEditor/node-edit: don't display "si[giganticnumberblaaargh]" anymore
That was a leftover from ages ago when selectedIdx was changed from int to size_t
2022-05-14 05:16:19 +02:00
fgenesis
e1f78aaca7 QuadGrid now working 2022-05-14 05:14:08 +02:00