It was brought to my attention not too long ago that the PK2 tools had some fatal bugs in it that made them unusable on the new CSRO test server pk2 files. I spent the day going through and updating the code so I believe I got most of the bugs fixed. However, I still need more people to test and use them and report anything unusual.
These tools should work on: ISRO 205, 210/TSRO/VSRO/KSRO/CSRO/CSRO Test. They will not work on the private server PK2 files due to a different blowfish key being used. I've already tried extracting all of those versions PK2 files myself and didn't have any problems. I compared my results to the original VB 6 PK2 extractor related a number of years ago and I get matches now where I used to no to (bugs in MFC code). The Editor was not modified except for the parts that used the Extractor, so it should still work normally.
One important thing to know beforehand is that the tools work a lot slower now than before. This has to do with extra code I had to add to make sure the PK2s are processed correctly because the PK2 files have some weird layouts that were causing bugs in the original tools. I'll be trying to speed things up and update the GUI from MFC later on when I have time. I did make the Extract All feature multithreaded now in hopes of speeding things up. It will now use 4 threads.
Also, if there are any requests or features for the tools, please leave comment so I can consider it for an updated version. I had a few requests for a command line editor instead of having to use the tool, but I don't know what people actually would like nowadays.
- PK2Tools_2_Beta.zip (1 false positive, not sure why) - PK2Tools_2_Beta_Src.zip
Attached are binaries and source. I plan on making more changes, but this should be a 'stable' release barring anything I just totally overlooked. Thanks for anyone that can test who does PK2 editing ahead of time.
i'll take a look at them and hopefully when my C++ skills get better i can add a combo to chose which version of sro u wanna extract etc so it can be used on the private servers too :P. Nice work drew once again.
Yes, just today I was using this, and missing one function. The hotkeys.
Will be great if you add hotkeys. Like:
- F3: Load the last .pk2 file
- F4: Close the actual .pk2 file.
Also an option menu for config the tools will be great, sometimes is usefull the message "Do you really wish to exit?", but when you must open and close the PK2 tools a lot of times is annoying. So be able to enable/disable these kind of things would be awesome.
Also a function for delete files inside the pk2 should be possible?
Thank you a lot for your work Drew, you make the life of the pk2 editor more easy and confortable ^^
Thanks to everyone for the testing so far! I hope to get into some more extensive testing later myself.
Quote:
i'll take a look at them and hopefully when my C++ skills get better i can add a combo to chose which version of sro u wanna extract etc so it can be used on the private servers too :P. Nice work drew once again.
I could make the blowfish key load from a file, but the problem with private servers is that you have to get the blowfish key first! I'll work out a way to auto detect it later using some of my newer code if it's possible (it should be).
Quote:
Originally Posted by kaperucito
Yes, just today I was using this, and missing one function. The hotkeys.
Will be great if you add hotkeys. Like:
- F3: Load the last .pk2 file
- F4: Close the actual .pk2 file.
I'll have to look into that with how MFC works. I'm not really that good with MFC and I had only used it for the project because of how easy the Tree View control was. I should be able to find something so I'll see about adding those hotkeys to the GUI.
Quote:
Also an option menu for config the tools will be great, sometimes is usefull the message "Do you really wish to exit?", but when you must open and close the PK2 tools a lot of times is annoying. So be able to enable/disable these kind of things would be awesome.
I should be able to easily add that feature in the future I think.
Quote:
Also a function for delete files inside the pk2 should be possible?
I'm not sure how to delete files in the PK2 other than replacing them with a 0 byte file. I don't think the Silkroad.exe made use of that functionality, so I never found it if it even exists. That and the task of creating a new empty PK2 to work from would be nice too, but requires a bit of research.
Quote:
Thank you a lot for your work Drew, you make the life of the pk2 editor more easy and confortable ^^
hi drew
can you tell the problems/bugs you had in your previous version (as far as you remember)?
because i have an own pk2 extractor based on your old work (made it because i like delphi more and its much faster, but lacking some feautres like multiple extract by now) and want to check if i have them too
hi drew
can you tell the problems/bugs you had in your previous version (as far as you remember)?
There were two major bugs in the (reader) project.
1. The Parse function for parsing through the PK2 entries was wrong. It is now much simpler and works correctly. However to get it working nicely, I had to introduce code that would make it work slower.
The problem was that some files are stored one after another and when there are no more files and just empty headers for future files, there were all 0 padded entries However, for some files, when the end of the file list was hit, a data file would come next rather than another header entry so that was bugging the entire system. I think I know how to detect that now and will be updating the code again, but for now I just used a temporary fix to track all of the data file locations (hence why it's slower, 1 extra dword in a set for every file!)
Besides that, my "next chain" logic was not right either. I was returning to the next file location and continuing searching when in fact I should treat it like a linked list and continue down the new chain of files and never return to where it was. I kind of used trial and error to fix that problem when I rewrote the code since it didn't make sense to return the file position.
2. The MFC displaying code was wrong for the tree view. I had not taken into account where you might have a file on a deeply nested layer and then a directory in a layer that was more than 1 level differences, so it would place the folder in the wrong tree item. For example if you had a file on layer 5 and then the next item was a folder on layer 1, it would place it into layer 4. I now loop through and correctly pop off each layer differences so it's placed correctly.
So far it seems to be working well, so I'll be rewriting it again. The main slowness of the program comes with the algorithms I'm using. Linear search is O(n) and simply horrible for everything but Music.pk2 and particles.pk2! Not to mention I'm using a vector and that makes memory layout really inefficient for so many files. I'll be looking to change up these things to provide a much more efficient version soon!
I don't think I'll be doing that, but if someone is interested in that, all the source code is there.
In other good news, I've begun rewriting the entire API from scratch. edxPK2API will blow the current PK2 API out of the water in terms of performance, resource usage, features, and usability. I don't want to go into too many details yet because I still have quite a bit of work to do on it, but I can already see this new version working way better than the current version, which was written at the end of 2007. So, more updates will be coming over the next few weeks!
Need beta testers 08/02/2010 - Dekaron Private Server - 8 Replies Server need beta testers (25 applications so far) PM me for appli info
Server new host location Germany,Nuremberg
Intel® Core™ i7-920 Quadcore
incl. Hyper-Threading Technology
RAM8 GB DDR3 RAMHard discs2 x 750 GB SATA-II HDD
(Software-RAID 1)NIC1 GBit OnBoard
connected at 100 MBit
Backup Space100 GB
Searching Beta Testers for my AFK Tool 10/11/2006 - Conquer Online 2 - 24 Replies http://img142.imageshack.us/img142/9417/qonq1at7.p ng
The afk tool
he afk tool is a very handy tool running on the beta test of my API,
The version of this afk tool is 3.0 and is very much updated from the first one's.
The best thing i like is the style to 'contact you'.
The first release of my afk tool (v1.0) just emailed you on lvl up.
The v2.0 Told your stats trough msn, but it was not multi-client and pixel reading.
Now 3.0 works totally different, you register at a server (the...