blupi.cpp |
Win32 WinMain, WindowProc, global variables, initialisation, timer. Creates CEvent, CDecor, CSound, CPixmap, CMovie. |
action.cpp |
CDecor::Action() — per-frame animation step; sprite and sound tables for each ACTION_* value; maps action+direction → icon sequence. |
arrange.cpp |
Auto-tiling and flood-fill. ArrangeFloor() adapts floor tiles to neighbours (water, grass, ice). ArrangeMur() and ArrangeBuild() for walls and buildings. ArrangeFill() for flood-fill. |
button.cpp |
CButton::Create(), Paint(), Test() — rendering and click detection for toolbar buttons. |
chemin.cpp |
A* pathfinding. CheminFillTerrain() builds obstacle bitmap; CheminCherche() runs the search; CheminARebours() reconstructs the path. |
ddutil.cpp |
DDCopyBitmap() etc. — bitmap copy utilities (MS SDK sample). Does not affect game logic. |
decblupi.cpp |
Largest source file. Complete character lifecycle: BlupiCreate(), BlupiDelete(), BlupiKill(), BlupiNextAction(), BlupiNextGoal(), GoalNextOp(), selection, highlight, pathfinding calls. |
decgoal.cpp |
Static tables table_goal_*[] — opcode sequences for each of 130+ WM_ACTION_* actions. GetTableGoal() returns a pointer to the table for a given action. |
decio.cpp |
CDecor::Write() — binary write of world state to .blp. CDecor::Read() — binary read. Contains DescFile header struct and OldBlupi (backward compatibility). |
decmap.cpp |
GenerateMap() — creates 128×128 colour minimap image from cell data. MapMove() — minimap click scrolls viewport. ConvCelToMap() / ConvMapToCel() — coordinate conversion. |
decmove.cpp |
MoveCreate() — creates animated decoration. MoveStep() — advances animation one step. MoveFire() / MoveProxiFire() — fire spreading. tableMoves[] and tableIcons[]. |
decor.cpp |
CDecor core: Create(), Init(), ConvCelToPos(), ConvPosToCel(), PutFloor(), PutObject(), GetFloor(), GetObject(), Build(), BuildGround(), UndoOpen/Close/Copy/Back(). |
decstat.cpp |
StatisticUpdate() — recalculates statistics from world state. StatisticDraw() — renders panel. StatisticDown/Move/Up() — click/hover on statistics panel. |
event.cpp |
CEvent::Create(), ChangePhase(), EventPos(), EventButton(). Phase management, WM_ message routing, demo: DemoRecStart/Stop(), DemoPlayStart(), DemoStep(). |
fifo.cpp |
CPileTriee::put() / get() / remove() — min-heap for A* open list sorted by cumulative cost. |
fog.cpp |
GetFogBits() / GetFogIcon() — fog encoding/decoding (15 icons × 4 quadrants). tableFog[15*4]. |
jauge.cpp |
CJauge::Create(), SetLevel(), Draw() — energy or progress indicator widget. |
menu.cpp |
CMenu::Create(), AdjustPos(), Draw(), Detect() — context menu for selecting an action by clicking on a character. |
misc.cpp |
AddCDPath(), AddUserPath(), GetRandom(), Trace(), DisplayError(). |
movie.cpp |
CMovie::Play(), Stop(), IsOver() — wraps MCI API to play AVI cinematics. |
obstacle.cpp |
tableObstacleFloor[] / tableObstacleObject[] — passability bitmaps. IsFreeCel(), SearchBestBase(), SearchOtherObject(), SearchSpiderObject() etc. |
pixmap.cpp |
CPixmap::Cache() — loads .blp image into a channel. Draw() / DrawIcon() — renders an icon from a channel. DrawSprite() — mouse cursor. |
sound.cpp |
CSound::Cache() — loads PCM WAV. Play(), PlayMusic(), StopMusic(). Wraps DirectSound buffers and MIDI playback. |
tablefloor.cpp |
tableFloor[] — default floor layout for level editor (empty map). |
tableobj.cpp |
tableObj[] — default object layout for level editor. |
text.cpp |
DrawText() / DrawBignum() / DrawLittle() — renders text using sprite-based fonts. |
wave.cpp |
LoadWave() — loads WAV file from resource or filesystem. |
web_persistence.cpp |
PlanetBlupi_ExportPersistentData() / PlanetBlupi_ImportPersistentData() — sync save games with IndexedDB via Emscripten IDBFS. |