|
You last visited: Today at 22:40
Advertisement
[RELEASE] DataCore v3
Discussion on [RELEASE] DataCore v3 within the Rappelz Private Server forum part of the Rappelz category.
01/19/2016, 18:42
|
#1
|
elite*gold: 0
Join Date: Jul 2015
Posts: 479
Received Thanks: 639
|
nulled
Nulled
|
|
|
01/19/2016, 18:46
|
#2
|
elite*gold: 70
Join Date: Dec 2012
Posts: 278
Received Thanks: 156
|
Good job . Can I add to the Download center?
|
|
|
01/19/2016, 18:49
|
#3
|
elite*gold: 0
Join Date: Jul 2015
Posts: 479
Received Thanks: 639
|
ofc
|
|
|
01/19/2016, 19:01
|
#4
|
elite*gold: 0
Join Date: Nov 2011
Posts: 978
Received Thanks: 1,011
|
Nicely done. Hopefully you will wake up too.
|
|
|
02/20/2016, 14:59
|
#5
|
elite*gold: 0
Join Date: Oct 2012
Posts: 130
Received Thanks: 13
|
Quote:
Originally Posted by SilentWisdom
- The Haters -- Without all of you I would have just been another guy making lua scripts and pretending to be a developer, thanks for always pushing me!
|
LOL then i must find more haters, so you can make more tools like this
|
|
|
03/02/2016, 09:35
|
#6
|
elite*gold: 0
Join Date: Jul 2015
Posts: 479
Received Thanks: 639
|
Minor Updates
Announcing DataCore v3.0.0.3
- Load overload: bool decodeNames added
- false is a performance increase for programs that do not need to display decoded names to the user
- true is a performance loss but allows for displaying decoded names to the user
- File Method: GetFileBytes(string dataDirectory, int dataId, long offset, int length) added
- Returns the collection of bytes that represents a file in the data.*** storage system. (handy for doing hash calculations on the files byte[])
WARNING!!! IMPORTANT!!!
If you have previously included DataCore in an application be mindful that your core.Load(string filePath) will thrown an error as it will need the new overload! (e.g. core.Load(string filePath, bool decodeNames)
|
|
|
03/05/2016, 15:10
|
#7
|
elite*gold: 0
Join Date: Jul 2015
Posts: 479
Received Thanks: 639
|
v3.0.0.3 Bug Fixes Released
- Save overload: bool encodeNames added
- Updated functionality of method: UpdateFileEntry()
- Originally intended to accept decoded fileName as part of string filePath
- Updated to accept encoded fileName as part of string filePath
- Added proper encoding to method: GetFileBytes()
WARNING!!! IMPORTANT!!!
If you have previously included DataCore in an application be mindful that your core.Save(ref index, string filePath) will thrown an error as it will need the new overload! (e.g. core.Save(ref index, string filePath, bool encodeNames)
|
|
|
04/22/2016, 14:40
|
#8
|
elite*gold: 0
Join Date: Jul 2015
Posts: 479
Received Thanks: 639
|
Announcing DataCore v3.0.0.4
- Core.Import/UpdateFileEntry methods switched from OnTotal* events to OnCurrent*
- Core.UpdateFileEntry() overload added with argument (ref List blankIndex) to update files while tracking orphaned space
- Restructured code in Import/UpdateFileEntry methods
- Core.Create() method now reports a totalProgress/totalStatus
- Core.Load() method now reports a TotalStatus message and CurrentProgress values
- Core.Load() reportInterval (int) argument added, controls amount of bytes to process before reporting position to caller (progress reporting)
- Core.Load() overloads for data.000 and data.blk merged
- Structures.EventArgs.CurrentEventArgs changed to long from int
- IndexEntry class moved from DataCore namepsace to DataCore.Structures
- BlankIndexEntry and IndexEntry merged
- Core.Save() now reports progress via OnTotal/OnCurrent events
- Core.Save() changed from bool to void (bool always returned true)
- Core.Save() (all overloads) code optimized
- Core.Save() overload added to properly save .blk index as a .000 would be
- Added new Core.GetEntriesByDataId() overload to search BlankIndex
- Added Core.GetClosestEntry(ref List index, int dataId, int minSize, int maxSize) method to get the closest matching IndexEntry from the data.blk
WARNING!!! The Load/Save arguments have changed since the last release! Make sure to update your project calls to these methods accordingly
This also goes for including the IndexEntry structure into your class, as noted above you can no longer call it by: using DataCore; but instead by adding a new using: using DataCore.Structures;
|
|
|
08/07/2016, 22:49
|
#9
|
elite*gold: 0
Join Date: Sep 2013
Posts: 32
Received Thanks: 1
|
Great tool!
I am currently working on a program to use the DataCore and I found some bugs:
First and most annoying: while the core runs any function the program doesn't respond.
This leads into problem #2: the progress-Events won't be called.
(This means, that the window can not get focus back - if lost - the button inside the program cant be clicked/focused/whatever else you can do with buttons, any ToolTips won't appear, and progressbars - controlled by the progress-Events - won't change - until the core finished working on his function and is ready again - for example dumping files)
The third bug is that the core.Save-Method always throws a IO.PathNotFound-Exception even if the given path exists.
Dumping, exporting files and building the data.001-8 Files work fine. (I havn't worked with deleting and updating enough to say anything about these functions but as far as I am they are working fine too  )
Again big THANKS for the great work!
(I apologize for any grammar/spelling mistakes, but I am not a native speaker)
|
|
|
08/08/2016, 01:30
|
#10
|
elite*gold: 0
Join Date: Jul 2015
Posts: 479
Received Thanks: 639
|
Quote:
Originally Posted by Rappler007
Great tool!
I am currently working on a program to use the DataCore and I found some bugs:
First and most annoying: while the core runs any function the program doesn't respond.
This leads into problem #2: the progress-Events won't be called.
(This means, that the window can not get focus back - if lost - the button inside the program cant be clicked/focused/whatever else you can do with buttons, any ToolTips won't appear, and progressbars - controlled by the progress-Events - won't change - until the core finished working on his function and is ready again - for example dumping files)
Firstly, you must understand: The DataCore is not multi-threaded by nature this is assumed to be handled inside of your programs code. I suggest using the TASK API.
Example: Task.Run(() => { core.Load(); });
P.S.
Running the function inside a task is the same as using a backgroundworker or thread. If you attempt to directly report event information to a control create on the program thread you will get a "Cross-Thread Operation" exception. So when you write your reporting events do it like so:
Example: core.ErrorOccured += (o,x) => { this.Invoke(new MethodInvoker(delegate {errorLabel.Text = x.Error; }))};
this.Invoke can only be used from the base thread the program is started on!
The third bug is that the core.Save-Method always throws a IO.PathNotFound-Exception even if the given path exists.
I guess I left the naming convention here for the path argument a bit ambiguous. The argument: buildPath expects the whole path like (C:/Rappelz/data.000)
Dumping, exporting files and building the data.001-8 Files work fine. (I havn't worked with deleting and updating enough to say anything about these functions but as far as I am they are working fine too  )
Again big THANKS for the great work!
(I apologize for any grammar/spelling mistakes, but I am not a native speaker)
|
Thanks for your concerns if there is anything else I can do to help please let me know.
P.S.
v3.0.0.4 Bug Fixes and Minor Updates Release
- Secondary Save() overload removed
- Primary Save() arguments clarified
- Arguments: (ref List<IndexEntry> index, string buildDirectory, bool isBlankIndex, bool encodeNames)
- buildDirectory example: C:\Rappelz\
- isBlankIndex = true will save a data.blk (blk [blank] functionality not implemented yet)
- Internal bool NamesHashed added to Core.cs (tracks if caller loads data.000 with names hashed/unhashed (not for callers use)
- GetEntry(ref List<IndexEntry> index, string inName) now accepts Hashed/Unhashed names
- GetEntry(ref List<IndexEntry> index, string inName) summary text updated accordingly
- GetFileEntry removed
- New methods to generate file hashes (MD5/SHA512) added
- GetFileMD5(ref List<IndexEntry> index, string dataDirectory, string fileName)
- GetFileMD5(string dataDirectory, int dataId, long offset, int length, string fileExt)
- GetFileSHA512(ref List<IndexEntry> index, string dataDirectory, string fileName)
- GetFileSHA512(string dataDirectory, int dataId, long offset, int length, string fileExt)
Binaries will no longer be released here! Download them from the github in the OP
|
|
|
02/15/2017, 15:57
|
#11
|
elite*gold: 0
Join Date: Dec 2014
Posts: 12
Received Thanks: 0
|
can you give me DataCore.dll please
|
|
|
02/16/2017, 16:48
|
#12
|
elite*gold: 0
Join Date: Mar 2016
Posts: 297
Received Thanks: 89
|
Quote:
Originally Posted by [ProGramer]sFa7
can you give me DataCore.dll please
|
|
|
|
02/16/2017, 21:44
|
#13
|
elite*gold: 0
Join Date: Jul 2015
Posts: 479
Received Thanks: 639
|
It is best to use releases from the github or to download the repo and compile.
|
|
|
All times are GMT +1. The time now is 22:41.
|
|