mirror of
https://github.com/hedge-dev/UnleashedRecomp.git
synced 2025-10-30 07:11:05 +00:00
* Implemented guest-to-host function pointers (WIP) Co-Authored-By: Skyth (Asilkan) <19259897+blueskythlikesclouds@users.noreply.github.com> * function: support more types for function pointers * api: ported BlueBlur headers and misc. research * Move over function-pointers changes from options-menu branch. --------- Co-authored-by: Skyth (Asilkan) <19259897+blueskythlikesclouds@users.noreply.github.com>
53 lines
1.5 KiB
C++
53 lines
1.5 KiB
C++
#pragma once
|
|
|
|
#include "SWA.inl"
|
|
#include "CSD/Manager/csdmBase.h"
|
|
#include "CSD/Manager/csdmResourceBase.h"
|
|
#include "CSD/Manager/csdmSceneObserver.h"
|
|
#include "CSD/Manager/csdmSubjectBase.h"
|
|
|
|
namespace Chao::CSD
|
|
{
|
|
struct Scene;
|
|
class CScene;
|
|
class CNode;
|
|
|
|
enum EMotionRepeatType : uint32_t
|
|
{
|
|
eMotionRepeatType_PlayOnce = 0,
|
|
eMotionRepeatType_Loop = 1,
|
|
eMotionRepeatType_PingPong = 2,
|
|
eMotionRepeatType_PlayThenDestroy = 3
|
|
};
|
|
|
|
class CScene : public CResourceBase<Scene>, SubjectBase<CSceneObserver, CScene>, CBase
|
|
{
|
|
public:
|
|
SWA_INSERT_PADDING(0x60);
|
|
be<float> m_PrevMotionFrame;
|
|
be<float> m_MotionFrame;
|
|
be<float> m_MotionSpeed;
|
|
be<float> m_MotionStartFrame;
|
|
be<float> m_MotionEndFrame;
|
|
SWA_INSERT_PADDING(0x0C);
|
|
be<uint32_t> m_MotionDisableFlag;
|
|
SWA_INSERT_PADDING(0x10);
|
|
be<EMotionRepeatType> m_MotionRepeatType;
|
|
SWA_INSERT_PADDING(0x2C);
|
|
|
|
~CScene();
|
|
void Update(float in_DeltaTime = 0.0f);
|
|
void Render(void* in_pUnk);
|
|
|
|
void GetNode(RCPtr<CNode>& out_rResult, const char* in_pName);
|
|
|
|
bool SetMotion(const char* in_pName);
|
|
void SetMotionFrame(float in_MotionFrame);
|
|
void SetPosition(float in_X, float in_Y);
|
|
void SetHideFlag(uint32_t in_HideFlag);
|
|
void SetRotation(float in_Angle);
|
|
void SetScale(float in_X, float in_Y);
|
|
};
|
|
}
|
|
|
|
#include "CSD/Manager/csdmScene.inl"
|