Making replays possible with these different launchers

Started by SCFan68, March 07, 2010, 04:55:28 AM

Previous topic - Next topic

SCFan68

Some brainstorming on IRC lead to some revelations about how all this works, that may be helpful to making these launchers even better.


In order to view any replay, the map you played on must have originated from somewhere in the cache\ subfolders.  Lazy Launcher needs to load the map from there for the later replay to work.


The 00\11 stuff people have said before was unnecessary.  The map files can go anywhere inside the cache\ subfolders. No renaming required.  

I've tested myself by doing the following:


1)  copied all my original 14, unmodified map files to the cache\00 folder (I put them there to just keep them separate from the others, anywhere works. The root of the cache folder, a new subfolder completely.. anwhere, just under the cache\ folder).
2)  launched Lazy Launch 2, and pointed to one of those maps, in those cache folders.
3)  Game came up, got "victory" because it's unmodified without AI's.  Fooled around a bit, and then quit game.
4)  Loaded replay with LazyLaunch 2, and it worked and played properly.


Now the problem is, most of these launchers take the original map file, and make a new, temporary map file that is used.  They recompile it or whatever and add in the AI starting locations, and in some cases, the AI code.  Then they save it somewhere, and launch Lazy Launcher using that temp map file.  Then when you are done it deletes this temp map file.


Possible solutions for replays:


1)  Have this temporary file be created somewhere IN the cache sub-folders, with a unique name (so it's not overwritten each time by the next one).  And leave it behind when game is finished.  Then a replay via Lazy Launcher is possible. However, over time, this would mean more and more unique maps filling your cache folders.


2)  Another solution would be for the launchers to be coded to handle for this.  Create the temp map file, in the proper location (under cache\ somewhere).  Launch it from there with Lazy Launcher.  And delete it afterwards.   But add functionality to the launcher to play replays.  And have it RE-CREATE that temporary map file, as needed, depending on the replay in question, somehere in the cache.  Not sure if this is fully feasible and how much work it would be, but it would mean not leaving tons of maps behind every time you play. Having the launcher be dynamic to create and delete temporary map files, as needed.


1) is the quick easy solution that tech savvy people can deal with.  2) is more ideal for the average user, but would take more coding.
I hope to have helped.

SCFan68

I found a work around, at least using Zoxc's launcher.


His creates the map file in the "Files" subfolder of his main software folder.


I setup a match the way I wanted (races, colors, map, AI etc).  Then launched.
Then Quit the game when it started.
Then I took the file "Map.s2ma", from the SC2Launcher2.2.1\Files sub folder, and I copy and pasted it to the battle.net\cache folder.
Then I used Lazy Launcher directly to launch the game, choosing the map from the cache subfolder.


The replay of this game worked.  A lot to go through each time, but for those of us that want to do it, I thought I'd pass the info along. Using this method, you could use the launcher as a tool to create the scenarios you want in terms of map, players, AI, etc, and then give them a unique name in the cache folder, and launch them from there.

kblood

That might explain my "discovery". Any maps put into and run from the cache/downloads folder will have working replays. I am very annoyed with having to play maps from the cache folder.
Your idea however is simply awesome and the way it is meant to be, for the launcher to create the map temporary file each game. Although that probably will take some work, figuring out a working cache system, and avoiding that it conflicts with regular Starcraft 2 Beta cache.
So far I have run into a problem with every replay being out of sync. Seems I will have to fix that first.
My other idea is simply making a big mountain of maps with all settings  ??? Yea, that is the easiest way to do it the way I see it so far. A way to simplify it would be to make the launcher have some kind of script / code that spits out all these possible versions of the maps. But once that is possible for the launcher, the cache problem would be solved any how  :-\


My other, other idea is to make maps that are scriptet very differently. Maps with everything in them, the AI, and some new recoded map initialization that allows you to choose races and number of players "in game". Once that script is done, it should work for any map it is added to, just like the AI. Main problem would how to make such an interactive menu in the beginning of an AI map? And a map that heavily modded might stop being a replayable map.
Well thats the gist of my thoughts about it at the moment. I recently became very interesting in finding a way to make replays work. Not sure how easy it would be to make it work without running maps directly from the cache folder though. If that will be the solution in the end, then the newest Starcraft Loader needs a new folder picker, because you cant type in your own AI path, and it is rather hard clicking into hidden folders as it is now.

Dark_Templar

Does this work with replays from ppl that are officially in beta?

SCFan68

For replays from the real beta, you just need the full cache files for the real maps and stuff. They are out there in a number of places.  I don't have a link handy.  But for normal, real beta replays, you need all the cache files in place to watch them.

kblood

http://darkblizz.org/Forum2/sc2-tools/a-chinese-launcher-for-selecting-race-color-and-observer/
With this launcher, the StarLauncher v0.3, I can open replays directly from a folder in the cache folder. I choose the download folder, since it seems appropriate. What is even nicer about it, you can share replays.
The way you are doing with that other launcher, I never got it to work. This way however, makes you only need one of each map, and I would prefer these maps to have the AI installed directly in them. The actual AI script is no more than 300kb, so one map pack per AI script is not that bad. Considering we can all share each others replays. And launch maps choosing team, races, being observer, and all that each game. Which I guess might already be working for others, but that other loader is really confusing to me, I hate how it uses my registry to change settings. Also whenever it launches, it fails to use my graphical settings etc. in game. Which is maxxed out  8)


Here is a tutorial on how to run official replays. In the other link there is a short explanation on how to make it possible for us to share replays. One way at least.
http://darkblizz.org/Forum2/not-enough-pylons/how-to-view-your-own-replays-(with-full-instructions-on-how-to-install-the-game)/