GameLib API Cheat Sheet v1.9.3 — Single-header C++ Game Library for Win32

Quick Start

#include "GameLib.h"
int main() {
    GameLib game;
    game.Open(640, 480, "Title", true);
    while (!game.IsClosed()) {
        game.Clear(COLOR_BLACK);
        // ...draw here...
        game.Update();
        game.WaitFrame(60);
    }
}

Build: g++ -o game.exe main.cpp -mwindows

Window

Buttons: MESSAGEBOX_OK / MESSAGEBOX_YESNO
Returns: MESSAGEBOX_RESULT_OK / _YES / _NO

Drawing

Primitives (all alpha-blend capable)

Text

Built-in 8x8 Font (ASCII 32~126)

System Font (GDI, CJK support)

Sprites

FlagValEffect
SPRITE_FLIP_H1Horizontal flip
SPRITE_FLIP_V2Vertical flip
SPRITE_COLORKEY4Color key transp.
SPRITE_ALPHA8Per-pixel alpha

COLORKEY_DEFAULT = 0xFFFF00FF (magenta). Flags combinable with |

Input

Keyboard

Mouse

MOUSE_LEFT=0   MOUSE_RIGHT=1   MOUSE_MIDDLE=2

Key Constants

KEY_LEFT/RIGHT/UP/DOWN KEY_A ~ KEY_Z KEY_0 ~ KEY_9 KEY_F1 ~ KEY_F12 KEY_SPACE KEY_ENTER KEY_ESCAPE KEY_TAB KEY_SHIFT KEY_CONTROL KEY_BACK

All mapped to Windows Virtual Key Codes.

Sound

WAV and Music are independent, can play simultaneously. Volume range: 0~1000.

Tilemap

Scroll: DrawTilemap(id, -camX, -camY). Supports COLORKEY/ALPHA flags.

Scene Management

Use enum { MENU, PLAY, OVER }. Initial=0, first frame IsSceneChanged()=true.

UI Controls Immediate Mode

Save / Load static

File: GAMELIB_SAVE header + key=value lines. UTF-8 paths.

Utilities static

Grid Helpers (instance)

Colors ARGB 0xAARRGGBB

COLOR_BLACK COLOR_WHITE COLOR_RED COLOR_GREEN COLOR_BLUE COLOR_YELLOW COLOR_CYAN COLOR_MAGENTA COLOR_ORANGE COLOR_PINK COLOR_PURPLE COLOR_GRAY COLOR_DARK_GRAY COLOR_LIGHT_GRAY COLOR_DARK_RED COLOR_DARK_GREEN COLOR_DARK_BLUE COLOR_SKY_BLUE COLOR_BROWN COLOR_GOLD COLOR_TRANSPARENT

Color Macros

When alpha < 255, SetPixel & all primitives auto alpha-blend.