How kaaasi/bomb-redone works
Bomb Redone is a C# port of the DOS Tank Wars game, currently described as an early scaffold. Its intended player workflow runs from the desktop window through menus and player setup into round/playfield interaction and results or shop screens. A separate bombtool workflow inspects original game data and renders or exports assets. The graph preserves these documented capabilities, but many runtime links are based on the README or the SOURCE INDEX; unsampled implementation details are not asserted.
Main entry points: DesktopGame.cs Desktop game · MenuScreen.cs Menus and setup · GameData.cs Game data reader · Playfield.cs Playfield rules
Components 22
Game runtime
- Desktop game
src/BombRedone.Desktop/DesktopGame.cs - Round preview
src/BombRedone.Desktop/RoundPreviewScreen.cs
Rules and rounds
- Player roster
src/BombRedone.Core/Setup/PlayerRoster.cs - Team setup
src/BombRedone.Core/Setup/TeamPlay.cs - Playfield rules
src/BombRedone.Core/Playfield/Playfield.cs - Ballistic shots
src/BombRedone.Core/Shot/BallisticShot.cs - Shop and accounts
src/BombRedone.Core/Economy/Shop.cs
UI and rendering
- Screen host
src/BombRedone.UI/Screens/ScreenHost.cs - Menus and setup
src/BombRedone.UI/Screens/MenuScreen.cs - Playfield screen
src/BombRedone.UI/Screens/PlayfieldScreen.cs - Scores and results
src/BombRedone.UI/Screens/ScoreResults.cs - Indexed surface
src/BombRedone.UI/Surface.cs - VGA drawing
src/BombRedone.Core/Graphics/VgaDraw.cs - Graph text
src/BombRedone.UI/Text/GraphText.cs
Game data
- Game data reader
src/BombRedone.Formats/GameData.cs - Game configuration
src/BombRedone.Formats/GameConfig.cs - Bitmap fonts
src/BombRedone.Formats/BitmapFont.cs - Palette format
src/BombRedone.Formats/Palette.cs
Asset tools
- bombtool CLI
src/BombRedone.Tools/Program.cs - Render command
src/BombRedone.Tools/RenderCommand.cs - PNG export
src/BombRedone.Tools/ExportPng.cs
Other components
- Player
Connections 25
- Player → Desktop game: starts
- Desktop game → Screen host: hosts screens
src/BombRedone.Desktop/DesktopGame.cs - Desktop game → Game data reader: loads data
src/BombRedone.Desktop/DesktopGame.cs - Menus and setup → Player roster: starts roster
src/BombRedone.UI/Screens/PlayerSelectScreen.cs - Menus and setup → Team setup: starts team setup
src/BombRedone.UI/Screens/PlayerSelectScreen.cs - Desktop game → Menus and setup: shows screens
src/BombRedone.Desktop/DesktopGame.cs - Desktop game → Round preview: runs round
src/BombRedone.Desktop/DesktopGame.cs - Round preview → Playfield screen: draws through
src/BombRedone.Desktop/RoundPreviewScreen.cs - Round preview → Playfield rules: builds round
src/BombRedone.Desktop/RoundPreviewScreen.cs - Playfield screen → Playfield rules: draws field
src/BombRedone.UI/Screens/PlayfieldScreen.cs - Playfield rules → Ballistic shots: supports combat
src/BombRedone.Core/Shot/BallisticShot.cs - Desktop game → Shop and accounts: uses shop
- Desktop game → Scores and results: shows results
- Playfield screen → Indexed surface: draws into
src/BombRedone.UI/Screens/PlayfieldScreen.cs - Menus and setup → Indexed surface: draws into
src/BombRedone.UI/Screens/MenuScreen.cs - Menus and setup → VGA drawing: uses drawing
- Graph text → Indexed surface: renders text
src/BombRedone.UI/Text/GraphText.cs - Graph text → Bitmap fonts: uses fonts
src/BombRedone.UI/Text/GraphText.cs - Game data reader → Game configuration: reads config
- Game data reader → Palette format: reads palette
- bombtool CLI → Render command: dispatches
src/BombRedone.Tools/Program.cs - Render command → Playfield rules: renders field
src/BombRedone.Tools/RenderCommand.cs - Render command → PNG export: exports image
src/BombRedone.Tools/RenderCommand.cs - bombtool CLI → Game data reader: inspects data
src/BombRedone.Tools/Program.cs - PNG export → Palette format: converts colors
src/BombRedone.Tools/ExportPng.cs