From 9410916b57686e0e9ff328926266177bfa7708a1 Mon Sep 17 00:00:00 2001 From: Hans Kokx Date: Mon, 16 Mar 2026 15:09:37 +0100 Subject: [PATCH] Moved everything to a monorepo and fixed the CLI app rendering Signed-off-by: Hans Kokx --- .../wolf_3d_cli/bin/main.dart | 17 ++++++++-- apps/wolf_3d_cli/pubspec.yaml | 16 ++++++++++ apps/wolf_3d_gui/analysis_options.yaml | 4 +++ {lib => apps/wolf_3d_gui/lib}/main.dart | 2 +- .../lib}/screens/difficulty_screen.dart | 0 .../lib}/screens/episode_screen.dart | 6 ++-- .../lib}/screens/game_select_screen.dart | 2 +- .../lib}/screens/sprite_gallery.dart | 0 .../wolf_3d_gui/lib}/screens/vga_gallery.dart | 0 {linux => apps/wolf_3d_gui/linux}/.gitignore | 0 .../wolf_3d_gui/linux}/CMakeLists.txt | 0 .../wolf_3d_gui/linux}/flutter/CMakeLists.txt | 0 .../flutter/generated_plugin_registrant.cc | 0 .../flutter/generated_plugin_registrant.h | 0 .../linux}/flutter/generated_plugins.cmake | 0 .../wolf_3d_gui/linux}/runner/CMakeLists.txt | 0 .../wolf_3d_gui/linux}/runner/main.cc | 0 .../linux}/runner/my_application.cc | 0 .../linux}/runner/my_application.h | 0 apps/wolf_3d_gui/pubspec.yaml | 30 ++++++++++++++++++ {web => apps/wolf_3d_gui/web}/favicon.png | Bin .../wolf_3d_gui/web}/icons/Icon-192.png | Bin .../wolf_3d_gui/web}/icons/Icon-512.png | Bin .../web}/icons/Icon-maskable-192.png | Bin .../web}/icons/Icon-maskable-512.png | Bin {web => apps/wolf_3d_gui/web}/index.html | 0 {web => apps/wolf_3d_gui/web}/manifest.json | 0 .../assets}/retail/AUDIOHED.WL6 | Bin .../wolf_3d_assets/assets}/retail/AUDIOT.WL6 | Bin .../wolf_3d_assets/assets}/retail/CONFIG.WL6 | Bin .../assets}/retail/GAMEMAPS.WL6 | Bin .../wolf_3d_assets/assets}/retail/MAPHEAD.WL6 | Bin .../assets}/retail/SAVEGAM0.WL6 | Bin .../wolf_3d_assets/assets}/retail/VGADICT.WL6 | Bin .../assets}/retail/VGAGRAPH.WL6 | Bin .../wolf_3d_assets/assets}/retail/VGAHEAD.WL6 | Bin .../wolf_3d_assets/assets}/retail/VSWAP.WL6 | Bin .../assets}/shareware/AUDIOHED.WL1 | Bin .../assets}/shareware/AUDIOT.WL1 | Bin .../assets}/shareware/CONFIG.WL1 | Bin .../assets}/shareware/GAMEMAPS.WL1 | Bin .../assets}/shareware/MAPHEAD.WL1 | Bin .../assets}/shareware/VGADICT.WL1 | Bin .../assets}/shareware/VGAGRAPH.WL1 | Bin .../assets}/shareware/VGAHEAD.WL1 | Bin .../assets}/shareware/VSWAP.WL1 | Bin packages/wolf_3d_assets/pubspec.yaml | 15 +++++++++ .../lib/src/silent_renderer.dart | 0 .../wolf_3d_engine/lib/wolf_3d_engine.dart | 1 + packages/wolf_3d_flutter/lib/wolf_3d.dart | 3 +- packages/wolf_3d_flutter/pubspec.yaml | 1 + packages/wolf_3d_synth/lib/wolf_3d_synth.dart | 1 - pubspec.yaml | 29 ++--------------- 53 files changed, 91 insertions(+), 36 deletions(-) rename bin/cli_main.dart => apps/wolf_3d_cli/bin/main.dart (87%) create mode 100644 apps/wolf_3d_cli/pubspec.yaml create mode 100644 apps/wolf_3d_gui/analysis_options.yaml rename {lib => apps/wolf_3d_gui/lib}/main.dart (80%) rename {lib => apps/wolf_3d_gui/lib}/screens/difficulty_screen.dart (100%) rename {lib => apps/wolf_3d_gui/lib}/screens/episode_screen.dart (95%) rename {lib => apps/wolf_3d_gui/lib}/screens/game_select_screen.dart (94%) rename {lib => apps/wolf_3d_gui/lib}/screens/sprite_gallery.dart (100%) rename {lib => apps/wolf_3d_gui/lib}/screens/vga_gallery.dart (100%) rename {linux => apps/wolf_3d_gui/linux}/.gitignore (100%) rename {linux => apps/wolf_3d_gui/linux}/CMakeLists.txt (100%) rename {linux => apps/wolf_3d_gui/linux}/flutter/CMakeLists.txt (100%) rename {linux => apps/wolf_3d_gui/linux}/flutter/generated_plugin_registrant.cc (100%) rename {linux => apps/wolf_3d_gui/linux}/flutter/generated_plugin_registrant.h (100%) rename {linux => apps/wolf_3d_gui/linux}/flutter/generated_plugins.cmake (100%) rename {linux => apps/wolf_3d_gui/linux}/runner/CMakeLists.txt (100%) rename {linux => apps/wolf_3d_gui/linux}/runner/main.cc (100%) rename {linux => apps/wolf_3d_gui/linux}/runner/my_application.cc (100%) rename {linux => apps/wolf_3d_gui/linux}/runner/my_application.h (100%) create mode 100644 apps/wolf_3d_gui/pubspec.yaml rename {web => apps/wolf_3d_gui/web}/favicon.png (100%) rename {web => apps/wolf_3d_gui/web}/icons/Icon-192.png (100%) rename {web => apps/wolf_3d_gui/web}/icons/Icon-512.png (100%) rename {web => apps/wolf_3d_gui/web}/icons/Icon-maskable-192.png (100%) rename {web => apps/wolf_3d_gui/web}/icons/Icon-maskable-512.png (100%) rename {web => apps/wolf_3d_gui/web}/index.html (100%) rename {web => apps/wolf_3d_gui/web}/manifest.json (100%) rename {assets => packages/wolf_3d_assets/assets}/retail/AUDIOHED.WL6 (100%) rename {assets => packages/wolf_3d_assets/assets}/retail/AUDIOT.WL6 (100%) rename {assets => packages/wolf_3d_assets/assets}/retail/CONFIG.WL6 (100%) rename {assets => packages/wolf_3d_assets/assets}/retail/GAMEMAPS.WL6 (100%) rename {assets => packages/wolf_3d_assets/assets}/retail/MAPHEAD.WL6 (100%) rename {assets => packages/wolf_3d_assets/assets}/retail/SAVEGAM0.WL6 (100%) rename {assets => packages/wolf_3d_assets/assets}/retail/VGADICT.WL6 (100%) rename {assets => packages/wolf_3d_assets/assets}/retail/VGAGRAPH.WL6 (100%) rename {assets => packages/wolf_3d_assets/assets}/retail/VGAHEAD.WL6 (100%) rename {assets => packages/wolf_3d_assets/assets}/retail/VSWAP.WL6 (100%) rename {assets => packages/wolf_3d_assets/assets}/shareware/AUDIOHED.WL1 (100%) rename {assets => packages/wolf_3d_assets/assets}/shareware/AUDIOT.WL1 (100%) rename {assets => packages/wolf_3d_assets/assets}/shareware/CONFIG.WL1 (100%) rename {assets => packages/wolf_3d_assets/assets}/shareware/GAMEMAPS.WL1 (100%) rename {assets => packages/wolf_3d_assets/assets}/shareware/MAPHEAD.WL1 (100%) rename {assets => packages/wolf_3d_assets/assets}/shareware/VGADICT.WL1 (100%) rename {assets => packages/wolf_3d_assets/assets}/shareware/VGAGRAPH.WL1 (100%) rename {assets => packages/wolf_3d_assets/assets}/shareware/VGAHEAD.WL1 (100%) rename {assets => packages/wolf_3d_assets/assets}/shareware/VSWAP.WL1 (100%) create mode 100644 packages/wolf_3d_assets/pubspec.yaml rename packages/{wolf_3d_synth => wolf_3d_engine}/lib/src/silent_renderer.dart (100%) diff --git a/bin/cli_main.dart b/apps/wolf_3d_cli/bin/main.dart similarity index 87% rename from bin/cli_main.dart rename to apps/wolf_3d_cli/bin/main.dart index 5138312..1031836 100644 --- a/bin/cli_main.dart +++ b/apps/wolf_3d_cli/bin/main.dart @@ -5,7 +5,6 @@ import 'package:wolf_3d_data/wolf_3d_data.dart'; import 'package:wolf_3d_data_types/wolf_3d_data_types.dart'; import 'package:wolf_3d_engine/wolf_3d_engine.dart'; import 'package:wolf_3d_input/wolf_3d_input.dart'; -import 'package:wolf_3d_synth/wolf_3d_synth.dart'; // Helper to gracefully exit and restore the terminal void exitCleanly(int code) { @@ -22,11 +21,21 @@ void main() async { // HIDE the blinking cursor and clear the screen to prep the canvas stdout.write('\x1b[?25l\x1b[2J'); - // ... (Keep your game discovery and instantiation exactly the same) ... + print("Discovering game data..."); + // 1. Get the absolute URI of where this exact script lives + final scriptUri = Platform.script; + + // 2. Resolve the path mathematically. + final targetUri = scriptUri.resolve( + '../../../packages/wolf_3d_assets/assets/retail', + ); + final targetPath = targetUri.toFilePath(); + final availableGames = await WolfensteinLoader.discover( - directoryPath: 'assets/shareware', + directoryPath: targetPath, recursive: true, ); + final data = availableGames.values.first; final input = CliInput(); @@ -87,6 +96,8 @@ void main() async { // Move cursor to top-left (0,0) before drawing the frame stdout.write('\x1b[H'); + input.update(); + engine.tick(elapsed, input.currentInput); rasterizer.render(engine, buffer); rasterizer.finalizeFrame(); diff --git a/apps/wolf_3d_cli/pubspec.yaml b/apps/wolf_3d_cli/pubspec.yaml new file mode 100644 index 0000000..76e45d3 --- /dev/null +++ b/apps/wolf_3d_cli/pubspec.yaml @@ -0,0 +1,16 @@ +name: wolf_3d_cli +description: A pure Dart CLI for Wolfenstein 3D. +publish_to: "none" + +environment: + sdk: ^3.11.1 + +resolution: workspace + +dependencies: + wolf_3d_data: + wolf_3d_data_types: + wolf_3d_engine: + wolf_3d_input: + wolf_3d_synth: + wolf_3d_assets: diff --git a/apps/wolf_3d_gui/analysis_options.yaml b/apps/wolf_3d_gui/analysis_options.yaml new file mode 100644 index 0000000..85ac016 --- /dev/null +++ b/apps/wolf_3d_gui/analysis_options.yaml @@ -0,0 +1,4 @@ +include: package:flutter_lints/flutter.yaml + +formatter: + trailing_commas: preserve diff --git a/lib/main.dart b/apps/wolf_3d_gui/lib/main.dart similarity index 80% rename from lib/main.dart rename to apps/wolf_3d_gui/lib/main.dart index 74d5d8a..f4cc521 100644 --- a/lib/main.dart +++ b/apps/wolf_3d_gui/lib/main.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:wolf_3d_flutter/wolf_3d.dart'; -import 'package:wolf_dart/screens/game_select_screen.dart'; +import 'package:wolf_3d_gui/screens/game_select_screen.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); diff --git a/lib/screens/difficulty_screen.dart b/apps/wolf_3d_gui/lib/screens/difficulty_screen.dart similarity index 100% rename from lib/screens/difficulty_screen.dart rename to apps/wolf_3d_gui/lib/screens/difficulty_screen.dart diff --git a/lib/screens/episode_screen.dart b/apps/wolf_3d_gui/lib/screens/episode_screen.dart similarity index 95% rename from lib/screens/episode_screen.dart rename to apps/wolf_3d_gui/lib/screens/episode_screen.dart index 6e470b7..93953cd 100644 --- a/lib/screens/episode_screen.dart +++ b/apps/wolf_3d_gui/lib/screens/episode_screen.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:wolf_3d_data_types/wolf_3d_data_types.dart'; import 'package:wolf_3d_flutter/wolf_3d.dart'; -import 'package:wolf_dart/screens/difficulty_screen.dart'; -import 'package:wolf_dart/screens/sprite_gallery.dart'; -import 'package:wolf_dart/screens/vga_gallery.dart'; +import 'package:wolf_3d_gui/screens/difficulty_screen.dart'; +import 'package:wolf_3d_gui/screens/sprite_gallery.dart'; +import 'package:wolf_3d_gui/screens/vga_gallery.dart'; class EpisodeScreen extends StatefulWidget { const EpisodeScreen({super.key}); diff --git a/lib/screens/game_select_screen.dart b/apps/wolf_3d_gui/lib/screens/game_select_screen.dart similarity index 94% rename from lib/screens/game_select_screen.dart rename to apps/wolf_3d_gui/lib/screens/game_select_screen.dart index 02c00cd..ec33d6b 100644 --- a/lib/screens/game_select_screen.dart +++ b/apps/wolf_3d_gui/lib/screens/game_select_screen.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:wolf_3d_data_types/wolf_3d_data_types.dart'; import 'package:wolf_3d_flutter/wolf_3d.dart'; -import 'package:wolf_dart/screens/episode_screen.dart'; +import 'package:wolf_3d_gui/screens/episode_screen.dart'; class GameSelectScreen extends StatelessWidget { const GameSelectScreen({super.key}); diff --git a/lib/screens/sprite_gallery.dart b/apps/wolf_3d_gui/lib/screens/sprite_gallery.dart similarity index 100% rename from lib/screens/sprite_gallery.dart rename to apps/wolf_3d_gui/lib/screens/sprite_gallery.dart diff --git a/lib/screens/vga_gallery.dart b/apps/wolf_3d_gui/lib/screens/vga_gallery.dart similarity index 100% rename from lib/screens/vga_gallery.dart rename to apps/wolf_3d_gui/lib/screens/vga_gallery.dart diff --git a/linux/.gitignore b/apps/wolf_3d_gui/linux/.gitignore similarity index 100% rename from linux/.gitignore rename to apps/wolf_3d_gui/linux/.gitignore diff --git a/linux/CMakeLists.txt b/apps/wolf_3d_gui/linux/CMakeLists.txt similarity index 100% rename from linux/CMakeLists.txt rename to apps/wolf_3d_gui/linux/CMakeLists.txt diff --git a/linux/flutter/CMakeLists.txt b/apps/wolf_3d_gui/linux/flutter/CMakeLists.txt similarity index 100% rename from linux/flutter/CMakeLists.txt rename to apps/wolf_3d_gui/linux/flutter/CMakeLists.txt diff --git a/linux/flutter/generated_plugin_registrant.cc b/apps/wolf_3d_gui/linux/flutter/generated_plugin_registrant.cc similarity index 100% rename from linux/flutter/generated_plugin_registrant.cc rename to apps/wolf_3d_gui/linux/flutter/generated_plugin_registrant.cc diff --git a/linux/flutter/generated_plugin_registrant.h b/apps/wolf_3d_gui/linux/flutter/generated_plugin_registrant.h similarity index 100% rename from linux/flutter/generated_plugin_registrant.h rename to apps/wolf_3d_gui/linux/flutter/generated_plugin_registrant.h diff --git a/linux/flutter/generated_plugins.cmake b/apps/wolf_3d_gui/linux/flutter/generated_plugins.cmake similarity index 100% rename from linux/flutter/generated_plugins.cmake rename to apps/wolf_3d_gui/linux/flutter/generated_plugins.cmake diff --git a/linux/runner/CMakeLists.txt b/apps/wolf_3d_gui/linux/runner/CMakeLists.txt similarity index 100% rename from linux/runner/CMakeLists.txt rename to apps/wolf_3d_gui/linux/runner/CMakeLists.txt diff --git a/linux/runner/main.cc b/apps/wolf_3d_gui/linux/runner/main.cc similarity index 100% rename from linux/runner/main.cc rename to apps/wolf_3d_gui/linux/runner/main.cc diff --git a/linux/runner/my_application.cc b/apps/wolf_3d_gui/linux/runner/my_application.cc similarity index 100% rename from linux/runner/my_application.cc rename to apps/wolf_3d_gui/linux/runner/my_application.cc diff --git a/linux/runner/my_application.h b/apps/wolf_3d_gui/linux/runner/my_application.h similarity index 100% rename from linux/runner/my_application.h rename to apps/wolf_3d_gui/linux/runner/my_application.h diff --git a/apps/wolf_3d_gui/pubspec.yaml b/apps/wolf_3d_gui/pubspec.yaml new file mode 100644 index 0000000..77df33b --- /dev/null +++ b/apps/wolf_3d_gui/pubspec.yaml @@ -0,0 +1,30 @@ +name: wolf_3d_gui +description: "A new Flutter project." +publish_to: "none" +version: 0.1.0+1 + +environment: + sdk: ^3.11.1 + +resolution: workspace + +dependencies: + wolf_3d_data: any + wolf_3d_data_types: any + wolf_3d_synth: any + wolf_3d_engine: any + wolf_3d_entities: any + wolf_3d_renderer: any + wolf_3d_input: any + wolf_3d_flutter: any + + flutter: + sdk: flutter + +dev_dependencies: + flutter_test: + sdk: flutter + flutter_lints: ^6.0.0 + +flutter: + uses-material-design: true diff --git a/web/favicon.png b/apps/wolf_3d_gui/web/favicon.png similarity index 100% rename from web/favicon.png rename to apps/wolf_3d_gui/web/favicon.png diff --git a/web/icons/Icon-192.png b/apps/wolf_3d_gui/web/icons/Icon-192.png similarity index 100% rename from web/icons/Icon-192.png rename to apps/wolf_3d_gui/web/icons/Icon-192.png diff --git a/web/icons/Icon-512.png b/apps/wolf_3d_gui/web/icons/Icon-512.png similarity index 100% rename from web/icons/Icon-512.png rename to apps/wolf_3d_gui/web/icons/Icon-512.png diff --git a/web/icons/Icon-maskable-192.png b/apps/wolf_3d_gui/web/icons/Icon-maskable-192.png similarity index 100% rename from web/icons/Icon-maskable-192.png rename to apps/wolf_3d_gui/web/icons/Icon-maskable-192.png diff --git a/web/icons/Icon-maskable-512.png b/apps/wolf_3d_gui/web/icons/Icon-maskable-512.png similarity index 100% rename from web/icons/Icon-maskable-512.png rename to apps/wolf_3d_gui/web/icons/Icon-maskable-512.png diff --git a/web/index.html b/apps/wolf_3d_gui/web/index.html similarity index 100% rename from web/index.html rename to apps/wolf_3d_gui/web/index.html diff --git a/web/manifest.json b/apps/wolf_3d_gui/web/manifest.json similarity index 100% rename from web/manifest.json rename to apps/wolf_3d_gui/web/manifest.json diff --git a/assets/retail/AUDIOHED.WL6 b/packages/wolf_3d_assets/assets/retail/AUDIOHED.WL6 similarity index 100% rename from assets/retail/AUDIOHED.WL6 rename to packages/wolf_3d_assets/assets/retail/AUDIOHED.WL6 diff --git a/assets/retail/AUDIOT.WL6 b/packages/wolf_3d_assets/assets/retail/AUDIOT.WL6 similarity index 100% rename from assets/retail/AUDIOT.WL6 rename to packages/wolf_3d_assets/assets/retail/AUDIOT.WL6 diff --git a/assets/retail/CONFIG.WL6 b/packages/wolf_3d_assets/assets/retail/CONFIG.WL6 similarity index 100% rename from assets/retail/CONFIG.WL6 rename to packages/wolf_3d_assets/assets/retail/CONFIG.WL6 diff --git a/assets/retail/GAMEMAPS.WL6 b/packages/wolf_3d_assets/assets/retail/GAMEMAPS.WL6 similarity index 100% rename from assets/retail/GAMEMAPS.WL6 rename to packages/wolf_3d_assets/assets/retail/GAMEMAPS.WL6 diff --git a/assets/retail/MAPHEAD.WL6 b/packages/wolf_3d_assets/assets/retail/MAPHEAD.WL6 similarity index 100% rename from assets/retail/MAPHEAD.WL6 rename to packages/wolf_3d_assets/assets/retail/MAPHEAD.WL6 diff --git a/assets/retail/SAVEGAM0.WL6 b/packages/wolf_3d_assets/assets/retail/SAVEGAM0.WL6 similarity index 100% rename from assets/retail/SAVEGAM0.WL6 rename to packages/wolf_3d_assets/assets/retail/SAVEGAM0.WL6 diff --git a/assets/retail/VGADICT.WL6 b/packages/wolf_3d_assets/assets/retail/VGADICT.WL6 similarity index 100% rename from assets/retail/VGADICT.WL6 rename to packages/wolf_3d_assets/assets/retail/VGADICT.WL6 diff --git a/assets/retail/VGAGRAPH.WL6 b/packages/wolf_3d_assets/assets/retail/VGAGRAPH.WL6 similarity index 100% rename from assets/retail/VGAGRAPH.WL6 rename to packages/wolf_3d_assets/assets/retail/VGAGRAPH.WL6 diff --git a/assets/retail/VGAHEAD.WL6 b/packages/wolf_3d_assets/assets/retail/VGAHEAD.WL6 similarity index 100% rename from assets/retail/VGAHEAD.WL6 rename to packages/wolf_3d_assets/assets/retail/VGAHEAD.WL6 diff --git a/assets/retail/VSWAP.WL6 b/packages/wolf_3d_assets/assets/retail/VSWAP.WL6 similarity index 100% rename from assets/retail/VSWAP.WL6 rename to packages/wolf_3d_assets/assets/retail/VSWAP.WL6 diff --git a/assets/shareware/AUDIOHED.WL1 b/packages/wolf_3d_assets/assets/shareware/AUDIOHED.WL1 similarity index 100% rename from assets/shareware/AUDIOHED.WL1 rename to packages/wolf_3d_assets/assets/shareware/AUDIOHED.WL1 diff --git a/assets/shareware/AUDIOT.WL1 b/packages/wolf_3d_assets/assets/shareware/AUDIOT.WL1 similarity index 100% rename from assets/shareware/AUDIOT.WL1 rename to packages/wolf_3d_assets/assets/shareware/AUDIOT.WL1 diff --git a/assets/shareware/CONFIG.WL1 b/packages/wolf_3d_assets/assets/shareware/CONFIG.WL1 similarity index 100% rename from assets/shareware/CONFIG.WL1 rename to packages/wolf_3d_assets/assets/shareware/CONFIG.WL1 diff --git a/assets/shareware/GAMEMAPS.WL1 b/packages/wolf_3d_assets/assets/shareware/GAMEMAPS.WL1 similarity index 100% rename from assets/shareware/GAMEMAPS.WL1 rename to packages/wolf_3d_assets/assets/shareware/GAMEMAPS.WL1 diff --git a/assets/shareware/MAPHEAD.WL1 b/packages/wolf_3d_assets/assets/shareware/MAPHEAD.WL1 similarity index 100% rename from assets/shareware/MAPHEAD.WL1 rename to packages/wolf_3d_assets/assets/shareware/MAPHEAD.WL1 diff --git a/assets/shareware/VGADICT.WL1 b/packages/wolf_3d_assets/assets/shareware/VGADICT.WL1 similarity index 100% rename from assets/shareware/VGADICT.WL1 rename to packages/wolf_3d_assets/assets/shareware/VGADICT.WL1 diff --git a/assets/shareware/VGAGRAPH.WL1 b/packages/wolf_3d_assets/assets/shareware/VGAGRAPH.WL1 similarity index 100% rename from assets/shareware/VGAGRAPH.WL1 rename to packages/wolf_3d_assets/assets/shareware/VGAGRAPH.WL1 diff --git a/assets/shareware/VGAHEAD.WL1 b/packages/wolf_3d_assets/assets/shareware/VGAHEAD.WL1 similarity index 100% rename from assets/shareware/VGAHEAD.WL1 rename to packages/wolf_3d_assets/assets/shareware/VGAHEAD.WL1 diff --git a/assets/shareware/VSWAP.WL1 b/packages/wolf_3d_assets/assets/shareware/VSWAP.WL1 similarity index 100% rename from assets/shareware/VSWAP.WL1 rename to packages/wolf_3d_assets/assets/shareware/VSWAP.WL1 diff --git a/packages/wolf_3d_assets/pubspec.yaml b/packages/wolf_3d_assets/pubspec.yaml new file mode 100644 index 0000000..33d3e32 --- /dev/null +++ b/packages/wolf_3d_assets/pubspec.yaml @@ -0,0 +1,15 @@ +name: wolf_3d_assets +description: "Shared game assets for Wolfenstein 3D apps." +publish_to: "none" +version: 0.1.0 + +environment: + sdk: ^3.11.1 + +resolution: workspace + +# This tells Flutter to bundle these files when a dependent app builds! +flutter: + assets: + - assets/retail/ + - assets/shareware/ diff --git a/packages/wolf_3d_synth/lib/src/silent_renderer.dart b/packages/wolf_3d_engine/lib/src/silent_renderer.dart similarity index 100% rename from packages/wolf_3d_synth/lib/src/silent_renderer.dart rename to packages/wolf_3d_engine/lib/src/silent_renderer.dart diff --git a/packages/wolf_3d_engine/lib/wolf_3d_engine.dart b/packages/wolf_3d_engine/lib/wolf_3d_engine.dart index ec9c694..d3e52a1 100644 --- a/packages/wolf_3d_engine/lib/wolf_3d_engine.dart +++ b/packages/wolf_3d_engine/lib/wolf_3d_engine.dart @@ -10,5 +10,6 @@ export 'src/managers/door_manager.dart'; export 'src/managers/pushwall_manager.dart'; export 'src/player/player.dart'; export 'src/rasterizer.dart'; +export 'src/silent_renderer.dart'; export 'src/software_rasterizer.dart'; export 'src/wolf_3d_engine_base.dart'; diff --git a/packages/wolf_3d_flutter/lib/wolf_3d.dart b/packages/wolf_3d_flutter/lib/wolf_3d.dart index 06fe16a..2d77cd5 100644 --- a/packages/wolf_3d_flutter/lib/wolf_3d.dart +++ b/packages/wolf_3d_flutter/lib/wolf_3d.dart @@ -63,7 +63,8 @@ class Wolf3d { for (final version in versionsToTry) { try { final ext = version.version.fileExtension; - final folder = 'assets/${version.path}'; + // final folder = 'assets/${version.path}'; + final folder = 'packages/wolf_3d_assets/assets/${version.path}'; final data = WolfensteinLoader.loadFromBytes( version: version.version, diff --git a/packages/wolf_3d_flutter/pubspec.yaml b/packages/wolf_3d_flutter/pubspec.yaml index 358f421..0bf0269 100644 --- a/packages/wolf_3d_flutter/pubspec.yaml +++ b/packages/wolf_3d_flutter/pubspec.yaml @@ -18,6 +18,7 @@ dependencies: wolf_3d_engine: any wolf_3d_entities: any wolf_3d_input: any + wolf_3d_assets: any dev_dependencies: flutter_test: diff --git a/packages/wolf_3d_synth/lib/wolf_3d_synth.dart b/packages/wolf_3d_synth/lib/wolf_3d_synth.dart index ccd3f87..10d38a6 100644 --- a/packages/wolf_3d_synth/lib/wolf_3d_synth.dart +++ b/packages/wolf_3d_synth/lib/wolf_3d_synth.dart @@ -3,5 +3,4 @@ /// More dartdocs go here. library; -export 'src/silent_renderer.dart' show CliSilentAudio; export 'src/wolf_3d_audio.dart' show WolfAudio; diff --git a/pubspec.yaml b/pubspec.yaml index 39e11be..73313fb 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,35 +1,11 @@ name: wolf_dart -description: "A new Flutter project." -publish_to: "none" -version: 0.1.0+1 environment: sdk: ^3.11.1 -dependencies: - wolf_3d_data: any - wolf_3d_data_types: any - wolf_3d_synth: any - wolf_3d_engine: any - wolf_3d_entities: any - wolf_3d_renderer: any - wolf_3d_input: any - wolf_3d_flutter: any - flutter: - sdk: flutter - -dev_dependencies: - flutter_test: - sdk: flutter - flutter_lints: ^6.0.0 - -flutter: - uses-material-design: true - assets: - - assets/retail/ - - assets/shareware/ - workspace: + - apps/wolf_3d_gui/ + - apps/wolf_3d_cli/ - packages/wolf_3d_data/ - packages/wolf_3d_data_types/ - packages/wolf_3d_synth/ @@ -38,3 +14,4 @@ workspace: - packages/wolf_3d_renderer/ - packages/wolf_3d_input/ - packages/wolf_3d_flutter/ + - packages/wolf_3d_assets/