Here's my idea on how it could work:
There would be a third-party party needed, and the maps would also be built using a custom map editor
The map editor would put something into the map that will cause normel starcraft to crash
The third party program will make a copy of the mpq, put the copy into a temporary folder, add something into it that will prevent the crash, and then decode the custom data from the map file and put it into the temp mpq, and tell starcraft to read data from that file during the game.
When the game ends it would delete the temporary file and revert back to the normel one, so in normel maps everything would run normel.
Is this possible?
So it just copies the contents of the map into a temp MPQ, and restarts SC using that temp MPQ? It could be possable.. but would need some work for the "custom map editor" and the 3rd party program.
I have been trying ways to load a mod without any special programs or methods.
1) There is no download link
2) There isn't even a screenshot
3) It says right in the topic that it needs a third party program to
1. its in the BETA stages
2. they are comming
3. 3rd party what 3rd party
3rd party program means that everyone needs to download and run and install a program made by you which will change things in there starcraft installation in order to run
QUOTE(pizuscag @ Feb 9 2006, 05:22 PM)
you need an *updated* version of starcraft made by me
[right][snapback]423290[/snapback][/right]
ADDITION:
And why do you say it is already implemented and stuff? You havn't released so much as a SCREENSHOT, yet alone a beta for us to try out.
Well, I think i'm going to make a program that will read in a units.dat and apply it to starcraft soon. I got the offsets from DoA.
Be careful. One of those offsets is wrong, because I typed it to fast. I don't remember which it is, but it is quite obvious when you go to memdump at that location. Notice, the subunit target range will look like the weapons.dat attack range(the exe does that).
Now I'm 99% sure that pizodraft is a hoax..
Anyways, what do you think of my idea!?
But first I need to figure out how to read and write another processes memory...
I think you can do it in the C++ program languege
I don't think it would work. Doesn't Battle.net read a map and prompt an error if it is an invalid scenario file?
As in if I hexed a map file to be a couple bytes of random data and named it mad.scx, Battle.net wouldn't let me host it.
For something involving complicated connections like that, it's easiest just to download the MOD independently.
The biggest problem I see is finding a way to transmit the data through battle.net. Perhaps you do it by creating language of triggers to represent bytes, but that would make obscenely huge SCX files.
Would there be a way to hide data in the file that will be downloaded and read by the players but that battle.net won't be able to detect as "Wierd" ?
QUOTE
I don't think it would work. Doesn't Battle.net read a map and prompt an error if it is an invalid scenario file?
Thats not Battle.net thats Starcraft itself.
Battle.net never actually reads your map. It just sets up servers with some of the map info and displays them in a list for us and helps us download the map off of other people. Add Chat Rooms and Text Commands and thats all battle.net really does for us.
QUOTE
As in if I hexed a map file to be a couple bytes of random data and named it mad.scx, Battle.net wouldn't let me host it.
Thats Starcraft. Starcraft basically can't understand the file thus wont let you host it because to Starcraft the file makes no sense.
Battle.net is not the problem at all. All Battle.net does is give us a chat room, chat commands, Server List, Start-Game GUI.
Thats all it really does, the servers at battle.net never read the data in your map. Infact you can be disconnected from Battle.net in a game without being disconnected in the game.
The problem is getting the data read by Starcraft. How you would go about doing that would be the hard part. Starcraft opens up the map, if something is wrong in staredit\scenario.chk so it cannot read the map it will come up with an error. SI said something about that it would be possible, but Blizzard would most likly ban it because it could also be used to spread viruses.
Yes, but since the map is an MPQ you can put whatever the hell you want in it.
I remember Clokr once gave TT a copy of proedit in a map.
True, you can put whatever you want inside it, but SC won't read it since it doesn't possess the ability to read raw hex data for such purpose.
yes, but you can write a program to make it read it. Or, an early idea of AutoModder was that you could change the load order to make it so the map had higher MPQ priority than patch_rt.mpq .
I've put random stuff into a map and played it on Battle.net. As long as staredit\scenario.chk is working fine, then Starcraft can play it.
I know, this was the basis for AutoModder (which never got made).
One of these maps would not have to crash normal sc users, because they would desync.
A third party editor would not be needed, because you could put a dat file made with Datedit in there.
How about this:
A third party program injects mods into a map, and changes a few bytes in the chk that will make normel starcraft give an error
Then have an alternate loader used for opening starcraft, if you want to play on a modded map, you open it with that, and it will use all the custom data from the map and not give an error, and it won't change the original starcraft at all, so if you ever don't want to use it anymore you would just delete the file
Would that work?
Or you could hex edit starcraft so it reads .mpq as another map type and make it to where it loads the staredit\scenario.chk from mpq files along with any modded files to where when it loads the mpq you can play a game on it and it will also include the mod changes but, noone without the mpq can play the map with regular starcraft and it will (probably) give them a error when they join about it being a invalid scenario file
But will battle.net accept someone trying to host a map that ends in .mpq?
I'm pretty sure there has been a mod where someone made a .sce file and that it worked on b.net perfectly...but that was quite a few patches ago and may not work now
Could just have a double extension.. E.G.
.scx = run normel
.mod.scx = runs using mod
B.net will detect it as the same no matter what that way