Modern open-source C# .NET 10 Asheron's Call client. Faithful port of retail client behaviour to Silk.NET with a plugin API.
Two visible wins that prove today's wire-layer work is actually doing something: 1. Chat panel (bottom-left): live tail of the last 10 ChatLog entries. Color-coded by kind — Tell cyan, Channel green, System yellow, Popup red, local/ranged white. Bound to WorldSession via the existing GameEventWiring path (H.1) so server ChannelBroadcast / Tell / TransientString / Popup + HearSpeech all render live. Includes a synthetic \"connecting / connected\" system message so the panel isn't blank before anyone talks. 2. Event panel (bottom-right): last 8 combat events from CombatState (E.4). Damage taken (red), damage dealt (yellow), evaded-incoming (green), missed-outgoing (grey). Each entry fades out over 5s. DebugOverlay.BindCombat wires the listeners. 3. Silk.NET.OpenAL.Soft.Native 1.23.1 added. Before this, OpenAL managed bindings loaded but the native runtime was absent so IsAvailable returned false and audio was silently disabled. Now soft_oal.dll ships to runtimes/win-x64/native/ and the engine reports \"OpenAL engine ready (16 voices, 3D positional)\" on launch. Footsteps + other motion-hook sounds now audible. GameWindow: after constructing DebugOverlay, assign .Chat + .Combat and call BindCombat to hook the event stream. Build green, 628 tests still pass. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| docs | ||
| memory | ||
| src | ||
| tests | ||
| tools | ||
| .gitignore | ||
| AcDream.slnx | ||
| CLAUDE.md | ||
| launch.log | ||
| README.md | ||
acdream
Experimental modern open-source Asheron's Call client in C# / .NET 10.
Status: pre-alpha, not playable. Phase 0 only — dat file asset inventory.
Stack: .NET 10, Chorizite.DatReaderWriter for dat parsing. Silk.NET + Avalonia planned for rendering/UI (not yet wired up).
Requires: A retail Asheron's Call install (Turbine/Microsoft property — supply your own). Set ACDREAM_DAT_DIR environment variable to the directory containing client_portal.dat, client_cell_1.dat, client_highres.dat, and client_local_English.dat, or pass it as the first CLI argument.
Layout
src/AcDream.Cli/— console app that dumps asset counts from a dat directoryreferences/— local read-only reference material (ACE, ACViewer, WorldBuilder, DatReaderWriter, holtburger, retail AC install). Gitignored.
Run
dotnet run --project src/AcDream.Cli -- "C:\path\to\Asheron's Call"
Or set ACDREAM_DAT_DIR and run without args.