Age | Commit message (Collapse) | Author |
|
Make the helper functions for the thread API static so that they aren't
usable outside the thread API's translation unit.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
Move the logic that allocates and frees individual mem_block structs to
their own helper functions. This should simplify the engine's memory API
and fix a bug in rune_calloc that improperly allocated a mem_block.
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>
|
|
Fix a bug in realloc that wouldn't copy the data from the original
pointer. The new implementation now copies the data and marks the old
block as free, as well as returning a new block if the ptr argument is
NULL.
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>
|
|
Make the error_callback function use log_output rather than vanilla
printf. This unifies the engine's logging features into a single API.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
Because the C runtime on Windows doesn't support the backtrace or
backtrace_symbols functions.
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 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>
|
|
Reorganize the project root such that each subsystem is placed into its
own subdirectory. This allows the build system to select which
subsystems to enable for a particular build.
Signed-off-by: Danny Holman <dholman@gymli.org>
|