Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
277 commits
Select commit Hold shift + click to select a range
57eb676
reimplement: SHC_3BB0A8C1_0x00500680 100.00% Reimplemented
gynt Sep 27, 2026
cab3d79
reimplement: SHC_3BB0A8C1_0x005007D0 100.00% Reimplemented
gynt Sep 27, 2026
6f07c4c
reimplement: SHC_3BB0A8C1_0x004F6F90 100.00% Reimplemented
gynt Sep 27, 2026
208ac6c
reimplement: SHC_3BB0A8C1_0x00503720 100.00% Reimplemented
gynt Sep 27, 2026
1eb2205
reimplement: SHC_3BB0A8C1_0x004FAD20 45.28% ecx not kept across callee
gynt Sep 27, 2026
fd27b50
reimplement: SHC_3BB0A8C1_0x00500790 100.00% Reimplemented
gynt Sep 27, 2026
c0bfe4d
reimplement: SHC_3BB0A8C1_0x00500940 100.00% Reimplemented
gynt Sep 27, 2026
7f4b7b3
reimplement: SHC_3BB0A8C1_0x005006C0 100.00% Reimplemented
gynt Sep 27, 2026
00b1134
reimplement: SHC_3BB0A8C1_0x00500370 100.00% Reimplemented
gynt Sep 27, 2026
a41084a
reimplement: SHC_3BB0A8C1_0x00500210 100.00% Reimplemented
gynt Sep 27, 2026
8b14934
reimplement: SHC_3BB0A8C1_0x004F80E0 100.00% Reimplemented
gynt Sep 27, 2026
811271f
reimplement: SHC_3BB0A8C1_0x004F79D0 100.00% Reimplemented
gynt Sep 27, 2026
360822b
reimplement: SHC_3BB0A8C1_0x004FB970 36.92% ecx not kept across callee
gynt Sep 27, 2026
9c433d5
reimplement: SHC_3BB0A8C1_0x00500890 100.00% Reimplemented
gynt Sep 27, 2026
3048516
reimplement: SHC_3BB0A8C1_0x004F9880 100.00% Reimplemented
gynt Sep 27, 2026
11bdaa6
reimplement: SHC_3BB0A8C1_0x00502950 100.00% Reimplemented
gynt Sep 27, 2026
69605d9
reimplement: SHC_3BB0A8C1_0x00500640 46.15% ecx not kept across callee
gynt Sep 27, 2026
79f303e
reimplement: SHC_3BB0A8C1_0x00500310 100.00% Reimplemented
gynt Sep 27, 2026
019402e
reimplement: SHC_3BB0A8C1_0x00500180 100.00% Reimplemented
gynt Sep 27, 2026
aaf5c43
reimplement: SHC_3BB0A8C1_0x00514480 40.00% logic masks merged by cl
gynt Sep 27, 2026
1b17bc3
reimplement: SHC_3BB0A8C1_0x00511850 58.82% ecx not kept across callee
gynt Sep 27, 2026
fb3a0c0
reimplement: SHC_3BB0A8C1_0x00500B50 68.35% loop guard/regalloc differs
gynt Sep 27, 2026
0b6dca6
reimplement: SHC_3BB0A8C1_0x004F85B0 41.03% regalloc: extra edi
gynt Sep 27, 2026
4f210ad
reimplement: SHC_3BB0A8C1_0x004FAA30 91.89% Style pass, asm differs
gynt Sep 27, 2026
543ec25
reimplement: SHC_3BB0A8C1_0x00508870 88.89% Style pass, asm differs
gynt Sep 27, 2026
824dde3
reimplement: SHC_3BB0A8C1_0x004FB8E0 28.17% ecx not kept across callee
gynt Sep 27, 2026
b61279d
reimplement: SHC_3BB0A8C1_0x004FC280 85.19% XYPair base regalloc
gynt Sep 27, 2026
c3af393
reimplement: SHC_3BB0A8C1_0x004FAE50 35.14% ecx not kept across callee
gynt Sep 27, 2026
053c6ac
reimplement: SHC_3BB0A8C1_0x004F8B50 100.00% Reimplemented
gynt Sep 27, 2026
8eedb25
types: Moat.tile is a 32-bit field, x/y are signed
gynt Sep 27, 2026
84b7a6f
reimplement: SHC_3BB0A8C1_0x005006C0 100.00% Reimplemented
gynt Sep 27, 2026
652e5bc
reimplement: SHC_3BB0A8C1_0x00500180 100.00% Reimplemented
gynt Sep 27, 2026
6e28ea6
reimplement: SHC_3BB0A8C1_0x00500290 100.00% Reimplemented
gynt Sep 27, 2026
817b390
reimplement: SHC_3BB0A8C1_0x00500250 100.00% Reimplemented
gynt Sep 27, 2026
cd98c8f
reimplement: SHC_3BB0A8C1_0x00500310 100.00% Reimplemented
gynt Sep 27, 2026
d2a6415
types: Building.x/y are signed, tileRef1..36 is one int[36]
gynt Sep 27, 2026
7f521bf
build: give each worktree its own mspdbsrv endpoint
gynt Sep 27, 2026
8019d9d
reimplement: SHC_3BB0A8C1_0x004FFB10 100.00% Reimplemented
gynt Sep 27, 2026
3072d9d
reimplement: SHC_3BB0A8C1_0x004FB360 78.95% ecx not kept across callee
gynt Sep 27, 2026
c99190f
reimplement: SHC_3BB0A8C1_0x00500BB0 100.00% Reimplemented
gynt Sep 27, 2026
6d8c8ec
reimplement: SHC_3BB0A8C1_0x004F8160 100.00% Reimplemented
gynt Sep 27, 2026
52d5a74
reimplement: SHC_3BB0A8C1_0x00511D70 100.00% Reimplemented
gynt Sep 27, 2026
1d040e1
reimplement: SHC_3BB0A8C1_0x004F8A40 87.18% shr vs sar on logic bit
gynt Sep 27, 2026
008e19f
reimplement: SHC_3BB0A8C1_0x005000E0 48.72% owner reload per unrolled…
gynt Sep 27, 2026
30a74c0
reimplement: SHC_3BB0A8C1_0x00500800 100.00% Reimplemented
gynt Sep 27, 2026
6af3a58
reimplement: SHC_3BB0A8C1_0x00501CD0 82.05% brush loop regalloc
gynt Sep 27, 2026
0bd981b
reimplement: SHC_3BB0A8C1_0x004FAEE0 55.32% ecx not kept across callee
gynt Sep 27, 2026
3cc5cd8
reimplement: SHC_3BB0A8C1_0x004F6C60 92.31% border index regalloc
gynt Sep 27, 2026
7e9e425
reimplement: SHC_3BB0A8C1_0x00507060 90.76% setupBuildingData arg reg…
gynt Sep 27, 2026
f2ce335
reimplement: SHC_3BB0A8C1_0x004F8AC0 90.70% shr vs sar on logic bit
gynt Sep 27, 2026
ec180cb
reimplement: SHC_3BB0A8C1_0x00506D40 89.60% setupBuildingData arg reg…
gynt Sep 27, 2026
8784abb
reimplement: SHC_3BB0A8C1_0x004FAC70 84.71% ecx not kept across callee
gynt Sep 27, 2026
7873418
reimplement: SHC_3BB0A8C1_0x005113F0 54.24% moat field reload/regalloc
gynt Sep 27, 2026
d146bb3
reimplement: SHC_3BB0A8C1_0x00500500 86.54% moat field reload/regalloc
gynt Sep 27, 2026
cbf8a97
reimplement: SHC_3BB0A8C1_0x004F93E0 49.02% const 1 rematerialised
gynt Sep 27, 2026
27b89b4
reimplement: SHC_3BB0A8C1_0x005003D0 54.34% moat row walk regalloc
gynt Sep 27, 2026
e9e5681
reimplement: SHC_3BB0A8C1_0x004F9980 34.23% ecx not kept across callee
gynt Sep 27, 2026
2ac998a
reimplement: SHC_3BB0A8C1_0x00507280 54.55% ecx not kept across callee
gynt Sep 27, 2026
2b028b5
reimplement: SHC_3BB0A8C1_0x004F89C0 59.15% orientation blocks not sh…
gynt Sep 27, 2026
8469789
reimplement: SHC_3BB0A8C1_0x004F8840 93.65% direction chain order
gynt Sep 27, 2026
799ae93
reimplement: SHC_3BB0A8C1_0x00507350 74.14% tree switch jump table
gynt Sep 27, 2026
357df4d
reimplement: SHC_3BB0A8C1_0x004FB3F0 34.33% XYPair stride regalloc
gynt Sep 27, 2026
a1db33a
reimplement: SHC_3BB0A8C1_0x00515C80 52.56% ecx not kept across callee
gynt Sep 28, 2026
08cd230
reimplement: SHC_3BB0A8C1_0x004F8900 63.49% neighbour load regalloc
gynt Sep 28, 2026
c53a9fc
reimplement: SHC_3BB0A8C1_0x004F86D0 98.39% direction chain regalloc
gynt Sep 28, 2026
567a48b
reimplement: SHC_3BB0A8C1_0x004FAD70 77.67% ecx not kept across callee
gynt Sep 28, 2026
ad6a7f8
reimplement: SHC_3BB0A8C1_0x00508910 66.67% ecx not kept across callee
gynt Sep 28, 2026
27cba7e
reimplement: SHC_3BB0A8C1_0x004F8210 94.66% switch table vs compare c…
gynt Sep 28, 2026
ce7e27b
reimplement: SHC_3BB0A8C1_0x004F94A0 67.23% logic masks merged by cl
gynt Sep 28, 2026
27dcba4
reimplement: SHC_3BB0A8C1_0x004F8780 100.00% Reimplemented
gynt Sep 28, 2026
71c67fd
reimplement: SHC_3BB0A8C1_0x004FF870 8.93% original built unoptimised
gynt Sep 28, 2026
734eabc
reimplement: SHC_3BB0A8C1_0x00508760 69.03% ecx not kept across callee
gynt Sep 28, 2026
cb5ff5f
reimplement: SHC_3BB0A8C1_0x004FAF70 98.51% offset walk regalloc
gynt Sep 28, 2026
ba149a4
reimplement: SHC_3BB0A8C1_0x004FF870 74.67% __asm; global not nameable
gynt Sep 28, 2026
47ddf52
reimplement: SHC_3BB0A8C1_0x004FF870 74.67% __asm; global not nameable
gynt Sep 28, 2026
b55b568
asm: shared macro for the handwritten neighbour-flag block
gynt Sep 28, 2026
26f1906
reimplement: SHC_3BB0A8C1_0x004FF870 74.67% Style pass, asm differs
gynt Sep 28, 2026
519cace
reimplement: SHC_3BB0A8C1_0x004FC9E0 64.51% Od stack slot order differs
gynt Sep 28, 2026
c526ee6
types: signed TileMapState fields, and mapping40x40 holds char
gynt Sep 28, 2026
ea3c605
reimplement: SHC_3BB0A8C1_0x004FDB00 56.32% Od stack slot order differs
gynt Sep 28, 2026
f1cb5c1
types: Unit+0x83 is a field, not padding
gynt Sep 28, 2026
82a0eb2
reimplement: SHC_3BB0A8C1_0x004F6FD0 98.31% unit loop regalloc
gynt Sep 28, 2026
adb69ca
reimplement: SHC_3BB0A8C1_0x004F9DF0 97.14% buildingType chain regalloc
gynt Sep 28, 2026
902b5eb
reimplement: SHC_3BB0A8C1_0x00501B90 75.00% orientation switch regalloc
gynt Sep 28, 2026
abb7dc9
reimplement: SHC_3BB0A8C1_0x004F9F00 72.99% microX/microY regalloc
gynt Sep 28, 2026
6e046ae
reimplement: SHC_3BB0A8C1_0x00507130 53.09% setupBuildingData arg reg…
gynt Sep 28, 2026
8d9fe6f
reimplement: SHC_3BB0A8C1_0x00507560 44.83% setupBuildingData arg reg…
gynt Sep 28, 2026
965a7e0
reimplement: SHC_3BB0A8C1_0x00507420 44.83% setupBuildingData arg reg…
gynt Sep 28, 2026
c965d32
types: name Logic1 bit 0x40
gynt Sep 28, 2026
4d35492
reimplement: SHC_3BB0A8C1_0x00512940 75.99% Od stack slot order differs
gynt Sep 28, 2026
aa46664
reimplement: SHC_3BB0A8C1_0x004FAB70 70.40% ecx not kept across callee
gynt Sep 28, 2026
f98c394
reimplement: SHC_3BB0A8C1_0x004FC340 62.42% LogicLayer walk regalloc
gynt Sep 28, 2026
e29527c
reimplement: SHC_3BB0A8C1_0x004FBD80 38.67% brush step regalloc
gynt Sep 28, 2026
5bd5f33
reimplement: SHC_3BB0A8C1_0x004FA550 100.00% Reimplemented
gynt Sep 28, 2026
d09e55a
reimplement: SHC_3BB0A8C1_0x00506F40 85.19% setupBuildingData arg reg…
gynt Sep 28, 2026
b826c32
reimplement: SHC_3BB0A8C1_0x00506E10 84.52% setupBuildingData arg reg…
gynt Sep 28, 2026
0427751
reimplement: SHC_3BB0A8C1_0x00508DD0 43.08% extra callee-saved reg
gynt Sep 28, 2026
f5ba429
reimplement: SHC_3BB0A8C1_0x00515F40 69.86% Style pass, asm differs
gynt Sep 28, 2026
187bfb6
reimplement: SHC_3BB0A8C1_0x00502390 28.09% brush loop regalloc
gynt Sep 28, 2026
6847ec9
reimplement: SHC_3BB0A8C1_0x004F9220 88.06% owner store tail-merge
gynt Sep 28, 2026
63fcb39
reimplement: SHC_3BB0A8C1_0x005110B0 84.02% moat scan regalloc
gynt Sep 28, 2026
fb733ff
reimplement: SHC_3BB0A8C1_0x004FF990 74.55% switch arm regalloc
gynt Sep 28, 2026
c11fce6
reimplement: SHC_3BB0A8C1_0x005116E0 72.43% pitch field reload/regalloc
gynt Sep 28, 2026
441a92b
reimplement: SHC_3BB0A8C1_0x005127B0 100.00% Reimplemented
gynt Sep 28, 2026
b588ae8
reimplement: SHC_3BB0A8C1_0x004FB770 76.65% gfx expression regalloc
gynt Sep 28, 2026
9a322bb
reimplement: SHC_3BB0A8C1_0x00506BD0 75.90% setupBuildingData arg reg…
gynt Sep 28, 2026
0a7bbd1
reimplement: SHC_3BB0A8C1_0x00500980 65.08% height compare regalloc
gynt Sep 28, 2026
baecfa3
reimplement: SHC_3BB0A8C1_0x004FFF10 44.03% switch arm regalloc
gynt Sep 28, 2026
e7670af
reimplement: SHC_3BB0A8C1_0x00506AD0 77.94% buildingType chain tail-m…
gynt Sep 28, 2026
545e832
reimplement: SHC_3BB0A8C1_0x004F6B20 30.11% row counter costs a spill
gynt Sep 28, 2026
21ba9d2
reimplement: SHC_3BB0A8C1_0x00515DA0 36.10% brush loop regalloc
gynt Sep 28, 2026
8cc2b0b
reimplement: SHC_3BB0A8C1_0x00501F50 9.68% one fewer spilled local
gynt Sep 28, 2026
446ba2c
reimplement: SHC_3BB0A8C1_0x00501D90 15.18% spills where original use…
gynt Sep 28, 2026
df332da
reimplement: SHC_3BB0A8C1_0x004FC810 67.21% height compare regalloc
gynt Sep 28, 2026
7264213
reimplement: SHC_3BB0A8C1_0x004FC650 45.52% orientation chain regalloc
gynt Sep 28, 2026
9162f3a
reimplement: SHC_3BB0A8C1_0x004F9000 59.49% owner store tail-merge
gynt Sep 28, 2026
adcff1a
reimplement: SHC_3BB0A8C1_0x004F8300 80.29% mapper switch jump table
gynt Sep 28, 2026
c64b420
reimplement: SHC_3BB0A8C1_0x00511DF0 100.00% Reimplemented
gynt Sep 28, 2026
b0d1b80
reimplement: SHC_3BB0A8C1_0x00508030 61.13% 68.42% x/y param reuse re…
gynt Sep 28, 2026
70fee82
reimplement: SHC_3BB0A8C1_0x005114C0 43.66% 46.51% global instance ba…
gynt Sep 28, 2026
9892baa
reimplement: SHC_3BB0A8C1_0x004FA460 100.00% Reimplemented
gynt Sep 28, 2026
39e762a
header: make the dust cloud counters and terrain index signed
gynt Sep 28, 2026
776f4e0
reimplement: SHC_3BB0A8C1_0x004FC490 54.14% 56.42% array base regalloc
gynt Sep 28, 2026
49f1ea3
reimplement: SHC_3BB0A8C1_0x00514520 75.32% 75.63% spill order
gynt Sep 28, 2026
db0a0b4
reimplement: SHC_3BB0A8C1_0x004FA2D0 47.39% 47.37% cold block layout …
gynt Sep 28, 2026
3440089
reimplement: SHC_3BB0A8C1_0x005024F0 51.75% 47.37% index spill regalloc
gynt Sep 28, 2026
5a72cde
reimplement: SHC_3BB0A8C1_0x00508540 52.94% 55.63% operand order rega…
gynt Sep 28, 2026
84f3358
reimplement: SHC_3BB0A8C1_0x00501A20 91.67% 84.72% regalloc
gynt Sep 28, 2026
7df5c1b
reimplement: SHC_3BB0A8C1_0x004FA760 56.27% 61.02% offset array parti…
gynt Sep 28, 2026
9fc3f4a
reimplement: SHC_3BB0A8C1_0x004FBE70 87.16% 85.48% regalloc
gynt Sep 28, 2026
812d1c0
header: repartition the keep outbuilding offsets in TerrainDefinedData
gynt Sep 29, 2026
90bfb13
docs: record the shared-block, threshold and named-local diff patterns
gynt Sep 29, 2026
fb302a8
reimplement: SHC_3BB0A8C1_0x005160C0 37.64% 48.02% global instance base
gynt Sep 29, 2026
bd35216
reimplement: SHC_3BB0A8C1_0x005111D0 46.43% 49.31% struct base regalloc
gynt Sep 29, 2026
a407b18
reimplement: SHC_3BB0A8C1_0x005034A0 54.55% 57.24% regalloc
gynt Sep 29, 2026
66ced0d
reimplement: SHC_3BB0A8C1_0x00502110 27.04% 28.70% this in edi vs esi…
gynt Sep 29, 2026
6964569
reimplement: SHC_3BB0A8C1_0x004FB9E0 14.56% 20.90% this in ecx vs esi…
gynt Sep 29, 2026
e88d524
reimplement: SHC_3BB0A8C1_0x005017C0 42.57% 48.37% spill order regalloc
gynt Sep 29, 2026
0f9c694
reimplement: SHC_3BB0A8C1_0x004FA000 33.91% 33.90% pointer local frame
gynt Sep 29, 2026
a61159e
reimplement: SHC_3BB0A8C1_0x00515A20 34.07% 54.84% x/y regalloc swap
gynt Sep 29, 2026
ac343b4
tools: give the batch build scripts build.bat PDB server fix
gynt Sep 29, 2026
bb5c2b5
reimplement: SHC_3BB0A8C1_0x004FB4D0 41.13% 43.40% rockType spilled v…
gynt Sep 29, 2026
af898f7
reimplement: SHC_3BB0A8C1_0x00508EC0 27.51% 35.40% spill order regalloc
gynt Sep 29, 2026
19b2f95
reimplement: SHC_3BB0A8C1_0x004FB0C0 50.43% 50.43% two jump tables, s…
gynt Sep 29, 2026
59f58ed
reimplement: SHC_3BB0A8C1_0x00502680 19.95% 20.99% highest/lowest spi…
gynt Sep 29, 2026
cad51dc
tools/batch: retry on a fresh PDB endpoint, not just a fresh server
gynt Sep 29, 2026
116bd93
reimplement: SHC_3BB0A8C1_0x004FC0B0 36.36% 36.36% regalloc
gynt Sep 29, 2026
3008d3b
reimplement: SHC_3BB0A8C1_0x004F6CF0 8.43% 9.04% this in esi vs ecx r…
gynt Sep 29, 2026
58e1dc2
reimplement: SHC_3BB0A8C1_0x00508250 40.29% 39.78% regalloc
gynt Sep 29, 2026
29bf091
reimplement: SHC_3BB0A8C1_0x004FFBA0 30.69% 26.79% duplicated tails r…
gynt Sep 29, 2026
c29b7dc
header: name the int at 0x5548d0 that the flat view toggle clears
gynt Sep 29, 2026
fcc7f00
reimplement: SHC_3BB0A8C1_0x004F8BD0 44.24% 44.57% regalloc
gynt Sep 29, 2026
44c4613
reimplement: SHC_3BB0A8C1_0x004F9590 23.63% 24.13% index arithmetic r…
gynt Sep 29, 2026
3f9dd9b
reimplement: SHC_3BB0A8C1_0x00512100 70.70% 87.94% call targets only
gynt Sep 29, 2026
81e33d2
reimplement: SHC_3BB0A8C1_0x00512450 47.42% 80.32% call targets only
gynt Sep 29, 2026
499ee11
tools/batch: give syntax_check.py the same PDB retries as build_quiet.py
gynt Sep 29, 2026
65e1f40
reimplement: SHC_3BB0A8C1_0x00508A00 71.41% 71.43% jump table, gfx se…
gynt Sep 29, 2026
3564902
reimplement: SHC_3BB0A8C1_0x00504A30 48.92% 48.92% global instance base
gynt Sep 29, 2026
ddf784b
reimplement: SHC_3BB0A8C1_0x004F9A60 49.74% 49.70% global instance base
gynt Sep 29, 2026
c36b4ca
header: name the orientation table at 0x7c8 in TerrainDefinedData
gynt Sep 29, 2026
c01b321
reimplement: SHC_3BB0A8C1_0x00504F10 28.87% 28.87% repaired from unbu…
gynt Sep 29, 2026
11c0047
reimplement: SHC_3BB0A8C1_0x005146D0 40.44% 47.46% regalloc
gynt Sep 29, 2026
51aadae
reimplement: SHC_3BB0A8C1_0x005029D0 28.49% 34.09% this spilled vs re…
gynt Sep 29, 2026
ca232e4
reimplement: SHC_3BB0A8C1_0x00502F30 33.92% 36.78% shared blocks as f…
gynt Sep 29, 2026
85f7f83
reimplement: SHC_3BB0A8C1_0x00506370 42.13% 44.49% per-arm stores vs …
gynt Sep 29, 2026
7d9c6df
reimplement: SHC_3BB0A8C1_0x004F7A80 21.92% 20.69% regalloc, frame size
gynt Sep 29, 2026
9f7cb12
reimplement: SHC_3BB0A8C1_0x004FF080 27.31% 27.06% regalloc
gynt Sep 29, 2026
ddcd6b6
reimplement: SHC_3BB0A8C1_0x004F70F0 27.21% 28.62% regalloc
gynt Sep 29, 2026
8e06bec
reimplement: SHC_3BB0A8C1_0x005162D0 35.93% 60.66% dispatch jump tabl…
gynt Sep 29, 2026
4f3ade3
reimplement: SHC_3BB0A8C1_0x00517790 42.52% 42.52% shared destroy bod…
gynt Sep 29, 2026
5c876c6
reimplement: SHC_3BB0A8C1_0x00516B80 46.04% 47.86% four labels as flags
gynt Sep 29, 2026
0dff5e7
reimplement: SHC_3BB0A8C1_0x005037B0 36.36% 36.36% repaired from unbu…
gynt Sep 29, 2026
cce53a5
header: make forceUpdateTextureTilemap signed
gynt Sep 29, 2026
aa8c3ee
reimplement: SHC_3BB0A8C1_0x00509180 15.65% 15.65% repaired, arms res…
gynt Sep 29, 2026
402281a
reimplement: SHC_3BB0A8C1_0x00506370 53.19% signed % and / restored
gynt Oct 5, 2026
9a763d2
reimplement: SHC_3BB0A8C1_0x00509180 16.06% signed % restored
gynt Oct 5, 2026
dfe18c0
reimplement: SHC_3BB0A8C1_0x004F8900 100.00% Reimplemented
gynt Oct 5, 2026
501089b
reimplement: SHC_3BB0A8C1_0x004F8640 100.00% Reimplemented
gynt Oct 5, 2026
b1bba04
reimplement: SHC_3BB0A8C1_0x004F85B0 100.00% Reimplemented
gynt Oct 5, 2026
67782f5
reimplement: SHC_3BB0A8C1_0x004F6CF0 8.99% rolled unrolled loop
gynt Oct 5, 2026
87d8b16
reimplement: SHC_3BB0A8C1_0x004F70F0 47.58% index locals hoisted
gynt Oct 5, 2026
5de92c0
reimplement: SHC_3BB0A8C1_0x00514480 100.00% Reimplemented
gynt Oct 5, 2026
978d693
tools: take main's batch helpers and reccmp fork, add --resolve-wrapp…
gynt Oct 5, 2026
2267f8a
reimplement: SHC_3BB0A8C1_0x00509180 17.33% 1 of 19 asm blocks as macro
gynt Oct 6, 2026
dc32c91
reimplement: SHC_3BB0A8C1_0x00509180 20.51% 9 of 19 asm blocks as macro
gynt Oct 6, 2026
a82262b
reimplement: SHC_3BB0A8C1_0x00509180 23.25% 14 of 19 asm blocks as macro
gynt Oct 6, 2026
51261fd
reimplement: SHC_3BB0A8C1_0x00509180 24.91% 17 of 19 asm blocks as macro
gynt Oct 6, 2026
f9f27bb
reimplement: SHC_3BB0A8C1_0x00509180 26.21% all 19 asm blocks as macro
gynt Oct 6, 2026
94b0fa5
refactor: updateGfxLayer uses the existing NeighbourFlagsAsm macros
gynt Oct 6, 2026
346beaa
fix: Tree xPosition/yPosition are signed in applyTreeBrushToLogicalLayer
gynt Oct 6, 2026
9fa8972
reimplement: SHC_3BB0A8C1_0x00504F10 30.16% Style pass, asm differs
gynt Oct 6, 2026
b4db239
reimplement: SHC_3BB0A8C1_0x005037B0 43.32% size flag as int set in if
gynt Oct 6, 2026
4acfa49
refactor: MACRO_MARK_CHANGED_NEIGHBOURS for the handwritten changed-l…
gynt Oct 6, 2026
8b429aa
build: /GL for the TileMapState functions that keep this in ecx acros…
gynt Oct 6, 2026
b49eeab
reimplement: SHC_3BB0A8C1_0x00501B90 100.00% Reimplemented
gynt Oct 6, 2026
f58fc68
reimplement: SHC_3BB0A8C1_0x004FAE50 100.00% Reimplemented
gynt Oct 6, 2026
5633c62
reimplement: SHC_3BB0A8C1_0x004FB970 96.77% LTCG, add operand order
gynt Oct 6, 2026
45a2ad1
reimplement: SHC_3BB0A8C1_0x004FB8E0 96.97% LTCG, add operand order
gynt Oct 6, 2026
f10404d
reimplement: SHC_3BB0A8C1_0x00501F50 35.57% asm macro, regalloc differs
gynt Oct 6, 2026
bea88cd
reimplement: SHC_3BB0A8C1_0x004F93E0 100.00% Reimplemented
gynt Oct 6, 2026
8531720
reimplement: SHC_3BB0A8C1_0x00508EC0 36.51% global instance access
gynt Oct 6, 2026
39d2670
reimplement: SHC_3BB0A8C1_0x00504A30 49.46% global instance access
gynt Oct 6, 2026
b86b4bc
reimplement: SHC_3BB0A8C1_0x005111D0 48.75% global instance access
gynt Oct 6, 2026
55ee069
reimplement: SHC_3BB0A8C1_0x004FBD80 74.07% step logic fixed, regalloc
gynt Oct 6, 2026
6a580d0
reimplement: SHC_3BB0A8C1_0x004FFBA0 41.03% single exit, owner test m…
gynt Oct 6, 2026
8d00a94
reimplement: SHC_3BB0A8C1_0x005162D0 41.94% global instance access
gynt Oct 6, 2026
cef9030
reimplement: SHC_3BB0A8C1_0x005160C0 49.45% global instance access
gynt Oct 6, 2026
2a4e3d0
reimplement: SHC_3BB0A8C1_0x00512450 79.15% global instance access
gynt Oct 6, 2026
b43ab56
reimplement: SHC_3BB0A8C1_0x00501D90 53.15% const 1 not pooled in ebx
gynt Oct 6, 2026
c0e881c
reimplement: SHC_3BB0A8C1_0x004FB9E0 77.81% LTCG, regalloc differs
gynt Oct 6, 2026
27067fe
reimplement: SHC_3BB0A8C1_0x004F6CF0 100.00% Reimplemented
gynt Oct 6, 2026
943b9ff
reimplement: SHC_3BB0A8C1_0x004F8300 99.27% global instance access
gynt Oct 6, 2026
11b2908
reimplement: SHC_3BB0A8C1_0x004FB0C0 62.37% LTCG, rotation hoisted
gynt Oct 6, 2026
1a10bd9
reimplement: SHC_3BB0A8C1_0x00512100 88.99% global instance access
gynt Oct 6, 2026
1159e27
reimplement: SHC_3BB0A8C1_0x004F9590 62.45% natural x/y, regalloc dif…
gynt Oct 6, 2026
69d0b10
reimplement: SHC_3BB0A8C1_0x004F9F00 82.35% global instance access
gynt Oct 6, 2026
72a65de
reimplement: SHC_3BB0A8C1_0x004F9980 100.00% Reimplemented
gynt Oct 6, 2026
e263464
reimplement: SHC_3BB0A8C1_0x004FC9E0 66.70% signed layer reads
gynt Oct 6, 2026
22d5976
reimplement: SHC_3BB0A8C1_0x00509180 26.49% signed layer reads
gynt Oct 6, 2026
cef3357
reimplement: SHC_3BB0A8C1_0x004FDB00 63.10% signed layer reads
gynt Oct 6, 2026
5c5275e
reimplement: SHC_3BB0A8C1_0x005114C0 100.00% Reimplemented
gynt Oct 6, 2026
fdebf03
reimplement: SHC_3BB0A8C1_0x005017C0 48.98% global instance access
gynt Oct 6, 2026
1fb5af9
reimplement: SHC_3BB0A8C1_0x00502110 43.30% asm macro, regalloc differs
gynt Oct 6, 2026
9e3adce
reimplement: SHC_3BB0A8C1_0x00502680 50.00% asm macro, cold arms inline
gynt Oct 6, 2026
04a3f7d
status: TileMapState functions that match through /GL alone
gynt Oct 6, 2026
93ba4cd
Merge remote-tracking branch 'origin/main' into reimpl/TileMapState
gynt Oct 22, 2026
41e98d0
fix(TileMapState): make the branch build and measure against current …
gynt Oct 23, 2026
3b77a86
reimplement: SHC_3BB0A8C1_0x005037B0 43.32% Style pass, asm differs
gynt Oct 23, 2026
26c2c4e
reimplement: SHC_3BB0A8C1_0x004FAAB0 59.34% Style pass, asm differs
gynt Oct 23, 2026
34d8062
reimplement: SHC_3BB0A8C1_0x00507BD0 59.24% Style pass, asm differs
gynt Oct 23, 2026
6effe8b
reimplement: SHC_3BB0A8C1_0x00507E00 59.24% Style pass, asm differs
gynt Oct 23, 2026
e4b74bc
reimplement: SHC_3BB0A8C1_0x00504F10 30.16% Style pass, asm differs
gynt Oct 23, 2026
0f8ff75
reimplement: SHC_3BB0A8C1_0x00509180 26.26% Style pass, asm differs
gynt Oct 23, 2026
3727746
reimplement: SHC_3BB0A8C1_0x00515740 69.17% was uncompilable; rebuilt…
gynt Oct 23, 2026
7b0454b
reimplement: SHC_3BB0A8C1_0x005076A0 54.70% was uncompilable; dropped…
gynt Oct 23, 2026
d4dc6ba
reimplement: SHC_3BB0A8C1_0x005162D0 41.94% was uncompilable; signatu…
gynt Oct 23, 2026
198fb08
reimplement: SHC_3BB0A8C1_0x005154D0 83.95% was uncompilable; 16-bit …
gynt Oct 23, 2026
bd91b71
reimplement: SHC_3BB0A8C1_0x00514DE0 95.24% was uncompilable; rebuilt…
gynt Oct 23, 2026
c9121fa
reimplement: SHC_3BB0A8C1_0x005151C0 73.51% was uncompilable; 16-bit …
gynt Oct 23, 2026
e6e2922
reimplement: SHC_3BB0A8C1_0x00514F30 87.71% was uncompilable; 16-bit …
gynt Oct 23, 2026
d8e118b
reimplement: SHC_3BB0A8C1_0x004FC810 81.75% signed height compares, w…
gynt Oct 23, 2026
23c5744
reimplement: SHC_3BB0A8C1_0x004FB4D0 43.38% signed height compares, w…
gynt Oct 23, 2026
4bf9464
reimplement: SHC_3BB0A8C1_0x004F70F0 48.00% signed height compare
gynt Oct 23, 2026
4a2c968
reimplement: SHC_3BB0A8C1_0x004FB770 85.54% int locals for short fiel…
gynt Oct 23, 2026
db542ba
reimplement: SHC_3BB0A8C1_0x004FAB70 80.95% int local for short field…
gynt Oct 23, 2026
1ab54ef
reimplement: SHC_3BB0A8C1_0x00508760 78.18% int locals for short fiel…
gynt Oct 23, 2026
c7a87d8
reimplement: SHC_3BB0A8C1_0x00508EC0 36.60% int local for short field…
gynt Oct 23, 2026
d248e2a
reimplement: SHC_3BB0A8C1_0x00517790 48.01% int locals for short fiel…
gynt Oct 23, 2026
6a9ee68
reimplement: SHC_3BB0A8C1_0x00500980 81.78% signed layer read + int l…
gynt Oct 23, 2026
5f3e2e8
style(TileMapState): apply the style guide across the branch's sources
gynt Nov 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/OpenSHC/Map/LogicHelpers/Logic1.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ namespace Map {
L_PLAIN2_AND_PITCH = 8, // 0x00000008
L_BORDER = 16, // 0x00000010
L_BORDER_EDGE = 32, // 0x00000020
L_UNNAMED_0x40 = 64, // 0x00000040
L_ROCKY = 128, // 0x00000080
L_WALL_OR_GATEHOUSE = 256, // 0x00000100
L_CRENEL = 512, // 0x00000200
Expand Down
7 changes: 3 additions & 4 deletions src/OpenSHC/Map/Moat.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,9 @@ namespace Map {
// SIZE: 0x00000010
typedef struct Moat {

ushort tile; // 0x00000000 length: 2
undefined1 padding_0x2[2]; // 0x00000002 length: 2
undefined2 x; // 0x00000004 length: 2
undefined2 y; // 0x00000006 length: 2
int tile; // 0x00000000 length: 4
short x; // 0x00000004 length: 2
short y; // 0x00000006 length: 2
short zeroOrTwo; // 0x00000008 length: 2
undefined1 padding_0xa[2]; // 0x0000000A length: 2
char owner; // 0x0000000C length: 1
Expand Down
5 changes: 2 additions & 3 deletions src/OpenSHC/Map/TerrainDefinedData.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,8 @@ namespace Map {
XYPair StockpilePathableOffsets[9]; // 0x000001DC length: 72
undefined1 padding_0x224[64]; // 0x00000224 length: 64
XYPair field130_0x264[3][12]; // 0x00000264 length: 288
Point8IntXY unkXYOffsets_0x384[8]; // 0x00000384 length: 64
Point8IntXY field132_0x3c4[8]; // 0x000003C4 length: 64
undefined1 padding_0x404[64]; // 0x00000404 length: 64
Point8IntXY keepOutbuildingOffsets_0x384[3][4]; // 0x00000384 length: 96
Point8IntXY keepOutbuildingOffsets_0x3e4[3][4]; // 0x000003E4 length: 96
XYPair field197_0x444[24]; // 0x00000444 length: 192
undefined1 padding_0x504[8]; // 0x00000504 length: 8
XYPair field206_0x50c; // 0x0000050C length: 8
Expand Down
32 changes: 16 additions & 16 deletions src/OpenSHC/Map/TileMapState.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -76,31 +76,31 @@ namespace Map {
uchar unitDeathHeatMap[80400]; // 0x00428370 length: 80400
uchar SEC_TileMap1104[80400]; // 0x0043BD80 length: 80400
uchar SEC_PathfindingCostTileMap1105[9][80400]; // 0x0044F790 length: 723600
undefined4 someIndex; // 0x00500220 length: 4
undefined4 someLimit; // 0x00500224 length: 4
undefined4 someYLike; // 0x00500228 length: 4
undefined4 someYLikeLimit; // 0x0050022C length: 4
byte mapping40x40[40][40]; // 0x00500230 length: 1600
int someIndex; // 0x00500220 length: 4
int someLimit; // 0x00500224 length: 4
int someYLike; // 0x00500228 length: 4
int someYLikeLimit; // 0x0050022C length: 4
char mapping40x40[40][40]; // 0x00500230 length: 1600
Moat moats[16000]; // 0x00500870 length: 256000
int currentMoatCount; // 0x0053F070 length: 4
undefined4 moatTileCount; // 0x0053F074 length: 4
undefined4 ALG_MoatXResult; // 0x0053F078 length: 4
undefined4 ALG_MoatYResult; // 0x0053F07C length: 4
int someMoatTile; // 0x0053F080 length: 4
PitchDitch pitchDitches[4000]; // 0x0053F084 length: 80000
undefined4 maxPitchDitchCount; // 0x00552904 length: 4
int maxPitchDitchCount; // 0x00552904 length: 4
undefined1 padding_0x552908[4]; // 0x00552908 length: 4
short specialAreasArray[8]; // 0x0055290C length: 16
undefined4 temporaryTerrainTypeIndex; // 0x0055291C length: 4
undefined4 SEC_Section1052; // 0x00552920 length: 4
undefined4 SEC_Section1053; // 0x00552924 length: 4
undefined4 SEC_Section1054; // 0x00552928 length: 4
int temporaryTerrainTypeIndex; // 0x0055291C length: 4
int SEC_Section1052; // 0x00552920 length: 4
int SEC_Section1053; // 0x00552924 length: 4
int SEC_Section1054; // 0x00552928 length: 4
int temporaryTerrainTypeArray[1000]; // 0x0055292C length: 4000
int temporaryTerrainTypeBinaryArray[1000]; // 0x005538CC length: 4000
undefined4 forceUpdateLogicalAndMiscDisplayLayers; // 0x0055486C length: 4
undefined4 forceUpdateTextureTilemap; // 0x00554870 length: 4
undefined4 forceUpdateGFXLayers; // 0x00554874 length: 4
undefined4 forceUpdateMacroLayerFlag; // 0x00554878 length: 4
int forceUpdateTextureTilemap; // 0x00554870 length: 4
int forceUpdateGFXLayers; // 0x00554874 length: 4
int forceUpdateMacroLayerFlag; // 0x00554878 length: 4
undefined4 field68_0x55487c; // 0x0055487C length: 4
undefined1 padding_0x554880[8]; // 0x00554880 length: 8
undefined4 placedBuildingID; // 0x00554888 length: 4
Expand All @@ -121,7 +121,7 @@ namespace Map {
undefined4 refreshRelatedOne; // 0x005548C4 length: 4
undefined4 disableElevationRendering; // 0x005548C8 length: 4
undefined4 flatViewToggleValue1; // 0x005548CC length: 4
undefined1 padding_0x5548d0[4]; // 0x005548D0 length: 4
undefined4 field95_0x5548d0; // 0x005548D0 length: 4
undefined4 flatViewToggleValue2; // 0x005548D4 length: 4
undefined4 refreshRelatedTwo; // 0x005548D8 length: 4
undefined4 savedEditorActiveBrush; // 0x005548DC length: 4
Expand Down Expand Up @@ -156,8 +156,8 @@ namespace Map {
undefined4 buildingSpriteID2; // 0x00554950 length: 4
undefined4 cursorTargetID; // 0x00554954 length: 4
undefined4 buildingHeightLimit; // 0x00554958 length: 4
undefined4 buildingMinHeight; // 0x0055495C length: 4
undefined4 buildingMaxHeight; // 0x00554960 length: 4
int buildingMinHeight; // 0x0055495C length: 4
int buildingMaxHeight; // 0x00554960 length: 4
undefined4 buildingMaxHeightDifference; // 0x00554964 length: 4
undefined4 buildingPlacementProperty_3; // 0x00554968 length: 4
undefined4 buildingPlacementProperty_4; // 0x0055496C length: 4
Expand Down
66 changes: 66 additions & 0 deletions src/OpenSHC/Map/TileMapState/Constructor_TileMapState.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
#include "../TileMapState.func.hpp"

#include "OpenSHC/Commands/MappersEnum.hpp"
#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp"

#include "OpenSHC/Globals/DAT_GameCore.hpp"
#include "OpenSHC/Globals/DAT_GameState.hpp"

namespace OpenSHC {
namespace Map {

using OpenSHC::Commands::MappersEnum;
using OpenSHC::WindowsHelper::Enums::BOOLEnum;

// FUNCTION: STRONGHOLDCRUSADER 0x00515F40
TileMapState* TileMapState::Constructor_TileMapState()
{
MACRO_CALL_MEMBER(OpenSHC::Map::TileMapState_Func::setupMovementDirectionTranslationMatrix, this)();
MACRO_CALL_MEMBER(OpenSHC::Map::TileMapState_Func::setupBuildingSizeIndexMapping, this)();
MACRO_CALL_MEMBER(OpenSHC::Map::TileMapState_Func::setupTileMapSections, this)();
this->editorActiveBrush = 7;
this->refreshCertainTileMap = 2;
this->counter1 = 0;
this->mapperMax = FALSE;
this->editorSnapToMode = 0;
this->editorAffectType = 0;
this->unknownZero_0x554900 = 0;
this->currentMapperCommand = OpenSHC::Commands::M_MAPPER_NULL;
this->refreshRelatedOne = 1;
this->disableElevationRendering = 0;
this->refreshRelatedTwo = 0;
this->forceUpdateLogicalAndMiscDisplayLayers = 1;
this->forceUpdateTextureTilemap = 1;
this->forceUpdateGFXLayers = 1;
this->refreshCertainTileMap_old = 4;
MACRO_CALL_MEMBER(OpenSHC::Map::TileMapState_Func::setChangedLayerToThreeAndMapping0x40x40, this)();
this->moatTileCount = 0;
this->skipPlacementCheck = 0;
this->gateOrientationVariant = 0x50;
this->lastTime = timeGetTime();
this->rockOrientation = 0;
this->editorRockType = 0;
this->cursorAnimationTime = timeGetTime();
this->cursorOverlayAnimationFrame = 1;
this->temporaryTerrainTypeIndex = 0;
this->skipPlacementFailChecks = 0;
DAT_GameCore::instance.isTimeHalted = FALSE;
DAT_GameState::instance.mapAndTime.skirmishFogOfWar = 0;
this->ptr_LogicLayer = this->LogicLayer;
this->ptr_ChangedLayer = this->ChangedLayer;
this->ptr_TerrainTypeTileMap = this->Logic2Layer;
this->ptr_TerrainHeightTileMap = this->HeightLayer;
this->ptr_PathConnectionLayer = this->PathConnectionLayer;
this->ptr_OccupancyLayer = this->OccupancyLayer;
this->ptr_DamageLayer = this->DamageLayer;
this->ptr_MiscDisplayLayer = this->MiscDisplayLayer;
this->ptr_MovementDirectionTranslationMatrix = this;
this->ptr_SpecialAreasArray = this->specialAreasArray;
this->ptr_AIZoneLayer = this->AIZoneLayer;
this->currentMoatCount = 16000;
this->maxPitchDitchCount = 4000;
return this;
}

}
}
Loading