Commit Graph
71 Commits
Author SHA1 Message Date
Jonas Volman 9ab48c9f6c Reconcile Fable frame statistics wave 2026-09-02 10:33:39 -07:00
Jonas Volman 7055eee35a Match and reconcile main loop
Reconstruct _main_loop from the exact Claude packet using semantic helper names, authentic types, and owner-header prototypes. Keep collision timing declarations behind the collision debug/log boundary so units.obj remains exact.
2026-09-01 17:20:02 -07:00
Jonas Volman 28c27d0beb Use cseries word type in debug memory 2026-08-31 23:51:09 -07:00
Jonas Volman 757dafb12b Close out debug memory residual 2026-08-31 23:49:58 -07:00
Jonas Volman 4277f892c1 Admit audited Claude reconstruction gains
Retain 18 strict exact-function gains across Actions, Actor Combat, Decals, Game Engine, Object Lights, and Bipeds after removing donor bodies that regressed exact objects, emitted unowned code, or violated source-credibility rules. Name authenticated private symbols, move declarations to owner headers, record honest residual parks, and preserve units.obj at 189/189.
2026-08-31 20:42:01 -07:00
Jonas Volman 9f74e9937f Import 909 authenticated January and HCEA symbol names 2026-08-31 16:11:03 -07:00
Jonas Volman c71441a02e Recover player rumble with authenticated fast_ftol 2026-08-31 04:45:17 -07:00
Jonas Volman 251e9f780f Match debug memory malloc 2026-08-30 09:42:09 -07:00
Jonas Volman 93e1dd3e0c Match profile framedump flush 2026-08-29 00:17:12 -07:00
Jonas Volman f23a16e4a3 Match stack walk symbol lookup 2026-08-28 22:39:14 -07:00
Jonas Volman 3d9e9b192f Match stack walk initializer 2026-08-28 22:35:24 -07:00
Jonas Volman 2fc7c073db Match stack walk wrapper 2026-08-28 22:09:24 -07:00
Jonas Volman 075b6b0ebc Restore exact profile dump close 2026-08-27 02:55:03 -07:00
Jonas Volman 0671bb1003 Match debug memory unlink helper 2026-08-26 22:15:50 -07:00
Jonas Volman aa362bf3ef Match debug memory head insertion helper 2026-08-26 21:37:16 -07:00
Jonas VolmanandClaude Fable 5 432f044f4c Close cseries.obj: csstrcasecmp two-cursor assignment order
source/cseries/cseries.obj is complete at 26/26 target code owners and
20/20 runtime data owners strict exact. _csstrcasecmp reaches 192 padded
bytes, 11 relocations, normalized SHA-256 9fb7ecf4631bd2d54ae281b836b5f974
242c9527483666ccd00a04fefce84efa, identical to January, with relocations at
the target addresses. Configuration index 359 moves NonMatching -> Matching.

The decisive factor is the order in which the two cursors are first
assigned: assigning the second-string cursor before the first makes VC7
retain it as the advancing induction variable and reconstruct the first
stream from the invariant delta, which is January's topology. Reversing
just those two statements reproduces the previous lane's C1 hash exactly,
confirming the ordering is the whole residual.

The accepted form also removes the obsolete register storage class and the
undefined pointer subtraction between unrelated pointers, and corrects the
comparison polarity to c1 != c2.

Regression gate ok with 25 still_exact, 1 newly_exact, 0 changed_nonexact;
both full builds satisfied; reports regenerated; semantic, parked and
admission audits clean; all 179 tooling tests pass.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-26 15:59:22 -07:00
Jonas Volman 1953e26037 Keep unproven profile slots opaque 2026-08-20 22:08:16 -07:00
Jonas Volman a3a3549b49 Recover exact profile section helpers 2026-08-20 21:36:28 -07:00
Jonas Volman 3263e9484e Recover stack walk function offset accessor 2026-08-20 16:19:22 -07:00
Jonas Volman 3b285f4794 Guard profile dump file close 2026-08-20 15:25:56 -07:00
Jonas Volman 6fb0a3d8fe Recover profile exact checkpoint 2026-08-20 14:27:48 -07:00
Jonas Volman 0d252d46ed Advance debug memory reconstruction 2026-08-20 11:52:49 -07:00
Jonas Volman 1a7023b624 Match errors object
Recover the exact error-buffer publication shape, preserve Berth declaration formatting, admit the 10/10 translation unit, and retire only the stale _error compiler-tie park.
2026-08-20 09:28:39 -07:00
Jonas VolmanandClaude Opus 5 3328df1847 Match cseries sort object
Byte-exact, all four functions, whole object.  Source was a pure skeleton with
no code; status MISSING work now NonMatching -> Matching.

An iterative quicksort for 2-byte and 4-byte elements with a 30-deep bounds
stack and a selection-sort cutoff at 8.  The two code_* symbols are the
selection sorts and take hi in EAX under VC7's custom convention for statics.
The comparator takes values, not pointers, and the zero-extension in the target
pins the 2-byte element type to word rather than short.

Five source-shape findings, each read off the disassembly:

- the swap loads both elements then stores to *best first, which is
  temp = *best; *best = *hi; *hi = temp - the mirror of the natural form.  That
  alone made both selection sorts exact.
- element_count and size are unsigned: the target uses jb, ja and shr where
  signed types give jl, jg and sar.
- the source writes lo+1 < j, not the algebraically identical lo < j-1, which
  reverses the lea and cmp operands.
- the larger-partition test compares raw byte differences.  On word pointers
  every element-count form makes MSVC emit two sars or cancel them and mask,
  costing 16 bytes; only an explicit byte-basis comparison gives the plain dec.
  j-1-lo >= hi-i, j-lo > hi-i and the byte form are integer-identical and only
  the last matches.
- depth = 0 is assigned before hi; the reverse order swaps the two stores.

Both qsort bodies went exact from the same five fixes, which is good evidence
the shapes are right rather than coincidental.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 04:33:37 -07:00
Jonas Volman 74c9dc0936 Correct error buffer publication order 2026-07-18 15:30:29 -07:00
Jonas Volman 2d267de83c Match shared math and color global ownership 2026-07-18 14:38:26 -07:00
Jonas Volman 2fc59b8c1b Reconstruct debug memory allocation foundation 2026-07-18 09:29:26 -07:00
Jonas Volman be57025a3b Match debug memory validation 2026-07-18 08:56:35 -07:00
Jonas Volman 47cbb163bc Reconstruct debug memory foundation 2026-07-18 00:09:20 -07:00
Jonas Volman b42c48a550 Reconstruct central error handler and owned state 2026-07-17 20:54:01 -07:00
Jonas Volman 132f7bf7f8 Match cseries Windows exception handling 2026-07-15 23:42:39 -07:00
Jonas Volman 8f13d99b02 Match Xbox cseries platform wrappers 2026-07-15 21:14:34 -07:00
Jonas Volman e4188cb7d5 Match errors subsystem leaf functions 2026-07-15 21:08:45 -07:00
Jonas Volman bd21f69ea8 Match XDK texture encoding table 2026-07-14 23:52:48 -07:00
Jonas Volman 1371090615 Correct debug realloc ABI 2026-07-14 17:55:49 -07:00
Jonas Volman e5852f80db Reconstruct csstrcasecmp (nonmatching) 2026-07-14 17:02:37 -07:00
Jonas Volman 8977ee86d6 Match progress_update 2026-07-14 15:15:33 -07:00
Jonas Volman 3fe71299eb Match progress_new 2026-07-14 15:15:33 -07:00
Jonas Volman c803347ad9 Fix cseries string case prototypes 2026-07-14 14:23:18 -07:00
Jonas Volman f1a3b3cc63 Match stristr 2026-07-14 14:20:02 -07:00
Jonas Volman b67d41cf67 Match strnlen 2026-07-14 14:19:53 -07:00
Berthalamew 37e96a1c2f ai_debug work (#37) 2026-07-13 14:34:27 +01:00
Berthalamew bc6663de55 unit additions (#34)
- add unit functions and associated dependencies
2026-07-01 00:15:19 +01:00
LWSSandpunpckhdq 95e6477328 work on breakable_surfaces.c (#28)
* work on breakable_surfaces.c

* squashme asdf

* word

* more

* Correctness changes

Move types definitions to where we know they are, fix includes and formatting, fix bad defines

* Missed this include

* Scoped if

* More

* MAXIMUM_NUMBER_OF_MATERIAL_TYPES

* Enum correctness

---------

Co-authored-by: punpckhdq <121350336+punpckhdq@users.noreply.github.com>
2026-06-17 13:53:13 +01:00
punpckhdq fb0d814535 Declare .comm data in TUs instead of headers (#26)
* Declare .comm data in TUs instead of headers

* Update files.h

* Include
2026-06-16 12:49:22 +01:00
punpckhdq a40783e4f5 render_frame_pregame: 99%
`progress` doesn't exist on the stack by itself. mystery inlined and deduped static function?
2026-06-08 16:27:33 +01:00
punpckhdq cce8ecb1f2 Use space before equals (#21) 2026-06-08 02:44:47 +01:00
Berthalamew 52a0dc4c28 add tag definitions and misc function prototypes (#19)
* misc changes

- add function prototypes and change types
- add profile_initialize

* add tag definitions and prototypes

- real math changes
2026-05-05 18:56:06 +01:00
punpckhdq bc68b04094 shaders.c numeric_countdown 2026-03-12 18:14:54 +00:00
Berthalamew 7f38d9e94f add rasterizer light globals (#18)
* add rasterizer light globals

* add profile globals

* requested changes
2026-02-17 17:02:17 +00:00