• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 19:00
CET 01:00
KST 09:00
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
The Road to Katowice - 2022/23 Retrospective21Disasterpiece Theater: Soulkey vs sOs (2013-05-21)11WTL 2022 Winter - Regular Season Awards + Wrap-up24WTL Winter - The 2v2 Tour25WTL 2022 Winter - Regular Season Finale7
Community News
[BSL16] - RO16 Group Stage11ESL Open Cup #159: herO, Spirit, Dark win5WardiTV 2023 Opens (Monthly)1IEM Katowice 2023 - Hosts & Commentators25Serral leaves ENCE, joins Basilisk26
StarCraft 2
General
5.0.11 Patch Released - Balance Changes The Road to Katowice - 2022/23 Retrospective IEM Katowice 2023 - Hosts & Commentators Serral leaves ENCE, joins Basilisk SC2 shut down in China, WTL to continue
Tourneys
NorCal StarFest I [Alpha Pro Series] MaxPax vs ByuN WardiTV 2023 Opens (Monthly) $5000 #PassionCraft Knockout TournyCraft free tourny management web app
Strategy
Custom Maps
[A] (Minigames) Raynor Party [A] [TPS RPG] Transformers: Open World (WIP) Work In Progress Melee Maps
External Content
Mutation # 354 Media Blackout Mutation # 353 Hostile Territory Mutation # 352 Railroad Switch Mutation # 351 Assembly of Vengeance
Brood War
General
BW General Discussion BGH auto balance -> http://bghmmr.eu/ [ASL15] Afreeca Starleague To Start On Feb 14 miss chance, rng, and some code experiments BoxeR stream
Tourneys
New Worlds Map Contest III: All Submissions (VOTE HERE) [BSL16] - RO16 Group Stage Dewalt vs. top Chinese players - 1/28/2023 [Megathread] Daily Proleagues
Strategy
Marine rate of fire Simple Questions, Simple Answers Valkyrie dmg formula? 2v2 Spell Combos
Other Games
General Games
Sid Meier's Civilization VI Destiny 2 - PC/Xbox/PS4 Path of Exile Fire Emblem The PlayStation 5
Dota 2
[DPC 23] Tour 1 Discussion Official Dota and Chess General Discussion
League of Legends
[Spring 2023] LoL E-sports General Discussion [Patch Notes] Release General Discussion
Heroes of the Storm
HotS: WP and Funny Moments
Hearthstone
TL Mafia
TL Mafia Plays: Diplomacy TL Mafia Community Thread Team Liquid Maria L
Community
General
Russo-Ukrainian War Thread Coronavirus and You UK Politics Mega-thread NASA and the Private Sector US Politics Mega-thread
Fan Clubs
The Flash Fan Club The GoOdy Fan Club The TY Fan Club
Media & Entertainment
[TV] HBO The Last Of Us series Anime Discussion Thread Korean Music Discussion [Manga] One Piece Movie Discussion!
Sports
2022 - 2023 Football Thread 2021 NFL/CFB Season NBA General Discussion TeamLiquid Health and Fitness Initiative For 2022
World Cup 2022
FIFA World Cup 2022 - Knockout Stage FIFA World Cup Qatar 2022 Thread
Tech Support
Red text blurry and funky blue on black text Which Gaming Laptop Should I Buy? Simple Questions Simple Answers
TL Community
Is there a SQSA thread for this site? Recent Gifted Posts Happy Birthday R1CH!
Blogs
It's that time of year YET A…
Umpteen
I'm still around doodling and…
Glider
Someone Crashed my Plane …
micronesia
A spiritual journey th…
mewithoutDrew
The Kitty Arcade Saga
MrBitter
My Goals for 2023
DeNikSSB
State of StarCraft II
Jealous
Burning it all down - Reti…
BreAKerTV
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1412 users

1.16.1 repfix (pause/chat)

Forum Index > BW General
Post a Reply
1 2 3 Next All
Python_Max
Profile Joined November 2007
Ukraine51 Posts
Last Edited: 2009-01-27 08:40:07
January 25 2009 16:14 GMT
#1
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)
fusionsdf
Profile Blog Joined June 2006
Canada15390 Posts
Last Edited: 2009-01-25 16:18:32
January 25 2009 16:17 GMT
#2
foreign community: 26
blizzard devs: 2

----
nice work, thanks :D
SKT_Best: "I actually chose Protoss because it was so hard for me to defeat Protoss as a Terran. When I first started Brood War, my main race was Terran."
GTR
Profile Blog Joined September 2004
50890 Posts
January 25 2009 16:25 GMT
#3
Nice!

Uploaded onto TL webspace because host sites suck!

Here!
CommentatorTwitter: @GTR1H
Stream: http://www.twitch.tv/GTR1H
Racenilatr
Profile Blog Joined August 2008
United States2756 Posts
January 25 2009 16:26 GMT
#4
very awsome. Thanks!

Btw:Mega Upload doesn't suck that badly
Python_Max
Profile Joined November 2007
Ukraine51 Posts
January 25 2009 16:27 GMT
#5
On January 26 2009 01:17 fusionsdf wrote:
foreign community: 26
blizzard devs: 2

Sorry don't get this :D
freelander
Profile Blog Joined December 2004
Hungary4707 Posts
January 25 2009 16:29 GMT
#6
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
And all is illuminated.
IzzyCraft
Profile Blog Joined June 2007
United States4487 Posts
January 25 2009 16:32 GMT
#7
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
Profile Blog Joined November 2004
Sexico5880 Posts
January 25 2009 16:34 GMT
#8
Like... its a JOKE dude, dont take it so seriously..
BlueLaguna on West, msg for game.
MasterReY
Profile Blog Joined August 2007
Germany2707 Posts
January 25 2009 16:34 GMT
#9
wow great THANKS !
https://www.twitch.tv/MasterReY/ ~ Biggest Reach fan on TL.net (Don't even dare to mention LR now) ~ R.I.P Violet ~ Developer of SCRChart
TL+ Member
MasterOfChaos
Profile Blog Joined April 2007
Germany2896 Posts
January 25 2009 16:37 GMT
#10
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.
LiquipediaOne eye to kill. Two eyes to live.
Doso
Profile Joined March 2008
Germany765 Posts
January 25 2009 16:37 GMT
#11
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
Profile Joined November 2007
Ukraine51 Posts
Last Edited: 2009-01-25 16:43:27
January 25 2009 16:41 GMT
#12
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
Python_Max
Profile Joined November 2007
Ukraine51 Posts
January 25 2009 16:42 GMT
#13
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...
tec27
Profile Blog Joined June 2004
United States3627 Posts
Last Edited: 2009-01-25 17:10:19
January 25 2009 17:09 GMT
#14
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)
Can you jam with the console cowboys in cyberspace?
imBLIND
Profile Blog Joined December 2006
United States2623 Posts
January 25 2009 18:31 GMT
#15
i don't think you can use this online cause he modded the code of starcraft...
im deaf
MasterOfChaos
Profile Blog Joined April 2007
Germany2896 Posts
January 25 2009 18:36 GMT
#16
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.
LiquipediaOne eye to kill. Two eyes to live.
liger13
Profile Blog Joined February 2008
United States1060 Posts
January 25 2009 18:36 GMT
#17
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
I feel like pwning noobs
Python_Max
Profile Joined November 2007
Ukraine51 Posts
January 25 2009 18:53 GMT
#18
UPDATE: v. 0.0.0.2 should work online now.
prOxi.Beater
Profile Joined December 2008
Denmark626 Posts
January 25 2009 19:06 GMT
#19
You can't use this fix online, but it's still nice to have for offline use.
Nobody beats the Beater
Python_Max
Profile Joined November 2007
Ukraine51 Posts
January 25 2009 19:17 GMT
#20
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
Please log in or register to reply.
Live Events Refresh
Next event in 1d 9h
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
PiGStarcraft735
NeuroSwarm 301
Nathanias 230
ViBE132
ZombieGrub102
trigger 98
JuggernautJason 70
aXVindicta 32
StarCraft: Brood War
Britney 12883
Artosis645
Dota 2
Grubby5129
EternaLEnVy1011
BananaSlamJamma580
League of Legends
JimRising 705
Counter-Strike: Global Offensive
fl0m848
Super Smash Bros
C9.Mang0190
Heroes of the Storm
Liquid`Hasu433
Other Games
summit1g3931
Stewie2K2882
Day[9].tv1997
Sick1196
sgares448
Trikslyr115
Maynarde93
febbydoto11
Organizations
Counter-Strike: Global Offensive
ESL CS:GO455
Other Games
gamesdonequick288
Dota 2
BeyondTheSummit272
StarCraft 2
Esl_sc2195
ESL.tv195
Other Games
BasetradeTV163
StarCraft: Brood War
StarcraftVOD3
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 23 non-featured ]
StarCraft 2
• musti20045 51
• davetesta38
• Vindicta 32
• RayReign 12
• Poblha
• Migwel
• Laughngamez YouTube
• LaughNgamez Trovo
• IndyKCrew
• Kozan
• Gussbus
• intothetv
• aXEnki
• Alpha X_
StarCraft: Brood War
• Airneanach14
• sscaitournament1
• BSLYoutube
• AfreecaTV YouTube
• STPLYoutube
Dota 2
• WagamamaTV966
Other Games
• imaqtpie2633
• Day9tv1997
• Shiphtur781
Upcoming Events
HomeStory Cup
1d 9h
Rex vs Nina
Astrea vs SKillous
Astrea vs Rex
Cure vs Nina
Kelazhur vs Rex
Showmatch
3 days
BSL: ProLeague
3 days
ESL Pro Tour
4 days
BSL: ProLeague
4 days
ESL Pro Tour
5 days
ESL Pro Tour
6 days
Liquipedia Results

Completed

ASL Season 15: Online Qualifier Day 2
OSC Championship Season 10
NGS Storm Division S6 Quals
BLAST Premier Spring Groups

Ongoing

BSL Season 16
KCM Ladies Race Survival 2023 Season 1
Individual Golden League
Strength Challenge 30K
Tournament of Honor
FS Mania
RISS Season 1
Spring Cup Season 4: Korea
Spring Cup 4: Chinese Qualifier
Spring Cup 4: Chinese Qualifier 1
WTL 2022 Winter
NGS Storm Division S6
ESL Challenger League S44 NA
ESL Challenger League S44 EU
ESL Challenger League S44 AP

Upcoming

Hongtu Solo League S5: KOR
ASL Season 15
Spring Cup Season 4
Spring Cup Season 4: China
Spring Cup 4: Chinese Qualifier 2
CHN vs KOR Week31
#PassionCraft Knockout
IEM Katowice 2023
BLAST.tv Paris Major 2023
ESL Challenger Melbourne 2023
ESL Pro League Season 17
CCT Central EU Malta Finals
IEM Katowice 2023
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2023 TLnet. All Rights Reserved.