Comments (2)
@mischanix Do you need a separate dumping app to compile the data for your DataCompiler? Otherwise i'm at a loss where to retrieve the "sc2replay.sqlite" necessary for getting the 1.5.3 event information.
from sc2replay-csharp.
The intended workflow for patching data is:
-
Run this on the new version while it is loaded into a game: https://gist.github.com/3779650
-
You must update the offset, which you can scan for with this pattern, using CheatEngine or a similar tool, and look for the most prevalent occurrence in the beginning executable section of the program. The address of the discovered offset should be relatively consistent across versions, as well:
a1 ?? ?? ?? ?? 8b 80
-
The sqlite database path is
sc2replay-csharp/Starcraft2.ReplayParser.DataCompiler
. -
You will get a sql-formatted output which you can use to import into sc2replay.sqlite's
ability_type
andunit_type
tables as necessary; however, if the indices are the same as the previous version (quite likely across major versions, i.e. 1.4,1.5,etc.), you simply use thebuild_info
table to map the build number to the major version's effective build. -
If a new ability is added, edit
abil_info
to correspond to the appropriate array in the SC2 Editor's data display, and update the internal ability enum,Starcraft2.ReplayParser/AbilityType.cs
. -
If a new unit is added, edit
unit_info
to map the CUnit to a enum name, and update the unit enum,Starcraft2.ReplayParser/UnitType.cs
. -
To edit the database with a GUI, grab a copy of Mozilla Nightly and install the following addon: https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/. This greatly simplifies managing the sc2replay.sqlite database.
For 1.5.3, it looks like they changed the security on the pages where the strings are and I can't read them properly with my current libraries. So, I remade it in cheatengine since it has the correct permissions on its handles (pinvoke wasn't doin it for me). Anyway, after all that, there were no changes to the indices so I only need bump the build numbers for 1.5.1~3 in the database.
Once the database has been updated, copy it and run DataCompiler on it. DataCompiler uses the current path for the database directory, so it's easiest to copy the sc2replay.sqlite file to the Debug directory. Once you've done that, all the .dat files will be in the Debug folder (or current path) as well, ready to be copied to Starcraft2.ReplayParser/Version
.
Also, just pushed robert-nix@c55ac38
from sc2replay-csharp.
Related Issues (20)
- teams/players incorrectly parsed HOT 2
- Foreign text causes a crash when parsing the chat HOT 3
- Foreign filenames cause crash HOT 2
- Double namespace "replay" in the latest version HOT 2
- Map fails to parse HOT 1
- Missing replay info HOT 4
- Assembly not found when deployed to Microsoft Server 2008 HOT 2
- Store game length as a property in Replay HOT 1
- PlayerEvents dosen't work for Patch v1.1.4.2 (or before) HOT 3
- Adding PlayerType.Observer HOT 1
- Behavior of Replay.Players property changed HOT 3
- Game Length is 0:00 for 1.5.3 replays
- AbilityType.CancelTrain isnt parsed correctly. Returns Unknown
- Replay parsing is broken in 1.2.0.6 and up. HOT 3
- HotS replays need event parsing updated
- League? HOT 2
- Problem parsing SC2 Hots version 2.x.x files
- AddChatMessage should support longer strings HOT 1
- Update Wiki to document replay.message.events HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sc2replay-csharp.