Commit 621eccd
committed
Add IW4 multi-block techset/material reader
Implement block-aware IW4 zone reading to correctly parse PS3 techsets, materials and images. Added ZoneReadStreamBlocks and extended ZoneReadContext to track per-block cursors, alignments and block-scoped pointer resolution (ResolvePointerInBlock / ResolvePointerAlignedInBlock). Ported/added Techset.cs (technique/pass/shader models and reader) and an ImageReader that understands the PS3 EBOOT GfxImage root and block-targeted pixel/shader payloads. MaterialReader updated to queue/reserve pointer resolves per-block (TEMP/LARGE) and to resolve images/state/loadbits correctly; MaterialModels updated for EBOOT image root fields. Iw4ZoneReader now creates stream-block state and activates the LARGE block while reading asset bodies. UI/MainWindowForm updated to enumerate parsed materials and display technique/texture/constant details, and Iw4AssetBridge links materials to their single techset when applicable. Docs updated to reflect the block-aware material reader and limitations (map zones still blocked by XModel). These changes prevent misalignment when reading standalone techsets/materials and make self-contained PS3 zones' materials parse correctly.1 parent 535b98a commit 621eccd
11 files changed
Lines changed: 709 additions & 88 deletions
File tree
- Call of Duty FastFile Editor
- Services
- UI
- FastFileLib/Iw4
- docs
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
88 | 92 | | |
89 | 93 | | |
90 | 94 | | |
| |||
109 | 113 | | |
110 | 114 | | |
111 | 115 | | |
112 | | - | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
113 | 119 | | |
114 | 120 | | |
115 | 121 | | |
| |||
120 | 126 | | |
121 | 127 | | |
122 | 128 | | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
123 | 143 | | |
124 | 144 | | |
125 | 145 | | |
| |||
591 | 611 | | |
592 | 612 | | |
593 | 613 | | |
594 | | - | |
595 | | - | |
596 | | - | |
597 | 614 | | |
598 | 615 | | |
599 | 616 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
781 | 781 | | |
782 | 782 | | |
783 | 783 | | |
784 | | - | |
785 | | - | |
| 784 | + | |
| 785 | + | |
| 786 | + | |
786 | 787 | | |
787 | 788 | | |
788 | 789 | | |
| |||
4701 | 4702 | | |
4702 | 4703 | | |
4703 | 4704 | | |
| 4705 | + | |
4704 | 4706 | | |
4705 | 4707 | | |
4706 | 4708 | | |
| |||
4869 | 4871 | | |
4870 | 4872 | | |
4871 | 4873 | | |
| 4874 | + | |
| 4875 | + | |
| 4876 | + | |
| 4877 | + | |
| 4878 | + | |
| 4879 | + | |
| 4880 | + | |
| 4881 | + | |
| 4882 | + | |
| 4883 | + | |
| 4884 | + | |
| 4885 | + | |
| 4886 | + | |
4872 | 4887 | | |
4873 | 4888 | | |
4874 | 4889 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| 37 | + | |
37 | 38 | | |
38 | 39 | | |
39 | 40 | | |
| |||
44 | 45 | | |
45 | 46 | | |
46 | 47 | | |
| 48 | + | |
| 49 | + | |
47 | 50 | | |
48 | 51 | | |
49 | 52 | | |
| |||
79 | 82 | | |
80 | 83 | | |
81 | 84 | | |
82 | | - | |
| 85 | + | |
83 | 86 | | |
84 | 87 | | |
85 | 88 | | |
86 | 89 | | |
87 | 90 | | |
88 | 91 | | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
89 | 98 | | |
90 | 99 | | |
91 | 100 | | |
| |||
106 | 115 | | |
107 | 116 | | |
108 | 117 | | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
109 | 122 | | |
110 | 123 | | |
111 | 124 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
113 | 119 | | |
| 120 | + | |
| 121 | + | |
114 | 122 | | |
| 123 | + | |
115 | 124 | | |
116 | 125 | | |
117 | 126 | | |
| |||
0 commit comments