I've also posted this here:
http://forum.samods.org/index.php?topic=7313.0This program boosts the priority of the scm/scx file to be above everything else and also keeps the map open after it was initially opened until a different map is opened. This combination allows any files that get loaded after the map is clicked on the map selection screen to be able to get loaded from the map. This includes various data files and even the chat screen you see when joining the game.
It also is able to force Starcraft to reload the preloaded graphics-related files on supported versions.
The program is in the form of a self-patcher or an MPQDraft plugin. To use it, first make a map which has modified Starcraft files in it, then load SCMLoader.exe.
http://shadowflare.samods.org/dwnload.html#SCMLoaderI've made some test maps. You can try them out and see some things this can do.
http://shadowflare.samods.org/files/(8)The%20Hunters.scmhttp://shadowflare.samods.org/files/(4)Space%20Battle.scxhttp://shadowflare.samods.org/files/(1)Space%20Battle.scxAll three of those have the same modified files, they are just different maps.
I'm also in the process of making a Use Map Settings map that makes extensive use of various modified files. The thread for the map:
http://www.staredit.net/index.php?showtopic=35478Here is a list of types of files and specific files used while playing, but are currently unpatchable by SCMLoader because they are loaded too early. I'm not going to list any files that don't have any effect on anything that you see before you click the map in the list, like menu graphics and layouts from before you click the map and files for game type settings.
.grp files for cursors (patchable in current beta)
Most .tbl files in arr\
rez\sfxdata.dat
Now for the files that ARE patchable:
(mostly just put in the order I saw them in the log file)
scripts\iscript.bin
Most other .grp files
All .lo* files
rez\images.dat
rez\images.tbl
rez\gluChat.bin and all files that go along with it (seems to only work for host, others only see it on the next game they join)
Tileset graphics
All color palette related files (used in the test maps to change all the colors
)
parallax\star.spk
arr\sprites.dat
arr\flingy.dat
arr\upgrades.dat
arr\weapons.dat
arr\techdata.dat
arr\portdata.dat and .tbl
arr\orders.dat
In-game fonts
All in-game sounds, including music
rez\stat_txt.tbl
scripts\aiscript.bin
scripts\bwscript.bin
Mission briefing .bin files and graphics
In-game interface graphics
game\icons.grp
unit\wirefram\tranwire.grp
unit\wirefram\grpwire.grp
unit\wirefram\wirefram.grp
unit\cmdbtns\zcmdbtns.grp
unit\cmdbtns\cmdicons.grp
The .trg files
Custom unit portraits might be possible
Custom .bin files for in-game menus and interfaces
Everything on the victory and defeat screens
Also, a custom music\playlist.txt file may be added, with the same format used for my playlist plugin.
FireGraft patches from the FireGraft beta are now supported in the current SCMLoader beta.
ASM actions are not supported yet (and not in FireGraft either). However, I don't think I want to have it support ASM actions or at least not be enabled by default. I will likely put in an alternative language for the code that SCMLoader will compile itself when it is used, which will have certain things pre-defined to make it so it can potentially be cross-version compatible but mainly to keep arbitrary code from being put in, since that is a serious security risk. To do the cross-version compatibility, there would be names associated with various offsets and those offsets would be updated for new versions. Of course, for this to work I would need input from people about what kinds of offsets to support. If someone wishes to help with making this happen, writing a parser in C/C++ or pointing me to where I could find a general parser for this would help it happen sooner.
I didn't make a complete list of every single file because that would take too long to write and too long to read.
The information given should be sufficient, though.
In the current release, there is also a "Use Map Settings (SCMLoader)" game type that SCMLoader automatically registers with Starcraft when SCMLoader is running. With this game type you can make it easier to find others playing SCMLoader-enabled maps.
It now also has auto notification of updates to help keep features consistent between SCMLoader users.
In addition to that, it has a feature that would allow map-makers to have optional graphics/sound/music packs for their SCMLoader-enabled maps so that they don't have to include these with the map and make the file size too large, but instead would be able to have them as an optional download (most likely they would put a url to it somewhere in the map).