Zum Hauptinhalt springen
Inoffizieller Guild Wars Reforged App — ein Fan-Projekt, nicht mit ArenaNet oder NCSoft verbunden

Request summary and priority

All twelve upstream requests in one table, with priority, estimated effort, blast radius, and the host workaround that each fix removes.

Six of these fixes live in two translation units in Base/Os/Emscripten, plus Base/Rtl/Path.cpp and the File::Open mode table. Together they bring back template save, list, rename, and delete — and screenshots and chat logs with them. One engineer can do all six in a session, and one test covers them. The rest of the list is smaller wins, one runtime investigation, and two proposals.

Every row links to a page with the evidence, repro steps, and acceptance criteria.

All requests

IDRequestPriorityEffortBlast radius
UR-01Implement directory creation1LowSmall
UR-02Implement directory enumeration1MediumSmall
UR-03Implement relative entry-name derivation1LowMedium
UR-04Implement file deletion1LowSmall
UR-05Correct the Path::RemoveExtension off-by-one1LowMedium
UR-06Remove O_CREAT from File::Open mode 11LowMedium
UR-07Marshal MouseEvent.detail into the input record1LowSmall
UR-08Correct the printable-key label off-by-one2LowSmall
UR-09Re-test the pointer after a mode change2LowSmall
UR-10Profile heap ownership and raise the wasm32 maximum2MediumMedium
UR-11Publish build identity and a symbol map2LowNone
UR-12Add a small platform-host interface3HighMedium

Priority 1: a player loses a feature today. Priority 2: a player sees wrong information, hits a small defect, or loses progress in a way they can work around. Priority 3: nothing is lost today, but the platform improves.

UR-10 moved from 3 to 2 on 2026-08-04. We first saw it as a limit only very long sessions reached; another report then reached the same cap in about half an hour of instanced content, which costs the player that run. Newer instrumentation proves the compiled ceiling and identifies several large allocation owners, but does not yet distinguish cache retention, fragmentation, or legitimate referenced working set. Raising the maximum buys time; the ownership profile is the corrective work.

The effort and blast-radius estimates are ours, made from outside the codebase. Read them as a rough size, not a commitment.

What each fix changes

IDPlayer resultHost result
UR-01UR-04Templates, screenshots, and chat logs workWe delete the whole template bridge
UR-05Template names stay completeWe delete one name correction
UR-06Rename works, and no empty files appearWe delete one probe forwarder
UR-07Double-click works, with no extra clicksWe delete one module transform
UR-08The Controls panel names the correct keyNothing. We ship no workaround
UR-09The cursor changes at onceWe delete one pointer replay
UR-10Memory use is bounded; a larger maximum adds headroomWe delete the experimental transform and retire emergency reload guidance
UR-11No direct resultOur update work drops by hours per build
UR-12No direct resultWe delete our cursor memory addresses

Requests by area

The one-byte fix

UR-07 deserves a special mention. The client already carries a double-click flag from its input record to FrMouse, and every stage after that byte works. But the Emscripten glue never reads MouseEvent.detail, so the flag stays zero — which is why no Mac or browser player can double-click. Our host currently patches this with a module transform; one marshalled field in the glue makes that transform unnecessary.

What we're not asking for

No plugin interface, no modding system, no access to game logic, packets, or accounts — and we don't need ArenaNet to support our project. The requests are bug fixes, plus two optional interfaces that only carry presentation data.

GWonMac

Spiele Guild Wars auf deinem Mac. GWonMac führt ArenaNets offiziellen Client nativ auf Apple Silicon aus — kostenlos, Open Source, signiert und notarisiert.

© GWonMac. Alle Rechte vorbehalten.