Replaylib v 1.2
submit to reddit

Page 1
  • UPDATE!!!!!!!!!!!!!!!!

    got a shitton more opcodes for all races

    the player class for each player now stores all parsable units, abilities, and upgrades that the player used during the game.
    this is actually a pretty big deal imo, its pretty much the beginnings of a real tech map for players

    anyhow, the eventlist itsself is still storing game-wide info on all of these as well (for searching, etc)

    1.2 is coming in a few days
    new features include:
    -light loading functions to return only small attributes (only player data, only map data, only chat data, etc)
    -fix to all reported errors
    -improved event parsing (now recognizes 90% of Terran build info)
    -library now returns a unique list of units built in game ( for searching,etc)
    -also returns a list of the more interesting abilities used in game (ie now you can tell if the game contained someone being nuked)
    -support for French,German,Chinese,and Korean

    Private
    avatar
  • Also there is a java port or wrapper which will be accompanying the v1.2 release for the java users out there

    Private
    avatar
  • very cool, any chance youd be releasing the source to this as well?

    Registered User
    avatar
  • super but why did you made a new thread?

    i hope you dint made an critical syntax changes!

    also Promith make sure you dont have memory leaks, i think everytime i open a new RP class to read a replay, you dont close it properly and its left over the memmory, i am killing it from my tool, but would be nice to close what you do when not nessecery.

    i dont know exactly what :P

    This Business Is Binary. You are a 1 or a 0. Alive or Dead.- Play SC2 Offline with StarTCraft Loader: http://adf.ly/M0bMj
    Developer & Moderator
    avatar
    Battle.net
    Name:
    Vernam7
    Realm:
    Europe
  • yah i made a deconstructor in the new version just because i noticed some mem leakage
    its just a standard replay.dispose()

    anyhow... i made new topic cuz.. hmm i dont really have a good reason, the forum just seemed lonely

    Private
    avatar
  • Prometheusyah i made a deconstructor in the new version just because i noticed some mem leakage
    its just a standard replay.dispose()

    anyhow... i made new topic cuz.. hmm i dont really have a good reason, the forum just seemed lonely


    LOL about the topic

    great news about the dispose.

    hey dont forget your best beta tester (me :) ) send any version you have so far to test by pm.

    once again great work dude!

    This Business Is Binary. You are a 1 or a 0. Alive or Dead.- Play SC2 Offline with StarTCraft Loader: http://adf.ly/M0bMj
    Developer & Moderator
    avatar
    Battle.net
    Name:
    Vernam7
    Realm:
    Europe
  • Where's the link to 1.2 ?

    Private
    avatar
    Battle.net
    Name:
    NoobiZ.noobiz
    Realm:
    EU Beta
  • he said "1.2 is coming in a few days" ;-)

    i am anxious for it too.....hope those "few" days are over :P

    This Business Is Binary. You are a 1 or a 0. Alive or Dead.- Play SC2 Offline with StarTCraft Loader: http://adf.ly/M0bMj
    Developer & Moderator
    avatar
    Battle.net
    Name:
    Vernam7
    Realm:
    Europe
  • so prometheus, ive been working on my own replay stuff for a bit and i ran into a HUGE problem that i wanted to see if you have a solution for. In the game, if you are able to click multiple times on an order before it goes through, the replay will log events that arent valid in game. to test this you can just start out a game, and click your base and spam the hotkey for the probe/scv/whatever building at the base. depending on how fast you do this, 1-3 events that are identical are created. which, to me, means that to do somethign simple like build order, we will have to emulate a huge portion of game logic. any ideas? and i can include a replay where you can observe this if youd like

    Registered User
    avatar
  • Pretty much finished my end of it... theres been a few changes though

    -----------------------------------------------------
    first, keep in mind that this is made for leisure in my spare time. im not getting paid for this in any way shape or form. I dont even have a beta key. so if i seem to be moving slow, well, im a bartender, i dont get home to REALLY late, you just gotta forgive me.

    secondly, if you end up using this in your own apps, please at least make a not in small print somewhere that you are using the replaylib by prometheus
    -----------------------------------------------------
    Anyhow, by popular demand, it no longer defaults to using mpqlib.

    while the replay class still exists and is functional, it has been broken up into 4 seperate classes, all loadable via byte arrays(so you can use whatever you want, stormlib, etc)

    the replay class will function much as it did in v1.0, with a few things removed and syntax changes (you must access mapname from replay.Mapinfo.mapname, for example)

    Mapinfo class, MessageList class, EventList class, and playerList class

    each of these can be loaded seperately to reduce overhead and speed up the parsing for those who dont want to load the whole ton of data.

    NO LONGER LOADS PLAYER START LOCATIONS!
    this is easy to do without the library, and i was tired of having to access the map file anyhow, if you need to know how to do this, just ask

    The eventlist class now contains 2 arrays:
    UnitsSeen - a unique list of units (only terran at this time) made and used in the game

    AbilitiesSeen - same for abilities

    NOTE: thanks to dcramer i should be getting access to some replay files which will allow me to get the toss and zerg action and ability codes soon

    This allows you to, for example, allow ppl to search for replays with nuklear strikes in them

    tweaks to error handling... instead of handling errors myself, the lib will now throw exceptions so users can debug their code more effectively

    time on messages is also more precise now.

    some class constructors (event and message lists) allow you to specify a playerlist so that you dont just end up with player id's for those, but with the names of the players.

    NO LONGER LOADING AND CROPPING MAP IMAGES
    honestly, this is too resource intensive, and should be done on the application end anyhow

    the java wrapper should be along in a few days, until then feel free to post here requesting features or asking questions.

    thanks,
    Prometheus

    Private
    avatar
  • amazing dude!

    thanks for the news, although i have to confess i got a little confused and scared with all those braking changes!

    anyway, i love that you drop the star location, its was pointless after all for replays

    take your time friend, i just hope when you release it you write down some simple documentation, cause now with all those 4 different classes you said lots of stuff change!

    keep up!

    or just update and make downloadable your sample project that would be a good reference i guess.

    This Business Is Binary. You are a 1 or a 0. Alive or Dead.- Play SC2 Offline with StarTCraft Loader: http://adf.ly/M0bMj
    Developer & Moderator
    avatar
    Battle.net
    Name:
    Vernam7
    Realm:
    Europe
  • UPDATE!!!!!!!!!!!!!!!!

    got a shitton more opcodes for all races

    the player class for each player now stores all parsable units, abilities, and upgrades that the player used during the game.
    this is actually a pretty big deal imo, its pretty much the beginnings of a real tech map for players

    anyhow, the eventlist itsself is still storing game-wide info on all of these as well (for searching, etc)

    Private
    avatar
  • did you see my post prometheus? i ask cuz its a major issue i ran into when dealing with replays that pretty much makes having build order useless, as there is no way to tell the diff between valid and invalid orders :(

    Registered User
    avatar
  • yah i saw that and thats one of the reasons that im only doing units and not buildings

    although you can just check the timecode as well and implement some logic based on that, which presents its own problems, as you noticed

    Private
    avatar
  • @Prometheus: the issue im referring too actually effects units more than buildings. Try starting a game and clicking on the cc or nexus and then very quickly hitting the hotkey for build scv/probe if you can do it fast enough, you can get in up to 3 orders in the replay, while only one is valid in game :(

    Registered User
    avatar
  • No ur misunderstanding me
    I'm not keeping a tally of how many units are in play just which types
    so in this case it wouldn't matter as all I'm storing is that the game had an scv in it

    like I said, it's the rudiments of a build order :(
    I suppose down the line we can worry about keeping track of resources

    Private
    avatar
  • ahh ok i get what you mean. unfortnately keeping track of resources is just as hard as far as i can tell, since there is no event for resource drop off, to to keep track of minerals, youd have to know how long it would take for workers to go back and forth, and whether or not there are obstacles, etc etc

    Registered User
    avatar
  • I'm thinking maybe the sync events

    Private
    avatar
  • ok what happened to the replay.image?? no more image extraction? how can i do that in latest beta?
    i dont care about locations just image

    also the beta you gave me cant be added as reference in vs with .net 3.5 and specific version = true! and my system crashes with error (cant find the dll) can you compile this in .net 3.5 or any tip arround it? previous version was referenced normal

    This Business Is Binary. You are a 1 or a 0. Alive or Dead.- Play SC2 Offline with StarTCraft Loader: http://adf.ly/M0bMj
    Developer & Moderator
    avatar
    Battle.net
    Name:
    Vernam7
    Realm:
    Europe
  • Hey vernam
    it's 3.5 but it's a debug specific dll
    if you can't work with that format I'll send ya the release candidate when I get home from work

    also about images... It's in the mpq file called minimap.jpg
    very easy to just stream it into an imagebox

    Private
    avatar
  • PrometheusHey vernam
    it's 3.5 but it's a debug specific dll
    if you can't work with that format I'll send ya the release candidate when I get home from work

    also about images... It's in the mpq file called minimap.jpg
    very easy to just stream it into an imagebox


    Prom i am aware of the image i am taking it to my tool, but the question really is if the replay class it self has the ability to read the image, as you were doing in the previews version with the save.jpg or something, i thought you said the minimap is also stored in the replay file!? right?

    if it is exactly as a map file then i can get the image my self
    if not, i will like if its not too match truble to make it as your previous version!

    tnx waiting for that new Dll of yours when you return man, i cant work with that at all!

    This Business Is Binary. You are a 1 or a 0. Alive or Dead.- Play SC2 Offline with StarTCraft Loader: http://adf.ly/M0bMj
    Developer & Moderator
    avatar
    Battle.net
    Name:
    Vernam7
    Realm:
    Europe
  • i can add it back in to the replay class
    but it really is just a jpg in the .sc2replay file, not even in a difficult format

    Private
    avatar
  • ok great but if its allready implemented would be nice!
    :)

    i will see what i can do by my self reading it. i was under the wrong impression replay files were not common mpqs, but i see the are and to get the save.jpg is really easy!

    so now i need a dll that will be final retail build to add it in my project!

    once again super work dude!

    This Business Is Binary. You are a 1 or a 0. Alive or Dead.- Play SC2 Offline with StarTCraft Loader: http://adf.ly/M0bMj
    Developer & Moderator
    avatar
    Battle.net
    Name:
    Vernam7
    Realm:
    Europe
  • may i ask that you do a simple program to run the library cause not everyone is a programmer and i cannot use the lib for example. A normal exe application, not java.

    Other than that, great job, also while for a war3 parser that i did with another person i had to tell him what info the program to parse, it seems you already know. I can only suggest APM info and total actions though you are probably aware of these features as well.

    Corporal
    avatar
  • Yah 1.2 will come with a sample app

    Private
    avatar
Page 1

New Reply

If you were logged in you would gain 3 XP for posting a reply.

Please respect our terms of use when participating in Nibbits.

Preview
Comment
We will show a masked version of your IP address as well as your name.

Support Nibbits by linking to us: