• Log InLog In
  • Register
Liquid`
TeamLiquid Liquipedia LiquidDota LiquidLegends
EDT 16:17
CEST 22:17
KST 05:17
  • 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
WTL 2022 Summer - Week 3 Recap & Week 4 Preview6WTL 2022 Summer - Week 2 Recap & Week 3 Preview8Rogue wins 4th GSL Code S Championship60Road to CCL S4: A World without Drafts1WTL 2022 Summer - Week 1 Recap & Week 2 Preview11
Community News
DHM Valencia: SpeCial, Nice, MeomaikA win regionals18Neeb joins ONSYDE Gaming15[BSL15] LatAm Championship - 24 - 30 May, 02:00 AM11ESL Open #123: herO doubles, SKillous wins EU8DHM Valencia: Regionals Group Draw15
StarCraft 2
General
Caster Feedback Thread DHM Valencia: SpeCial, Nice, MeomaikA win regionals 2022 GSL Season 2 (Qualifiers) What balance / design changes do you want to see? Replay sites
Tourneys
[Alpha Pro Series] ByuN vs NightMare DreamHack Masters: Valencia 2022 - Regionals Alpha Pro Series: Ultimate Showdown #12 LTK Invitational Team League ITaX Super Series#80 - Zest, Classic, Dream & soO
Strategy
Calling out PiG and Winter Simple things you can do to improve Practice Partner Thread Season 1 - 2018 What is the math on 17 nexus vs 20 nexus?
Custom Maps
[M] (2) Altitude StarLance | Extension Mod – Multiplayer LotV
External Content
Mutation # 318 Negative Reinforcement Mutation # 317 Price of Progress Mutation # 316 Fright nigh Mutation # 315 Chilling Adaptation
Brood War
General
ASL S13 Revenge Battle StarCraft BroodWar - Soundtrack Remastered Edition BW General Discussion BGH auto balance -> http://bghmmr.eu/ Maporino 2022!: Entering the Epicenter (map)
Tourneys
[STPL] Money Match #1 - pSi vs Red - $20+ Asia Championship MIHU Was eliminated KCM 2022 Season 2 [BSL15] LatAm Championship - 24 - 30 May, 02:00 AM
Strategy
Add 1 medic per base vs storm drops TvT: Wraiths or Battlecruisers? Why recall is not used on tanks? TvP Rush vs Best and vulture harassment.
Other Games
Heroes of the Storm
HotS: WP and Funny Moments Road to CCL S4: A World without Drafts Road to CCL S4: Meeting the New Rosters
General Games
Crossfire: Legion - A new RTS combining C&C and SC Path of Exile Nintendo Switch Thread Destiny 2 - PC/Xbox/PS4 Total War: Warhammer III
TL Mafia
TL Mafia Community Thread Chezinu streak(s) Mafia
Hearthstone
Introduce yourself!
LoL General
LoL Tournaments
LoL Strategy
Community
General
NASA and the Private Sector US Politics Mega-thread Russo-Ukrainian War Thread Trading/Investing Thread The China Politics Thread
Fan Clubs
The Creator Fan Club Zest Fan Club The Moon Fan Club
Media & Entertainment
Korean Music Discussion Anime Discussion Thread Series you have seen recently... [SCIFI Series] The Expanse Movie Discussion!
Sports
2021 - 2022 Football Thread McBoner: A hockey love story Formula 1 Discussion NBA General Discussion 2021 NFL/CFB Season
Tech Support
Computer Build, Upgrade & Buying Resource Thread Simple Questions Simple Answers The Ultimate Mouse Thread
TL Community
The Automated Ban List
Blogs
Immortality
Starlightsun
First time having "S*X".
Garnet
Gomorrah
Broodwar4lyf
my maps
NicknameLucifer
Getting Back to it..!.20 years…
FuDDx
Age
AmericanUmlaut
Is Team Liquid a light blue …
aisight
PCT Highlights: Lakes & Northe…
Tak3r
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1160 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
Canada15384 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
49512 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
Hungary4089 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
Sexico5650 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
Germany2704 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
Germany749 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 States3582 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 States2399 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
ESL Pro Tour
20:00
NA Groups Day 2
FuturE vs AsunaLIVE!
Bioice vs NamsharLIVE!
Astrea vs Epic
Scarlett vs TriGGeR
Neeb vs Ukko
DisK vs PiLiPiLi
MaSa vs binski
Vindicta vs MCanning
CosmosSc2 101
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
NarutO 369
Kas 119
Nathanias 103
CosmosSc2 101
ProTech93
BRAT_OK 67
TKL 67
JuggernautJason50
Heroes of the Storm
Grubby1952
Counter-Strike: Global Offensive
fl0m2152
jkaem647
byalli640
Super Smash Bros
Mew2King132
Other Games
Liquid`RaSZi4243
Day[9].tv552
Mlord480
Happy395
Trikslyr135
HitmanStarcraft2132
HugS8623
desRow7
Organizations
StarCraft 2
Esl_sc26456
ESL.tv6456
Counter-Strike: Global Offensive
ESL CS:GO1976
StarCraft 2
ESL_sc2b627
OGamingTV SC2 203
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 19 non-featured ]
StarCraft 2
• davetesta 9
• swpro1 2
• PlayArcher 2
• Rodzyn 2
• intothetv
• Gussbus
• IndyKCrew
• Alpha X_
• LaughNgamez Trovo
• Laughngamez YouTube
• Migwel
• aXEnki
• Poblha
• Kozan
StarCraft: Brood War
• sscaitournament7
• STPLYoutube
• AfreecaTV YouTube
• BSLYoutube
Other Games
• itshafu1658
Upcoming Events
PSISTORM Gaming Misc
2h 43m
BSL: ProLeague
3h 43m
Deathfate Pro Team League
4h 13m
Alpha Pro Series
5h 43m
NightMare vs ByuN
Alpha Pro Series
12h 43m
ByuN vs Classic
Rogue vs Astrea
ESL Pro Tour
15h 43m
ITaX Super Series
15h 43m
Zest vs Dream
Classic vs soO
ESL Pro Tour
18h 43m
Krystianer vs Soulspirit
BattleB vs HellRaiser
DnS vs YoungYakov
MaNa vs uThermal
Serral vs SKillous
HateMe vs Harstem
HeRoMaRinE vs MaxPax
PtitDrogo vs Lambo
ESL Pro Tour
23h 43m
Astrea vs Namshar
Asuna vs TriGGeR
Epic vs Scarlett
FuturE vs Bioice
Neeb vs PiLiPiLi
Ukko vs binski
DisK vs MCanning
MaSa vs Vindicta
BSL: ProLeague
1d 3h
[ Show More ]
Alpha Pro Series
1d 12h
ESL Pro Tour
1d 15h
ESL Pro Tour
1d 18h
ShoWTimE vs goblin
ArT vs GunGFuBanDa
ShaDoWn vs Rattata
ForJumy vs Clem
Reynor vs BattleB
HellRaiser vs Krystianer
Soulspirit vs Gerald
Spirit vs Elazer
OSC
1d 20h
ESL Pro Tour
1d 23h
Astrea vs Bioice
Scarlett vs FuturE
TriGGeR vs Epic
Namshar vs Asuna
Neeb vs MaSa
Vindicta vs DisK
MCanning vs Ukko
binski vs PiLiPiLi
PSISTORM Gaming Misc
2 days
BSL: ProLeague
2 days
ESL Pro Tour
2 days
ESL Pro Tour
2 days
ShoWTimE vs ArT
ShaDoWn vs goblin
ForJumy vs GunGFuBanDa
Clem vs Rattata
AqueroN vs PtitDrogo
Lambo vs MaxPax
Serral vs HateMe
Harstem vs DnS
ESPOT SC2 Circuit
2 days
ESL Pro Tour
2 days
Neeb vs binski
Ukko vs Vindicta
DisK vs MaSa
PiLiPiLi vs MCanning
Astrea vs TriGGeR
Namshar vs Scarlett
Asuna vs Bioice
Epic vs FuturE
BSL: ProLeague
3 days
ESL Pro Tour
3 days
ESL Pro Tour
3 days
ESL Pro Tour
3 days
ShoWTimE vs Clem
Rattata vs ForJumy
GunGFuBanDa vs ShaDoWn
goblin vs ArT
HeRoMaRinE vs Lambo
MaxPax vs AqueroN
PtitDrogo vs Strange
Bly vs MilkiCow
ESL Pro Tour
3 days
Astrea vs Scarlett
TriGGeR vs Bioice
Namshar vs FuturE
Asuna vs Epic
Neeb vs DisK
MaSa vs Ukko
Vindicta vs PiLiPiLi
MCanning vs binski
BSL: ProLeague
4 days
ESL Pro Tour
4 days
ESL Pro Tour
5 days
OlimoLeague
5 days
ESL Pro Tour
5 days
Deathfate Pro Team League
6 days
ESL Pro Tour
6 days
ESL Pro Tour
6 days
Liquipedia Results

Completed

BSL Season 15 Asia
Championship of Russia 2022
Heroes Rise: Contender Series 3
PGL Major Antwerp 2022

Ongoing

RCG 2021
CWCL Season 4
Deathfate Pro Team League
HoneyCai Friendlies Season4
FS Mania
Wolfberry Invitational 2v2
CSCL: Masked Kings
GAN Race Survival Season 4
CSL season 5 Late Spring Cup
BSL Season 15 LA
WTL 2022 Summer
DHM Valencia: EU
DHM Valencia: NA
DHM Valencia: CN
Community Clash League S4
Masters Clash Champ. 2022
ESL Challenger League S41 NA
ESL Challenger League S41 EU
ESL Challenger League S41 APAC
WePlay Academy League S4
Pinnacle Cup IV

Upcoming

BSL Season 15
BSL Season 15 NA
BSL Season 15 EU
2022 GSL: ST 2
DH Masters Atlanta
2022 GSL S3: Code S
DH Masters Valencia
StarCraft II: NationWars 7
2022 GSL S2: Code S
IEM Rio Major 2022
IEM Cologne 2022
ESL Challenger Valencia 2022
EPL Conference Season 16
BLAST Premier Spring Finals
Pinnacle Cup Championship
ESL Impact League S1 Finals
IEM Dallas 2022
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 © 2022 TLnet. All Rights Reserved.