Starting to move data loader to its own package

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
This commit is contained in:
2026-03-14 19:34:39 +01:00
parent 052b5afd2e
commit f225ca728e
21 changed files with 146 additions and 39 deletions

View File

@@ -1,11 +1,11 @@
import 'package:wolf_dart/classes/matrix.dart';
import 'package:wolf_3d_data/wolf_3d_data.dart';
class WolfLevel {
final String name;
final int width; // Always 64 in standard Wolf3D
final int height; // Always 64
final Matrix<int> wallGrid;
final Matrix<int> objectGrid;
final Sprite wallGrid;
final Sprite objectGrid;
WolfLevel({
required this.name,

View File

@@ -1,14 +1,13 @@
import 'package:flutter/services.dart';
import 'package:wolf_dart/classes/matrix.dart';
import 'package:wolf_3d_data/wolf_3d_data.dart';
import 'package:wolf_dart/features/map/wolf_level.dart';
import 'package:wolf_dart/features/map/wolf_map_parser.dart';
import 'package:wolf_dart/vswap_parser.dart';
class WolfMap {
/// The fully parsed and decompressed levels from the game files.
final List<WolfLevel> levels;
final List<Matrix<int>> textures;
final List<Matrix<int>> sprites;
final List<Sprite> textures;
final List<Sprite> sprites;
// A private constructor so we can only instantiate this from the async loader
WolfMap._(

View File

@@ -1,7 +1,7 @@
import 'dart:convert';
import 'dart:typed_data';
import 'package:wolf_dart/classes/matrix.dart';
import 'package:wolf_3d_data/wolf_3d_data.dart';
import 'package:wolf_dart/features/entities/map_objects.dart';
import 'package:wolf_dart/features/map/wolf_level.dart';
@@ -86,8 +86,8 @@ abstract class WolfMapParser {
}
}
Matrix<int> wallGrid = [];
Matrix<int> objectGrid = []; // NEW
Sprite wallGrid = [];
Sprite objectGrid = []; // NEW
for (int y = 0; y < height; y++) {
List<int> wallRow = [];