Skip to content

Game Framework#24

Open
Manuzor wants to merge 23 commits intomasterfrom
game-framework
Open

Game Framework#24
Manuzor wants to merge 23 commits intomasterfrom
game-framework

Conversation

@Manuzor
Copy link
Copy Markdown
Member

@Manuzor Manuzor commented Nov 7, 2015

The idea is to have a proper game framework where we can create new games fast in a flexible way.

Oh and... whoops, did some more work than just the game framework. 😛

Also util to get the current working dir.
No dependency management yet.
Default main module is not fully implemented yet though.
This allows for greater flexibility since the main module is now a sub system and can be integrated in the existing dependency management chain.
Fix kr::cwd off-by-one error.
Mount current working dir as category ".".
Write html log on core startup. Might be too late then?
@pampersrocker
Copy link
Copy Markdown
Contributor

Currently crashes on release:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64\CL.exe /c /IC:\workspace\krepel\code\krEngine\.. /I"C:\workspace\toolbox\glew-1.12.0\include" /I"C:\workspace\toolbox\ezEngine-rev1196\Code\Engine" /nologo /W3 /WX /O2 /Ob2 /D WIN32 /D _WINDOWS /D NDEBUG /D "CMAKE_INTDIR=\"Release\"" /D KR_ENGINE_DLL_EXPORT /D _WINDLL /D _MBCS /Gm- /EHsc /MD /GS /fp:fast /Zc:wchar_t /Zc:forScope /Zc:inline /GR- /Yc"C:/workspace/krepel/code/krEngine/pch.h" /Fp"krEngine.dir\Release\krEngine.pch" /Fo"krEngine.dir\Release\\" /Fd"krEngine.dir\Release\vc140.pdb" /Gd /TP /FIC:/workspace/krepel/code/krEngine/pch.h /errorReport:queue  \"/INCREMENTAL:NO\" \"/OPT:REF\" \"/OPT:ICF\" C:\workspace\krepel\workspace\code\krEngine\pch.cpp
  INCREMENTAL:NO"
c1xx : fatal error C1083: Cannot open source file: '"/INCREMENTAL:NO"': No such file or directory [C:\workspace\krepel\workspace\code\krEngine\krEngine.vcxproj]
  OPT:REF"
c1xx : fatal error C1083: Cannot open source file: '"/OPT:REF"': No such file or directory [C:\workspace\krepel\workspace\code\krEngine\krEngine.vcxproj]
  OPT:ICF"
c1xx : fatal error C1083: Cannot open source file: '"/OPT:ICF"': No such file or directory [C:\workspace\krepel\workspace\code\krEngine\krEngine.vcxproj]
  pch.cpp

Setting of linker options was done incorrectly and CMake proves to be an inconsistent son of a bee once more...
Provide helper function to get the default root path as an absolute native path.
To prevent erroneous use of ezStringBuilder to create paths.
The function returns -debug, etc. as a string, which is used to load the proper game modules in the current config mode, e.g. asteroids-debug.
pullRuntimeBinaries has been generalized to work with krepel and outside project as well. kr_client_copy_dlls for krepel projects is now obsolete. This makes it easier for client projects to retrieve runtime files whenever they want.
Instead of using ezWindow directly.
The state in this commit is not to be taken to seriously, as things will change a lot soon.
kr::GameLoop was removed and the global registry now associates a name with a given callback.
Dependency management is still NOT implemented yet.
Also fix issue with global clocks. Renderer and module now keep their own instances.
Game loops can now be sorted by priority, which ist just a signed 32 bit integer.
I refrained from implemented a full-blown dependency management system as it is probably overkill for us.
There is a convenience function to print the tick order, which can be used for debugging (kr::GlobalGameLoopRegistry::printTickOrder).
Because by now its not just a registry anymore.
Also add some docs for kr::DefaultMainModule::tick.
We now have a proper project template (as opposed to having everything hardcoded as string within a single python script). Every files' name and the contents of the files that belong to the project template can use the substitution syntax ~{var_name}.

The krGameLauncher is basically obsolete now because it is always generted to the new projects and will be called like the project with a `_launcher` suffix.
as well as GameTest1 which depended on it.
@Manuzor Manuzor self-assigned this Nov 18, 2015
@Manuzor
Copy link
Copy Markdown
Member Author

Manuzor commented Nov 27, 2015

I think it's time to take this code right into some action to see how we can extend the framework. There are still several parts missing like easier rendering interface, but that also depends on our rendering code, which will be heavily refactored soon I believe.

I want to test the current framework with asteroids for example to see how to improve it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants