Python_Max Ukraine. January 26 2009 01:14. Posts 51 | Profile # |
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)Last edit: 2009-01-27 17:40:07 |
|

|
fusionsdf Canada. January 26 2009 01:17. Posts 14626 | Profile Blog # |
foreign community: 26 blizzard devs: 2
---- nice work, thanks :DLast edit: 2009-01-26 01:18:32 |
| MyDream fan | No longer a savior fan
ᶫᵒᵛᵉᵧₒᵤ. (except savior) |  |
|
|
GTR Oz. January 26 2009 01:25. Posts 28016 | Profile Blog # |
Nice!
Uploaded onto TL webspace because host sites suck!
Here! |
| 최설리 ♡
밀크쉐이크 바닐라 아이스크림 |  |
|
|
Racenilatr United States. January 26 2009 01:26. Posts 2756 | Profile Blog # |
very awsome. Thanks!
Btw:Mega Upload doesn't suck that badly |
| |
|
Python_Max Ukraine. January 26 2009 01:27. Posts 51 | Profile # |
On January 26 2009 01:17 fusionsdf wrote: foreign community: 26 blizzard devs: 2
Sorry don't get this :D |
|
|
freelander Hungary. January 26 2009 01:29. Posts 3038 | Profile Blog # |
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 |
| | Never compromise. |  |
|
|
IzzyCraft United States. January 26 2009 01:32. Posts 4487 | Profile Blog # |
| Is that 26 really meaning something vs the 2 what is the 2 blizzard gets? |
| I have ass for brains so,
even when I shit I'm droping knowledge. |
|
|
Cloud Sexico. January 26 2009 01:34. Posts 5136 | Profile Blog # |
| Like... its a JOKE dude, dont take it so seriously.. |
| | BlueLaguna on West, msg for game. |
|
|
MasterReY Germany. January 26 2009 01:34. Posts 2153 | Profile Blog # | |
| | Get.ReY ~ Going effective together ~ Biggest Reach fan on TL.net (Don't even dare to mention LR now) |  |
|
|
MasterOfChaos Germany. January 26 2009 01:37. Posts 2266 | Profile Blog # |
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. |
| | If you give me a username written by the hand of the most honest of men, I will find something in it which will ban him. |
|
|
Doso Germany. January 26 2009 01:37. Posts 499 | Profile # |
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. |
|
|
Python_Max Ukraine. January 26 2009 01:41. Posts 51 | Profile # |
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 xDLast edit: 2009-01-26 01:43:27 |
|
|
Python_Max Ukraine. January 26 2009 01:42. Posts 51 | Profile # |
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... |
|
|
|
imBLIND United States. January 26 2009 03:31. Posts 1380 | Profile Blog # |
| i don't think you can use this online cause he modded the code of starcraft... |
| | im deaf |  |
|
|
MasterOfChaos Germany. January 26 2009 03:36. Posts 2266 | Profile Blog # |
| 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. |
| | If you give me a username written by the hand of the most honest of men, I will find something in it which will ban him. |
|
|
|
Python_Max Ukraine. January 26 2009 03:53. Posts 51 | Profile # |
| UPDATE: v. 0.0.0.2 should work online now. |
|
|
prOxi.Beater Denmark. January 26 2009 04:06. Posts 512 | Profile # |
| You can't use this fix online, but it's still nice to have for offline use. |
| | Nobody beats the Beater |  |
|
|
Python_Max Ukraine. January 26 2009 04:17. Posts 51 | Profile # |
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? |
|
|
|   | 1 2 3 Next All |