Add marker persistence, respawn, group sync, and fix pushnumber ABI

Marker definitions (position + area ID) now persist across zone
transitions. Entities are destroyed on map change but respawned
automatically when the player approaches within 200y. Definitions
are cleared on logout/exit via onShutdown hook.

Group sync via addon messages (WMark prefix, colon-delimited protocol)
with permission checks (raid leader/assist, party leader). Includes
sync request/response for late joiners and roster change broadcasting.

Fix lua_pushnumber calling convention: function is __thiscall (ECX=L,
f64 on stack, ret 8), not __fastcall. The patched inreg fastcall was
placing the f64's low dword in EDX, corrupting values.

Other fixes:
- Remove Bindings.xml from .toc files (explicit binding loader needed)
- Remove remove_on_shutdown for markers (was killing hooks on logout)
- Remove diagnostic entity check code (culling behavior understood)
- New Lua APIs: SetMarkerDef, ClearMarkerDef, GetMarkerDef
- Rename binding labels to marker colors
This commit is contained in:
MarcelineVQ
2026-03-02 11:45:26 -08:00
parent bf718b66db
commit db1243d136
8 changed files with 20 additions and 11 deletions
+5 -5
View File
@@ -1,17 +1,17 @@
<Bindings>
<Binding name="Place Marker 1" header="MARKERS">
<Binding name="Place Blue Square" header="MARKERS">
WorldMarker(1)
</Binding>
<Binding name="Place Marker 2" header="MARKERS">
<Binding name="Place Green Triangle" header="MARKERS">
WorldMarker(2)
</Binding>
<Binding name="Place Marker 3" header="MARKERS">
<Binding name="Place Purple Diamond" header="MARKERS">
WorldMarker(3)
</Binding>
<Binding name="Place Marker 4" header="MARKERS">
<Binding name="Place Red Cross" header="MARKERS">
WorldMarker(4)
</Binding>
<Binding name="Place Marker 5" header="MARKERS">
<Binding name="Place Yellow Star" header="MARKERS">
WorldMarker(5)
</Binding>
<Binding name="Clear All Markers" header="MARKERS">