Git Product home page Git Product logo

Comments (2)

ascendedguard avatar ascendedguard commented on June 30, 2024

@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.

 avatar commented on June 30, 2024

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 and unit_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 the build_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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.