How tathxo/dsap works
This repository combines an Archipelago world implementation, which defines Dark Souls Remastered’s randomized items, checks, options, and logic, with a desktop client that connects Archipelago to a running game. The main player workflow is to generate a randomized world, connect the client to the server and game, then exchange items and location checks while applying game changes. The client excerpts show connection setup and memory/parameter editing; the available excerpts do not establish every runtime dispatch between the world and client subsystems.
Main entry points: App.axaml.cs Client application · __init__.py World integration · PoolGeneration.py Item pool · Rules.py Access rules
Components 18
World generation
- World integration
apworld/dsr/__init__.py - World options
apworld/dsr/Options.py - Region groups
apworld/dsr/Groups.py - Item pool
apworld/dsr/PoolGeneration.py - Access rules
apworld/dsr/Rules.py - Skip logic
apworld/dsr/Skips.py
Desktop client
- Client application
source/DSAP/App.axaml.cs - Process connector
source/DSAP/DarkSoulsClient.cs - Slot options
source/DSAP/Models/DarkSoulsOptions.cs - Client controls
source/DSAP/ViewModels/DsrControlsWindowModel.cs
Game integration
- Item lot edits
source/DSAP/Helpers/ItemLotHelper.cs - Game parameter edits
source/DSAP/Helpers/ParamHelper.cs - Event locks
source/DSAP/Models/EmkController.cs
Domain data
- Item definitions
apworld/dsr/Items.py - Location definitions
apworld/dsr/Locations.py
Other components
- Player
- Archipelago server
- Dark Souls game
Connections 20
- Player → World integration: configures
- World integration → World options: uses options
- World integration → Item pool: builds pool
- World integration → Access rules: sets rules
- World integration → Skip logic: sets skips
- World integration → Region groups: uses groups
- Item pool → Item definitions: selects items
- Item pool → Location definitions: fills checks
- Access rules → Location definitions: gates access
- Client application → Process connector: connects process
- Client application → Archipelago server: connects and logs in
- Archipelago server → Client application: sends items
- Client application → Archipelago server: reports checks
- Client application → Slot options: loads slot data
- Client application → Item lot edits: updates item lots
- Client application → Game parameter edits: updates parameters
- Client application → Dark Souls game: reads and writes memory
- Item lot edits → Dark Souls game: writes item lots
- Game parameter edits → Dark Souls game: writes parameters
- Client controls → Client application: changes settings