Files
wolf_dart/README.md
T
hans 5c309c2240 Refactor menu structure and add Flutter-specific input and persistence layers
- Moved menu-related classes to a new structure under `src/menu/`.
- Introduced `WolfMenuPresentation` to handle menu art and mappings.
- Added `MenuManager` tests to ensure menu state reflects game status.
- Implemented `FlutterRendererSettingsPersistence` and `FlutterSaveGamePersistence` for managing settings and save files on desktop platforms.
- Created `Wolf3dFlutterInput` to handle keyboard and mouse input in a Flutter environment.
- Updated README to reflect new package structure and usage instructions.

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2026-03-24 18:45:34 +01:00

2.0 KiB

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