|
RepFix is a BWL/ChaosLauncher plugin which fixes StarCraft's (1.16.1) crash when watching a replay with chat text recorded while game was paused.
Download v. 0.0.0.4: http://depositfiles.com/files/wk71bm2ie
The bug itself seems to be very old. Basically replay action processing looks like: 1) read the actions for next tick and copy actions data to the buffer 2) wait until that tick comes, read actions from the buffer and execute
When game is paused the tick remains unchanged, so every chat message written while game paused has been recorded with that tick when game was paused. The problem is in that the buffer in which actions are copied for execution is too small. I believe about 12 messages are enough to make it overflow. And when overflow happens the data overrides neighbor memory areas in which are other variables located.The consequences can be very different and depend on amount of messages has been recorded during pause.
What I did is a replacement of static buffer with dynamic one. 1) when copying actions to the buffer: 1.1) when overwrite - allocate new buffer, write data to the new buffer 1.2) when append (multiple actions for a single tick) - append to the previously allocated buffer increasing its size if needed 2) when reading from a static buffer - return a pointer to the dynamic buffer instead of static
Plugin patches StarCraft's code, so use it on your own risk!
I will be very appreciated for any testing/bugreports. Later I will merge this fix into ICCup Launcher.
EDIT: It has nothing to do with saving a replay, it just fixes a playback You need this only when watching a replay not playing a game.
Thanks.
PS: I believe the main mistake of BW developers was to count chat text as game action. I would rather record/read it in a different way. But I'm not the one who decide ^^
EDIT: http://www.iccup.com/starcraft/forum/general_forum/starcraft_forum_/50888.html?1232900679
EDIT2: the bug is old, but it was impossible to produce so many actions for a single tick... before RWT was implemented! Because player was unable to make game actions while game paused. Thats why I believe that text messages should not count as game actions.
UPDATE: v. 0.0.0.2 should work online now. UPDATE: v. 0.0.0.3 fixed action loss in bnet-mode. UPDATE: v. 0.0.0.4 fixed activation behavior (when replay starts)
|
foreign community: 26 blizzard devs: 2
---- nice work, thanks :D
|
51394 Posts
Nice!
Uploaded onto TL webspace because host sites suck!
Here!
|
very awsome. Thanks!
Btw:Mega Upload doesn't suck that badly
|
On January 26 2009 01:17 fusionsdf wrote: foreign community: 26 blizzard devs: 2
Sorry don't get this :D
|
On January 26 2009 01:27 Python_Max wrote:Show nested quote +On January 26 2009 01:17 fusionsdf wrote: foreign community: 26 blizzard devs: 2
Sorry don't get this :D
score
|
Is that 26 really meaning something vs the 2 what is the 2 blizzard gets?
|
Like... its a JOKE dude, dont take it so seriously..
|
|
Germany2896 Posts
nice  Starcraft had(I think it was fixed in 1.15.0) a bug where if the data for a replayframe was >255 bytes the replay got corruped. In that patch they corrected it to start a new replayframe with the same framenumber containing the remaining commands which apparently fixed the problem(PP did it way before blizzard by the way). So I'm surprised that chat cause these problems, while multicommands do not. They generate many commands in one frame and corrupted the replay before the fix.
|
I loaded this into Chaoslauncher.
When I am trying to connect to Battle.net (Europe) with English StarcraftI get an error saying that Starcraft can't verify the application version. A friend of mine has the same problem.
|
On January 26 2009 01:37 MasterOfChaos wrote:nice  Starcraft had(I think it was fixed in 1.15.0) a bug where if the data for a replayframe was >255 bytes the replay got corruped. In that patch they corrected it to start a new replayframe with the same framenumber containing the remaining commands which apparently fixed the problem(PP did it way before blizzard by the way). So I'm surprised that chat cause these problems, while multicommands do not. They generate many commands in one frame and corrupted the replay before the fix. Each message action is 82 bytes long. I think such amount of data (per tick) as 12-15 messages was not reached yet, until RWT xD
|
On January 26 2009 01:37 Doso wrote: I loaded this into Chaoslauncher.
When I am trying to connect to Battle.net (Europe) with English StarcraftI get an error saying that Starcraft can't verify the application version. A friend of mine has the same problem. OMG, I just patch it when started, but seems I should wait until replay starts then patch...
|
Very nice job, Python But yeah, try to make it wait til a replay is loaded 
Offsets I use for that: 006D0F14 - byte, 0 for out of, 1 for in replay 006D11EC - byte, 0 for out of game, 1 for ingame (You have to use them both, because the replay one will for some reason trigger when you first enter the menu to load a replay (the file selection part). Actually, now that I think about it, using only the first one would probably work fine for this application)
|
i don't think you can use this online cause he modded the code of starcraft...
|
Germany2896 Posts
no it's just that he patches to early and thus fails the revision check. He just needs to patch only during a replay. But of course anybody without this fix who watches the replay with you will still crash.
|
On January 26 2009 03:31 imBLIND wrote: i don't think you can use this online cause he modded the code of starcraft... at least it might speed up Blizz's patch ... + Show Spoiler +might take a month and 1/2 instead of two 
|
UPDATE: v. 0.0.0.2 should work online now.
|
You can't use this fix online, but it's still nice to have for offline use.
|
On January 26 2009 04:06 prOxi.Beater wrote: You can't use this fix online, but it's still nice to have for offline use. Why?
|
On January 26 2009 04:17 Python_Max wrote:Show nested quote +On January 26 2009 04:06 prOxi.Beater wrote: You can't use this fix online, but it's still nice to have for offline use. Why? I think he probably just posted without seeing the new version
|
UPDATE: v. 0.0.0.3 fixed action loss in bnet-mode.
|
Boner-tastic. I love you.
|
|
There is still a bug with this fix, watch this replay with the fix: at my bw the zergs doesnt do anything while watching with the fix, without the fix it is working -_- or is the fix just for playing new gaems, not for watching "old/bugged" replays with it?
here the link for the replay
|
Buffer overflows are nice. Now I almost want to try and make a replay with some executable code in it :x
Thank you for the fix, a very elegant solution.
|
On January 26 2009 15:22 Delphi wrote:There is still a bug with this fix, watch this replay with the fix: at my bw the zergs doesnt do anything while watching with the fix, without the fix it is working -_- or is the fix just for playing new gaems, not for watching "old/bugged" replays with it? here the link for the replay The fix is for replays that crash/bug out due to replay text (1.16.0 and 1.16.1 only). If the replay is bugging out due to version difference (for instance, playing an old replay in a newer SC), this plugin won't help you out.
|
On January 26 2009 15:22 Delphi wrote:There is still a bug with this fix, watch this replay with the fix: at my bw the zergs doesnt do anything while watching with the fix, without the fix it is working -_- or is the fix just for playing new gaems, not for watching "old/bugged" replays with it? here the link for the replay Thanks for the replay I will take a look later tonight.
|
the replay is of 1.16.1 and i also played it in 1.16.1 and without the rep fix it works perfectly despite we chatted in the pause, and when i view it with the fix it is bugged thats the weird thing
|
On January 26 2009 21:31 Delphi wrote: the replay is of 1.16.1 and i also played it in 1.16.1 and without the rep fix it works perfectly despite we chatted in the pause, and when i view it with the fix it is bugged thats the weird thing I got it, I will take a look when I'm back home 
EDIT: ok, I've managed to watch it. In singleplayer mode it works fine. But seems something still wrong when watching a replay online. Thanks again, with your replay I will fix it asap.
|
Good job man, I always like to see bad things fixed.
|
Germany2896 Posts
seems to work with build 1,but not build 3 for me.
|
Man, Blizzard should just immediately fix this bug and make another update.
|
On January 26 2009 23:12 meegrean wrote: Man, Blizzard should just immediately fix this bug and make another update. I would be happy if they do that.
|
Anyone reported this on bnet forums?
|
UPDATE: v. 0.0.0.4 fixed activation behavior (when replay starts)
|
|
On January 27 2009 01:05 niteReloaded wrote: Anyone reported this on bnet forums? Bugreport was sent via "contact support" page.
|
|
Will this make a replay saved on 1.16.0 which was corrupted by too much text during a pause work? Or does it only work on replays saved while using this?
|
It has nothing to do with saving a replay, it just fixes a playback. So I believe yes, that replay should work.
|
On January 26 2009 17:09 tec27 wrote:Show nested quote +On January 26 2009 15:22 Delphi wrote:There is still a bug with this fix, watch this replay with the fix: at my bw the zergs doesnt do anything while watching with the fix, without the fix it is working -_- or is the fix just for playing new gaems, not for watching "old/bugged" replays with it? here the link for the replay The fix is for replays that crash/bug out due to replay text (1.16.0 and 1.16.1 only). If the replay is bugging out due to version difference (for instance, playing an old replay in a newer SC), this plugin won't help you out.
How hard can it be for Blizz to make their patches backwards compatible? What is causing them to exclude such self-evident features?
Edit: Thx, python_max!
|
Germany2896 Posts
That replays are not compatible between patches is a direct result of the way they work. And it will be the same for SC2. But they might include a solution to load the correct version when loading the replay.
|
On January 31 2009 07:12 MasterOfChaos wrote: That replays are not compatible between patches is a direct result of the way they work. And it will be the same for SC2. But they might include a solution to load the correct version when loading the replay. there was a sc2 batch question about replay rewinding etc (not possible), this should be a question though imo.
|
On January 31 2009 07:34 CharlieMurphy wrote:Show nested quote +On January 31 2009 07:12 MasterOfChaos wrote: That replays are not compatible between patches is a direct result of the way they work. And it will be the same for SC2. But they might include a solution to load the correct version when loading the replay. there was a sc2 batch question about replay rewinding etc (not possible), this should be a question though imo. I'm fairly certain it was asked at one time and the answer was basically "We'll look into it." It's been done for other RTSes though, so I think they should be able to find a simple way to go about it.
|
Sorry to bump this, but is there a way to permanently fix replays that are broken from pause? So that subsequent viewings don't require repfix to be loaded
|
On April 06 2009 05:20 floor exercise wrote: Sorry to bump this, but is there a way to permanently fix replays that are broken from pause? So that subsequent viewings don't require repfix to be loaded A blizzard patch 1.16.2 that does the same as repfix would be the only way I think. But if they do one they wont test it and in some mysterious way it'll fuck up all replays for no apparent reason at all.
|
So theres no way of saving a replay of a replay, or removing the problematic text or anything like that
|
Does anyone still have the plugin to upload? I have a bugged replay that was caused by ingame chat during a paused game.
I tried BWDechat to remove all the chat but it still doesn't fix it.
Just had a long 35 min game and won after my main got destroyed. I'd really appreciate your help. Thanks!
edit: found it here http://wiki.teamliquid.net/starcraft/Chaoslauncher
The replay still bugs out T_T
|
On June 14 2015 04:21 JieXian wrote:Does anyone still have the plugin to upload? I have a bugged replay that was caused by ingame chat during a paused game. I tried BWDechat to remove all the chat but it still doesn't fix it. Just had a long 35 min game and won after my main got destroyed. I'd really appreciate your help. Thanks! edit: found it here http://wiki.teamliquid.net/starcraft/ChaoslauncherThe replay still bugs out T_T This plugin only fixes an issue in BW when it tries to play back the replay. It sounds like your replay is corrupted
|
On June 14 2015 05:23 xboi209 wrote:Show nested quote +On June 14 2015 04:21 JieXian wrote:Does anyone still have the plugin to upload? I have a bugged replay that was caused by ingame chat during a paused game. I tried BWDechat to remove all the chat but it still doesn't fix it. Just had a long 35 min game and won after my main got destroyed. I'd really appreciate your help. Thanks! edit: found it here http://wiki.teamliquid.net/starcraft/ChaoslauncherThe replay still bugs out T_T This plugin only fixes an issue in BW when it tries to play back the replay. It sounds like your replay is corrupted
It was working until the 20th minute mark or so (when I paused and entered some chat) and some of the units stopped moving and stuff stops building 
Please let me know if there's another way to fix it, thanks!
|
Download link not available...........the file was deleted..........please fixit
|
|
|
|
|