hans d393ca98ec Refactor menu rendering and asset registry structure
- Updated SoftwareRenderer to incorporate MenuHeaderBand for handling spear variant menus and improved backdrop drawing.
- Refactored asset registry imports to organize menu-related assets under a dedicated menu structure.
- Enhanced game session snapshot tests to validate menu theme restoration for spear variant games.
- Added tests for classic menu presentation module to ensure palette consistency with canonical constants.
- Implemented tests for spear asset registry to verify correct menu VGA index resolutions.
- Created unit tests for MenuHeaderBand to validate functionality in rendering menu headers and sidebars.
- Adjusted HUD module imports to align with new menu structure.

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2026-03-24 23:35:56 +01:00
2026-03-19 23:32:44 +01:00
2026-03-15 12:26:35 +01:00

wolf_dart

Wolfenstein 3D workspace built with Dart + Flutter.

This repository is organized as a multi-package workspace:

  • Apps in apps/ (CLI host and Flutter GUI host)
  • Packages in packages/ (core engine, Flutter integration, and assets)

The project expects you to provide legal Wolfenstein 3D game data files locally.

Workspace Layout

Apps

Packages

Prerequisites

  • Dart SDK ^3.11.1
  • Flutter SDK (for GUI app and Flutter package work)

Linux native requirements

On Debian/Ubuntu, install:

libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev lld

Quick Start

From workspace root:

dart pub get

Run GUI host:

cd apps/wolf_3d_gui
flutter run

Run CLI host:

cd apps/wolf_3d_cli
dart run bin/main.dart

If game data is not auto-discovered, pass a directory explicitly for CLI:

dart run bin/main.dart --data-directory /path/to/game-data

Development Workflow

Typical contributor loop:

  1. Update dependencies in relevant app/package (dart pub get or flutter pub get).
  2. Run focused tests in the module you changed.
  3. Run static analysis for the same module before submitting changes.
  4. Keep docs in sync when command-line flags, platform support, or public APIs change.

Testing

Run tests by module (examples):

cd packages/wolf_3d_dart && dart test
cd packages/wolf_3d_flutter && flutter test
cd apps/wolf_3d_gui && flutter test
  • App/package READMEs listed above for module-specific setup and architecture
S
Description
No description provided
Readme 7.8 MiB
Languages
Dart 54.3%
C 39.8%
Assembly 4%
GLSL 0.9%
CMake 0.5%
Other 0.4%