Known Limitations

This page summarizes the known limitations, bugs, and incomplete features of Free Eggbert as of the current repository state. See also Development → Known Issues for the detailed technical TODO list.

Gameplay

  • Many movement and physics behaviors in decblupi.cpp need verification against the original game
  • Enemy AI in decmove.cpp is incomplete; some enemies may not behave correctly
  • Block/crate interaction logic in decblock.cpp has known issues
  • The level editor (decdesign.cpp) has missing features
  • Save/load (decio.cpp) may have version compatibility gaps

Rendering

  • Double CPixmap::Create() call — may cause initialization failures with real DirectDraw
  • Parameter swapbTrueColorBack / bTrueColorDecor are swapped in the CPixmap::Create() signature
  • Unsafe delete this in CacheAll(FALSE) code path — undefined behavior
  • Suspicious rectangle initialization in CacheAll(TRUE)

Network / Multiplayer

Multiplayer Broken
Network initialization via DirectPlay fails silently. CNetwork::CreateProvider(0) returns FALSE immediately because no providers have been enumerated. The game falls back to single-player.
  • CNetwork::Receive() may not correctly copy received data into the caller buffer
  • DirectPlay session lifecycle phases are incomplete

Audio

  • README mentions BASS/BASSMIDI but default is DirectSound/MCI (_BASS=FALSE)
  • Audio backend documentation may be outdated

Platform

  • macOS support needs verification
  • Web (Emscripten) build has limited testing; main loop adaptation may be incomplete
  • Android build is functional but not fully polished
  • Native DirectX 3 path may fail due to decompilation artifacts that FreeDirect tolerates

Build System

  • target_include_directories for SPEEDY_BLUPI_WINDOWS uses PUBLIC where PRIVATE would be correct
  • Whether /permissive- is appropriate for MSVC with decompiled code needs verification
  • SDL runtime copying on Windows needs DLL target verification

Missing Documentation

  • No Doxygen documentation on headers or source files
  • .blp binary file format is not fully specified
  • Visual region themes for each decor000–031.blp are not documented