summaryrefslogtreecommitdiff
path: root/include (follow)
Commit message (Collapse)AuthorAgeFilesLines
* core: add documentation comments to API functionsDanny Holman2024-10-258-32/+220
| | | | | | | Add documentation comments to the functions and structures exposed through the Rune API. Signed-off-by: Danny Holman <dholman@gymli.org>
* ui: input: use scancodes instead of keycodesDanny Holman2024-10-141-2/+1
| | | | | | | 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>
* include: create a master header fileDanny Holman2024-10-141-0/+41
| | | | | | | 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>
* core: mod: create a mod interfaceDanny Holman2024-10-141-0/+65
| | | | | | | | 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>
* core: thread: wrap the pthreads APIDanny Holman2024-10-031-0/+54
| | | | | | | | | 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>
* core: logging: make color output optionalDanny Holman2024-10-021-0/+2
| | | | | | Add functions that toggle color output from the logging framework. Signed-off-by: Danny Holman <dholman@gymli.org>
* core: logging: print errors and warnings in colorDanny Holman2024-09-181-0/+2
| | | | | | | | 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>
* ui: add new subsystemv0.61Danny Holman2024-09-174-0/+261
| | | | | | | Add the UI subsystem. This subsystem will control the window display, events and input. Signed-off-by: Danny Holman <dholman@gymli.org>
* core: add several new filesDanny Holman2024-09-172-13/+34
| | | | | | | | | 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>
* build: break the engine into its subsystemsv0.60Danny Holman2024-09-156-13/+83
| | | | | | | | | | 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>
* Makefile: retool the build systemv0.55Danny Holman2024-08-3010-136/+222
| | | | | | | | 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>
* core: refactor entire project rootDanny Holman2024-08-251-1/+1
| | | | | | | | 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>
* core: add a header for utility functionsDanny Holman2024-08-241-0/+11
| | | | | | | | Add a header for dumping utility functions that are commonly used across several files. This header should only contain small, inline-able functions of no more than 5-10 lines of code. Signed-off-by: Danny Holman <dholman@gymli.org>
* core: add headers for basic types and export macrosDanny Holman2024-08-222-0/+77
| | | | | | | | Add header files that contain basic type information as well as export macros for systems that use a specific export line for linking, e.g. Windows. Signed-off-by: Danny Holman <dholman@gymli.org>
* core: add a linked list implementationDanny Holman2024-08-221-0/+32
| | | | | | | Add a generic linked list implementation based on the one found in the Linux kernel. Signed-off-by: Danny Holman <dholman@gymli.org>
* core: add a basic logging frameworkDanny Holman2024-08-221-0/+16
Add a basic framework for logging messages to the console or to a file. Signed-off-by: Danny Holman <dholman@gymli.org>