KB: EXPERIENCE LEVELS decoded -- the 0x25c block is the simulation-mode flags
The egg's per-pilot 'experience' (novice/standard/veteran/expert) is the pod's simulation-fidelity tier -- stored at BTMission+0xe4 and seeded into the BTPlayer ctor's flag block @4c0bc8 [T1]. The old 'per-role display toggles / returnFromDeath' reading was WRONG: the source is mission->experienceLevel, and the neighboring pair copies mission->advancedDamageOn (the egg's technician splash/collision switch), not role floats. Known consumers: 0x260 = the HEAT-MODEL master switch (FUN_004ad7d4), 0x25c = the novice sim-lockout (jams/searchlight/powersub), 0x274 = the raw level (FUN_004ac9c8 ==0 novice predicate). NEW established topic context/experience-levels.md (data path, binary flag rows per level, manual cross-refs, corrections log) + router row; sweeps in decomp-reference/gauges-hud/open-questions/pod-hardware/subsystems. btplayer.cpp/.hpp re-annotated with the corrected semantics; the guarded role-based seeding stays as a marked [T3] stand-in (slot drift vs the binary switch documented inline) until the wiring task points it at BTMission::ExperienceLevel(). (Research by the parallel context session; committed from the glass line.) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,135 @@
|
||||
# BT 4.10 source manifest — measured from BTL4OPT.EXE
|
||||
|
||||
Generated by `tools/manifest410.py`. Census = the surviving makefiles (BT.MAK 36 TUs, BTL4.MAK 13 TUs + btl4.obj); attribution = in-body assert strings (resolved via section_dump), exporter file= tags, link-order fill.
|
||||
|
||||
Totals: **6267 functions** in the image; BT-side: **16 funcs / 18 KB** (bt.lib) + **20 funcs / 19 KB** (btl4.lib+main); boundary-uncertain: 5018; unattributed (outside any anchor span): 483.
|
||||
|
||||
`recon @addr hits` = binary function addresses cited in `game/reconstructed/` — a proxy for how much of the TU is already semantically decoded (not a completeness claim).
|
||||
|
||||
## bt.lib (link order)
|
||||
|
||||
| TU | survives | funcs | KB | addr range | assert-anchored | max assert line | recon @addr hits |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| bt/btmssn.cpp | full | 1 | 0.0 | 49b6bc-49b6d8 | 1 | 0 | 1 |
|
||||
| bt/messmgr.cpp | — | — | — | — | — | — | 0 |
|
||||
| bt/mechdmg.cpp | — | — | — | — | — | — | 0 |
|
||||
| bt/dmgtable.cpp | — | — | — | — | — | — | 0 |
|
||||
| bt/mech.cpp | — | 1 | 5.7 | 4a1674-4a2d48 | 1 | 0 | 1 |
|
||||
| bt/mech2.cpp | — | 5 | 10.3 | 4a5028-4a7970 | 4 | 1650 | 4 |
|
||||
| bt/mech3.cpp | — | — | — | — | — | — | 0 |
|
||||
| bt/mech4.cpp | — | — | — | — | — | — | 0 |
|
||||
| bt/mechsub.cpp | — | — | — | — | — | — | 0 |
|
||||
| bt/mechtech.cpp | — | — | — | — | — | — | 0 |
|
||||
| bt/heat.cpp | partial(TCP) | 1 | 0.6 | 4adda0-4adfd4 | 1 | 0 | 1 |
|
||||
| bt/mechmppr.cpp | — | 3 | 0.1 | 4b029c-4b02f0 | 3 | 602 | 3 |
|
||||
| bt/powersub.cpp | — | 1 | 0.5 | 4b0f74-4b115c | 1 | 626 | 1 |
|
||||
| bt/sensor.cpp | — | — | — | — | — | — | 0 |
|
||||
| bt/gnrator.cpp | partial(TCP) | — | — | — | — | — | 0 |
|
||||
| bt/gyro.cpp | — | — | — | — | — | — | 0 |
|
||||
| bt/torso.cpp | — | — | — | — | — | — | 0 |
|
||||
| bt/hud.cpp | — | — | — | — | — | — | 0 |
|
||||
| bt/myomers.cpp | — | — | — | — | — | — | 0 |
|
||||
| bt/mechweap.cpp | — | 1 | 0.0 | 4b95ec-4b9608 | 1 | 0 | 1 |
|
||||
| bt/emitter.cpp | partial(TCP) | — | — | — | — | — | 0 |
|
||||
| bt/ppc.cpp | full | — | — | — | — | — | 0 |
|
||||
| bt/projweap.cpp | partial(TCP) | — | — | — | — | — | 0 |
|
||||
| bt/mislanch.cpp | — | — | — | — | — | — | 0 |
|
||||
| bt/ammobin.cpp | partial(TCP) | — | — | — | — | — | 0 |
|
||||
| bt/gauss.cpp | full | — | — | — | — | — | 0 |
|
||||
| bt/projtile.cpp | partial(TCP) | — | — | — | — | — | 0 |
|
||||
| bt/misthrst.cpp | — | — | — | — | — | — | 0 |
|
||||
| bt/seeker.cpp | — | — | — | — | — | — | 0 |
|
||||
| bt/missile.cpp | partial(TCP) | — | — | — | — | — | 0 |
|
||||
| bt/btplayer.cpp | — | 3 | 0.8 | 4c0200-4c052c | 3 | 662 | 3 |
|
||||
| bt/btteam.cpp | full | — | — | — | — | — | 0 |
|
||||
| bt/btdirect.cpp | — | — | — | — | — | — | 0 |
|
||||
| bt/btreg.cpp | full | — | — | — | — | — | 0 |
|
||||
| bt/btcnsl.cpp | full | — | — | — | — | — | 0 |
|
||||
| bt/bttool.cpp | full | — | — | — | — | — | 0 |
|
||||
|
||||
## btl4.lib + main (link order)
|
||||
|
||||
| TU | survives | funcs | KB | addr range | assert-anchored | max assert line | recon @addr hits |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| bt_l4/btl4mode.cpp | full | — | — | — | — | — | 0 |
|
||||
| bt_l4/btl4rdr.cpp | — | 8 | 2.2 | 4c2178-4c2a1d | 2 | 1032 | 8 |
|
||||
| bt_l4/btl4gaug.cpp | — | 1 | 0.3 | 4c3f6c-4c4074 | 1 | 1674 | 1 |
|
||||
| bt_l4/btl4gau2.cpp | — | — | — | — | — | — | 0 |
|
||||
| bt_l4/btl4gau3.cpp | — | — | — | — | — | — | 0 |
|
||||
| bt_l4/btl4grnd.cpp | — | — | — | — | — | — | 0 |
|
||||
| bt_l4/btl4galm.cpp | — | — | — | — | — | — | 0 |
|
||||
| bt_l4/btl4vid.cpp | — | 9 | 13.8 | 4cdac0-4d11e8 | 3 | 3065 | 6 |
|
||||
| bt_l4/btl4mppr.cpp | — | — | — | — | — | — | 0 |
|
||||
| bt_l4/btl4arnd.cpp | full | — | — | — | — | — | 0 |
|
||||
| bt_l4/btl4mssn.cpp | — | 1 | 2.1 | 4d2c30-4d34b0 | 1 | 451 | 1 |
|
||||
| bt_l4/btl4app.cpp | — | 1 | 0.8 | 4d36f4-4d3a2c | 1 | 400 | 1 |
|
||||
| bt_l4/btl4pb.cpp | — | — | — | — | — | — | 0 |
|
||||
| bt_l4/btl4.cpp | — | — | — | — | — | — | 0 |
|
||||
|
||||
## Engine/other TUs seen in the image (context only — their source survives)
|
||||
|
||||
| TU | funcs | KB |
|
||||
|---|---|---|
|
||||
| bt/mechweap.hpp | 1 | 0.0 |
|
||||
| munga/app.cpp | 22 | 2.7 |
|
||||
| munga/appmgr.cpp | 1 | 0.4 |
|
||||
| munga/audcmp.cpp | 51 | 8.7 |
|
||||
| munga/audio.cpp | 1 | 0.0 |
|
||||
| munga/audloc.cpp | 1 | 0.4 |
|
||||
| munga/audlvl.cpp | 1 | 0.4 |
|
||||
| munga/audmidi.cpp | 2 | 0.1 |
|
||||
| munga/audseq.cpp | 15 | 1.8 |
|
||||
| munga/audsrc.cpp | 21 | 3.1 |
|
||||
| munga/audwthr.cpp | 46 | 3.4 |
|
||||
| munga/audwthr.hpp | 29 | 8.2 |
|
||||
| munga/boxsolid.cpp | 1 | 0.0 |
|
||||
| munga/caminst.cpp | 1 | 0.9 |
|
||||
| munga/cammgr.cpp | 1 | 0.2 |
|
||||
| munga/cmpnnt.cpp | 1 | 0.0 |
|
||||
| munga/controls.cpp | 11 | 0.7 |
|
||||
| munga/cstr.cpp | 1 | 0.1 |
|
||||
| munga/event.cpp | 2 | 0.1 |
|
||||
| munga/explode.cpp | 1 | 0.3 |
|
||||
| munga/filestrm.hpp | 2 | 0.1 |
|
||||
| munga/gaugalrm.cpp | 2 | 0.1 |
|
||||
| munga/gauge.cpp | 16 | 1.4 |
|
||||
| munga/gaugrend.cpp | 34 | 8.4 |
|
||||
| munga/graph2d.cpp | 40 | 3.1 |
|
||||
| munga/hash.cpp | 2 | 0.1 |
|
||||
| munga/heap.cpp | 1 | 0.5 |
|
||||
| munga/host.cpp | 1 | 0.1 |
|
||||
| munga/hostmgr.cpp | 5 | 0.2 |
|
||||
| munga/icom.cpp | 1 | 0.0 |
|
||||
| munga/interest.cpp | 28 | 2.5 |
|
||||
| munga/intorgn.cpp | 3 | 0.1 |
|
||||
| munga/iterator.cpp | 8 | 0.2 |
|
||||
| munga/lamp.cpp | 1 | 0.0 |
|
||||
| munga/memstrm.cpp | 1 | 0.2 |
|
||||
| munga/network.cpp | 5 | 0.7 |
|
||||
| munga/objstrm.cpp | 35 | 4.0 |
|
||||
| munga/player.cpp | 1 | 0.0 |
|
||||
| munga/registry.cpp | 2 | 0.1 |
|
||||
| munga/renderer.cpp | 3 | 0.1 |
|
||||
| munga/scalar.cpp | 1 | 0.1 |
|
||||
| munga/sfeskt.cpp | 1 | 0.0 |
|
||||
| munga/socket.cpp | 9 | 0.4 |
|
||||
| munga/spooler.cpp | 1 | 0.1 |
|
||||
| munga/srtskt.cpp | 6 | 0.2 |
|
||||
| munga/table.cpp | 3 | 0.1 |
|
||||
| munga/tree.cpp | 3 | 0.1 |
|
||||
| munga/vchain.cpp | 3 | 0.1 |
|
||||
| munga/watcher.cpp | 5 | 1.0 |
|
||||
| munga/watcher.hpp | 5 | 0.8 |
|
||||
| munga_l4/l4app.cpp | 2 | 0.5 |
|
||||
| munga_l4/l4audhdw.cpp | 15 | 1.3 |
|
||||
| munga_l4/l4audio.cpp | 15 | 4.7 |
|
||||
| munga_l4/l4audlvl.cpp | 1 | 0.4 |
|
||||
| munga_l4/l4audres.cpp | 1 | 1.2 |
|
||||
| munga_l4/l4audrnd.cpp | 2 | 1.1 |
|
||||
| munga_l4/l4audwtr.cpp | 1 | 0.6 |
|
||||
| munga_l4/l4ctrl.cpp | 29 | 7.0 |
|
||||
| munga_l4/l4gauge.cpp | 1 | 0.0 |
|
||||
| munga_l4/l4net.cpp | 22 | 8.7 |
|
||||
| munga_l4/l4splr.cpp | 2 | 0.1 |
|
||||
| munga_l4/l4video.cpp | 39 | 25.1 |
|
||||
| munga_l4/l4vidrnd.cpp | 162 | 23.0 |
|
||||
Reference in New Issue
Block a user