diff --git a/Source/Contents/Actors/RenderObject.cpp b/Source/Contents/Actors/RenderObject.cpp index 2b39d307..84d5568d 100644 --- a/Source/Contents/Actors/RenderObject.cpp +++ b/Source/Contents/Actors/RenderObject.cpp @@ -13,6 +13,7 @@ #include "Contents/Effects/EffectLists.h" #include "Contents/GuildMgr.h" #include "Contents/Jobs/JobId.h" +#include "Render/Renderer.h" #include "Render/SpriteQuad.h" #include "Resource/ResourceMgr.h" #include "Resource/Sprites/ActionResource.h" @@ -947,3 +948,15 @@ void CGameActor::SetUnknown03C4(int value) { this->Slot21(value > 0 ? value : this->GetEffectiveJob(-1)); this->Slot15(this->render.unknown_0070, 1); } + +// OFFSET: 0x00CABDE0 + +// OFFSET: 0x00CC4270 +// FUNCTION: fn_21161 +void CRenderObject::UpdateTlvertex(const float* matrix) { + float x; + float y; + float reciprocalDepth; + g_renderer->ProjectViewport(&this->render.position.x, matrix, &x, &y, &reciprocalDepth); + this->SetTlvert(x, y); +} diff --git a/Source/Contents/Actors/RenderObject.h b/Source/Contents/Actors/RenderObject.h index 6090d335..22de417b 100644 --- a/Source/Contents/Actors/RenderObject.h +++ b/Source/Contents/Actors/RenderObject.h @@ -26,6 +26,7 @@ public: float CalcDist(float x, float z) const; float CalcDist(float x, float y, float z) const; bool GetTargetPos(std::uint32_t targetAid, vector3d& targetPos) const; + void UpdateTlvertex(const float* matrix); void SetAnimationSpeed(float speed); void SetActionSpeed(float speed); void DrawSprite(int argument, bool seasonal, float offset); @@ -47,6 +48,7 @@ public: ); int HoverHeight(); void ScaleByPulse(float& scale) const; + void ScaleByFadePulse(float& scale) const; void JitterBounds(float* output, const int* input, float offset, int spread, int base); void ApplySwing(int mode, int& x, int& y, int& outX, int& outY) const; void SetInstantValue(int key, std::int64_t value);