Linked against SDL ttf
This commit is contained in:
@@ -126,10 +126,10 @@
|
|||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>SDL2main.lib;SDL2.lib;SDL2_image.lib;Toy.lib;Box.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>SDL2main.lib;SDL2.lib;SDL2_image.lib;Toy.lib;Box.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<AdditionalLibraryDirectories>$(SDL2Dir)\lib\x64;$(SDL2ImageDir)\lib\x64;$(SolutionDir)out\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(SDL2Dir)\lib\x64;$(SDL2ImageDir)\lib\x64;$(SDL2TTFDir)\lib\x64;$(SolutionDir)out\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
</Link>
|
</Link>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>$(SDL2Dir)\include;$(SDL2ImageDir)\include;%(SolutionDir)Toy\source;$(SolutionDir)box;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(SDL2Dir)\include;$(SDL2ImageDir)\include;$(SDL2TTFDir)\include;%(SolutionDir)Toy\source;$(SolutionDir)box;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<LanguageStandard_C>stdc17</LanguageStandard_C>
|
<LanguageStandard_C>stdc17</LanguageStandard_C>
|
||||||
<PreprocessorDefinitions>
|
<PreprocessorDefinitions>
|
||||||
</PreprocessorDefinitions>
|
</PreprocessorDefinitions>
|
||||||
@@ -144,10 +144,10 @@
|
|||||||
<LanguageStandard_C>stdc17</LanguageStandard_C>
|
<LanguageStandard_C>stdc17</LanguageStandard_C>
|
||||||
<PreprocessorDefinitions>
|
<PreprocessorDefinitions>
|
||||||
</PreprocessorDefinitions>
|
</PreprocessorDefinitions>
|
||||||
<AdditionalIncludeDirectories>$(SDL2Dir)\include;$(SDL2ImageDir)\include;%(SolutionDir)Toy\source;$(SolutionDir)box;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(SDL2Dir)\include;$(SDL2ImageDir)\include;$(SDL2TTFDir)\include;%(SolutionDir)Toy\source;$(SolutionDir)box;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalLibraryDirectories>$(SDL2Dir)\lib\x64;$(SDL2ImageDir)\lib\x64;$(SolutionDir)out\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(SDL2Dir)\lib\x64;$(SDL2ImageDir)\lib\x64;$(SDL2TTFDir)\lib\x64;$(SolutionDir)out\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
<AdditionalDependencies>SDL2main.lib;SDL2.lib;SDL2_image.lib;Toy.lib;Box.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>SDL2main.lib;SDL2.lib;SDL2_image.lib;Toy.lib;Box.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
<PreBuildEvent>
|
<PreBuildEvent>
|
||||||
|
|||||||
12
Box.vcxproj
12
Box.vcxproj
@@ -110,11 +110,11 @@
|
|||||||
<ClCompile>
|
<ClCompile>
|
||||||
<LanguageStandard_C>stdc17</LanguageStandard_C>
|
<LanguageStandard_C>stdc17</LanguageStandard_C>
|
||||||
<PreprocessorDefinitions>BOX_EXPORT;LIB_RUNNER_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>BOX_EXPORT;LIB_RUNNER_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<AdditionalIncludeDirectories>$(SDL2Dir)\include;$(SDL2ImageDir)\include;%(SolutionDir)Toy\source;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(SDL2Dir)\include;$(SDL2ImageDir)\include;$(SDL2TTFDir)\include;%(SolutionDir)Toy\source;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalLibraryDirectories>$(SDL2Dir)\lib\x64;$(SDL2ImageDir)\lib\x64;$(SolutionDir)out\$(Configuration)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(SDL2Dir)\lib\x64;$(SDL2ImageDir)\lib\x64;$(SDL2TTFDir)\lib\x64;$(SolutionDir)out\$(Configuration)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
<AdditionalDependencies>SDL2.lib;SDL2_image.lib;Toy.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>SDL2.lib;SDL2_image.lib;SDL2_ttf.lib;Toy.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
<PreBuildEvent>
|
<PreBuildEvent>
|
||||||
<Command>xcopy "$(SolutionDir)Toy\repl\lib*.*" "$(SolutionDir)box" /Y /I /E
|
<Command>xcopy "$(SolutionDir)Toy\repl\lib*.*" "$(SolutionDir)box" /Y /I /E
|
||||||
@@ -125,11 +125,11 @@ xcopy "$(SolutionDir)Toy\repl\repl_tools.*" "$(SolutionDir)box" /Y /I /E</Comman
|
|||||||
<ClCompile>
|
<ClCompile>
|
||||||
<LanguageStandard_C>stdc17</LanguageStandard_C>
|
<LanguageStandard_C>stdc17</LanguageStandard_C>
|
||||||
<PreprocessorDefinitions>BOX_EXPORT;LIB_RUNNER_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>BOX_EXPORT;LIB_RUNNER_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<AdditionalIncludeDirectories>$(SDL2Dir)\include;$(SDL2ImageDir)\include;%(SolutionDir)Toy\source;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(SDL2Dir)\include;$(SDL2ImageDir)\include;$(SDL2TTFDir)\include;%(SolutionDir)Toy\source;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalLibraryDirectories>$(SDL2Dir)\lib\x64;$(SDL2ImageDir)\lib\x64;$(SolutionDir)out\$(Configuration)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(SDL2Dir)\lib\x64;$(SDL2ImageDir)\lib\x64;$(SDL2TTFDir)\lib\x64;$(SolutionDir)out\$(Configuration)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
<AdditionalDependencies>SDL2.lib;SDL2_image.lib;Toy.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>SDL2.lib;SDL2_image.lib;SDL2_ttf.lib;Toy.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
<PreBuildEvent>
|
<PreBuildEvent>
|
||||||
<Command>xcopy "$(SolutionDir)Toy\repl\lib*.*" "$(SolutionDir)box" /Y /I /E
|
<Command>xcopy "$(SolutionDir)Toy\repl\lib*.*" "$(SolutionDir)box" /Y /I /E
|
||||||
|
|||||||
20
README.md
20
README.md
@@ -2,7 +2,9 @@
|
|||||||
|
|
||||||
The best way to build a game engine, is to build a game first.
|
The best way to build a game engine, is to build a game first.
|
||||||
|
|
||||||
This game utilizes the [Toy programming langauge](https://toylang.com).
|
This project has now been adapted into a roguelike for the 7 day roguelike jam.
|
||||||
|
|
||||||
|
This game/engine utilizes the [Toy programming langauge](https://toylang.com).
|
||||||
|
|
||||||
## Cloning
|
## Cloning
|
||||||
|
|
||||||
@@ -10,13 +12,25 @@ Either clone recursively, or run `git submodule update --init` after cloning.
|
|||||||
|
|
||||||
## Building
|
## Building
|
||||||
|
|
||||||
Simply run `make` in the root directory.
|
We're now using Visual Studio - define the following environment variables to point to the root of each SDL2 lib:
|
||||||
|
|
||||||
|
* `SDL2Dir`
|
||||||
|
* `SDL2ImageDir`
|
||||||
|
* `SDL2TTFDir`
|
||||||
|
|
||||||
## Running
|
## Running
|
||||||
|
|
||||||
Make sure the program can see the `assets` folder (symbolic links can help).
|
Make sure the program can see the `assets` folder (symbolic links can help), and all of the required DLLs are present.
|
||||||
|
|
||||||
## Dependencies
|
## Dependencies
|
||||||
|
|
||||||
* SDL2
|
* SDL2
|
||||||
* SDL2_image
|
* SDL2_image
|
||||||
|
* SDL2_ttf
|
||||||
|
|
||||||
|
## Credits
|
||||||
|
|
||||||
|
* Art - Evan Hartshorn
|
||||||
|
* Coding - Kayne Ruse
|
||||||
|
* Font - Ancient God (Koczman B<>lint)
|
||||||
|
|
||||||
|
|||||||
BIN
assets/fonts/Ancient God.ttf
Normal file
BIN
assets/fonts/Ancient God.ttf
Normal file
Binary file not shown.
@@ -14,6 +14,7 @@
|
|||||||
|
|
||||||
#include <SDL2/SDL.h>
|
#include <SDL2/SDL.h>
|
||||||
#include <SDL2/SDL_image.h>
|
#include <SDL2/SDL_image.h>
|
||||||
|
#include <SDL2/SDL_ttf.h>
|
||||||
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#define BOX_API extern
|
#define BOX_API extern
|
||||||
@@ -22,6 +23,7 @@
|
|||||||
|
|
||||||
#include <SDL.h>
|
#include <SDL.h>
|
||||||
#include <SDL_image.h>
|
#include <SDL_image.h>
|
||||||
|
#include <SDL_ttf.h>
|
||||||
|
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include <crtdbg.h>
|
#include <crtdbg.h>
|
||||||
|
|||||||
@@ -51,6 +51,11 @@ void Box_initEngine() {
|
|||||||
fatalError("Failed to initialize SDL2_image");
|
fatalError("Failed to initialize SDL2_image");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//init SDL_ttf
|
||||||
|
if (TTF_Init() == -1) {
|
||||||
|
fatalError("Failed to initialize SDL2_ttf");
|
||||||
|
}
|
||||||
|
|
||||||
//init events
|
//init events
|
||||||
Toy_initLiteralDictionary(&engine.symKeyDownEvents);
|
Toy_initLiteralDictionary(&engine.symKeyDownEvents);
|
||||||
Toy_initLiteralDictionary(&engine.symKeyUpEvents);
|
Toy_initLiteralDictionary(&engine.symKeyUpEvents);
|
||||||
|
|||||||
@@ -42,6 +42,19 @@ int main(int argc, char* argv[]) {
|
|||||||
Toy_freeLiteral(pathLiteral);
|
Toy_freeLiteral(pathLiteral);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
//create a pair of literals, the first for the drive name, the second for the path
|
||||||
|
Toy_Literal driveLiteral = TOY_TO_STRING_LITERAL(Toy_createRefString("fonts"));
|
||||||
|
Toy_Literal pathLiteral = TOY_TO_STRING_LITERAL(Toy_createRefString("assets/fonts"));
|
||||||
|
|
||||||
|
//set these within the drive dictionary
|
||||||
|
Toy_setLiteralDictionary(Toy_getDriveDictionary(), driveLiteral, pathLiteral);
|
||||||
|
|
||||||
|
//these literals are no longer needed
|
||||||
|
Toy_freeLiteral(driveLiteral);
|
||||||
|
Toy_freeLiteral(pathLiteral);
|
||||||
|
}
|
||||||
|
|
||||||
//run the rest of your program
|
//run the rest of your program
|
||||||
Box_initEngine();
|
Box_initEngine();
|
||||||
Box_execEngine();
|
Box_execEngine();
|
||||||
|
|||||||
Reference in New Issue
Block a user