Template asset build system; More version stuff

This commit is contained in:
Grayson Riffe (Laptop) 2021-12-14 13:26:11 -06:00
parent d1f17e136c
commit 2bc28afedd
9 changed files with 22 additions and 19 deletions

View File

@ -72,7 +72,7 @@
</Link>
<PostBuildEvent>
<Command>cd assets
"$(SolutionDir)NFAssetBuilder\bin\x64$(Configuration)\NFAssetBuilder.exe"
"$(SolutionDir)NFAssetBuilder\bin\x64Release\NFAssetBuilder.exe"
if exist "$(OutDir)assets" (rmdir "$(OutDir)assets" /S /Q &amp;&amp; goto end) else goto end
:end
mkdir "$(OutDir)assets"
@ -105,7 +105,7 @@ if exist "base.nfpack" (copy "base.nfpack" "$(OutDir)assets\")</Command>
</Link>
<PostBuildEvent>
<Command>cd assets
"$(SolutionDir)NFAssetBuilder\bin\x64$(Configuration)\NFAssetBuilder.exe"
"$(SolutionDir)NFAssetBuilder\bin\x64Release\NFAssetBuilder.exe"
if exist "$(OutDir)assets" (rmdir "$(OutDir)assets" /S /Q &amp;&amp; goto end) else goto end
:end
mkdir "$(OutDir)assets"

View File

@ -81,7 +81,7 @@
<PostBuildEvent />
<PostBuildEvent>
<Command>cd assets
"$(SolutionDir)NFAssetBuilder\bin\x64$(Configuration)\NFAssetBuilder.exe"</Command>
"$(SolutionDir)NFAssetBuilder\bin\x64Release\NFAssetBuilder.exe"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
@ -116,7 +116,7 @@
<PostBuildEvent />
<PostBuildEvent>
<Command>cd assets
"$(SolutionDir)NFAssetBuilder\bin\x64$(Configuration)\NFAssetBuilder.exe"</Command>
"$(SolutionDir)NFAssetBuilder\bin\x64Release\NFAssetBuilder.exe"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>

View File

@ -83,6 +83,7 @@ namespace nf {
#ifdef _DEBUG
Debug::startTimer();
SetThreadDescription(GetCurrentThread(), L"Input Thread");
SetConsoleTitle(toWide("Nothin' Fancy v" + (std::string)NFVERSION).data());
#endif
if (m_defaultState.empty())
NFError("No default gamestate has been set!");

View File

@ -45,9 +45,11 @@ namespace nf {
}
AssetPack::AssetPack() :
m_member(false),
m_loaded(false)
{
if (!Application::getApp() || !Application::getApp()->getCurrentState())
m_member = true;
}
void AssetPack::load(const char* packName) {
@ -255,10 +257,9 @@ namespace nf {
}
m_loaded = true;
if (packName != "base.nfpack") {
if (!Application::getApp()->getCurrentState()->isRunning())
if (packName != "base.nfpack")
if (Application::getApp()->getCurrentState()->isLoading() && m_member)
Application::getApp()->getCurrentState()->m_nfObjects.push_back(this);
}
}
bool AssetPack::isLoaded() {

View File

@ -9,8 +9,8 @@ namespace nf {
m_scale = 2.0;
m_logoTex.create(BaseAssets::logo, Vec2(0.0, 0.0));
m_logoTex.centered(true, true);
m_text.create("(c) Grayson Riffe 2021 | graysonriffe.com", Vec2(0.01f, 0.025f), Vec3(0.8f));
m_text.setScale(0.6f);
m_verText.create("v" + (std::string)NFVERSION, Vec2(0.01f, 0.075f), Vec3(0.8f), 0.6f);
m_text.create("(c) Grayson Riffe 2021 | graysonriffe.com", Vec2(0.01f, 0.025f), Vec3(0.8f), 0.6f);
m_start = std::chrono::steady_clock::now();
}
@ -32,6 +32,7 @@ namespace nf {
void IntroGamestate::render(Renderer& renderer) {
renderer.render(m_logoTex);
renderer.render(m_verText);
renderer.render(m_text);
}

View File

@ -149,6 +149,7 @@ namespace nf {
void destroy() override;
~AssetPack();
private:
bool m_member;
bool m_loaded;
std::unordered_map<std::string, Asset*> m_assets;
};

View File

@ -17,6 +17,7 @@ namespace nf {
std::chrono::steady_clock::time_point m_start;
float m_scale;
UITexture m_logoTex;
Text m_verText;
Text m_text;
};
}

View File

@ -26,8 +26,8 @@ Global
{B7FEC2D6-1D8F-487E-89CB-FD611FD1AEB6}.Debug|x64.Build.0 = Debug|x64
{B7FEC2D6-1D8F-487E-89CB-FD611FD1AEB6}.Release|x64.ActiveCfg = Release|x64
{B7FEC2D6-1D8F-487E-89CB-FD611FD1AEB6}.Release|x64.Build.0 = Release|x64
{771B4AEE-E2C6-4745-AC40-1EF57149612E}.Debug|x64.ActiveCfg = Debug|x64
{771B4AEE-E2C6-4745-AC40-1EF57149612E}.Debug|x64.Build.0 = Debug|x64
{771B4AEE-E2C6-4745-AC40-1EF57149612E}.Debug|x64.ActiveCfg = Release|x64
{771B4AEE-E2C6-4745-AC40-1EF57149612E}.Debug|x64.Build.0 = Release|x64
{771B4AEE-E2C6-4745-AC40-1EF57149612E}.Release|x64.ActiveCfg = Release|x64
{771B4AEE-E2C6-4745-AC40-1EF57149612E}.Release|x64.Build.0 = Release|x64
EndGlobalSection

View File

@ -52,14 +52,12 @@ as shown below.
@image html blankproject.png "The template opened in Visual Studio" width=70%
To build the project, go to Build -> Build Solution or Build Project. Both do the same thing
since there's only one project in the solution initially. You could also hit the default
keyboard shortcut of `Ctrl-Shift-B`.
To build the project, go to Build -> Build Solution or Build Project, which will not build
your assets. You can also also hit the default keyboard shortcut of `Ctrl-Shift-B` to build
both your app and assets at once.
@note After your application is built, your assets are also built and placed into
the output `assets` directory. As your project grows, this could take longer and longer,
so this can be disabled in the project properties dialog under Build Events -> Post-Build Event.
Change "Use In Build" to "No" and save.
@note When the "Build Assets" project is built, the resulting NFPacks are moved to
the output `assets` directory next to your .exe for you.
NF is a **statically-linked** library. This means that your build will not
rely on any external dlls other than the MSVC redistributable.