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);
position *= Renderer::s_state.SceneScaleFactor;
scale *= Renderer::s_state.SceneScaleFactor;
//scale *= Renderer::s_state.SceneScaleFactor;
Renderer::s_state.ModelMatrix =
glm::translate(glm::mat4(1.0f), glm::vec3{position.x, position.y,

View File

@ -16,12 +16,6 @@
#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/Logger.hpp>
#include <IACore/Memory.hpp>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -23,9 +23,9 @@ namespace ia::iae
class UI
{
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:
STATIC VOID Initialize();