Game Constants
Numeric constants defined in include/def.hpp.
These control rendering dimensions, world limits, gameplay parameters, and UI sizing.
Window and Rendering
| Constant | Value | Description |
LXIMAGE | 640 | Game window width (pixels) |
LYIMAGE | 480 | Game window height (pixels) |
POSDRAWX | 0 | Draw origin X |
POSDRAWY | 0 | Draw origin Y |
World Grid
| Constant | Value | Description |
MAXCELX | 100 | Max world cells horizontally |
MAXCELY | 100 | Max world cells vertically |
Sprite Dimensions
| Constant | Value | Description |
DIMOBJX | 64 | Object sprite width (px) |
DIMOBJY | 64 | Object sprite height (px) |
DIMBLUPIX | 60 | Blupi character sprite width (px) |
DIMBLUPIY | 60 | Blupi character sprite height (px) |
DIMEXPLOX | 128 | Explosion sprite width (px) |
DIMEXPLOY | 128 | Explosion sprite height (px) |
DIMBUTTONX | 40 | UI button width (px) |
DIMBUTTONY | 40 | UI button height (px) |
DIMJAUGEX | 124 | Gauge bar width (px) |
DIMJAUGEY | 22 | Gauge bar height (px) |
DIMTEXTX | 16 | Max character sprite width (px) |
DIMTEXTY | 16 | Max character sprite height (px) |
DIMLITTLEX | 16 | Small character sprite width (px) |
DIMLITTLEY | 12 | Small character sprite height (px) |
Multiplayer and Game Limits
| Constant | Value | Description |
MAXGAMER | 8 | Maximum total gamer profiles |
MAXNETPLAYER | 4 | Maximum network players |
MAXTEAM | 4 | Maximum teams |
MAXNETMESSAGE | 20 | Max pending network messages |
MAXSESSION | 100 | Max DirectPlay sessions shown in browser |
MAXMOVEOBJECT | 200 | Max simultaneously active moving objects |
MAXNOTIF | 5 | Max simultaneous on-screen notifications |
MAXFIFOPOS | 10 | FIFO position queue size |
MAXCHAT | 6 | Max chat messages visible at once |
MAXSAVE | 6 | Max save game slots |
MAXDEMO | 9999 | Max demo frames recorded/played back |
MAXINDEX | 20 | Max index entries (purpose TBD) |
MAXMESSAGEPERPACKET | 5 | Max game events per network packet |
MAXBUTTON | 40 | Max UI buttons on screen at once |
| Constant | Value | Description |
SCROLL_SPEED | 8 | Camera scroll speed (pixels per tick) |
SCROLL_MARGX | 80 | Horizontal scroll trigger margin (px from edge) |
SCROLL_MARGY | 40 | Vertical scroll trigger margin (px from edge) |
Character Physics Offsets
| Constant | Value | Description |
BLUPIFLOOR | 2 | Floor contact offset (px) |
BLUPIOFFY | 6 | Y offset when standing on floor |
BLUPISURF | 12 | Water surface offset (px) |
BLUPISUSPEND | 12 | Bar-hanging Y offset (px) |
OVERHEIGHT | 80 | Hovercraft flight height above ground (px) |
MAXQUART | 441 | Quarter cell count (21×21 grid) |
Key Color Flags (CLE_*)
Bit flags used in DescSave::blupiCle to track which colored keys the player holds.
| Constant | Value | Description |
CLE_RED | 1 (bit 0) | Red key held |
CLE_GREEN | 2 (bit 1) | Green key held |
CLE_BLUE | 4 (bit 2) | Blue key held |
Gauge Slots (JAUGE_*)
Indices for the two on-screen gauge slots tracked in DescSave::jaugeHide[].
| Constant | Value | Description |
JAUGE_AIR | 0 | Air/oxygen gauge (used underwater) |
JAUGE_POWER | 1 | Power-up gauge (shield, lollipop, etc.) |
Mouse Cursor Types (MOUSETYPEGRA etc.)
| Constant | Value | Description |
MOUSETYPEGRA | 1 | Graphical game cursor |
MOUSETYPEWIN | 2 | Windows system cursor |
MOUSETYPEWINPOS | 3 | Windows system cursor with position tracking |