1
0
Fork 0
mirror of https://github.com/AquariaOSE/Aquaria.git synced 2025-08-09 07:40:21 +00:00
Aquaria/Aquaria/AnimationEditor.h
fgenesis 03c698320a Merge branch 'experimental' into controllerfixup
# Conflicts:
#	Aquaria/AnimationEditor.cpp
#	Aquaria/AquariaComboBox.cpp
#	Aquaria/AquariaMenuItem.h
#	Aquaria/Avatar.cpp
#	Aquaria/BitBlotLogo.cpp
#	Aquaria/Continuity.cpp
#	Aquaria/DSQ.cpp
#	Aquaria/DSQ.h
#	Aquaria/Game.cpp
#	Aquaria/Game.h
#	Aquaria/Intro.cpp
#	Aquaria/RecipeMenuEntry.cpp
#	Aquaria/SceneEditor.cpp
#	Aquaria/States.h
#	Aquaria/UserSettings.cpp
#	BBGE/ActionMapper.cpp
#	BBGE/Base.cpp
#	BBGE/BitmapFont.h
#	BBGE/Core.cpp
#	BBGE/Core.h
#	BBGE/ParticleManager.cpp
#	BBGE/Particles.h
#	BBGE/RenderObject.h
#	BBGE/Shader.cpp
#	BBGE/Shader.h
#	BBGE/SkeletalSprite.h
#	BBGE/Texture.cpp
#	BBGE/Vector.h
2021-01-12 00:26:44 +01:00

153 lines
2.3 KiB
C++

#ifndef ANIMATION_EDITOR_H
#define ANIMATION_EDITOR_H
#include "../BBGE/SkeletalSprite.h"
#include "StateManager.h"
#include <deque>
class DebugFont;
class BitmapText;
class KeyframeWidget : public Quad
{
public:
KeyframeWidget(int key);
float t;
int key;
static KeyframeWidget *movingWidget;
BitmapText *b;
void shiftLeft();
void shiftRight();
protected:
void onUpdate(float dt);
};
class AnimationEditor : public StateObject
{
public:
AnimationEditor();
void applyState();
void removeState();
void update(float dt);
void prevKey();
void nextKey();
void newKey();
void deleteKey();
void animate();
void stop();
void animateOrStop();
void newAnim();
void lmbu();
void lmbd();
void rmbu();
void rmbd();
void mmbd();
void constrainMouse();
void reorderKeys();
void saveFile();
void loadFile();
void copyKey();
void pasteKey();
void nextAnim();
void prevAnim();
void quit();
void load();
void loadSkin();
void copy();
void paste();
void cloneBoneAhead();
void zoomIn();
void zoomOut();
void resetScaleOrSave();
void clearRot();
void clearPos();
void flipRot();
void cycleLerpType();
void toggleHideBone();
void undo();
void redo();
void pushUndo();
void clearUndoHistory();
void applyTranslation();
void applyRotation();
void moveNextWidgets(float dt);
std::deque<SkeletalSprite> undoHistory;
size_t undoEntry;
int currentKey;
int rotOffset;
SkeletalSprite *editSprite;
Bone *editingBone;
int boneEdit;
DebugFont *text, *text2;
void goToTitle();
SkeletalKeyframe copyBuffer;
std::string editingFile;
std::vector<KeyframeWidget*> keyframeWidgets;
void action(int id, int state, int source, InputDevice device);
void rebuildKeyframeWidgets();
Vector cursorOffset;
void moveBoneStripPoint(const Vector &mov);
void editStripKey();
void toggleMouseSelection();
void selectPrevBone();
void selectNextBone();
bool mouseSelection;
SkeletalKeyframe buffer;
bool editingStrip;
size_t selectedStripPoint;
void reverseAnim();
void toggleRenderBorders();
void updateRenderBorders();
bool renderBorders;
void updateEditingBone();
void showAllBones();
void incrTimelineUnit();
void decrTimelineUnit();
void updateTimelineUnit();
void incrTimelineGrid();
void decrTimelineGrid();
void updateTimelineGrid();
DebugFont *gridsize, *unitsize;
};
#endif