Commit Graph
390 Commits
Author SHA1 Message Date
Dusk-92 a2b8d2a7e0 ci: build and ABI-gate WeirdPerformance 2.4-B2 2026-09-07 18:11:22 +02:00
Dusk-92 5dde1f641e docs: add B2 reload-guard test protocol 2026-09-07 18:10:54 +02:00
Dusk-92 d6262135a8 test: add B2 new-Lua-state GC grace guard 2026-09-07 18:10:36 +02:00
Dusk-92 83d85f5d5c ci: accept Intel 80386 PE32 label 2026-09-03 11:00:45 +02:00
Dusk-92 5c61928260 safety: keep GC native until player is in world 2026-09-03 10:49:40 +02:00
Dusk-92 722406fef2 ci: pin Zig and enforce x86 GC ABI gate 2026-09-03 10:47:47 +02:00
Dusk-92 c9ba29f60b docs: mark broken B invalid and document B1 2026-09-03 10:47:12 +02:00
Dusk-92 650825d793 build: rename ABI-fixed companion to gc24b1 2026-09-03 10:46:54 +02:00
Dusk-92 ce63965502 ci: patch pinned zhook syntax for Zig 0.17 dev 2026-09-03 10:43:01 +02:00
Dusk-92 dd04a4f480 ci: use Zig 0.17 optimize spelling 2026-09-03 10:38:59 +02:00
Dusk-92 b5662b64ec build: adapt optimize mode to Zig 0.17 dev 2026-09-03 10:38:54 +02:00
Dusk-92 3d821c41c3 ci: build 2.4-B1 with Zig 0.17 dev fastcall fix 2026-09-03 10:36:39 +02:00
Dusk-92 39b0097ed2 build: declare x86 fastcall convention explicitly 2026-09-03 10:35:20 +02:00
Dusk-92 232f37d762 fix: force verified x86 fastcall ABI for 2.4-B1 GC 2026-09-03 10:34:29 +02:00
Dusk-92 762034301a build: use Zig 0.16 winapi calling convention 2026-09-02 23:45:52 +02:00
Dusk-92 9d5d7bd0d6 docs: document strict 2.4-A plus GC companion A/B 2026-09-02 23:44:19 +02:00
Dusk-92 f72686f27a build: add Zig 0.16 package fingerprint 2026-09-02 23:44:16 +02:00
Dusk-92 3e5628f198 test: isolate 2.4-B GC hooks from 2.4-A lifecycle 2026-09-02 23:44:14 +02:00
Dusk-92 1cc0ca7e29 ci: compile 2.4-B before format cleanup 2026-09-02 23:39:51 +02:00
Dusk-92 cfc584ebfa ci: build 2.4-B GC test artifact 2026-09-02 23:39:11 +02:00
Dusk-92 1a0aad3223 docs: document 2.4-B GC A/B test 2026-09-02 23:39:09 +02:00
Dusk-92 368ae01c64 test: pin zhook for 2.4-B GC build 2026-09-02 23:39:07 +02:00
Dusk-92 b4f9cca516 test: add standalone 2.4-B GC build 2026-09-02 23:39:04 +02:00
Dusk-92 bb6e6b9236 test: add 2.4-B GC safe-sweep companion 2026-09-02 23:39:02 +02:00
Dusk-92 dde316a184 Clarify licensing and release provenance 2026-08-31 17:28:20 +02:00
Dusk-92 43df6fc452 Clarify public-domain scope and third-party exceptions 2026-08-31 17:27:56 +02:00
Dusk-92 eff857398d Document third-party licensing and provenance 2026-08-31 17:27:23 +02:00
Dusk-92 091bd36858 Document third-party licensing and provenance 2026-08-31 17:27:17 +02:00
Dusk-92 8a8ea1e6e1 Document third-party licensing and provenance 2026-08-31 17:27:10 +02:00
Dusk-92 ace2046ae8 Document third-party licensing and provenance 2026-08-31 17:27:04 +02:00
Dusk-92 1462cabed5 Document third-party licensing and provenance 2026-08-31 17:26:58 +02:00
Dusk-92 b500f46d00 Document third-party licensing and provenance 2026-08-31 17:26:51 +02:00
Dusk-92 ca209ae383 Document third-party licensing and provenance 2026-08-31 17:26:45 +02:00
Dusk-92 ce7f57f412 Document third-party licensing and provenance 2026-08-31 17:26:40 +02:00
Dusk-92 947056f1c2 Test full release packaging on main 2026-08-28 15:13:48 +02:00
Dusk-92 c4d133887a Run release build CI on main and support source refs 2026-08-28 15:12:47 +02:00
Dusk-92 f4cbacb7f9 Fix DllMain return type for Zig 0.16 2026-08-28 15:12:18 +02:00
Dusk-92 82dc02e2e7 Add automated DLL release workflow 2026-08-28 14:57:49 +02:00
MarcelineVQ 41191ce9a5 Untrack internal planning files re-added in error 0.7.3 v0.7.2 2026-08-01 18:12:59 -07:00
MarcelineVQ 727a4cc229 Scrub remaining absolute machine paths from module docs 2026-08-01 18:04:54 -07:00
MarcelineVQ 69051fd486 Repo hygiene: drop internal planning files, clean docs for publication
Untrack TODO.md, RELEASING.md, RELEASE_NOTES.md, ideas/ and
docs/CLAUDE_PROPER_OBJECT_REGISTRATION_PLAN.md -- internal planning and
agent notes with no reason to be published. Files stay on disk locally.

Replace remaining absolute machine paths in docs with relative ones
(one referenced a separate private project), and swap decorative emoji
for ASCII markers.

README: lead with the no-longer-actively-developed notice.
2026-08-01 18:03:46 -07:00
MarcelineVQ 4865b583d1 Ignore zig-pkg/ package cache
Swept in by the merge; it is the local zig package cache populated by the
zhook URL dependency, not source.
2026-07-27 22:08:41 -07:00
MarcelineVQ 582a433d81 Merge v0.7.0 distribution commit
Keeps the source README (a superset - documents every module, not just the
released subset) and include/weirdutils_api.h over the release-trimmed
root copy.

# Conflicts:
#	README.md
#	include/weirdutils_api.h
2026-07-27 22:08:17 -07:00
MarcelineVQ 8773bb2821 Pin zhook as a URL dependency instead of a relative path
build.zig.zon pointed at ../zhook, so a clone of this repo alone could not
build. Pin the Codeberg tarball for f1b252e (current zhook master) with its
hash; zig fetches it automatically. Verified by building with no sibling
zhook checkout present.
2026-07-27 22:05:03 -07:00
MarcelineVQ 1d41a029a8 Scrub local machine paths from docs
Replace absolute /home/august/... references with neutral placeholders and
drop TODO.md links to plan files that only exist locally.
2026-07-27 21:49:44 -07:00
MarcelineVQ 9646155e1c Drop duplicate weirdutils_api.h from root
include/weirdutils_api.h is the complete version; the root copy was the
release-trimmed one from the distribution branch.
2026-07-27 21:48:58 -07:00
MarcelineVQ 28e6deaef5 Merge distribution history into source history
Brings in .gitea/ issue templates and preserves the release tag ancestry
(v0.1.0-v0.7.0 were tagged on the distribution branch, not on source).

# Conflicts:
#	README.md
2026-07-27 21:48:30 -07:00
MarcelineVQ b12fc820ef Publish source: Unlicense, public README, repo hygiene
The remote was previously a distribution-only point for pre-built DLLs.
This opens the source.

- LICENSE: Unlicense, with a GPL-3.0 carve-out for src/dpslog/WeirdDPSMate
  (a DPSMate fork that keeps its own license)
- README.md replaces the stale internal one with the user-facing docs from
  DLL_README.md, swapping the 'Why No Source Code?' section for build and
  layout notes. DLL_README.md is dropped; one README now serves both.
- RELEASING.md: drop the trim-the-README-per-release dance and the
  remote/WeirdUtils/ distribution clone, both obsolete now
- gitignore agent/editor scratch, build caches, the vendored WSBT addon,
  and the WeirdThreat/uwu-logs checkouts (separate upstream repos)
- Commit outstanding module work: superweirdo, clickthrough portal visuals,
  transform44 decompiles, worldmarkers demo presets, tools/
2026-07-27 21:47:55 -07:00
MarcelineVQ f500147fc7 weirdperformance: f64-intermediate bone transform to eliminate spell/doodad z-fighting
Adds bone_sse64.zig as an f64-intermediate port of transformMatrix4x4, used as
the active hook. M2 bone matrices are built and multiplied as [16]f64 and only
narrow to f32 on final store into the bone output buffer -- matching the x87
original's rounding profile (wide intermediates, single f32 store) and keeping
M2 vertex positions aligned with the terrain/projected-texture pipeline.

Also fixes, in both bone_sse (f32) and bone_sse64:

- Pre-billboard tx/ty/tz accumulation order (row 0 = pz+px+py; rows 1/2 = pz+py+px)
- Post-billboard pos_y/pos_z accumulation order (py+pz+px)
- Post-billboard scale-recompute accumulation order (row0 + row2 + row1)
- Billboard types 2/4 normalize using f64 intermediates (load-bearing for camera
  basis vectors -- pure f32 drifted from x87 by a ULP per axis and caused
  particle emitters to jitter on camera motion)

Additional bone_sse64-specific changes:

- Local attachmentRecursion64 that recurses into transformImpl_SSE64 instead of
  bone_sse.transformImpl_SSE, so attached child models stay on the f64 path
- child_padding (this+0x84) computed with f64 intermediates

bone_sse remains the reference f32 implementation; its struct fields, inline
helpers, and section-loop fns are now `pub` so bone_sse64 can share them
(types/interpolation helpers/post-loop loops). Artifact size is unchanged.

build.zig adds bench_bone_sse64 object; src/bench/main.zig runs the new variant
through the same warmup/timing harness and prints SSE vs SSE64 vs BASELINE
cycles plus a parity check.
2026-04-16 22:58:09 -07:00
MarcelineVQ 37c96eb577 worldmarkers: revert locale encoding -- not a real issue on Windows
C runtime starts in "C" locale (dot decimals) on all platforms.
WoW doesn't call setlocale. The integer encoding was unnecessary
and would break sync with older builds.
2026-04-13 13:49:53 -07:00