Fireset
Loading...
Searching...
No Matches
Fireset

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 -lopenal
    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 -lopenal -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:
    make
  • To build a release version:
    make release
  • To generate the documentation:
    make doc
  • To manually install:
    make 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:
    make uninstall
  • To generate the .deb package:
    make deb
  • To clean build artifacts:
    make clean

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){
// initializes the engine
fsInit();
// creates window
FsWindow window = fsWindowCreate("Example Game", (FsVec2){800, 600});
// main window loop
while (!fsWindowShouldClose(&window)){
fsClear((FsColor){0, 0, 0}); // clears window
fsWindowHandle(&window); // handles window-related features
}
// shutdowns the engine & returns
fsExit();
return 0;
}
void fsExit(void)
Shuts down the Fireset engine core.
Definition core.c:59
bool fsInit(void)
Initializes the Fireset engine core.
Definition core.c:24
void fsClear(FsColor color)
Clears the window.
Definition render.c:223
void fsWindowHandle(FsWindow *window)
Updates a window.
Definition window.c:101
bool fsWindowShouldClose(FsWindow *window)
Checks if a window should close.
Definition window.c:112
FsWindow fsWindowCreate(const char *name, FsVec2 size, bool fullscreen)
Creates a window.
Definition window.c:28
RGB color representation.
Definition color.h:15
2D vector.
Definition vector.h:18
Window object.
Definition window.h:23

This program:

  • Initializes the engine
  • Creates a window
  • Runs a main loop until the window is closed
  • Shuts down the engine

Relevant modules: