Sample: RPG: Init

This commit is contained in:
Isuru Samarathunga
2025-10-31 01:14:19 +05:30
parent 7530303389
commit 0afd478761
989 changed files with 132314 additions and 6 deletions

View File

@ -0,0 +1,96 @@
// IAEngine: 2D Game Engine by IA
// Copyright (C) 2025 IASoft (PVT) LTD (oss@iasoft.dev)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
#include <Game.hpp>
namespace ia::iae::rpg
{
GameRequestedConfig *RequestEngineConfig()
{
STATIC GameRequestedConfig EngineConfig{
.DesignWidth = 800,
.DesignHeight = 600,
.WindowWidth = 800,
.WindowHeight = 600,
};
return &EngineConfig;
}
VOID OnInitialize()
{
Engine::Input_SetupOnScreenGamePad();
Engine::SetRenderState_YSortingEnabled(true);
Engine::Input_SetupKeyboardGamePad(InputKey::K_LEFT, InputKey::K_RIGHT, InputKey::K_DOWN, InputKey::K_UP,
InputKey::A, InputKey::B, InputKey::C, InputKey::D);
}
VOID OnTerminate()
{
}
VOID OnDebugDraw()
{
}
VOID OnFixedUpdate()
{
}
VOID OnUpdate(IN FLOAT32 deltaTime)
{
}
VOID OnResize(IN INT32 newWidth, IN INT32 newHeight)
{
}
} // namespace ia::iae::rpg
C_DECL(GameRequestedConfig *Game_GetConfigRequest())
{
return rpg::RequestEngineConfig();
}
C_DECL(VOID Game_OnInitialize())
{
rpg::OnInitialize();
}
C_DECL(VOID Game_OnTerminate())
{
rpg::OnTerminate();
}
C_DECL(VOID Game_OnDebugDraw())
{
rpg::OnDebugDraw();
}
C_DECL(VOID Game_OnFixedUpdate())
{
rpg::OnFixedUpdate();
}
C_DECL(VOID Game_OnUpdate(IN FLOAT32 deltaTime))
{
rpg::OnUpdate(deltaTime);
}
C_DECL(VOID Game_OnResize(IN INT32 newWidth, IN INT32 newHeight))
{
rpg::OnResize(newWidth, newHeight);
}
IAENGINE_RUN("RPG Sample", "com.iasoft.iae.rpgsample", "IASoft (PVT) LTD", "IASoft (PVT) LTD", 1, 0, 0);

View File

@ -0,0 +1,27 @@
// IAEngine: 2D Game Engine by IA
// Copyright (C) 2025 IASoft (PVT) LTD (oss@iasoft.dev)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
#pragma once
#include <IAEngine/Engine.hpp>
using namespace ia;
using namespace iae;
namespace ia::iae::rpg
{
}

View File

@ -0,0 +1,32 @@
// IAEngine: 2D Game Engine by IA
// Copyright (C) 2025 IASoft (PVT) LTD (oss@iasoft.dev)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
#pragma once
#include <Base.hpp>
#include <IAEngine/EngineLibraryInterface.hpp>
namespace ia::iae::rpg
{
GameRequestedConfig* RequestEngineConfig();
VOID OnInitialize();
VOID OnTerminate();
VOID OnDebugDraw();
VOID OnFixedUpdate();
VOID OnUpdate(IN FLOAT32 deltaTime);
VOID OnResize(IN INT32 newWidth, IN INT32 newHeight);
}