summaryrefslogtreecommitdiffstats
path: root/FIX_PLAN.md
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--FIX_PLAN.md13
1 files changed, 10 insertions, 3 deletions
diff --git a/FIX_PLAN.md b/FIX_PLAN.md
index e4e149e..2c84122 100644
--- a/FIX_PLAN.md
+++ b/FIX_PLAN.md
@@ -778,6 +778,16 @@ Caches are cleared by `esp_reset_session()` on map change/respawn. The ESP scan
778itself is unchanged: projection only happens for the handful of entities that 778itself is unchanged: projection only happens for the handful of entities that
779survive the class/life/friendly filters, not for every entity. 779survive the class/life/friendly filters, not for every entity.
780 780
781### Batch 5 — chams shadow passes
782
783`IVModelRender::ForcedMaterialOverride` (slot 1) is now hooked as well, purely
784to track the engine's current forced material. `DrawModelExecute` skips chams
785when an override is already active, so shadow-depth and reflection passes draw
786with their own material instead of being substituted with chams and then having
787the engine's override cleared for every model drawn afterwards. This is the fix
788for the corruption described in P2-6; it needs an in-game check because it
789relies on the engine always going through the vtable for that call.
790
781### Known remaining work 791### Known remaining work
782 792
783Deliberately deferred, with reasons: 793Deliberately deferred, with reasons:
@@ -787,9 +797,6 @@ Deliberately deferred, with reasons:
787 slot plus a way to get the networkable from a raw entity pointer, or a 797 slot plus a way to get the networkable from a raw entity pointer, or a
788 cached pointer→index map. Not worth the risk for a hot path that fires a few 798 cached pointer→index map. Not worth the risk for a hot path that fires a few
789 times per second. 799 times per second.
790- **P2-6 shadow-depth `ForcedMaterialOverride`** — requires reading the
791 engine's current override, which VEngineModel016 does not expose. Needs an
792 alternative detection (draw flags in `DrawModelState_t`) validated in-game.
793- **P3-2 declarative settings table** — large rewrite of `config_save`, 800- **P3-2 declarative settings table** — large rewrite of `config_save`,
794 `config_load`, `config_reset_defaults` and `build_cards`. It can regress 801 `config_load`, `config_reset_defaults` and `build_cards`. It can regress
795 config persistence, so it should follow an in-game pass. 802 config persistence, so it should follow an in-game pass.