Skip to content

Commit 90f3dad

Browse files
committed
Initial HotS support. WIP.
1 parent 9c02c39 commit 90f3dad

32 files changed

+5428
-3518
lines changed

sc2reader/constants.py

Lines changed: 119 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -50,71 +50,14 @@
5050
# ptBR - Brazilian Portuguese
5151
}
5252

53-
#
54-
# Codes as found in bytestream
55-
#
56-
57-
RACE_CODES = {
58-
'Terr': 'Terran',
59-
'Zerg': 'Zerg',
60-
'Prot': 'Protoss',
61-
'RAND': 'Random',
62-
}
6353
MESSAGE_CODES = {
6454
'0': 'All',
6555
'2': 'Allies',
6656
'128': 'Header',
6757
'125': 'Ping',
6858
}
69-
TEAM_COLOR_CODES = {
70-
'tc01': "Red",
71-
'tc02': "Blue",
72-
'tc03': "Teal",
73-
'tc04': "Purple",
74-
'tc05': "Yellow",
75-
'tc06': "Orange",
76-
'tc07': "Green",
77-
'tc08': "Light Pink",
78-
'tc09': "Violet",
79-
'tc10': "Light Grey",
80-
'tc11': "Dark Green",
81-
'tc12': "Brown",
82-
'tc13': "Light Green",
83-
'tc14': "Dark Grey",
84-
'tc15': "Pink",
85-
'tc16': "??",
86-
}
87-
DIFFICULTY_CODES = {
88-
'VyEy': 'Very easy',
89-
'Easy': 'Easy',
90-
'Medi': 'Medium',
91-
'Hard': 'Hard',
92-
'VyHd': 'Very hard',
93-
'Insa': 'Insane',
94-
}
95-
GAME_TYPE_CODES = {
96-
'Priv': 'Private',
97-
'Pub': 'Public',
98-
'Amm': 'Ladder',
99-
'': 'Single',
100-
}
101-
# (name, key for team ids)
102-
GAME_FORMAT_CODES = {
103-
'1v1': '1v1',
104-
'2v2': '2v2',
105-
'3v3': '3v3',
106-
'4v4': '4v4',
107-
'5v5': '5v5',
108-
'6v6': '6v6',
109-
'FFA': 'FFA',
110-
}
111-
GAME_SPEED_CODES = {
112-
'Slor': 'Slower',
113-
'Slow': 'Slow',
114-
'Norm': 'Normal',
115-
'Fast': 'Fast',
116-
'Fasr': 'Faster',
117-
}
59+
60+
11861

11962
GAME_SPEED_FACTOR = {
12063
'Slower': 0.6,
@@ -124,12 +67,6 @@
12467
'Faster': 1.4
12568
}
12669

127-
PLAYER_TYPE_CODES = {
128-
'Humn': 'Human',
129-
'Comp': 'Computer',
130-
'Open': 'Open',
131-
'Clsd': 'Closed',
132-
}
13370
GATEWAY_CODES = {
13471
'US': 'Americas',
13572
'KR': 'Asia',
@@ -348,3 +285,120 @@
348285
1: 'xx',
349286
},
350287
}
288+
289+
""" Still unknown
290+
bbe: 3, 5, 7, 10, 15, 20, 25, 30
291+
"""
292+
LOBBY_PROPERTIES = {
293+
# Default seems to be the only value possible.
294+
# This arcade entry is just a hunch, need to confirm with an arcade game
295+
0x03E8: ("???", {
296+
'Dflt': 'Default'
297+
}),
298+
0x03E9: ("Arcade", {
299+
'no':'no',
300+
'yes':'yes'
301+
}),
302+
303+
0x01F4: ("Player Type", {
304+
'Humn': 'Human',
305+
'Comp': 'Computer',
306+
'Open': 'Open',
307+
'Clsd': 'Closed',
308+
}),
309+
310+
0x07D1: ("Game Mode", {
311+
'1v1': '1v1',
312+
'2v2': '2v2',
313+
'3v3': '3v3',
314+
'4v4': '4v4',
315+
'5v5': '5v5',
316+
'6v6': '6v6',
317+
'FFA': 'FFA',
318+
}),
319+
320+
0x07D0: ("Team Count", lambda value: int(value[1:])),
321+
0x07D2: ("Teams1v1", lambda value: int(value[1:])),
322+
0x07D3: ("Teams2v2", lambda value: int(value[1:])),
323+
0x07D4: ("Teams3v3", lambda value: int(value[1:])),
324+
0x07D5: ("Teams4v4", lambda value: int(value[1:])),
325+
0x07D6: ("TeamsFFA", lambda value: int(value[1:])),
326+
0x07D7: ("Teams5v5", lambda value: int(value[1:])),
327+
0x07D8: ("Teams6v6", lambda value: int(value[1:])),
328+
329+
0x07DB: ("2 Teams", lambda value: int(value[1:])),
330+
0x07DC: ("3 Teams", lambda value: int(value[1:])),
331+
0x07DD: ("4 Teams", lambda value: int(value[1:])),
332+
0x07DE: ("5 Teams", lambda value: int(value[1:])),
333+
334+
0x07E1: ("FFA Teams", lambda value: int(value[1:])),
335+
0x07E2: ("Custom Teams", lambda value: int(value[1:])),
336+
337+
0x0BB8: ("Game Speed", {
338+
'Slor': 'Slower',
339+
'Slow': 'Slow',
340+
'Norm': 'Normal',
341+
'Fast': 'Fast',
342+
'Fasr': 'Faster',
343+
}),
344+
0x0BB9: ("Race", {
345+
'Terr': 'Terran',
346+
'Zerg': 'Zerg',
347+
'Prot': 'Protoss',
348+
'RAND': 'Random',
349+
}),
350+
0x0BBA: ("Color", {
351+
'tc01': "Red",
352+
'tc02': "Blue",
353+
'tc03': "Teal",
354+
'tc04': "Purple",
355+
'tc05': "Yellow",
356+
'tc06': "Orange",
357+
'tc07': "Green",
358+
'tc08': "Light Pink",
359+
'tc09': "Violet",
360+
'tc10': "Light Grey",
361+
'tc11': "Dark Green",
362+
'tc12': "Brown",
363+
'tc13': "Light Green",
364+
'tc14': "Dark Grey",
365+
'tc15': "Pink",
366+
'tc16': "??",
367+
}),
368+
0x0BBB: ("Handicap", {
369+
'50': '50',
370+
'60': '60',
371+
'70': '70',
372+
'80': '80',
373+
'90': '90',
374+
'100': '100',
375+
}),
376+
0x0BBC: ("Difficulty", {
377+
'VyEy': 'Very easy',
378+
'Easy': 'Easy',
379+
'Medi': 'Medium',
380+
'Hard': 'Hard',
381+
'VyHd': 'Very hard',
382+
'Insa': 'Insane',
383+
}),
384+
385+
386+
0x0BBF: ("Player Type", {
387+
'Part':'Participant',
388+
'Watc':'Watcher'
389+
}),
390+
0x0BC0: ("Watcher Type", {
391+
'Obs': 'Observer',
392+
'Ref':'Referee'
393+
}),
394+
0x0BC1: ("Category", {
395+
'Priv': 'Private',
396+
'Pub': 'Public',
397+
'Amm': 'Ladder',
398+
'': 'Single',
399+
}),
400+
0x0BC2: ("Alliances", {
401+
'no':'unlocked',
402+
'yes':'locked',
403+
})
404+
}

0 commit comments

Comments
 (0)