As Xel asked, I started new thread.
I don't want to say that this is the only one and absolutely correct method. I may have made a mistake or it's not completely accurate, but it's works. Anyway if you interested in "model replacing" you can take some useful information from my thoughts and little practice.
About archives (basic)
At first I thought I must describe basic about new archive system. Now your client files not completely already patched. you have basic files as "art.MPQ" "expansion1.MPQ" "world.MPQ" etc. (it's contain full files), and patches named as "wow-update-xxxxx.MPQ". Unlike of basic archives, it's may contain as full files and only patch-data for this files (you can distinguish it by specific header "PTCH"). also now patch archives have another folder structure - as patches. i.e. in root folder must be "base" or name of locale ("enGB", "ruRU" for sample), and only in this folders are standard folder structure (as in basic archives).
about archives (loading & caching)
not all archives loaded immediately as you start client. at first loading "art.MPQ", "sound.MPQ", "world.MPQ" and latest "expansionX.MPQ" (for full CC only "expansion3.MPQ", just believe me) include locale analogs. then load patch-archives, and if contain not full files (only path data), then this files patch basic files and repack it as patched in "cache" folder. full files non repack in cache. remaining "expansionX.MPQ" loaded only on "characterselect" screen. loaded patch-archives must be named only as "wow-update-xxxxx.MPQ" where "xxxxx" is a number equal or less then your client version (i.e. 13329) archives with more number will be ignored.
about protection
first protection is "wow.mfil". it's check hashes of all "official" archives, and if hash of any of it is does not match, when this file should be completely re-downloaded. this check starts before display anything.
another what I know is a file "signaturefile" it's contain list of some files with it's hashes. at the end of this file present digital signature i.e. if you try to modify any part of this file, signature at the end will no correct. it means, what you can replace without error of this protection only files not contain in "signaturefile", or you must fake it anyway.
I don't tell about additional GlueXML/FrameXML protection, because it's not completely for this aspect.
I think it's all what I know at this time.
ok. now about replacing models.
if you want replace models safe:
at first - you must be sure what your files (replaced models) not described in "signaturefile"
at second - you must be sure what your files not contain in latest patch, or it be replaced, or you can get error, because if client try to patch your file it may make anything unworkable.
if you do not care about safe, you may not pay attention to the above.
now you must put it in appropriate folder and your root folder must be placed in "base" folder (for sample "\baseCharacterTaurenMaleTaurenMale.m2") now you must pack "base" folder as MPQ archive.
for "safe" method, you must rename your archive as prelast (for sample 13328 ). for nonsafe, at firs you must rename latest patch as prelast, and yours as latest (13329). when add your file in "Data" folder.
for safe sample you can download this archive (wow-update-13328.MPQ) use it and you can see a result:
![]()
it's replace default cc scene by worgen scene without any modification of "wow.exe" file/memory or any another intrusion.
for non safe method, where you can replace anything with anything you must fake all of described protections.
I make quick patch for "wow.exe" for this, but you must keep in mind, what all similar methods are bannable, and I'm strongly recommend you do not use it for official servers. only for private.
wow_unsig(13329)ssd.zip
it's disable all at once:
- GlueXML/FrameXML folder checks and renaming;
- first online archives check ("mfile");
- "signaturefile" check (at least on glue screens);
- second socket connection (for private servers).
it's temporary, and I make self patch with separated fixes at next week.
once again: I strongly recommend you do not try to use it for official servers.
screens for sample (TaM replaced by NEF without textures):
![]()
![]()
you can read some more here:
[Announce] Model Edits 4.0.3a (#162)
[Announce] Model Edits 4.0.3a (#167)
p.s. may be some late I append this post.
uvc video sample - model_replacing.exe
some more about files/archives in post #25