1
0
Fork 0
mirror of https://github.com/AquariaOSE/Aquaria.git synced 2025-01-24 09:16:48 +00:00
Aquaria/BBGE
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
..
ActionInput.cpp
ActionInput.h
ActionMapper.cpp
ActionMapper.h
ActionSet.cpp
ActionSet.h
ActionStatus.cpp
ActionStatus.h
AfterEffect.cpp
AfterEffect.h
Base.cpp
Base.h
BaseText.h
bithacks.h
BitmapFont.cpp
BitmapFont.h
CMakeLists.txt
Cocoa.mm
Core.cpp
Core.h
DarkLayer.cpp
DarkLayer.h
DataStructures.cpp
DataStructures.h
DebugFont.cpp
DebugFont.h
DirWatcher.cpp
DirWatcher.h
Emitter.cpp
EngineEnums.h
Event.cpp
Event.h
FmodOpenALBridge.cpp
FmodOpenALBridge.h
FrameBuffer.cpp
FrameBuffer.h
GameKeyNames.cpp
GameKeyNames.h
GameKeys.h
GLLoad.cpp
GLLoad.h
Gradient.cpp
Gradient.h
Image.cpp
Image.h
Interpolators.cpp
Interpolators.h
Joystick.cpp
Joystick.h
Localization.cpp
Localization.h
MathFunctions.h
MT.cpp
MT.h
OpenGLStubs.h
OSFunctions.cpp
OSFunctions.h
ParticleEffect.cpp
ParticleManager.cpp
Particles.h
Precacher.cpp
Precacher.h
Quad.cpp
Quad.h
QuadGrid.cpp
QuadGrid.h
ReadXML.cpp
ReadXML.h
Rect.h
Refcounted.h
RenderBase.cpp
RenderBase.h
RenderGrid.cpp
RenderGrid.h
RenderObject.cpp
RenderObject.h
RenderObject_inline.h
RenderObjectLayer.cpp
RenderState.cpp
RenderState.h
RoundedRect.cpp
RoundedRect.h
ScreenTransition.cpp
ScreenTransition.h
ScriptObject.cpp
ScriptObject.h
Shader.cpp
Shader.h
SimpleIStringStream.h
SkeletalSprite.cpp
SkeletalSprite.h
Slider.cpp
Slider.h
SoundManager.cpp
SoundManager.h
SpawnParticleData.cpp
SplineGrid.cpp
SplineGrid.h
StateMachine.cpp
StateMachine.h
StateManager.cpp
StateManager.h
StringBank.cpp
StringBank.h
Texture.cpp
Texture.h
TextureMgr.cpp
TextureMgr.h
Tile.cpp
Tile.h
TileRender.cpp
TileRender.h
Tileset.cpp
Tileset.h
TTFFont.cpp
TTFFont.h
Vector.cpp
Vector.h
VertexBuffer.cpp
VertexBuffer.h
Window.cpp
Window.h
Window_SDL1.cpp
Window_SDL2.cpp