• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 08:04
CEST 14:04
KST 21:04
  • 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
[ASL21] Ro24 Preview Pt2: News Flash10[ASL21] Ro24 Preview Pt1: New Chaos0Team Liquid Map Contest #22 - Presented by Monster Energy17ByuL: The Forgotten Master of ZvT30Behind the Blue - Team Liquid History Book20
Community News
Weekly Cups (March 23-29): herO takes triple6Aligulac acquired by REPLAYMAN.com/Stego Research8Weekly Cups (March 16-22): herO doubles, Cure surprises3Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool51Weekly Cups (March 9-15): herO, Clem, ByuN win4
StarCraft 2
General
Team Liquid Map Contest #22 - Presented by Monster Energy Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool What mix of new & old maps do you want in the next ladder pool? (SC2) Aligulac acquired by REPLAYMAN.com/Stego Research Weekly Cups (March 23-29): herO takes triple
Tourneys
RSL Season 4 announced for March-April Sparkling Tuna Cup - Weekly Open Tournament StarCraft Evolution League (SC Evo Biweekly) WardiTV Mondays World University TeamLeague (500$+) | Signups Open
Strategy
Custom Maps
[M] (2) Frigid Storage Publishing has been re-enabled! [Feb 24th 2026]
External Content
Mutation # 519 Inner Power The PondCast: SC2 News & Results Mutation # 518 Radiation Zone Mutation # 517 Distant Threat
Brood War
General
Klaucher discontinued / in-game color settings BGH Auto Balance -> http://bghmmr.eu/ Pros React To: JaeDong vs Queen [ASL21] Ro24 Preview Pt2: News Flash Gypsy to Korea
Tourneys
[Megathread] Daily Proleagues [ASL21] Ro24 Group E [ASL21] Ro24 Group F Azhi's Colosseum - Foreign KCM
Strategy
Fighting Spirit mining rates What's the deal with APM & what's its true value Simple Questions, Simple Answers
Other Games
General Games
Starcraft Tabletop Miniature Game Nintendo Switch Thread Stormgate/Frost Giant Megathread General RTS Discussion Thread Darkest Dungeon
Dota 2
The Story of Wings Gaming Official 'what is Dota anymore' discussion
League of Legends
G2 just beat GenG in First stand
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Mafia Game Mode Feedback/Ideas TL Mafia Community Thread Five o'clock TL Mafia
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread NASA and the Private Sector Things Aren’t Peaceful in Palestine Canadian Politics Mega-thread
Fan Clubs
The IdrA Fan Club
Media & Entertainment
[Req][Books] Good Fantasy/SciFi books [Manga] One Piece Movie Discussion!
Sports
2024 - 2026 Football Thread Formula 1 Discussion Cricket [SPORT] Tokyo Olympics 2021 Thread General nutrition recommendations
World Cup 2022
Tech Support
[G] How to Block Livestream Ads
TL Community
The Automated Ban List
Blogs
China Uses Video Games to Sh…
TrAiDoS
Funny Nicknames
LUCKY_NOOB
Iranian anarchists: organize…
XenOsky
FS++
Kraekkling
Shocked by a laser…
Spydermine0240
ASL S21 English Commentary…
namkraft
Electronics
mantequilla
Customize Sidebar...

Website Feedback

Closed Threads



Active: 15200 users

[DEV] Read/parse the 1.21 replays

Forum Index > BW General
Post a Reply
coin-au-carre
Profile Joined July 2017
France6 Posts
Last Edited: 2018-01-22 17:07:41
January 22 2018 17:06 GMT
#1
As you might know, the replays in sc:r changed compression algorithm from a modified PKWare to a zlib compression until recent patches.

When opening recent replays such as in http://bwreplays.com/ I cannot see any 78 9C magic numbers.


What I have in common when comparing header of two replays is :

a77e 7e2b 0100 0000 0400 0000 7265 5253


or in other terms:

b'\xa7~~+\x01\x00\x00\x00\x04\x00\x00\x00reRS'


Does anyone can help tell what compression it is?

Broodwar FRA-1 discord: https://discord.gg/rkggAnT
dragonattack
Profile Joined January 2012
15 Posts
January 22 2018 17:37 GMT
#2
The first one in the list labeled 1.18 contains 78 9c
A7 7E 7E 2B 01 00 00 00 04 00 00 00 72 65 52 53 1E 84 F7 8E 01 00 00 00 B9 00 00 00 78 9C
221 Dewalt 281 SouL)T(Dandy 19 min. FIGHTING SPIRIT 03.12.2017 DOWNLOAD✔ 1.18

coin-au-carre
Profile Joined July 2017
France6 Posts
Last Edited: 2018-01-23 14:50:10
January 22 2018 18:46 GMT
#3
Yes that was before 1.21. You don't see this 78 9C in 1.21 replays. But you gave me some precious informations I did not look at the right place.

Edit: Thx I found it with recent replays offset is at 32 if people are interested (it used to be at something like 28 in 1.20 I think).
Broodwar FRA-1 discord: https://discord.gg/rkggAnT
B-royal
Profile Joined May 2015
Belgium1330 Posts
January 23 2018 19:51 GMT
#4
Oh really so what is the compression algorithm now?

The data format is something along these lines:

- 4 bytes checksum
- 4 bytes block
- 4 bytes encoded length
- data (compressed or not), if compressed starts with 789c
- in between blocks, 4 bytes for encoded length

I have checked a few 1.21 replays, and they still seem to follow this format but as you say there's no 789c header any more. And I don't know anything about zlib compression past this being a very common one.

00 04h seems to be the start of each compressed data block.
new BW-player (~E rank fish) twitch.tv/crispydrone || What plays 500 games a season but can't get better? => http://imgur.com/a/pLzf9 <= ||
coin-au-carre
Profile Joined July 2017
France6 Posts
Last Edited: 2018-01-25 16:06:08
January 25 2018 16:03 GMT
#5
Actually it is still zlib default compression. In the last patch, I can find the 789c header in replays at 32 offset.
It's dirty but I put a dynamic offset (assuming the compression algorithm is not modified) so that I do not care about changing manually this offset in future patches.

I have made a Discord bot that read basic infos from a replay you post in the chat. If you guys are interested it is available in the BW FRA-1 discord. [image loading]
Broodwar FRA-1 discord: https://discord.gg/rkggAnT
B-royal
Profile Joined May 2015
Belgium1330 Posts
January 25 2018 17:03 GMT
#6
Nice. In that case, could you try it/have a look at this replay? I don't think this one has a 789c header anywhere. And I downloaded this one a few days ago from bwreplays.com so I assume it's the latest patch (I could be wrong).

https://www.dropbox.com/s/i4qpf5xvs0op4tw/lg2nz_ebla_Heize_1.rep?dl=0
new BW-player (~E rank fish) twitch.tv/crispydrone || What plays 500 games a season but can't get better? => http://imgur.com/a/pLzf9 <= ||
coin-au-carre
Profile Joined July 2017
France6 Posts
January 25 2018 17:47 GMT
#7
Yep I can't find the header either ~~. It might be older patch. And I guess it can be an old replay even if it's uploaded on bwreplays.
Broodwar FRA-1 discord: https://discord.gg/rkggAnT
Please log in or register to reply.
Live Events Refresh
Next event in 1h 56m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
trigger 169
ProTech130
Rex 111
Codebar 48
StarCraft: Brood War
Britney 40881
Sea 5211
Mini 1065
Soulkey 539
Light 434
Soma 337
Larva 311
Last 245
BeSt 242
ggaemo 184
[ Show more ]
Hyun 147
hero 124
Hm[arnc] 122
Pusan 88
Sharp 70
Free 61
Sea.KH 53
firebathero 46
sSak 42
Sacsri 34
Shinee 34
zelot 33
Shine 33
NaDa 31
sorry 31
HiyA 27
Barracks 26
Movie 25
GoRush 18
soO 5
Dota 2
XaKoH 810
canceldota271
Counter-Strike
fl0m1137
byalli1128
zeus254
edward62
Heroes of the Storm
Khaldor178
Other Games
singsing2504
B2W.Neo431
ArmadaUGS32
Organizations
Counter-Strike
PGL11047
Other Games
BasetradeTV405
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 12 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Jankos1421
• Stunt554
Upcoming Events
uThermal 2v2 Circuit
1h 56m
BSL
6h 56m
Afreeca Starleague
21h 56m
Wardi Open
21h 56m
Replay Cast
1d 11h
Sparkling Tuna Cup
1d 21h
Kung Fu Cup
2 days
The PondCast
3 days
Replay Cast
4 days
Replay Cast
5 days
[ Show More ]
CranKy Ducklings
5 days
BSL
6 days
Replay Cast
6 days
Sparkling Tuna Cup
6 days
Liquipedia Results

Completed

Escore Tournament S2: W1
WardiTV Winter 2026
NationLESS Cup

Ongoing

BSL Season 22
CSL Elite League 2026
ASL Season 21
CSL Season 20: Qualifier 2
StarCraft2 Community Team League 2026 Spring
Nations Cup 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 2026
ESL Pro League S23 Finals
ESL Pro League S23 Stage 1&2
PGL Cluj-Napoca 2026
IEM Kraków 2026
BLAST Bounty Winter 2026

Upcoming

CSL 2026 SPRING (S20)
IPSL Spring 2026
Acropolis #4
BSL 22 Non-Korean Championship
CSLAN 4
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
RSL Revival: Season 5
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026
CCT Season 3 Global Finals
IEM Rio 2026
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 © 2026 TLnet. All Rights Reserved.