• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 06:10
CEST 12:10
KST 19:10
  • 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
[ASL16] Ro8 Preview Pt2: Blunt Impact5The Best Worst Final: sOs vs INnoVation11[ASL16] Ro8 Preview Pt1: Rematches10ZeroSpace - Xol Faction Reveal57WTL 2023 Winter - Code A Preview/Power Rank14
Community News
WTL 2023 Winter Tournaments32023 Code S Season 3 Ro16 Groups9New PTR Patch 5.0.12123ESL Open #193: herO, MaxPax, Clem win3ESL Masters Winter 2023 - Qualifiers + Schedule0
StarCraft 2
General
The Big List of Superpowers No SC2 at Asian Games? David Kim, Blizzard vets to work on new RTS New PTR Patch 5.0.12 New Map Pool Has 9 Maps
Tourneys
[AfreecaTV Pro Series] Cure vs soO PIG STY FESTIVAL 4.0! (20-24 September) [AfreecaTV Pro Series] Astrea vs GuMiho GdA-Night Tournament Tenacious Turtle Tussle (Americas/OCE/Asia)
Strategy
[G] YAKS LOTV: Yet Another hotKey Setup - zerg Simple Questions Simple Answers Practice Partner Thread Season 1 - 2018
Custom Maps
StarLance | Extension Mod – Multiplayer LotV
External Content
Mutation # 388 Resilient Rifts Mutation # 387 Train of Pain Mutation # 386 Dance Dance Evolution Mutation # 385 Knock Knock
Brood War
General
[ASL16] Ro8 Preview Pt2: Blunt Impact Gameplay wins / funny fails in twitch-clip format BGH auto balance -> http://bghmmr.com/ Little things you hate about Brood War? [ASL16] Ro16 Preview Pt2: Even Scales
Tourneys
[ASL16] Ro8 Day 3 New Worlds Star League The North America Pro League Golden Girl Tournament (Offline Peru)
Strategy
Simple Questions, Simple Answers Why is ____ not used for (Matchup here)? ZvP Retro Walls Hiding Defilers
Other Games
General Games
Stormgate/Frost Giant Megathread Path of Exile Cyberpunk 2077 Diablo IV FF7 remake for PS4 announced
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
[Summer Split] LoL Esports General Discussion
Heroes of the Storm
Heroes International Nations Cup - Berlin 2023 HotS: WP and Funny Moments
Hearthstone
Is Hearthstone Gambling?
TL Mafia
TL Mafia: Generative Agents Showdown TL Mafia Community Thread Everybody smurfs for TTT mafia Quarterly Mafia 1 - part 2 QM Part 2 Vote Thread
Community
General
Russo-Ukrainian War Thread US Politics Mega-thread NASA and the Private Sector The Games Industry And ATVI Men's Fashion Thread
Fan Clubs
RotterdaM Fan Club The Stephano Fan Club Mvp Fan Club
Media & Entertainment
[Manga] One Piece [Manga] Berserk Anime Discussion Thread Movie Discussion!
Sports
2023 - 2024 Football Thread 2023 NFL/CFB Season Formula 1 Discussion TeamLiquid Health and Fitness Initiative For 2023 NBA General Discussion
World Cup 2022
FIFA World Cup Qatar 2022 Thread
Tech Support
Cannot log into Liquipedia.net using tl.net accoun Spotify and SC II
TL Community
Gay StarCraft Players The Automated Ban List
Blogs
Jumper cheats his way …
Luke-AI-lycan
Baal's last 15 years, with …
WGT-Baal
Returning to Starcraft. Balance …
-_-
About parenting
Uldridge
EternaLEnVy Post DotA Tr…
EternaLEnVy
Darius the great Golden plates…
kfpnw
Three Volume VI
Mizenhauer
[Girl blog] These feelings do…
Garnet
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1444 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
51010 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
Germany2708 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 States3651 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 States2624 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
Afreeca Starleague
10:00
Round of 8 / Match 3
Sharp vs Mini
Afreeca ASL 3332
StarCastTV_EN61
AfreecaTV YouTube
Liquipedia
ESL Open Cup
09:00
Asia Open Cup #194
WardiTV539
OGKoka 378
SteadfastSC302
CranKy Ducklings107
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
OGKoka 378
Ryung 242
Harstem 195
Forgg! 36
StarCraft: Brood War
Sea 14489
Calm 4161
Bisu 1575
Pusan 1300
BeSt 888
Jaedong 747
Larva 638
Horang2 604
EffOrt 564
Rain 495
[ Show more ]
Light 295
hero 236
PianO 189
Zeus 181
Hyuk 175
Shuttle 123
Mong 97
ToSsGirL 86
Rush 73
sorry 49
Mind 45
Bale 35
[sc1f]eonzerg 32
ajuk12(nOOB) 13
Purpose 11
Jumperer 8
Sexy 7
Noble 6
scan(afreeca) 1
Dota 2
BananaSlamJamma1604
XcaliburYe789
XaKoH 578
Fuzer 152
Other Games
olofmeister3888
singsing2900
Stewie2K2413
ceh91392
Liquid`RaSZi808
shoxiejesuss529
x6flipin493
Mew2King346
rGuardiaN164
crisheroes141
HitmanStarcraft2136
Hui .53
Liquid`LucifroN4
Organizations
StarCraft 2
Esl_sc2207
ESL.tv207
StarCraft: Brood War
UltimateBattle 136
lovetv 10
StarcraftVOD6
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 14 non-featured ]
StarCraft 2
• Adnapsc2 8
• aXEnki
• intothetv
• Gussbus
• Kozan
• IndyKCrew
• LaughNgamez Trovo
• Laughngamez YouTube
• Migwel
• Poblha
StarCraft: Brood War
• sscaitournament1
• BSLYoutube
• STPLYoutube
League of Legends
• Ambition1684
Upcoming Events
ESL Open Cup
5h 50m
ESL Open Cup
12h 50m
AfreecaTV Pro Series
21h 50m
Cure vs soO
Afreeca Starleague
23h 50m
EffOrt vs Action
WardiTV Korean Royale
1d
Creator vs Solar
Creator vs DongRaeGu
Maru vs ByuN
Maru vs TBD
ByuN vs TBD
DongRaeGu vs NightMare
Solar vs NightMare
WardiTV Korean Royale
2 days
GuMiho vs Ryung
GuMiho vs Stats
herO vs RagnaroK
herO vs Dark
RagnaroK vs Cure
Stats vs Astrea
Ryung vs Astrea
Cure vs Dark
Kung Fu Cup
2 days
WardiTV Korean Royale
3 days
Classic vs ByuN
Scarlett vs Solar
Dark vs RagnaroK
Cure vs Ryung
GuMiho vs Astrea
Maru vs DongRaeGu
Creator vs NightMare
herO vs Stats
PassionCraft
3 days
World Team League
4 days
[ Show More ]
Korean StarCraft League
4 days
Grand Platypus Open
4 days
WardiTV Korean Royale
5 days
World Team League
5 days
Sniper's StarCraft League
5 days
Sparkling Tuna Cup
5 days
WardiTV Korean Royale
6 days
World Team League
6 days
BSL
6 days
Liquipedia Results

Completed

CSL 10: 2023 Fall
PiG Sty Festival 4.0
Raven Court Inhouse League
IESF WEC 2023

Ongoing

FS Mania
BSL 25x25
ASL Season 16
GSL2023 S2
WardiTV Korean Royale S2
ESL Challenger League S46 NA
ESL Challenger League S46 AP
ESL Pro League Season 18
CCT Online Finals #3

Upcoming

BSL Season 17
Copa Latinoamericana Season 2
Bombastic 25th Anniversary LAN
ESL Winter
ESL Winter: Asia
ESL Winter: Americas
ESL Winter: Europe
2023 GSL S3: Code S
WTL 2023 Winter
BlizzTour 4
Calamity Stars
CS:GO Asia Championships 2023
FiReLEAGUE Global Finals
Thunderpick World Championship
Roobet Cup 2023
IEM Sydney 2023
BLAST Premier Fall AME Showdown
BLAST Premier Fall EU Showdown
ESL Challenger League S46 EU
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.