How kaaasi/eishockey-manager-redone works
Eishockey Manager Redone is a C# recreation of a classic hockey-management game, using a user-supplied DOS game copy for original assets and data. A player configures a game, manages a club and roster, advances matchdays and seasons, and can follow optional live matches; results and state feed competitions and season progression. The desktop app hosts palette-based UI screens, while Core owns game rules and Formats reads legacy assets. README-documented save/load, audio, and emtool capabilities are included. Unsampled subsystems are represented at directory level; edges are limited to documented or indexed relationships.
Main entry points: GameState.cs Game state · DesktopGame.cs Desktop host · Screens Game screens · Assets.cs Asset loading
Components 20
Game presentation
- Desktop host
src/EishockeyManager.Desktop/DesktopGame.cs - Game screens
src/EishockeyManager.UI/Screens - Palette renderer
src/EishockeyManager.UI/Surface.cs - Audio playback
src/EishockeyManager.Audio - Live match UI
src/EishockeyManager.UI/Screens/Live/LiveMatchScreen.cs
Management simulation
- Game setup
src/EishockeyManager.UI/Screens/SetupScreen.cs - New game
src/EishockeyManager.Core/NewGame.cs - Game state
src/EishockeyManager.Core/GameState.cs - Club management
src/EishockeyManager.Core - Transfers
src/EishockeyManager.Core/Transfer.cs
Matches and competitions
- Season flow
src/EishockeyManager.Core/Season.cs - Competitions
src/EishockeyManager.Core/Cups.cs - Match engine
src/EishockeyManager.Core/MatchEngine.cs
Legacy data and persistence
- Original game data
src/EishockeyManager.Formats/GameData.cs - Asset loading
src/EishockeyManager.UI/Assets.cs - Legacy formats
src/EishockeyManager.Formats - Save and load
src/EishockeyManager.Core/SaveGame.cs
Asset utilities
- emtool utilities
src/EishockeyManager.Tools/Program.cs - Asset viewer
src/EishockeyManager.Viewer/Program.cs
Other components
- Player
Connections 18
- Player → Desktop host: starts game
- Desktop host → Game screens: hosts screens
src/EishockeyManager.Desktop/DesktopGame.cs - Game screens → Palette renderer: draws into
src/EishockeyManager.UI/Screens/Manager/ManagerText.cs - Game setup → New game: creates game
src/EishockeyManager.UI/Screens/SetupScreen.cs - New game → Game state: initializes
src/EishockeyManager.Core/GameState.cs - Game state → Season flow: advances season
src/EishockeyManager.Core/GameState.cs - Game state → Match engine: runs matches
src/EishockeyManager.Core/GameState.cs - Season flow → Competitions: uses playoffs
src/EishockeyManager.Core/Season.cs - Club management → Game state: updates state
src/EishockeyManager.Core/MatchEngine.Live.cs - Transfers → Game state: changes roster
- Match engine → Live match UI: reports live events
- Desktop host → Audio playback: plays audio
src/EishockeyManager.Desktop/DesktopGame.cs - Desktop host → Asset loading: loads assets
src/EishockeyManager.Desktop/DesktopGame.cs - Asset loading → Original game data: reads files
src/EishockeyManager.UI/Assets.cs - Asset loading → Legacy formats: uses decoders
src/EishockeyManager.UI/Assets.cs - Game screens → Save and load: saves games
- emtool utilities → Original game data: inspects assets
src/EishockeyManager.Tools/Program.cs - Asset viewer → Original game data: opens assets
src/EishockeyManager.Viewer/Program.cs