• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 11:02
CET 16:02
KST 00:02
  • 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 2023 Summer - Qualifiers Preview + Power Rank13[Interview] Dewalt18Tournament Spotlight: Crowdfunded Pre-Season Events16[ASL15] Ro24 Preview: Welcome Back!25A Tidal Wave in Still Water - Oliveira at IEM Katowice22
Community News
Liquibet SC2 Season 27 Recap11SCboy: 2023 Tournament Plans8ESL Open Cup #166: Dark, MaxPax, ByuN win4Classic, DRG, Nice, and Strange join Mystery Gaming13Team DPG and KZ Merge, rebranded as DKZ.23
StarCraft 2
General
Tournament Spotlight: Crowdfunded Pre-Season Events WTL 2023 Summer - Qualifiers Preview + Power Rank The Death of Korean SC2, and Where We Go From Here Scelight 6.0: Patch 3.0 + LotV support Looking for a herO game
Tourneys
[WTL 2023] Summer Qualifier and Code A $10,000 PIG STY FESTIVAL 3.0! (March 15-19) Ukrainian Cup Powered By Hot Headed Gaming Playoff Kung Fu Cup and Master's Coliseum Return for 2023 Afreeca World 101!
Strategy
[H] (PvP) WTF Nexus rush into recall probe/zealot Neural parasite on disruptors?
Custom Maps
[A] Proxy Rush [A] SC Real Scale [A] (Minigames) Raynor Party [D] Planning to host a small map tournament
External Content
Mutation # 361 And Drops and Rifts Mutation # 360 Double Trouble Mutation # 359 Enhanced Defenses Mutation # 358 The Ascended
Brood War
General
Looking for an old game (impossible challenge) The uncertainty behind FlaSh's Return; In-depth [Update] ShieldBattery: League Support! [ASL15] Ro24 Preview: Welcome Back! BGH auto balance -> http://bghmmr.com/
Tourneys
[Megathread] Daily Proleagues [BSL16] RO3 - SemiFinals - Sunday 18:00 CET Copa Latinoamericana StarCraft by OliPatrick Small VOD Thread 2.0
Strategy
Carriers or arbiters Starcraft Remastered Build Orders February 2023 Marine rate of fire
Other Games
General Games
Frost Giant announce Stormgate Diablo IV Final Fantasy XIV Nintendo Switch Thread Destiny 2 - PC/Xbox/PS4
Dota 2
Official Dota and Chess General Discussion Lima Major 2023
League of Legends
LiquidLegends to reintegrate into TL.net [Patch Notes] Release General Discussion
Heroes of the Storm
HotS: WP and Funny Moments
Hearthstone
TL Mafia
TL Mafia Community Thread Liquid Arcanon News [0]Paper Team Liquid Maria L TL Mafia Idea Factory Chezinu streak(s) Mafia
Community
General
US Politics Mega-thread UK Politics Mega-thread Russo-Ukrainian War Thread Trading/Investing Thread The Chess Thread
Fan Clubs
The Phredxor Fan Club The Scarlett Fan Club The Clem Fan Club
Media & Entertainment
Movie Discussion! Anime Discussion Thread [Manga] One Piece Korean Music Discussion [\m/] Heavy Metal Thread
Sports
2022 - 2023 Football Thread Formula 1 Discussion 2021 NFL/CFB Season UFC/MMA Discussion Thread NBA General Discussion
World Cup 2022
FIFA World Cup Qatar 2022 Thread
Tech Support
how to play music while streaming with xsplit Computer Build, Upgrade & Buying Resource Thread
TL Community
Recent Gifted Posts Happy Birthday R1CH! Ask TL Staff Anything
Blogs
Return of CranKy Du…
CranKy Ducklings
TL Currency Converter Mafia…
Minely
An ex-schizoid's u…
ApatheticSchizoid
20 years plus!
FuDDx
ASL 15 English Commentary…
namkraft
Teaching StarCraft Blog …
Lovethelord
Why Liquipedia needs Notabi…
FO-nTTaX
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1222 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
50907 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 States3633 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
World Team League
12:00
WTL Code A Qualifier Day 2
RotterdaM627
CranKy Ducklings200
SteadfastSC107
Liquipedia
WardiTV Korean Royale
12:00
Group A - Day 1
Ryung vs ScarlettLIVE!
GuMiho vs Scarlett
Creator vs Maru
NightMare vs Maru
WardiTV1688
ComeBackTV 779
IndyStarCraft 326
IntoTheiNu 302
3DClanTV 100
HorussTv 69
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
RotterdaM 627
IndyStarCraft 326
ProTech141
SteadfastSC107
Creator 40
StarCraft: Brood War
Calm 4001
Sea 2537
GuemChi 1672
Shuttle 1561
Horang2 1441
Stork 880
Soma 648
BeSt 468
ggaemo 327
Light 303
[ Show more ]
Mini 242
Sea.KH 225
Mind 176
Leta 154
Mong 137
firebathero (twitch) 119
Sharp 114
Hyun 84
hero 76
firebathero 60
Rush 47
Rock 35
zelot 15
Oya187 14
ajuk12(nOOB) 13
scan(afreeca) 13
94Khala 11
HiyA 4
Dota 2
Gorgc7577
qojqva3482
Attackerdota689
EternaLEnVy615
boxi98175
League of Legends
Trikslyr57
Counter-Strike: Global Offensive
pimpcsgo2140
fl0m1445
Foxcn116
Other Games
Stewie2K4631
singsing4013
hiko3322
DeMusliM870
Pyrionflax610
crisheroes587
Lowko362
MaximusBlack259
Fuzer 249
ArmadaUGS168
KnowMe149
QueenE59
ViBE37
Organizations
Counter-Strike: Global Offensive
ESL CS:GO45040
ESL CS:GO B25760
StarCraft 2
Esl_sc2112
ESL.tv112
StarCraft: Brood War
StarcraftVOD3
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 19 non-featured ]
StarCraft 2
• intothetv
• IndyKCrew
• Poblha
• Migwel
• Laughngamez YouTube
• Alpha X_
• aXEnki
• LaughNgamez Trovo
• Gussbus
• Kozan
StarCraft: Brood War
• sscaitournament1
• STPLYoutube
• BSLYoutube
• AfreecaTV YouTube
League of Legends
• Jankos5050
• TFBlade3375
• Nemesis1733
• Lourlo814
Other Games
• WagamamaTV354
Upcoming Events
Afreeca Starleague
18h 58m
Royal vs Shine
Jaedong vs Action
WardiTV Korean Royale
20h 58m
Classic vs SpeCial
Cure vs Stats
herO vs RagnaroK
SpeCial vs Stats
Classic vs Cure
Solar vs ByuN
herO vs Solar
RagnaroK vs ByuN
Afreeca Starleague
1d 18h
Rush vs Barracks
Queen vs JyJ
WardiTV Winter Champion…
1d 20h
RagnaroK vs HonMonO
NightMare vs Kelazhur
PassionCraft
2 days
Korean StarCraft League
2 days
WardiTV Winter Champion…
2 days
HeRoMaRinE vs Gerald
Elazer vs INnoVation
WardiTV Korean Royale
3 days
Maru vs Ryung
DongRaeGu vs NightMare
GuMiho vs Dark
Ryung vs NightMare
Maru vs DongRaeGu
Creator vs Scarlett
GuMiho vs Creator
Dark vs Scarlett
Sniper's StarCraft League
4 days
ESL Pro Tour
4 days
[ Show More ]
WardiTV Korean Royale
4 days
Cure vs ByuN
TBD vs RagnaroK
TBD vs herO
Cure vs RagnaroK
ByuN vs TBD
Solar vs Stats
TBD vs Solar
herO vs Stats
BSL: ProLeague
5 days
Bonyth vs TBD
Amantes de StarCraft 2
5 days
ESL Pro Tour
6 days
ESL Pro Tour
6 days
Afreeca Starleague
6 days
Soulkey vs BeSt
Snow vs Light
Liquipedia Results

Completed

Ultimate Battle: Snow vs BarrackS
PiG Sty Festival 3.0
Tournament by teenyeu #2
CCT Central EU Malta Finals

Ongoing

FS Mania
CWCL Season 6
BWCL Season 58
Copa Latinoamericana
ASL Season 15
Individual Silver League
Spring Cup Season 4: China
KCM Ladies Race Survival 2023 Season 1
KCM Race Survival 2023 Season 1
BSL Season 16
Spring Cup Season 4
WardiTV Korean Royale
WardiTV Winter 2023
NGS Storm Division S6
Calamity Cup Division A - Season 5
META Madness #7
ESL Pro League Season 17
ESL Challenger League S44 NA
ESL Challenger League S44 EU
ESL Challenger League S44 AP

Upcoming

CHN vs KOR Week35
KOR-CHN Ladies Invitational League 1: Duck9 vs CoCo
KOR-CHN Invitational League 10: Organ vs Kid
WTL 2023 Summer
LTK Thunderball
BLAST.tv Paris Major 2023
ESL Challenger Melbourne 2023
IEM Rio 2023
BLAST.tv Paris 2023: EU RMR B
BLAST.tv Paris 2023: EU RMR A
BLAST.tv Paris 2023: APAC RMR
BLAST.tv Paris 2023: AME RMR
BLAST Premier Spring AME Showdown
BLAST Premier Spring EU Showdown
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.