You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.rst
+74-1Lines changed: 74 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,82 @@
1
1
CHANGELOG
2
2
============
3
3
4
+
1.7.0 - May 17, 2021
5
+
--------------------
6
+
* Add DOI to the README #128
7
+
* Add various missing attributes for co-op replays #129
8
+
* Add support for python 3.8, 3.9 #132 #136
9
+
* Fix owner on an event with no unit #133
10
+
* Add support for ResourceTradeEvent #135
11
+
* Fix depot URL template #139
12
+
13
+
1.6.0 - July 30, 2020
14
+
---------------------
15
+
* Add support for protocol 80949 (StarCraft 5.0) #122
16
+
* Fix toJson script #118
17
+
18
+
1.5.0 - January 18, 2020
19
+
------------------------
20
+
* Add support for protocol 77379 #106 #107
21
+
* Workaround for missing data #102 #104
22
+
23
+
1.4.0 - August 19, 2019
24
+
-----------------------
25
+
* Add support for protocol 75689 #95
26
+
27
+
1.3.2 - August 9, 2019
28
+
----------------------
29
+
* Allow pytest #84
30
+
* Format code with black #87
31
+
* Fix UnitTypeChangeEvent.__str__ #92
32
+
* Add Stetmann #93
33
+
34
+
1.3.1 - November 29, 2018
35
+
-------------------------
36
+
* Parse backup if data is missing #69
37
+
38
+
1.3.0 - November 16, 2018
39
+
-------------------------
40
+
* Added support for protocol 70154 (StarCraft 4.7.0)
41
+
* Added support for Zeratul
42
+
* Updated CircleCI build for Python 3.7
43
+
* Fixed a bug with printing TrackerEvent
44
+
45
+
1.2.0 - October 7, 2018
46
+
-----------------------
47
+
* Added support for Tychus
48
+
* Verified that StarCraft 4.6.1 replays work
49
+
50
+
1.1.0 - June 26, 2018
51
+
---------------------
52
+
* Added support for protocol 65895 (StarCraft 4.4.0)
53
+
54
+
1.0.0 - May 18, 2018
55
+
--------------------
56
+
* Added support for protocol 48258 through 64469
57
+
* Update game data and scripts for generating game data
58
+
* Fix ggtracker/sc2reader CircleCI build for python 3
59
+
* Added support for parsing Co-op replays
60
+
61
+
0.8.0 - December 16, 2016
62
+
---------------------------
63
+
* Merged into ggtracker/sc2reader, which mostly means that we have a bunch of parsing fixes. Thanks @StoicLoofah!
64
+
4
65
0.7.0 -
5
66
---------------------------
6
67
68
+
* Deprecated unit.killed_by in favor of unit.killing_player
69
+
* Added unit.killed_units
70
+
* Added unit.killing_unit
71
+
* Added UnitDiedEvent.killing_player
72
+
* Added UnitDiedEvent.killing_unit
73
+
* Deprecated UnitDiedEvent.killer_pid in favor of UnitDiedEvent.killing_player_id
74
+
* Deprecated UnitDiedEvent.killer in favor of UnitDiedEvent.killing_player
75
+
* Use generic UnitType and Ability classes for data. This means no more unit._type_class.__class__.__name__. But hopefully people were not doing that anyway.
76
+
* Now a CorruptTrackerFileError is raised when the tracker file is corrupted (generally only older resume_from_replay replays)
77
+
* Removed the defunct replay.player_names attribute.
78
+
* Removed the defunct replay.events_by_type attribute.
79
+
* Removed the defunct replay.other_people attribute.
7
80
* Replays can now be pickled and stored for later consumption.
8
81
* All references to the gateway attribute have been replaced in favor of region; e.g. replay.region
9
82
* Use generic UnitType and Ability classes for data. This means no more unit._type_class.__class__.__name__. But hopefully people were not doing that anyway.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+16-1Lines changed: 16 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,22 @@ If you can't share your code/replays publicly try to replicate with a smaller sc
14
14
Patches
15
15
=========
16
16
17
-
Please submit patches by pull request where possible. Patches should add a test to confirm their fix and should not break previously working tests.
17
+
Please submit patches by pull request where possible. Patches should add a test to confirm their fix and should not break previously working tests. Circle CI automatically runs tests on each pull request so please check https://circleci.com/gh/ggtracker/sc2reader to see the results of those tests.
18
18
19
19
If you are having trouble running/add/fixing tests for your patch let me know and I'll see if I can help.
20
20
21
+
22
+
Coding Style
23
+
==============
24
+
25
+
We'd like our code to follow PEP8 coding style in this project.
26
+
We use [python/black](https://github.com/python/black) in order to make our lives easier.
27
+
We propose you do the same within this project, otherwise you might be asked to
28
+
reformat your pull requests.
29
+
30
+
It's really simple just:
31
+
32
+
pip install black
33
+
black .
34
+
35
+
And [there are plugins for many editors](https://black.readthedocs.io/en/stable/editor_integration.html).
If you use sc2reader and you would like your tool, site, project, or implementation listed above, drop us a line on our `mailing list`_ or stop by our #sc2reader IRC channel and say hi!
21
+
If you use sc2reader and you would like your tool, site, project, or implementation listed above, drop us a line on our `mailing list`_.
@@ -214,63 +216,81 @@ or with setuptools (specify a valid x.x.x)::
214
216
cd sc2reader-x.x.x
215
217
python setup.py install
216
218
217
-
Releases to PyPi can be very delayed (sorry!), for the latest and greatest you are encouraged to install from Github master.
219
+
Releases to PyPi can be very delayed (sorry!), for the latest and greatest you are encouraged to install from Github upstream.
218
220
219
221
220
222
From Github
221
223
--------------------------
222
224
223
-
Github master is generally stable with development branches more unstable.
225
+
Github upstream is generally stable with development branches more unstable.
224
226
225
-
We use `travis-ci`_ to provide a record of our `continuous testing`_ and `coveralls.io`_ provides a record of our `test coverage`_. Please verify that tests are passing before installing development versions.
227
+
We use `circle-ci`_ to provide a record of our `continuous testing`_. Please verify that tests are passing before installing development versions.
226
228
227
229
Install from the latest source on Github with pip::
Contributors should install from an active git repository using setuptools in `develop`_ mode. This will install links to the live code so that local edits are available to external modules automatically::
We use the built in ``unittest`` module for testing. If you are still on Python 2.6 you will need to install ``unittest2`` because our test suite requires newer features than are included in the main distribution.
264
+
We use ``pytest`` for testing. If you don't have it just ``pip install pytest``.
265
+
266
+
To run the tests, just do::
267
+
268
+
pytest
269
+
270
+
271
+
When repeatedly running tests it can be very helpful to make sure you've set a local cache directory to prevent long fetch times from battle.net.
272
+
So make some local cache folder::
273
+
274
+
mkdir cache
275
+
276
+
And then run the tests like this::
263
277
264
-
To run the tests just use::
278
+
SC2READER_CACHE_DIR=./cache pytest
265
279
266
-
python test_replays/test_all.py
267
-
python test_s2gs/test_all.py
280
+
To run just one test:
268
281
269
-
When repeatedly running tests it can be very helpful to make sure you've set a local cache directory to prevent long fetch times from battle.net::
If you'd like to see which are the 10 slowest tests (to find performance issues maybe)::
285
+
286
+
pytest --durations=10
287
+
288
+
If you want ``pytest`` to stop after the first failing test::
289
+
290
+
pytest -x
291
+
292
+
293
+
Have a look at the very fine ``pytest`` docs for more information.
274
294
275
295
Good luck, have fun!
276
296
@@ -287,7 +307,7 @@ Issues and Support
287
307
We have an `issue tracker`_ on Github that all bug reports and feature requests should be directed to. We have a `mailing list`_ with Google Groups that you can use to reach out for support. We are generally on FreeNode in the #sc2reader and can generally provide live support and address issues there as well.
Copy file name to clipboardExpand all lines: docs/source/articles/conceptsinsc2reader.rst
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -55,7 +55,7 @@ Many attributes in sc2reader are prefixed with ``game_`` and ``real_``. Game ref
55
55
GameEngine
56
56
----------------
57
57
58
-
The game engine is used to process replay events and augument the replay with new statistics and game state. It implements a plugin system that allows developers
58
+
The game engine is used to process replay events and augment the replay with new statistics and game state. It implements a plugin system that allows developers
59
59
to inject their own logic into the game loop. It also allows plugins to ``yield`` new
60
60
events to the event stream. This allows for basic message passing between plugins.
Copy file name to clipboardExpand all lines: docs/source/articles/whatsinareplay.rst
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -41,7 +41,7 @@ This file was introduced in 2.0.4 and is unnecessary for the Starcraft II to rep
41
41
What isn't in a replay?
42
42
--------------------------
43
43
44
-
Replays are specifically designed to only include data essential to recreate the game. Game state is not recorded because the game engine can recreate it based off the other information. That means no player resource counts, colleciton rates, supply values, vision, unit positions, unit deaths, etc. Information that you are super interested in probably is not directly recorded. Fortunately since 2.0.4 tracker events now record some of this information; prior to that patch we had to run our own simulations to guess at most of the data.
44
+
Replays are specifically designed to only include data essential to recreate the game. Game state is not recorded because the game engine can recreate it based off the other information. That means no player resource counts, collection rates, supply values, vision, unit positions, unit deaths, etc. Information that you are super interested in probably is not directly recorded. Fortunately since 2.0.4 tracker events now record some of this information; prior to that patch we had to run our own simulations to guess at most of the data.
45
45
46
46
47
47
The other important aspect of this is that instead of completely describing all of the game data (unit data, ability data, map info, etc), replays maintain a list of dependencies. These dependencies might look like this:
0 commit comments