Introduction
Fireset is a game engine written in C.
Its main purpose is to make game development more approachable while preserving a classic, old-school rendering style.
This documentation describes all public functions, types, and structures provided by the engine, as well as practical guides for getting started.
Installing
Debian
- Go to the Fireset repository on GitHub.
- Open the Releases tab and download the latest stable version.
- Install the .deb package:
sudo apt install ./fireset-dev.deb
- Compile your project using:
-Ifireset -lfireset -lglfw -lGL -lm
or, preferably: $(pkg-config --cflags --libs fireset)
- Include Fireset in your source files:
#include <fireset/fireset.h>
Manual
- Go to the Fireset repository on GitHub.
- Open the Releases tab and download the latest stable version.
- Extract the .zip archive.
- You should see the lib and include directories.
- Move them to any location of your choice.
- Compile your project using:
-Lpath/to/lib -lfireset -lglfw -lGL -lm -Ipath/to/include
- If you encounter OpenGL or GLFW linker errors, ensure the libraries are installed and that the appropriate -L flags are provided.
- Include Fireset in your source files:
#include <fireset/fireset.h>
Compiling
This section is intended for users who want to build the engine manually. This is not recommended for regular engine usage.
Steps:
- Install the dependencies:
- OpenGL (Immediate Mode, version 3.3 or lower)
- GLFW
- Download the source code from the Fireset GitHub repository.
- Extract the archive.
- Open a terminal in the project root directory.
- To build a debug version:
- To build a release version:
- To generate the documentation:
- To manually install: Note: if pkg-config cannot find this, ensure /usr/local/pkgconfig is present in PKG_CONFIG_PATH environment variable.
- To uninstall what was installed with make install:
- To generate the .deb package:
- To clean build artifacts:
After compilation, the following directories will be created:
- bin: test executables
- build: object (.o) and dependency (.d) files
- lib: compiled static library (.a)
Quickstart
This example demonstrates the minimum setup required to create a window and run a basic application loop using Fireset.
#include <fireset/fireset.h>
int main(void){
window.
name =
"Example Game";
fsCreateWindow(&window);
fsHandleWindow(&window);
}
fsDestroyWindow(&window);
return 0;
}
void fsExit(void)
Shuts down the Fireset engine core.
Definition core.c:20
bool fsInit(void)
Initializes the Fireset engine core.
Definition core.c:11
void fsClear(FsColor color)
Clears the window.
Definition render.c:142
bool fsWindowShouldClose(FsWindow *window)
Checks if a window should close.
Definition window.c:49
RGB color representation.
Definition render.h:24
Window object.
Definition window.h:17
int height
Definition window.h:20
int width
Definition window.h:19
char * name
Definition window.h:21
This program:
- Initializes the engine
- Creates a window
- Runs a main loop until the window is closed
- Shuts down the engine
Relevant modules: