Skip to content

Commit d9266a2

Browse files
committed
Merge branch 'master' of github.com:GraylinKim/sc2reader
Conflicts: test_replays/test_all.py
2 parents 9a4fc60 + 531ea07 commit d9266a2

File tree

4 files changed

+153
-5
lines changed

4 files changed

+153
-5
lines changed

sc2reader/data.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@
310310
0x022b01: 'Rich Mineral Field',
311311
}
312312

313-
# These are found in fileset.{locale}#Mods#Core.SC2Mod#{locale}.SC2Data/LocalizedData/Editor/EditorCategoryStrings.txt
313+
# These are found in Repack-MPQ/fileset.{locale}#Mods#Core.SC2Mod#{locale}.SC2Data/LocalizedData/Editor/EditorCategoryStrings.txt
314314
# EDSTR_CATEGORY_Race
315315
# EDSTR_PLAYERPROPS_RACE
316316
# question mark means not confirmed data
@@ -323,12 +323,21 @@
323323
# itIT
324324

325325
# koKR
326-
'프로토스': 'Protoss', #?
327-
'테란': 'Terran' #?
326+
'프로토스': 'Protoss',
327+
'테란': 'Terran',
328+
'저그': 'Zerg',
328329

329330
# plPL
330331
# ptBR
331332
# ruRU
333+
'Протосс': 'Protoss',
334+
'Терран': 'Terran',
335+
'Зерг': 'Zerg',
332336
# zhCN
333337
# zhTW
338+
339+
# Uncategorized
340+
'神族': 'Protoss',
341+
'蟲族': 'Zerg',
342+
'人類': 'Terran'
334343
}

sc2reader/objects.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,16 @@ def __init__(self, pid, data, realm="us"):
186186
self.actual_race = data[2].decode("hex")
187187

188188
# Actual race seems to be localized, so try to convert to english if possible
189+
190+
# Some European language, like DE will have races written slightly differently (ie. Terraner).
191+
# To avoid these differences, only examine the first letter, which seem to be consistent across languages.
192+
if self.actual_race[0] == 'T':
193+
self.actual_race = "Terran"
194+
if self.actual_race[0] == 'P':
195+
self.actual_race = "Protoss"
196+
if self.actual_race[0] == 'Z':
197+
self.actual_race = "Zerg"
198+
189199
if self.actual_race in races:
190200
self.actual_race = races[self.actual_race]
191201

@@ -263,4 +273,4 @@ class SelectionEvent(Event):
263273
name = 'SelectionEvent'
264274

265275
class CameraMovementEvent(Event):
266-
name = 'CameraMovement'
276+
name = 'CameraMovement'
39.1 KB
Binary file not shown.

test_replays/test_all.py

Lines changed: 130 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,4 +194,133 @@ def test_datetimes():
194194

195195
# Played at 25 Feb 2011 16:36:28 UTC+2
196196
replay = sc2reader.read("test_replays/build17811/3.SC2Replay")
197-
assert replay.utc_date == datetime.datetime(2011, 2, 25, 14, 36, 26)
197+
assert replay.utc_date == datetime.datetime(2011, 2, 25, 14, 36, 26)
198+
199+
def test_15():
200+
replay = sc2reader.read("test_replays/build17811/15.SC2Replay")
201+
202+
print replay.realm
203+
print len(replay.players)
204+
print replay.players[0].actual_race
205+
print replay.players[1].actual_race
206+
assert 1==0
207+
208+
def test_16():
209+
replay = sc2reader.read("test_replays/build17811/16.SC2Replay")
210+
print replay.realm
211+
print len(replay.players)
212+
print replay.players[0].actual_race
213+
print replay.players[1].actual_race
214+
assert 1==0
215+
216+
def test_17():
217+
replay = sc2reader.read("test_replays/build17811/17.SC2Replay")
218+
print replay.realm
219+
print len(replay.players)
220+
print replay.players[0].actual_race
221+
print replay.players[1].actual_race
222+
print replay.players[0].name
223+
print replay.players[1].name
224+
assert 1==0
225+
226+
def test_18():
227+
replay = sc2reader.read("test_replays/build17811/18.SC2Replay")
228+
print replay.realm
229+
print len(replay.players)
230+
print replay.players[0].actual_race
231+
print replay.players[1].actual_race
232+
print replay.players[0].choosen_race
233+
print replay.players[1].choosen_race
234+
print replay.players[0].name
235+
print replay.players[1].name
236+
assert 1==0
237+
238+
def test_19():
239+
replay = sc2reader.read("test_replays/build17811/19.SC2Replay")
240+
print replay.realm
241+
print len(replay.players)
242+
print replay.players[0].actual_race
243+
print replay.players[1].actual_race
244+
print replay.players[0].choosen_race
245+
print replay.players[1].choosen_race
246+
print replay.players[0].name
247+
print replay.players[1].name
248+
assert 1==0
249+
250+
def test_20():
251+
replay = sc2reader.read("test_replays/build17811/20.SC2Replay")
252+
print replay.realm
253+
print len(replay.players)
254+
print replay.players[0].actual_race
255+
print replay.players[1].actual_race
256+
print replay.players[0].choosen_race
257+
print replay.players[1].choosen_race
258+
print replay.players[0].name
259+
print replay.players[1].name
260+
assert 1==0
261+
262+
def test_21():
263+
replay = sc2reader.read("test_replays/build17811/21.SC2Replay")
264+
print replay.realm
265+
print len(replay.players)
266+
print replay.players[0].actual_race
267+
print replay.players[1].actual_race
268+
print replay.players[0].choosen_race
269+
print replay.players[1].choosen_race
270+
print replay.players[0].name
271+
print replay.players[1].name
272+
assert 1==0
273+
274+
def test_22():
275+
replay = sc2reader.read("test_replays/build17811/22.SC2Replay")
276+
print replay.realm
277+
print len(replay.players)
278+
print replay.players[0].actual_race
279+
print replay.players[1].actual_race
280+
print replay.players[0].choosen_race
281+
print replay.players[1].choosen_race
282+
print replay.players[0].name
283+
print replay.players[1].name
284+
assert 1==0
285+
286+
# TODO: No winner?
287+
def test_two_player_game_without_winner():
288+
replay = sc2reader.read("test_replays/build17811/23.SC2Replay")
289+
print replay.realm
290+
print len(replay.players)
291+
print replay.players[0].actual_race
292+
print replay.players[1].actual_race
293+
print replay.players[0].choosen_race
294+
print replay.players[1].choosen_race
295+
print replay.players[0].name
296+
print replay.players[1].name
297+
print len(replay.actors)
298+
print replay.players[0].result
299+
print replay.players[1].result
300+
print replay.actors[2].result
301+
print replay.actors[3].result
302+
assert replay.players[0].result == 'Win' || replay.players[1].result == 'Win'
303+
304+
def test_24():
305+
replay = sc2reader.read("test_replays/build17811/24.SC2Replay")
306+
print replay.realm
307+
print len(replay.players)
308+
print replay.players[0].actual_race
309+
print replay.players[1].actual_race
310+
print replay.players[0].choosen_race
311+
print replay.players[1].choosen_race
312+
print replay.players[0].name
313+
print replay.players[1].name
314+
assert 1==0
315+
316+
def test_25():
317+
replay = sc2reader.read("test_replays/build17811/25.SC2Replay")
318+
print replay.realm
319+
print len(replay.players)
320+
print replay.players[0].actual_race
321+
print replay.players[1].actual_race
322+
print replay.players[0].choosen_race
323+
print replay.players[1].choosen_race
324+
print replay.players[0].name
325+
print replay.players[1].name
326+
assert 1==0

0 commit comments

Comments
 (0)