Age | Commit message (Collapse) | Author |
|
Bring the rest of the core API to be in line with the project coding
style. This commit also makes the coding style change formal by updating
the coding style document in the documentation.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
Make the mem_block struct into a fully opaque type. This brings the
allocation manager in line with project coding style.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
Fix a host of synchronization bugs involving the Vulkan fence objects
and the state of the command pool.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
Centralize the type definitions for the Vulkan renderer. This removes
the possibility for cyclic dependencies in the include paths.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
Add a NORET macro that expands out to either an attribute flag in the
case of GCC/Clang, or to a declspec on Windows.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
Streamline the common renderer interface such that all functionality is
set by the renderer initialization function. This reduces the number of
API functions and allows developers to define custom rendering
interfaces easier.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
Add a header file that lists common exit codes and use them in the abort
function.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
Rename the main window definition files to app_window. This should
differentiate it from a future window class that is part of the engine
UI.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
Make the initialization functions more consistent with the rest of the
engine. Init functions should have the format `rune_init_<object>`.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
Move all the rendering code out of the UI subsystem. The new rendering
API now has hooks that the UI code can make use of.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
The hooks into the rendering API that is used by the UI subsystem should
be finalized. This should give developers a baseline implementation to
build a different kind of renderer with.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
Add documentation comments to the functions and structures exposed
through the Rune API.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
Use scancodes instead of keycodes for indexing into the callback array.
This makes the engine keyboard-agnostic.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
Create a header file to act as the master header file for the engine's
API. This file should include all subsystem header files.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
Create a skeleton mod interface so that the engine can load shared
libraries or DLLs as in-game mods. The API should be compiler agnostic
as much as possible.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
Create wrapper functions over the pthread API so that the engine only
has to provide an integer ID for threads and mutexes. The thread and
mutex handles should be handled internally so that the end user never
sees the underlying datatypes.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
Add functions that toggle color output from the logging framework.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
Print warnings and errors in yellow and red respectively. This will make
these messages stand out and make it easier for a developer to find them
in the terminal window.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
Add the UI subsystem. This subsystem will control the window display,
events and input.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
Add several new files to the core subsystem. These files will be the
basic building blocks upon which the rest of the engine will sit atop
of. These files will be present in all builds, including headless and
platform builds.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
Break the source code into various subsystem directories. This allows
certain subsystems to be disabled at compile time, if needed. Move the
build system from raw Makefiles to a CMake generator. This drastically
simplifies the build and requires only editing a single file, rather
than the several make.config files in subsystem directories.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
Retool the build system to be more modular and more flexible. Move all
subsystems into separate directories and create make.config files that
will conditionally compile based on information from the root Makefile.
Signed-off-by: Danny Holman <dholman@gymli.org>
|