summaryrefslogtreecommitdiff
path: root/include/rune (unfollow)
Commit message (Collapse)AuthorFilesLines
2025-03-20core: init: remove hot reload supportDanny Holman1-5/+0
Remove hot code reloading support from the core API. This functionality is not achievable under current conditions and does not align with project goals. Signed-off-by: Danny Holman <dholman@gymli.org>
2025-03-20core: input: fix coding style issueDanny Holman1-3/+3
Fix a coding style issue in the input system. All API-level types should be fully opaque. Signed-off-by: Danny Holman <dholman@gymli.org>
2025-03-20core: refactor core API to be in proper styleDanny Holman3-15/+15
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>
2025-03-20core: alloc: make the mem_block type opaqueDanny Holman1-3/+3
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>
2025-03-20render: vulkan: fix synchronization bugsDanny Holman1-5/+5
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>
2024-11-27render: centralize the type definitionsDanny Holman1-1/+1
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>
2024-11-19util: add a NORET macroDanny Holman1-0/+7
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>
2024-11-19render: streamline the common renderer interfaceDanny Holman1-8/+2
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>
2024-11-19core: add an exit code listDanny Holman2-1/+31
Add a header file that lists common exit codes and use them in the abort function. Signed-off-by: Danny Holman <dholman@gymli.org>
2024-11-07ui: rename window.h to app_window.hDanny Holman1-3/+3
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>
2024-10-25ui: make initialization functions more consistentDanny Holman1-1/+1
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>
2024-10-25render: move all rendering code out of uiDanny Holman1-3/+3
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>
2024-10-25ui: finalize how the rendering API is accessedDanny Holman1-7/+10
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>
2024-10-25core: add documentation comments to API functionsDanny Holman8-32/+220
Add documentation comments to the functions and structures exposed through the Rune API. Signed-off-by: Danny Holman <dholman@gymli.org>
2024-10-14ui: input: use scancodes instead of keycodesDanny Holman1-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>
2024-10-14include: create a master header fileDanny Holman1-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>
2024-10-14core: mod: create a mod interfaceDanny Holman1-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>
2024-10-03core: thread: wrap the pthreads APIDanny Holman1-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>
2024-10-02core: logging: make color output optionalDanny Holman1-0/+2
Add functions that toggle color output from the logging framework. Signed-off-by: Danny Holman <dholman@gymli.org>
2024-09-18core: logging: print errors and warnings in colorDanny Holman1-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>
2024-09-17ui: add new subsystemv0.61Danny Holman4-0/+261
Add the UI subsystem. This subsystem will control the window display, events and input. Signed-off-by: Danny Holman <dholman@gymli.org>
2024-09-17core: add several new filesDanny Holman2-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>
2024-09-15build: break the engine into its subsystemsv0.60Danny Holman6-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>
2024-08-30Makefile: retool the build systemv0.55Danny Holman5-0/+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>