Its obvious that my solution works only if your mod is mpq only. Havent used firegraft/memgraft and other similar modding tools, but if I remember right these make modifications to some tables that reside in the starcraft.exe, so they create patches too, they are not mpq only. To make things worse, they might make hack-like code patches, but again, I dont know these tools. Still there is a good solution to play mods windowed, and it has good chances to work even with firegraft: Someone in the previous posts quoted MasterOfChaos' reply with the InfectInject solution. InfectInject is a program of mine. I used it to help programming/debugging for myself. It can be used to inject a piece of code into an exe or dll (for example to starcraft.exe), and after it the infected module tries to load a dll when you start it. For example if you infect starcraft.exe with it, then it will try to load starcraft.exe.visitor as a dll. If you place there an injectable dll plugin (by renaming wmode.dll or scwnd.hdl to starcraft.exe.visitor) then starcraft will automatically load it because of the "infection". This way you can use a 3rd party program that manipulates starcraft, still starcraft is also loading a plugin of your choice in addition. The only problem can be if your third party plugin (like firegraft) check the checksum of starcraft.exe, or another problem can be if you are playing online where the "infection" is caught by cheat detection. If you need to load more than one plugins with the InfectInject program, then you have to write a dll that will be loaded by starcraft because of the infection, and then your dll loads a lot of other dlls you want.
EDIT:
I don't have compiled versions of the previously mentioned programs at hand, they are stored somewhere on a harddrive, but thanks to MasterOfChaos who conserveed some good stuff I found this:
http://winner.cspsx.de/Starcraft/Tool/InfectedStarcraft.zipIt also seems that MoC put in a multiplexer dll of his own (InfectedStarcraft.exe.visitor, the stuff I wrote about in the last sentence in my post), so you don't have to bother with this. The only problem with this is that it contains W-MODE 1.01 DLL, and not the version 1.02
Extract this zip to your starcraft folder. The zip already contains an infected starcraft.exe of version 1.16.1. If you want to use it with another version then delete InfectedStarcraft.exe, make a copy of starcraft.exe of your version as InfectedStarcraft.exe and run "InjectInfect InfectedStarcraft.exe" once to "infect" your starcraft. Then edit InfectedStarcraft.exe.injlist and remove all plugins from the list that are not compatible with your starcraft version. My plugins (multipleinstances.dll, and wmode.dll) are working with all starcraft versions.
If you need your starcraft executable to have the name "starcraft.exe" instead of "InfectedStarcraft.exe", then just rename InfectedStarcraft.exe to Starcraft.exe, and do similarly with InfectedStarcraft.exe.visitor and InfectedStarcraft.exe.injlist.
Thats all! Try it, and keep on crying if it doesn't work...
Thanks goes to MoC for the packaged stuff.
Post has been edited 1 time(s), last time on Dec 31 2011, 9:04 pm by DevliN. Reason: Double post
None.