├── .DS_Store
├── .gitignore
├── Carbon_Address.h
├── Helpers.h
├── LICENSE
├── MW_Address.h
├── PS_Address.h
├── README.md
├── TexWizard.h
├── TexWizard.sln
├── TexWizard.vcxproj
├── TexWizard.vcxproj.user
├── UC_Address.h
├── UG2_Address.h
├── UG_Address.h
├── dllmain.cpp
├── includes
├── CPatch.h
├── IniReader.h
├── ini_parser.hpp
├── injector
│ ├── assembly.hpp
│ ├── calling.hpp
│ ├── gvm
│ │ ├── gvm.hpp
│ │ └── translator.hpp
│ ├── hooking.hpp
│ ├── injector.hpp
│ └── utility.hpp
└── stdafx.h
├── json
├── json-forwards.h
└── json.h
├── jsoncpp.cpp
├── stdafx.cpp
├── stdafx.h
└── targetver.h
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/R-033/texwizard/a1af0b52eaac30f043bffa7cfd001789d72a4a9b/.DS_Store
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 |
4 | # User-specific files
5 | *.suo
6 | *.user
7 | *.userosscache
8 | *.sln.docstates
9 |
10 | # User-specific files (MonoDevelop/Xamarin Studio)
11 | *.userprefs
12 | *.VC.db
13 |
14 | #
15 | Debug_Carbon/
16 | Debug_MW/
17 | Debug_PS/
18 | Debug_UC/
19 | Debug_UG/
20 | Debug_UG2/
21 | Release_Carbon/
22 | Release_MW/
23 | Release_PS/
24 | Release_UC/
25 | Release_UG/
26 | Release_UG2/
27 |
28 | # Build results
29 | [Dd]ebug/
30 | [Dd]ebugPublic/
31 | [Rr]elease/
32 | [Rr]eleases/
33 | x64/
34 | x86/
35 | bld/
36 | [Bb]in/
37 | [Oo]bj/
38 |
39 | # Visual Studio 2015 cache/options directory
40 | .vs/
41 | # Uncomment if you have tasks that create the project's static files in wwwroot
42 | #wwwroot/
43 |
44 | # MSTest test Results
45 | [Tt]est[Rr]esult*/
46 | [Bb]uild[Ll]og.*
47 |
48 | # NUNIT
49 | *.VisualState.xml
50 | TestResult.xml
51 |
52 | # Build Results of an ATL Project
53 | [Dd]ebugPS/
54 | [Rr]eleasePS/
55 | dlldata.c
56 |
57 | # DNX
58 | project.lock.json
59 | artifacts/
60 |
61 | *_i.c
62 | *_p.c
63 | *_i.h
64 | *.ilk
65 | *.meta
66 | *.obj
67 | *.pch
68 | *.pdb
69 | *.pgc
70 | *.pgd
71 | *.rsp
72 | *.sbr
73 | *.tlb
74 | *.tli
75 | *.tlh
76 | *.tmp
77 | *.tmp_proj
78 | *.log
79 | *.vspscc
80 | *.vssscc
81 | .builds
82 | *.pidb
83 | *.svclog
84 | *.scc
85 |
86 | # Chutzpah Test files
87 | _Chutzpah*
88 |
89 | # Visual C++ cache files
90 | ipch/
91 | *.aps
92 | *.ncb
93 | *.opendb
94 | *.opensdf
95 | *.sdf
96 | *.cachefile
97 |
98 | # Visual Studio profiler
99 | *.psess
100 | *.vsp
101 | *.vspx
102 | *.sap
103 |
104 | # TFS 2012 Local Workspace
105 | $tf/
106 |
107 | # Guidance Automation Toolkit
108 | *.gpState
109 |
110 | # ReSharper is a .NET coding add-in
111 | _ReSharper*/
112 | *.[Rr]e[Ss]harper
113 | *.DotSettings.user
114 |
115 | # JustCode is a .NET coding add-in
116 | .JustCode
117 |
118 | # TeamCity is a build add-in
119 | _TeamCity*
120 |
121 | # DotCover is a Code Coverage Tool
122 | *.dotCover
123 |
124 | # NCrunch
125 | _NCrunch_*
126 | .*crunch*.local.xml
127 | nCrunchTemp_*
128 |
129 | # MightyMoose
130 | *.mm.*
131 | AutoTest.Net/
132 |
133 | # Web workbench (sass)
134 | .sass-cache/
135 |
136 | # Installshield output folder
137 | [Ee]xpress/
138 |
139 | # DocProject is a documentation generator add-in
140 | DocProject/buildhelp/
141 | DocProject/Help/*.HxT
142 | DocProject/Help/*.HxC
143 | DocProject/Help/*.hhc
144 | DocProject/Help/*.hhk
145 | DocProject/Help/*.hhp
146 | DocProject/Help/Html2
147 | DocProject/Help/html
148 |
149 | # Click-Once directory
150 | publish/
151 |
152 | # Publish Web Output
153 | *.[Pp]ublish.xml
154 | *.azurePubxml
155 | # TODO: Comment the next line if you want to checkin your web deploy settings
156 | # but database connection strings (with potential passwords) will be unencrypted
157 | *.pubxml
158 | *.publishproj
159 |
160 | # NuGet Packages
161 | *.nupkg
162 | # The packages folder can be ignored because of Package Restore
163 | **/packages/*
164 | # except build/, which is used as an MSBuild target.
165 | !**/packages/build/
166 | # Uncomment if necessary however generally it will be regenerated when needed
167 | #!**/packages/repositories.config
168 | # NuGet v3's project.json files produces more ignoreable files
169 | *.nuget.props
170 | *.nuget.targets
171 |
172 | # Microsoft Azure Build Output
173 | csx/
174 | *.build.csdef
175 |
176 | # Microsoft Azure Emulator
177 | ecf/
178 | rcf/
179 |
180 | # Microsoft Azure ApplicationInsights config file
181 | ApplicationInsights.config
182 |
183 | # Windows Store app package directory
184 | AppPackages/
185 | BundleArtifacts/
186 |
187 | # Visual Studio cache files
188 | # files ending in .cache can be ignored
189 | *.[Cc]ache
190 | # but keep track of directories ending in .cache
191 | !*.[Cc]ache/
192 |
193 | # Others
194 | ClientBin/
195 | ~$*
196 | *~
197 | *.dbmdl
198 | *.dbproj.schemaview
199 | *.pfx
200 | *.publishsettings
201 | node_modules/
202 | orleans.codegen.cs
203 |
204 | # RIA/Silverlight projects
205 | Generated_Code/
206 |
207 | # Backup & report files from converting an old project file
208 | # to a newer Visual Studio version. Backup files are not needed,
209 | # because we have git ;-)
210 | _UpgradeReport_Files/
211 | Backup*/
212 | UpgradeLog*.XML
213 | UpgradeLog*.htm
214 |
215 | # SQL Server files
216 | *.mdf
217 | *.ldf
218 |
219 | # Business Intelligence projects
220 | *.rdl.data
221 | *.bim.layout
222 | *.bim_*.settings
223 |
224 | # Microsoft Fakes
225 | FakesAssemblies/
226 |
227 | # GhostDoc plugin setting file
228 | *.GhostDoc.xml
229 |
230 | # Node.js Tools for Visual Studio
231 | .ntvs_analysis.dat
232 |
233 | # Visual Studio 6 build log
234 | *.plg
235 |
236 | # Visual Studio 6 workspace options file
237 | *.opt
238 |
239 | # Visual Studio LightSwitch build output
240 | **/*.HTMLClient/GeneratedArtifacts
241 | **/*.DesktopClient/GeneratedArtifacts
242 | **/*.DesktopClient/ModelManifest.xml
243 | **/*.Server/GeneratedArtifacts
244 | **/*.Server/ModelManifest.xml
245 | _Pvt_Extensions
246 |
247 | # Paket dependency manager
248 | .paket/paket.exe
249 |
250 | # FAKE - F# Make
251 | .fake/
252 |
--------------------------------------------------------------------------------
/Carbon_Address.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #ifndef GAME_CARBON
3 | #define GAME_CARBON
4 | #endif
5 |
6 | #define EntryPoint 0x87E926
7 | #define WrongEntryPointErrorString "This .exe is not supported.\nPlease use v1.4 English nfsc.exe (6,88 MB (7.217.152 bytes))."
8 |
9 | #define bStringHash_Addr 0x471050
10 | #define CreateResourceFile_Addr 0x6B32C0
11 | #define ResourceFileBeginLoading_Addr 0x6B5910
12 | #define LoadGlobalChunks_Addr 0x6B6E00
13 | #define GetTextureInfo_Addr 0x55CFD0
14 |
15 | #define LoadGlobalChunks_Hook_Addr_1 0x6B776F
16 |
17 | #define GetTextureInfo_Hook_Addr_1 0x44E3E2
18 | #define GetTextureInfo_Hook_Addr_2 0x44E401
19 | #define GetTextureInfo_Hook_Addr_3 0x45F3A1
20 | #define GetTextureInfo_Hook_Addr_4 0x45F3C0
21 | #define GetTextureInfo_Hook_Addr_5 0x4B6BC1
22 | #define GetTextureInfo_Hook_Addr_6 0x4BABC8
23 | #define GetTextureInfo_Hook_Addr_7 0x4BABF1
24 | #define GetTextureInfo_Hook_Addr_8 0x4C457B
25 | #define GetTextureInfo_Hook_Addr_9 0x55D149
26 | #define GetTextureInfo_Hook_Addr_10 0x55D1B9
27 | #define GetTextureInfo_Hook_Addr_11 0x55D22A
28 | #define GetTextureInfo_Hook_Addr_12 0x55D27E
29 | #define GetTextureInfo_Hook_Addr_13 0x55D28E
30 | #define GetTextureInfo_Hook_Addr_14 0x55D348
31 | #define GetTextureInfo_Hook_Addr_15 0x55D35B
32 | #define GetTextureInfo_Hook_Addr_16 0x55D36E
33 | #define GetTextureInfo_Hook_Addr_17 0x55D381
34 | #define GetTextureInfo_Hook_Addr_18 0x55D394
35 | #define GetTextureInfo_Hook_Addr_19 0x55D850
36 | #define GetTextureInfo_Hook_Addr_20 0x55DA51
37 | #define GetTextureInfo_Hook_Addr_21 0x55DA80
38 | #define GetTextureInfo_Hook_Addr_22 0x55DB0D
39 | #define GetTextureInfo_Hook_Addr_23 0x55DB8E
40 | #define GetTextureInfo_Hook_Addr_24 0x55DD85
41 | #define GetTextureInfo_Hook_Addr_25 0x55DE57
42 | #define GetTextureInfo_Hook_Addr_26 0x55DF7F
43 | #define GetTextureInfo_Hook_Addr_27 0x55E109
44 | #define GetTextureInfo_Hook_Addr_28 0x570837
45 | #define GetTextureInfo_Hook_Addr_29 0x5708A7
46 | #define GetTextureInfo_Hook_Addr_30 0x57092E
47 | #define GetTextureInfo_Hook_Addr_31 0x5709FE
48 | #define GetTextureInfo_Hook_Addr_32 0x570B01
49 | #define GetTextureInfo_Hook_Addr_33 0x570B51
50 | #define GetTextureInfo_Hook_Addr_34 0x570BA1
51 | #define GetTextureInfo_Hook_Addr_35 0x570BF1
52 | #define GetTextureInfo_Hook_Addr_36 0x57F39E
53 | #define GetTextureInfo_Hook_Addr_37 0x5822C1
54 | #define GetTextureInfo_Hook_Addr_38 0x582302
55 | #define GetTextureInfo_Hook_Addr_39 0x582325
56 | #define GetTextureInfo_Hook_Addr_40 0x585385
57 | #define GetTextureInfo_Hook_Addr_41 0x585F6C
58 | #define GetTextureInfo_Hook_Addr_42 0x586032
59 | #define GetTextureInfo_Hook_Addr_43 0x586542
60 | #define GetTextureInfo_Hook_Addr_44 0x590C9E
61 | #define GetTextureInfo_Hook_Addr_45 0x590DF6
62 | #define GetTextureInfo_Hook_Addr_46 0x593630
63 | #define GetTextureInfo_Hook_Addr_47 0x596DE5
64 | #define GetTextureInfo_Hook_Addr_48 0x596F9E
65 | #define GetTextureInfo_Hook_Addr_49 0x598FF6
66 | #define GetTextureInfo_Hook_Addr_50 0x599010
67 | #define GetTextureInfo_Hook_Addr_51 0x599452
68 | #define GetTextureInfo_Hook_Addr_52 0x5996ED
69 | #define GetTextureInfo_Hook_Addr_53 0x59AA73
70 | #define GetTextureInfo_Hook_Addr_54 0x59F10C
71 | #define GetTextureInfo_Hook_Addr_55 0x59F120
72 | #define GetTextureInfo_Hook_Addr_56 0x59F482
73 | #define GetTextureInfo_Hook_Addr_57 0x59F4AC
74 | #define GetTextureInfo_Hook_Addr_58 0x59F789
75 | #define GetTextureInfo_Hook_Addr_59 0x5D8654
76 | #define GetTextureInfo_Hook_Addr_60 0x5D8744
77 | #define GetTextureInfo_Hook_Addr_61 0x5E4F6E
78 | #define GetTextureInfo_Hook_Addr_62 0x6B6F9E
79 | #define GetTextureInfo_Hook_Addr_63 0x708E98
80 | #define GetTextureInfo_Hook_Addr_64 0x70FB72
81 | #define GetTextureInfo_Hook_Addr_65 0x70FB91
82 | #define GetTextureInfo_Hook_Addr_66 0x70FBB0
83 | #define GetTextureInfo_Hook_Addr_67 0x70FBCF
84 | #define GetTextureInfo_Hook_Addr_68 0x70FBEE
85 | #define GetTextureInfo_Hook_Addr_69 0x70FC72
86 | #define GetTextureInfo_Hook_Addr_70 0x70FDCA
87 | #define GetTextureInfo_Hook_Addr_71 0x70FE31
88 | #define GetTextureInfo_Hook_Addr_72 0x71336C
89 | #define GetTextureInfo_Hook_Addr_73 0x71CE22
90 | #define GetTextureInfo_Hook_Addr_74 0x722D8C
91 | #define GetTextureInfo_Hook_Addr_75 0x73AB2A
92 | #define GetTextureInfo_Hook_Addr_76 0x73C267
93 | #define GetTextureInfo_Hook_Addr_77 0x73C282
94 | #define GetTextureInfo_Hook_Addr_78 0x73C29E
95 | #define GetTextureInfo_Hook_Addr_79 0x73C2BA
96 | #define GetTextureInfo_Hook_Addr_80 0x73D37E
97 | #define GetTextureInfo_Hook_Addr_81 0x73DF85
98 | #define GetTextureInfo_Hook_Addr_82 0x73E025
99 | #define GetTextureInfo_Hook_Addr_83 0x73E125
100 | #define GetTextureInfo_Hook_Addr_84 0x73E355
101 | #define GetTextureInfo_Hook_Addr_85 0x73E4C5
102 | #define GetTextureInfo_Hook_Addr_86 0x73E4E5
103 | #define GetTextureInfo_Hook_Addr_87 0x73F9B2
104 | #define GetTextureInfo_Hook_Addr_88 0x73F9D1
105 | #define GetTextureInfo_Hook_Addr_89 0x73F9F0
106 | #define GetTextureInfo_Hook_Addr_90 0x740CB7
107 | #define GetTextureInfo_Hook_Addr_91 0x748230
108 | #define GetTextureInfo_Hook_Addr_92 0x749A89
109 | #define GetTextureInfo_Hook_Addr_93 0x749C38
110 | #define GetTextureInfo_Hook_Addr_94 0x749C63
111 | #define GetTextureInfo_Hook_Addr_95 0x74EB3B
112 | #define GetTextureInfo_Hook_Addr_96 0x74F011
113 | #define GetTextureInfo_Hook_Addr_97 0x7590AC
114 | #define GetTextureInfo_Hook_Addr_98 0x7590DD
115 | #define GetTextureInfo_Hook_Addr_99 0x7591B4
116 | #define GetTextureInfo_Hook_Addr_100 0x759E7B
117 | #define GetTextureInfo_Hook_Addr_101 0x75AA4C
118 | #define GetTextureInfo_Hook_Addr_102 0x75AA68
119 | #define GetTextureInfo_Hook_Addr_103 0x798F4E
120 | #define GetTextureInfo_Hook_Addr_104 0x79ACE5
121 | #define GetTextureInfo_Hook_Addr_105 0x79AD04
122 | #define GetTextureInfo_Hook_Addr_106 0x79AD28
123 | #define GetTextureInfo_Hook_Addr_107 0x79AD53
124 | #define GetTextureInfo_Hook_Addr_108 0x7ACCB3
125 | #define GetTextureInfo_Hook_Addr_109 0x7AEFF4
126 | #define GetTextureInfo_Hook_Addr_110 0x7AF00D
127 | #define GetTextureInfo_Hook_Addr_111 0x7AF026
128 | #define GetTextureInfo_Hook_Addr_112 0x7AF03F
129 | #define GetTextureInfo_Hook_Addr_113 0x7B117A
130 | #define GetTextureInfo_Hook_Addr_114 0x7B11A7
131 | #define GetTextureInfo_Hook_Addr_115 0x7B3685
132 | #define GetTextureInfo_Hook_Addr_116 0x7B9CE6
133 | #define GetTextureInfo_Hook_Addr_117 0x7BE2AA
134 | #define GetTextureInfo_Hook_Addr_118 0x7C3C3F
135 | #define GetTextureInfo_Hook_Addr_119 0x7C3C53
136 | #define GetTextureInfo_Hook_Addr_120 0x7C3C67
137 | #define GetTextureInfo_Hook_Addr_121 0x7C3CB2
138 | #define GetTextureInfo_Hook_Addr_122 0x7C3E3A
139 | #define GetTextureInfo_Hook_Addr_123 0x7C3E6C
140 | #define GetTextureInfo_Hook_Addr_124 0x7C3E7C
141 | #define GetTextureInfo_Hook_Addr_125 0x7D13A4
142 | #define GetTextureInfo_Hook_Addr_126 0x7D13DF
143 | #define GetTextureInfo_Hook_Addr_127 0x7D148B
144 | #define GetTextureInfo_Hook_Addr_128 0x7D14E8
145 | #define GetTextureInfo_Hook_Addr_129 0x7D15AF
146 | #define GetTextureInfo_Hook_Addr_130 0x7D15F5
147 | #define GetTextureInfo_Hook_Addr_131 0x7D758F
148 | #define GetTextureInfo_Hook_Addr_132 0x7D75AE
149 | #define GetTextureInfo_Hook_Addr_133 0x7D7637
150 | #define GetTextureInfo_Hook_Addr_134 0x7D9DA9
151 | #define GetTextureInfo_Hook_Addr_135 0x7D9DBC
152 | #define GetTextureInfo_Hook_Addr_136 0x7DBA29
153 | #define GetTextureInfo_Hook_Addr_137 0x7DBA55
154 | #define GetTextureInfo_Hook_Addr_138 0x7DBA81
155 | #define GetTextureInfo_Hook_Addr_139 0x7DBABC
156 | #define GetTextureInfo_Hook_Addr_140 0x7DBAFB
157 | #define GetTextureInfo_Hook_Addr_141 0x7DBB35
158 | #define GetTextureInfo_Hook_Addr_142 0x7DBB4D
159 | #define GetTextureInfo_Hook_Addr_143 0x7DBB6B
160 | #define GetTextureInfo_Hook_Addr_144 0x7DBC2C
161 | #define GetTextureInfo_Hook_Addr_145 0x7DBC46
162 | #define GetTextureInfo_Hook_Addr_146 0x7DBC87
163 | #define GetTextureInfo_Hook_Addr_147 0x7DBCA1
164 | #define GetTextureInfo_Hook_Addr_148 0x7DBD27
165 | #define GetTextureInfo_Hook_Addr_149 0x7DBD3D
166 | #define GetTextureInfo_Hook_Addr_150 0x7DBD55
167 | #define GetTextureInfo_Hook_Addr_151 0x7E5A73
168 | #define GetTextureInfo_Hook_Addr_152 0x7E5A85
169 | #define GetTextureInfo_Hook_Addr_153 0x813EBE
170 | #define GetTextureInfo_Hook_Addr_154 0x83DED6
171 | #define GetTextureInfo_Hook_Addr_155 0x84D584
172 | #define GetTextureInfo_Hook_Addr_156 0x84D681
173 |
174 | unsigned int(*bStringHash)(char* StringToHash) = (unsigned int(*)(char*))bStringHash_Addr;
175 |
176 | DWORD* (__cdecl* CreateResourceFile)(int a1, int a2, int a3, int a4, int a5) = (DWORD * (__cdecl*)(int, int, int, int, int))CreateResourceFile_Addr;
177 | int(__thiscall* ResourceFileBeginLoading)(DWORD* r, int unk1, int unk2) = (int(__thiscall*)(DWORD*, int, int))ResourceFileBeginLoading_Addr;
178 |
179 | int(__fastcall* LoadGlobalChunks)() = (int(__fastcall*)())LoadGlobalChunks_Addr;
180 |
181 | DWORD* (__cdecl* GetTextureInfo)(unsigned int hash, int returnDefault, int includeUnloadedTextures) = (DWORD * (__cdecl*)(unsigned int, int, int))GetTextureInfo_Addr;
182 |
--------------------------------------------------------------------------------
/Helpers.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | inline bool DoesFileExist(char const* path)
4 | {
5 | struct stat buffer;
6 | return (stat(path, &buffer) == 0);
7 | }
--------------------------------------------------------------------------------
/MW_Address.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #ifndef GAME_MW
3 | #define GAME_MW
4 | #endif
5 |
6 | #define EntryPoint 0x7C4040
7 | #define WrongEntryPointErrorString "This .exe is not supported.\nPlease use v1.3 English speed.exe (5,75 MB (6.029.312 bytes))."
8 |
9 | #define bStringHash_Addr 0x460BF0
10 | #define CreateResourceFile_Addr 0x65FD30
11 | #define ResourceFileBeginLoading_Addr 0x6616F0
12 | #define LoadGlobalChunks_Addr 0x664780
13 | #define GetTextureInfo_Addr 0x503400
14 |
15 |
16 | #define LoadGlobalChunks_Hook_Addr_1 0x6660c0
17 |
18 | #define GetTextureInfo_Hook_Addr_1 0x4465B2
19 | #define GetTextureInfo_Hook_Addr_2 0x450d8d
20 | #define GetTextureInfo_Hook_Addr_3 0x503579
21 | #define GetTextureInfo_Hook_Addr_4 0x5035e9
22 | #define GetTextureInfo_Hook_Addr_5 0x50364A
23 | #define GetTextureInfo_Hook_Addr_6 0x5036AE
24 | #define GetTextureInfo_Hook_Addr_7 0x5036BE
25 | #define GetTextureInfo_Hook_Addr_8 0x5037c8
26 | #define GetTextureInfo_Hook_Addr_9 0x5037db
27 | #define GetTextureInfo_Hook_Addr_10 0x5037ee
28 | #define GetTextureInfo_Hook_Addr_11 0x503801
29 | #define GetTextureInfo_Hook_Addr_12 0x503814
30 | #define GetTextureInfo_Hook_Addr_13 0x503dae
31 | #define GetTextureInfo_Hook_Addr_14 0x504F4D
32 | #define GetTextureInfo_Hook_Addr_15 0x504fc8
33 | #define GetTextureInfo_Hook_Addr_16 0x5051f5
34 | #define GetTextureInfo_Hook_Addr_17 0x5052f7
35 | #define GetTextureInfo_Hook_Addr_18 0x50535e
36 | #define GetTextureInfo_Hook_Addr_19 0x505a2d
37 | #define GetTextureInfo_Hook_Addr_20 0x5152c7
38 | #define GetTextureInfo_Hook_Addr_21 0x515337
39 | #define GetTextureInfo_Hook_Addr_22 0x5153be
40 | #define GetTextureInfo_Hook_Addr_23 0x51548e
41 | #define GetTextureInfo_Hook_Addr_24 0x515651
42 | #define GetTextureInfo_Hook_Addr_25 0x5156F1
43 | #define GetTextureInfo_Hook_Addr_26 0x5156a1
44 | #define GetTextureInfo_Hook_Addr_27 0x515741
45 | #define GetTextureInfo_Hook_Addr_28 0x517a15
46 | #define GetTextureInfo_Hook_Addr_29 0x51f562
47 | #define GetTextureInfo_Hook_Addr_30 0x56feee
48 | #define GetTextureInfo_Hook_Addr_31 0x57229c
49 | #define GetTextureInfo_Hook_Addr_32 0x579464
50 | #define GetTextureInfo_Hook_Addr_33 0x579554
51 | #define GetTextureInfo_Hook_Addr_34 0x585ca2
52 | #define GetTextureInfo_Hook_Addr_35 0x586012
53 | #define GetTextureInfo_Hook_Addr_36 0x5912c2
54 | #define GetTextureInfo_Hook_Addr_37 0x591376
55 | #define GetTextureInfo_Hook_Addr_38 0x59a166
56 | #define GetTextureInfo_Hook_Addr_39 0x59a180
57 | #define GetTextureInfo_Hook_Addr_40 0x59a5f2
58 | #define GetTextureInfo_Hook_Addr_41 0x59a885
59 | #define GetTextureInfo_Hook_Addr_42 0x6648f5
60 | #define GetTextureInfo_Hook_Addr_43 0x6C57F6
61 | #define GetTextureInfo_Hook_Addr_44 0x6D1C72
62 | #define GetTextureInfo_Hook_Addr_45 0x6D740E
63 | #define GetTextureInfo_Hook_Addr_46 0x6bf552
64 | #define GetTextureInfo_Hook_Addr_47 0x6bf571
65 | #define GetTextureInfo_Hook_Addr_48 0x6bf590
66 | #define GetTextureInfo_Hook_Addr_49 0x6bf609
67 | #define GetTextureInfo_Hook_Addr_50 0x6bf775
68 | #define GetTextureInfo_Hook_Addr_51 0x6bf7e1
69 | #define GetTextureInfo_Hook_Addr_52 0x6c58e0
70 | #define GetTextureInfo_Hook_Addr_53 0x6c5aac
71 | #define GetTextureInfo_Hook_Addr_54 0x6d03cc
72 | #define GetTextureInfo_Hook_Addr_55 0x6d1d6e
73 | #define GetTextureInfo_Hook_Addr_56 0x6d1d8d
74 | #define GetTextureInfo_Hook_Addr_57 0x6d1dac
75 | #define GetTextureInfo_Hook_Addr_58 0x6d4407
76 | #define GetTextureInfo_Hook_Addr_59 0x6d471d
77 | #define GetTextureInfo_Hook_Addr_60 0x6dae65
78 | #define GetTextureInfo_Hook_Addr_61 0x6dc38c
79 | #define GetTextureInfo_Hook_Addr_62 0x7222de
80 | #define GetTextureInfo_Hook_Addr_63 0x737103
81 | #define GetTextureInfo_Hook_Addr_64 0x738210
82 | #define GetTextureInfo_Hook_Addr_65 0x739EEA
83 | #define GetTextureInfo_Hook_Addr_66 0x739F17
84 | #define GetTextureInfo_Hook_Addr_67 0x73c6d0
85 | #define GetTextureInfo_Hook_Addr_68 0x74910d
86 | #define GetTextureInfo_Hook_Addr_69 0x74953b
87 | #define GetTextureInfo_Hook_Addr_70 0x7496b8
88 | #define GetTextureInfo_Hook_Addr_71 0x74972b
89 | #define GetTextureInfo_Hook_Addr_72 0x749a43
90 | #define GetTextureInfo_Hook_Addr_73 0x749a53
91 | #define GetTextureInfo_Hook_Addr_74 0x75fc0c
92 | #define GetTextureInfo_Hook_Addr_75 0x75fc1f
93 | #define GetTextureInfo_Hook_Addr_76 0x75fc8c
94 | #define GetTextureInfo_Hook_Addr_77 0x75fc9e
95 | #define GetTextureInfo_Hook_Addr_78 0x7B42DF
96 | #define GetTextureInfo_Hook_Addr_79 0x7B432D
97 | #define GetTextureInfo_Hook_Addr_80 0x7a352f
98 | #define GetTextureInfo_Hook_Addr_81 0x7b3320
99 |
100 | unsigned int(*bStringHash)(char* StringToHash) = (unsigned int(*)(char*))bStringHash_Addr;
101 |
102 | DWORD* (__cdecl* CreateResourceFile)(int a1, int a2, int a3, int a4, int a5) = (DWORD * (__cdecl*)(int, int, int, int, int))CreateResourceFile_Addr;
103 | int(__thiscall* ResourceFileBeginLoading)(DWORD* r, int unk1, int unk2) = (int(__thiscall*)(DWORD*, int, int))ResourceFileBeginLoading_Addr;
104 |
105 | int(__fastcall* LoadGlobalChunks)() = (int(__fastcall*)())LoadGlobalChunks_Addr;
106 |
107 | DWORD* (__cdecl* GetTextureInfo)(unsigned int hash, int returnDefault, int includeUnloadedTextures) = (DWORD * (__cdecl*)(unsigned int, int, int))GetTextureInfo_Addr;
108 |
--------------------------------------------------------------------------------
/PS_Address.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #ifndef GAME_PS
3 | #define GAME_PS
4 | #endif
5 |
6 | //#define EntryPoint 0x828C25
7 | #define WrongEntryPointErrorString "This .exe is not supported.\nPlease use a NOCD v1.1 NFS.exe."
8 |
9 | #define bStringHash_Addr 0x436680
10 | #define CreateResourceFile_Addr 0x6D6DE0
11 | #define ResourceFileBeginLoading_Addr 0x6D9430
12 | #define LoadGlobalChunks_Addr 0x6DA4D0
13 | #define GetTextureInfo_Addr 0x459C10
14 |
15 | #define LoadGlobalChunks_Hook_Addr_1 0x6DAC3A
16 |
17 | #define GetTextureInfo_Hook_Addr_1 0x458969
18 | #define GetTextureInfo_Hook_Addr_2 0x458A29
19 | #define GetTextureInfo_Hook_Addr_3 0x459170
20 | #define GetTextureInfo_Hook_Addr_4 0x4A2137
21 | #define GetTextureInfo_Hook_Addr_5 0x4A215F
22 | #define GetTextureInfo_Hook_Addr_6 0x4A8E3E
23 | #define GetTextureInfo_Hook_Addr_7 0x4A8E74
24 | #define GetTextureInfo_Hook_Addr_8 0x4A8EAB
25 | #define GetTextureInfo_Hook_Addr_9 0x4A8EE1
26 | #define GetTextureInfo_Hook_Addr_10 0x4A8F1B
27 | #define GetTextureInfo_Hook_Addr_11 0x4A8F51
28 | #define GetTextureInfo_Hook_Addr_12 0x4A8F8B
29 | #define GetTextureInfo_Hook_Addr_13 0x4A8FC2
30 | #define GetTextureInfo_Hook_Addr_14 0x4A8FFD
31 | #define GetTextureInfo_Hook_Addr_15 0x4A903D
32 | #define GetTextureInfo_Hook_Addr_16 0x4ABAE8
33 | #define GetTextureInfo_Hook_Addr_17 0x4AD22D
34 | #define GetTextureInfo_Hook_Addr_18 0x4AD25F
35 | #define GetTextureInfo_Hook_Addr_19 0x4B411F
36 | #define GetTextureInfo_Hook_Addr_20 0x4B417F
37 | #define GetTextureInfo_Hook_Addr_21 0x4B819C
38 | #define GetTextureInfo_Hook_Addr_22 0x4B992B
39 | #define GetTextureInfo_Hook_Addr_23 0x4B9960
40 | #define GetTextureInfo_Hook_Addr_24 0x4BDF5D
41 | #define GetTextureInfo_Hook_Addr_25 0x4C32A5
42 | #define GetTextureInfo_Hook_Addr_26 0x4C36CB
43 | #define GetTextureInfo_Hook_Addr_27 0x4C36FF
44 | #define GetTextureInfo_Hook_Addr_28 0x4C3731
45 | #define GetTextureInfo_Hook_Addr_29 0x4C6CDB
46 | #define GetTextureInfo_Hook_Addr_30 0x4C7379
47 | #define GetTextureInfo_Hook_Addr_31 0x4EC514
48 | #define GetTextureInfo_Hook_Addr_32 0x4EC533
49 | #define GetTextureInfo_Hook_Addr_33J 0x5489D3
50 | #define GetTextureInfo_Hook_Addr_34J 0x558618
51 | #define GetTextureInfo_Hook_Addr_35 0x58DE6A
52 | #define GetTextureInfo_Hook_Addr_36 0x58DF3A
53 | #define GetTextureInfo_Hook_Addr_37 0x58E021
54 | #define GetTextureInfo_Hook_Addr_38 0x58E091
55 | #define GetTextureInfo_Hook_Addr_39 0x592B55
56 | #define GetTextureInfo_Hook_Addr_40 0x59EA11
57 | #define GetTextureInfo_Hook_Addr_41 0x59EA61
58 | #define GetTextureInfo_Hook_Addr_42 0x5A0BFD
59 | #define GetTextureInfo_Hook_Addr_43 0x5A216D
60 | #define GetTextureInfo_Hook_Addr_44 0x5AD674
61 | #define GetTextureInfo_Hook_Addr_45 0x5B5A82
62 | #define GetTextureInfo_Hook_Addr_46 0x5B5A9C
63 | #define GetTextureInfo_Hook_Addr_47 0x5B5FA2
64 | #define GetTextureInfo_Hook_Addr_48 0x5B6279
65 | #define GetTextureInfo_Hook_Addr_49 0x5D1ADF
66 | #define GetTextureInfo_Hook_Addr_50 0x5D1C93
67 | #define GetTextureInfo_Hook_Addr_51 0x6DA6A9
68 | #define GetTextureInfo_Hook_Addr_52 0x6F92F2
69 | #define GetTextureInfo_Hook_Addr_53 0x6F9311
70 | #define GetTextureInfo_Hook_Addr_54 0x6F9330
71 | #define GetTextureInfo_Hook_Addr_55 0x6F934F
72 | #define GetTextureInfo_Hook_Addr_56 0x6F936E
73 | #define GetTextureInfo_Hook_Addr_57 0x6FAE0D
74 | #define GetTextureInfo_Hook_Addr_58 0x7433CD
75 | #define GetTextureInfo_Hook_Addr_59 0x7535F6
76 | #define GetTextureInfo_Hook_Addr_60 0x75360F
77 | #define GetTextureInfo_Hook_Addr_61 0x753628
78 | #define GetTextureInfo_Hook_Addr_62 0x753641
79 | #define GetTextureInfo_Hook_Addr_63 0x754876
80 | #define GetTextureInfo_Hook_Addr_64 0x758024
81 | #define GetTextureInfo_Hook_Addr_65 0x75FC75
82 | #define GetTextureInfo_Hook_Addr_66 0x7636A6
83 | #define GetTextureInfo_Hook_Addr_67 0x76C2DF
84 | #define GetTextureInfo_Hook_Addr_68 0x76C2F3
85 | #define GetTextureInfo_Hook_Addr_69 0x76C307
86 | #define GetTextureInfo_Hook_Addr_70 0x76C350
87 | #define GetTextureInfo_Hook_Addr_71 0x76C54A
88 | #define GetTextureInfo_Hook_Addr_72 0x76C57E
89 | #define GetTextureInfo_Hook_Addr_73 0x76C58E
90 | #define GetTextureInfo_Hook_Addr_74 0x77A6D2
91 | #define GetTextureInfo_Hook_Addr_75 0x77E8D9
92 | #define GetTextureInfo_Hook_Addr_76 0x77E8FF
93 | #define GetTextureInfo_Hook_Addr_77 0x78289E
94 | #define GetTextureInfo_Hook_Addr_78 0x782919
95 | #define GetTextureInfo_Hook_Addr_79 0x782943
96 | #define GetTextureInfo_Hook_Addr_80 0x782994
97 | #define GetTextureInfo_Hook_Addr_81 0x7829DB
98 | #define GetTextureInfo_Hook_Addr_82 0x782B0F
99 | #define GetTextureInfo_Hook_Addr_83 0x782B2E
100 | #define GetTextureInfo_Hook_Addr_84 0x782BA2
101 | #define GetTextureInfo_Hook_Addr_85 0x785A29
102 | #define GetTextureInfo_Hook_Addr_86 0x785A61
103 | #define GetTextureInfo_Hook_Addr_87 0x785A88
104 | #define GetTextureInfo_Hook_Addr_88 0x785AD0
105 | #define GetTextureInfo_Hook_Addr_89 0x785AEF
106 | #define GetTextureInfo_Hook_Addr_90 0x785B58
107 | #define GetTextureInfo_Hook_Addr_91 0x785B70
108 | #define GetTextureInfo_Hook_Addr_92 0x785B8E
109 | #define GetTextureInfo_Hook_Addr_93 0x785C6C
110 | #define GetTextureInfo_Hook_Addr_94 0x785C86
111 | #define GetTextureInfo_Hook_Addr_95 0x785CC9
112 | #define GetTextureInfo_Hook_Addr_96 0x785CE3
113 | #define GetTextureInfo_Hook_Addr_97 0x785D62
114 | #define GetTextureInfo_Hook_Addr_98 0x785D80
115 | #define GetTextureInfo_Hook_Addr_99 0x785D9C
116 | #define GetTextureInfo_Hook_Addr_100 0x787F60
117 | #define GetTextureInfo_Hook_Addr_101 0x787F73
118 | #define GetTextureInfo_Hook_Addr_102 0x78BE5E
119 | #define GetTextureInfo_Hook_Addr_103 0x78BE70
120 | #define GetTextureInfo_Hook_Addr_104 0x78C734
121 | #define GetTextureInfo_Hook_Addr_105 0x7AFF26
122 | #define GetTextureInfo_Hook_Addr_106P 0x01A17796
123 | #define GetTextureInfo_Hook_Addr_107P 0x01A177B5
124 | #define GetTextureInfo_Hook_Addr_108J 0x01A19F25
125 | #define GetTextureInfo_Hook_Addr_109J 0x01DFA029
126 |
127 | unsigned int(*bStringHash)(char* StringToHash) = (unsigned int(*)(char*))bStringHash_Addr;
128 |
129 | DWORD* (__cdecl* CreateResourceFile)(int a1, int a2, int a3, int a4, int a5) = (DWORD * (__cdecl*)(int, int, int, int, int))CreateResourceFile_Addr;
130 | int(__thiscall* ResourceFileBeginLoading)(DWORD* r, int unk1, int unk2) = (int(__thiscall*)(DWORD*, int, int))ResourceFileBeginLoading_Addr;
131 |
132 | int(__fastcall* LoadGlobalChunks)() = (int(__fastcall*)())LoadGlobalChunks_Addr;
133 |
134 | DWORD* (__cdecl* GetTextureInfo)(unsigned int hash, int returnDefault, int includeUnloadedTextures) = (DWORD * (__cdecl*)(unsigned int, int, int))GetTextureInfo_Addr;
135 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Texture Wizard
2 |
3 | Simple script that allows you to easily replace any texture. Initially supported only MW, later was expanded by nlgxzef and now supports following titles:
4 | - NFS Underground
5 | - NFS Underground 2
6 | - NFS Most Wanted
7 | - NFS Carbon
8 | - NFS ProStreet
9 | - NFS Undercover
10 |
11 | The main purpose of this script is to be a more stable alternative to TexMod. It works similar to texture packs in Minecraft - each "pack" contains it's own textures and a list of bindings to replace existing textures. Multiple packs can be used at once in a single game installation.
12 |
13 | Compiled .asi script and an example pack are included in releases.
14 |
15 | For usage refer to wiki.
16 |
--------------------------------------------------------------------------------
/TexWizard.h:
--------------------------------------------------------------------------------
1 | #include "Helpers.h"
2 | #include