I wanted to see if I could decode a replay file. As it turns out, I could. Now, I'm not sure what I want to do with it, so I might as well set it free...
There are a couple of bytes that I have yet to decipher, but it parses 99% of the information.
To everybody who doesn't know what it does: this is a new engine like the one in CoH Replay Analyzer (COHRA) for which we had no source code.
I tried it and ... have some questions.
What's the supposed format of the actionDefinitions file? I tried cohra.dat which is in the format Dyxtra used for COHRA and the replay parser didn't like it. Example: COHRA: 9,0,BUILDING,"Barracks",0x5eb,1 replay parser: 9,0,"Barracks",1
The action type (BUILDING) doesn't seem to be stored anywhere else and 0x5eb is the actual action ID - how can replay parser work without those?
In any case very impressive work--especially compared to the mess I coded for CohReplayLister. BTW: I can update it to recognize 2.602 replays if anyone is interested.
Oh, thanks a lot for sharing the source code!
This post has been edited by ThisIsKindergarten: Aug 15 2011, 17:07 PM
To everybody who doesn't know what it does: this is a new engine like the one in CoH Replay Analyzer (COHRA) for which we had no source code.
I tried it and ... have some questions.
What's the supposed format of the actionDefinitions file?
The format is: action type, action id, description, has-location-flag, ie. coordinates on the map. I haven't gotten around to make a table that maps action type to a description.
QUOTE(ThisIsKindergarten @ Aug 15 2011, 19:01 PM)
How does one get / set the mod name?
Good question - I only tested with vanilla games and assumed it was the actual name of the mod.
QUOTE(ThisIsKindergarten @ Aug 15 2011, 19:01 PM)
replayParser.replay.mapDescription wrong?
Hm, interesting. It's 4 bytes off. I haven't seen that before. It should be $60995
QUOTE(ThisIsKindergarten @ Aug 15 2011, 19:01 PM)
In any case very impressive work--especially compared to the mess I coded for CohReplayLister. BTW: I can update it to recognize 2.602 replays if anyone is interested.
Oh, thanks a lot for sharing the source code!
Thx and np
Btw, feel free to do whatever you want with it.
Edit: My original plan was to combine your idea with cohra with an underlying database (sqlite initially) and add a query interface so you could create statistics.
This post has been edited by pingtoft: Aug 15 2011, 18:53 PM
The format is: action type, action id, description, has-location-flag, ie. coordinates on the map. I haven't gotten around to make a table that maps action type to a description.
How about using Dyxtra's format even if you don't need all it's fields? That would give us a complete list of action IDs right now.
Of course I could just make the required changes for my own use. But I very much prefer a solution that is readily available to everybody.
QUOTE(pingtoft @ Aug 15 2011, 20:47 PM)
Hm, interesting. It's 4 bytes off. I haven't seen that before. It should be $60995
I'll try with other maps.
QUOTE(pingtoft @ Aug 15 2011, 20:47 PM)
Edit: My original plan was to combine your idea with cohra with an underlying database (sqlite initially) and add a query interface so you could create statistics.
"Was" like "not gonna happen" or like "when I have time"? Getting statistics for tourney after-action-reports and the like would be absolutely awesome.
Let me know if you'd like some help for example a GUI.
This post has been edited by ThisIsKindergarten: Aug 15 2011, 19:15 PM
How about using Dyxtra's format even if you don't need all it's fields? That would give us a complete list of action IDs right now.
Of course I could just make the required changes for my own use. But I very much prefer a solution that is readily available to everybody. I'll try with other maps. "Was" like "not gonna happen" or like "when I have time"? Getting statistics for tourney after-action-reports and the like would be absolutely awesome.
Let me know if you'd like some help for example a GUI.
I don't have the time or energy atm. to finish it and rather than leaving it to fester in my svn, I posted it here in the hope that someone would find use of it.
You're more than welcome to modify the code and if you do I hoe you post the updated code, so I and others can benefit from it.
In any case very impressive work--especially compared to the mess I coded for CohReplayLister. BTW: I can update it to recognize 2.602 replays if anyone is interested.
Yes please! Or just give some pointers to what changes there might be
Ah, so I am right in assuming that this code is fully compatible with 2.602 replays as well? Great!
Well, ReplayLister doesn't explode if you tell it to list 2.602 replays--it will show them as being 2.601 replays. But one of it's duties is to show you whether a replay will work with your CoH install. And 2.601 replays don't work with a 2.602 install.
There is a bug with filtering for the russian faction though. But as nobody complained yet I take it no one uses it anyway .
In case you are referring to pingtoft's code: I guess it's compatible with 2.602 replays but haven't checked.
This post has been edited by ThisIsKindergarten: Sep 27 2011, 21:04 PM
Well, ReplayLister doesn't explode if you tell it to list 2.602 replays--it will show them as being 2.601 replays. But one of it's duties is to show you whether a replay will work with your CoH install. And 2.601 replays don't work with a 2.602 install.
There is a bug with filtering for the russian faction though. But as nobody complained yet I take it no one uses it anyway .
In case you are referring to pingtoft's code: I guess it's compatible with 2.602 replays but haven't checked.
I tested my code solely on 2.602 replays.
Posts: 4,341
Game:
1 User(s) are reading this topic(1 Guests and 0 Anonymous Users)
Now, I'm not sure what I want to do with it, so I might as well set it free...
There are a couple of bytes that I have yet to decipher, but it parses 99% of the information.
Posts: 4,341
Game: