This commit is contained in:
Isuru Samarathunga
2025-10-10 20:16:57 +05:30
parent 8afe023901
commit 7191fb19f0
9 changed files with 86 additions and 92 deletions

View File

@ -379,7 +379,7 @@ namespace ia::iae
sortIndex += static_cast<INT16>(position.y); sortIndex += static_cast<INT16>(position.y);
position *= Renderer::s_state.SceneScaleFactor; position *= Renderer::s_state.SceneScaleFactor;
scale *= Renderer::s_state.SceneScaleFactor; //scale *= Renderer::s_state.SceneScaleFactor;
Renderer::s_state.ModelMatrix = Renderer::s_state.ModelMatrix =
glm::translate(glm::mat4(1.0f), glm::vec3{position.x, position.y, glm::translate(glm::mat4(1.0f), glm::vec3{position.x, position.y,

View File

@ -16,12 +16,6 @@
#pragma once #pragma once
#if defined(__BUILDING_IAENGINE) && (__BUILDING_IAENGINE)
#define IAE_DLL_API IA_DLL_EXPORT
#else
#define IAE_DLL_API IA_DLL_IMPORT
#endif
#include <IACore/Map.hpp> #include <IACore/Map.hpp>
#include <IACore/Logger.hpp> #include <IACore/Logger.hpp>
#include <IACore/Memory.hpp> #include <IACore/Memory.hpp>

View File

@ -23,7 +23,7 @@ namespace ia::iae
class TextureComponent : public IComponent class TextureComponent : public IComponent
{ {
public: public:
IAE_DLL_API TextureComponent(IN Node2D *node); TextureComponent(IN Node2D *node);
public: public:
VOID Draw(); VOID Draw();
@ -33,7 +33,7 @@ namespace ia::iae
VOID FixedUpdate(); VOID FixedUpdate();
public: public:
IAE_DLL_API VOID SetTexture(IN Handle image); VOID SetTexture(IN Handle image);
Handle GetTexture() CONST Handle GetTexture() CONST
{ {

View File

@ -33,103 +33,103 @@ namespace ia::iae
{ {
public: public:
// Event Functions // Event Functions
STATIC IAE_DLL_API Handle CreateEvent(IN CONST String &name); STATIC Handle CreateEvent(IN CONST String &name);
STATIC IAE_DLL_API VOID DestroyEvent(IN Handle event); STATIC VOID DestroyEvent(IN Handle event);
STATIC IAE_DLL_API Handle GetEventByName(IN CONST String &name); STATIC Handle GetEventByName(IN CONST String &name);
STATIC IAE_DLL_API VOID AddEventListener(IN Handle event, IN std::function<VOID()> callback); STATIC VOID AddEventListener(IN Handle event, IN std::function<VOID()> callback);
STATIC IAE_DLL_API VOID AddEventListener(IN CONST String &eventName, IN std::function<VOID()> callback); STATIC VOID AddEventListener(IN CONST String &eventName, IN std::function<VOID()> callback);
STATIC IAE_DLL_API VOID BroadcastEvent(IN Handle event); STATIC VOID BroadcastEvent(IN Handle event);
STATIC IAE_DLL_API VOID BroadcastEvent(IN CONST String &eventName); STATIC VOID BroadcastEvent(IN CONST String &eventName);
// Renderer Functions // Renderer Functions
STATIC IAE_DLL_API Handle GetGeometry_Quad(); STATIC Handle GetGeometry_Quad();
STATIC IAE_DLL_API Handle CreateGeometry(IN CONST Vector<GeometryVertex> &vertices, STATIC Handle CreateGeometry(IN CONST Vector<GeometryVertex> &vertices,
IN CONST Vector<INT32> &indices); IN CONST Vector<INT32> &indices);
STATIC IAE_DLL_API VOID DestroyGeometry(IN Handle geometry); STATIC VOID DestroyGeometry(IN Handle geometry);
STATIC IAE_DLL_API VOID DrawGeometry(IN Handle handle); STATIC VOID DrawGeometry(IN Handle handle);
STATIC IAE_DLL_API IVec2 GetDisplayExtent(); STATIC IVec2 GetDisplayExtent();
STATIC IAE_DLL_API VOID ResizeDisplay(IN INT32 newWidth, IN INT32 newHeight); STATIC VOID ResizeDisplay(IN INT32 newWidth, IN INT32 newHeight);
// Renderer State Functions // Renderer State Functions
STATIC IAE_DLL_API VOID SetRenderState_Scissor(IN IVec4 rect); STATIC VOID SetRenderState_Scissor(IN IVec4 rect);
STATIC IAE_DLL_API VOID SetRenderState_FlippedH(IN BOOL value); STATIC VOID SetRenderState_FlippedH(IN BOOL value);
STATIC IAE_DLL_API VOID SetRenderState_FlippedV(IN BOOL value); STATIC VOID SetRenderState_FlippedV(IN BOOL value);
STATIC IAE_DLL_API VOID SetRenderState_TextureOffset(IN Vec2 off); STATIC VOID SetRenderState_TextureOffset(IN Vec2 off);
STATIC IAE_DLL_API VOID SetRenderState_YSortingEnabled(IN BOOL value); STATIC VOID SetRenderState_YSortingEnabled(IN BOOL value);
STATIC IAE_DLL_API VOID SetRenderState_ColorOverlay(IN Color color); STATIC VOID SetRenderState_ColorOverlay(IN Color color);
STATIC IAE_DLL_API VOID SetRenderState_CameraRelative(IN BOOL value); STATIC VOID SetRenderState_CameraRelative(IN BOOL value);
STATIC IAE_DLL_API VOID SetRenderState_Texture(IN Handle image); STATIC VOID SetRenderState_Texture(IN Handle image);
STATIC IAE_DLL_API VOID SetRenderState_Transform(IN Vec2 position, IN Vec2 scale, IN FLOAT32 rotation, STATIC VOID SetRenderState_Transform(IN Vec2 position, IN Vec2 scale, IN FLOAT32 rotation,
IN UINT8 layer, IN INT16 sortIndex); IN UINT8 layer, IN INT16 sortIndex);
// Debug Draw Functions // Debug Draw Functions
STATIC IAE_DLL_API VOID DebugDraw_SetColor(IN Color color); STATIC VOID DebugDraw_SetColor(IN Color color);
STATIC IAE_DLL_API VOID DebugDraw_StrokeWidth(IN FLOAT32 width); STATIC VOID DebugDraw_StrokeWidth(IN FLOAT32 width);
STATIC IAE_DLL_API VOID DebugDraw_Line(IN Vec2 from, IN Vec2 to); STATIC VOID DebugDraw_Line(IN Vec2 from, IN Vec2 to);
STATIC IAE_DLL_API VOID DebugDraw_FillRect(IN Vec2 position, IN Vec2 size); STATIC VOID DebugDraw_FillRect(IN Vec2 position, IN Vec2 size);
STATIC IAE_DLL_API VOID DebugDraw_StrokeRect(IN Vec2 position, IN Vec2 size); STATIC VOID DebugDraw_StrokeRect(IN Vec2 position, IN Vec2 size);
// Resource Functions // Resource Functions
STATIC IAE_DLL_API Handle CreateSoundFromFile(IN CONST String &name, IN CONST String &path); STATIC Handle CreateSoundFromFile(IN CONST String &name, IN CONST String &path);
STATIC IAE_DLL_API Handle CreateImageFromFile(IN CONST String &name, IN CONST String &path, STATIC Handle CreateImageFromFile(IN CONST String &name, IN CONST String &path,
IN INT32 resizeToWidth = 0, IN INT32 resizeToHeight = 0); IN INT32 resizeToWidth = 0, IN INT32 resizeToHeight = 0);
STATIC IAE_DLL_API Handle CreateImage(IN CONST String &name, IN PCUINT8 encodedData, IN SIZE_T encodedDataSize); STATIC Handle CreateImage(IN CONST String &name, IN PCUINT8 encodedData, IN SIZE_T encodedDataSize);
STATIC IAE_DLL_API Handle CreateImage(IN CONST String &name, IN PCUINT8 rgbaData, IN INT32 width, STATIC Handle CreateImage(IN CONST String &name, IN PCUINT8 rgbaData, IN INT32 width,
IN INT32 height); IN INT32 height);
STATIC IAE_DLL_API Handle CreateSound(IN CONST String &name, IN PCUINT8 encodedData, IN SIZE_T encodedDataSize); STATIC Handle CreateSound(IN CONST String &name, IN PCUINT8 encodedData, IN SIZE_T encodedDataSize);
STATIC IAE_DLL_API Handle GetImage(IN CONST String &name); STATIC Handle GetImage(IN CONST String &name);
STATIC IAE_DLL_API Handle GetSound(IN CONST String &name); STATIC Handle GetSound(IN CONST String &name);
STATIC IAE_DLL_API VOID DestroyImage(IN Handle image); STATIC VOID DestroyImage(IN Handle image);
STATIC IAE_DLL_API VOID DestroySound(IN Handle sound); STATIC VOID DestroySound(IN Handle sound);
STATIC IAE_DLL_API IVec2 GetImageExtent(IN Handle image); STATIC IVec2 GetImageExtent(IN Handle image);
STATIC IAE_DLL_API Handle ResizeImage(IN Handle image, IN INT32 newWidth, IN INT32 newHeight); STATIC Handle ResizeImage(IN Handle image, IN INT32 newWidth, IN INT32 newHeight);
STATIC IAE_DLL_API Handle ResizeImage(IN CONST String& name, IN INT32 newWidth, IN INT32 newHeight); STATIC Handle ResizeImage(IN CONST String& name, IN INT32 newWidth, IN INT32 newHeight);
STATIC IAE_DLL_API VOID RescaleAllImages(IN FLOAT32 factorX, IN FLOAT32 factorY); STATIC VOID RescaleAllImages(IN FLOAT32 factorX, IN FLOAT32 factorY);
STATIC IAE_DLL_API Handle CombineImages(IN CONST Vector<Handle> &images, IN INT32 unitWidth, STATIC Handle CombineImages(IN CONST Vector<Handle> &images, IN INT32 unitWidth,
IN INT32 unitHeight, IN INT32 unitCountX, IN INT32 unitCountY); IN INT32 unitHeight, IN INT32 unitCountX, IN INT32 unitCountY);
// Game Functions // Game Functions
STATIC IAE_DLL_API VOID SetTimeScale(IN FLOAT32 scale); STATIC VOID SetTimeScale(IN FLOAT32 scale);
STATIC IAE_DLL_API VOID SetActiveCamera(IN CameraComponent *cameraComponent); STATIC VOID SetActiveCamera(IN CameraComponent *cameraComponent);
// Scene Functions // Scene Functions
STATIC IAE_DLL_API RefPtr<Scene> CreateSceneFromFile(IN CONST String &path); STATIC RefPtr<Scene> CreateSceneFromFile(IN CONST String &path);
STATIC IAE_DLL_API Scene *GetActiveScene(); STATIC Scene *GetActiveScene();
STATIC IAE_DLL_API VOID ChangeActiveScene(IN RefPtr<Scene> scene); STATIC VOID ChangeActiveScene(IN RefPtr<Scene> scene);
STATIC IAE_DLL_API VOID AddNodeToActiveScene(IN RefPtr<INode> node); STATIC VOID AddNodeToActiveScene(IN RefPtr<INode> node);
STATIC IAE_DLL_API INode *GetNodeFromActiveScene(IN CONST String &name); STATIC INode *GetNodeFromActiveScene(IN CONST String &name);
STATIC IAE_DLL_API VOID RemoveNodeFromActiveScene(IN CONST String &name); STATIC VOID RemoveNodeFromActiveScene(IN CONST String &name);
// Input Functions // Input Functions
STATIC IAE_DLL_API Vec2 GetInputAxis(); STATIC Vec2 GetInputAxis();
STATIC IAE_DLL_API VOID SwitchInputModeToText(); STATIC VOID SwitchInputModeToText();
STATIC IAE_DLL_API VOID SwitchInputModeToAction(); STATIC VOID SwitchInputModeToAction();
STATIC IAE_DLL_API Vec2 GetInputPointerPosition(); STATIC Vec2 GetInputPointerPosition();
STATIC IAE_DLL_API BOOL IsInputKeyDown(IN InputKey key); STATIC BOOL IsInputKeyDown(IN InputKey key);
STATIC IAE_DLL_API BOOL WasInputKeyPressed(IN InputKey key); STATIC BOOL WasInputKeyPressed(IN InputKey key);
STATIC IAE_DLL_API BOOL WasInputKeyReleased(IN InputKey key); STATIC BOOL WasInputKeyReleased(IN InputKey key);
STATIC IAE_DLL_API BOOL IsInputActionDown(IN Handle action); STATIC BOOL IsInputActionDown(IN Handle action);
STATIC IAE_DLL_API BOOL WasInputActionPressed(IN Handle action); STATIC BOOL WasInputActionPressed(IN Handle action);
STATIC IAE_DLL_API BOOL WasInputActionReleased(IN Handle action); STATIC BOOL WasInputActionReleased(IN Handle action);
STATIC IAE_DLL_API BOOL IsInputActionDown(IN CONST String &action); STATIC BOOL IsInputActionDown(IN CONST String &action);
STATIC IAE_DLL_API BOOL WasInputActionPressed(IN CONST String &action); STATIC BOOL WasInputActionPressed(IN CONST String &action);
STATIC IAE_DLL_API BOOL WasInputActionReleased(IN CONST String &action); STATIC BOOL WasInputActionReleased(IN CONST String &action);
STATIC IAE_DLL_API Handle BindInputAction(IN CONST String &name, IN InputKey key); STATIC Handle BindInputAction(IN CONST String &name, IN InputKey key);
STATIC IAE_DLL_API VOID BindInputAxis(IN InputKey upKey, IN InputKey downKey, IN InputKey leftKey, STATIC VOID BindInputAxis(IN InputKey upKey, IN InputKey downKey, IN InputKey leftKey,
IN InputKey rightKey); IN InputKey rightKey);
// Random Functions // Random Functions
STATIC IAE_DLL_API FLOAT32 GetRandomFloat(); STATIC FLOAT32 GetRandomFloat();
STATIC IAE_DLL_API INT32 GetRandomInRange(IN INT32 min, IN INT32 max); STATIC INT32 GetRandomInRange(IN INT32 min, IN INT32 max);
// Time Functions // Time Functions
STATIC IAE_DLL_API INT64 GetTickCount(); STATIC INT64 GetTickCount();
STATIC IAE_DLL_API INT64 GetUnixSecond(); STATIC INT64 GetUnixSecond();
STATIC IAE_DLL_API INT64 GetUnixMillisecond(); STATIC INT64 GetUnixMillisecond();
STATIC IAE_DLL_API FLOAT32 GetFrameDeltaTime(); STATIC FLOAT32 GetFrameDeltaTime();
// Engine Functions // Engine Functions
STATIC IAE_DLL_API BOOL IsDebugMode(); STATIC BOOL IsDebugMode();
STATIC IAE_DLL_API String GetUniqueResourceName(); STATIC String GetUniqueResourceName();
}; };
} // namespace ia::iae } // namespace ia::iae

View File

@ -24,7 +24,7 @@ namespace ia::iae
class CameraNode : public Node2D class CameraNode : public Node2D
{ {
public: public:
IAE_DLL_API CameraNode(IN CONST String &name); CameraNode(IN CONST String &name);
public: public:
CameraComponent *GetCameraComponent() CameraComponent *GetCameraComponent()

View File

@ -24,8 +24,8 @@ namespace ia::iae
class Node2D : public INode class Node2D : public INode
{ {
public: public:
IAE_DLL_API Node2D(IN CONST String &name); Node2D(IN CONST String &name);
IAE_DLL_API ~Node2D(); ~Node2D();
public: public:
template<typename _component_type> _component_type *AddComponent() template<typename _component_type> _component_type *AddComponent()

View File

@ -24,7 +24,7 @@ namespace ia::iae
class TextureNode : public Node2D class TextureNode : public Node2D
{ {
public: public:
IAE_DLL_API TextureNode(IN CONST String &name); TextureNode(IN CONST String &name);
public: public:
TextureComponent *GetTextureComponent() TextureComponent *GetTextureComponent()

View File

@ -23,13 +23,13 @@ namespace ia::iae
class Scene class Scene
{ {
public: public:
STATIC IAE_DLL_API RefPtr<Scene> Create(); STATIC RefPtr<Scene> Create();
STATIC IAE_DLL_API RefPtr<Scene> Create(IN CONST String &sceneXML); STATIC RefPtr<Scene> Create(IN CONST String &sceneXML);
public: public:
IAE_DLL_API VOID AddNode(IN RefPtr<INode> node); VOID AddNode(IN RefPtr<INode> node);
IAE_DLL_API INode *GetNode(IN CONST String &name); INode *GetNode(IN CONST String &name);
IAE_DLL_API VOID RemoveNode(IN CONST String &name); VOID RemoveNode(IN CONST String &name);
public: public:
IVec2& Extent() IVec2& Extent()

View File

@ -23,9 +23,9 @@ namespace ia::iae
class UI class UI
{ {
public: public:
STATIC IAE_DLL_API VOID AddFontFromFile(IN CONST String& path); STATIC VOID AddFontFromFile(IN CONST String& path);
STATIC IAE_DLL_API VOID SetHTML(IN CONST String& source); STATIC VOID SetHTML(IN CONST String& source);
public: public:
STATIC VOID Initialize(); STATIC VOID Initialize();