Regions (World Themes)

Overview

The world region selects which set of floor and object sprite sheets to load, changing the visual theme of the entire terrain without affecting gameplay. Stored as m_region in CDecor.


Region Table

m_region Theme Floor sheet Object sheet Object overlay
0 Normal (green / temperate) floor000.blp obj000.blp obj-o000.blp
1 Tropical (palm trees, sand) floor001.blp obj001.blp obj-o001.blp
2 Winter (snow, ice) floor002.blp obj002.blp obj-o002.blp
3 Pine forest floor003.blp obj003.blp obj-o003.blp

Effect

When the region changes: 1. CDecor::LoadImages() reloads CHFLOOR, CHOBJECT, CHOBJECTo with the correct region-specific .blp files 2. All floor and object icons remain the same indices — only the visual appearance changes 3. The minimap colours are recomputed via MapInitColors()


Region Selection Screen

Players select the visual theme at WM_PHASE_REGION (background: image/region.blp). The selected region is stored in DescFile.region in the world file.


API

void CDecor::SetRegion(int region);  // set region (0–3)
int  CDecor::GetRegion();            // get current region

Impact on Gameplay

The region has no gameplay impact — passability, enemy behaviour, and win conditions are identical across all regions. It is a purely cosmetic choice. Winter tiles (ice) in floor002.blp still behave like ice gameplay-wise in all regions, because ice passability is determined by icon index, not visual theme.