[RELEASE] DataCore v4.0.0

11/12/2017 01:24 SilentWisdom#1
[Only registered and activated users can see links. Click Here To Register...]
11/12/2017 02:22 thefear511#2
Wow, thanks silent for such great work ^^ keep up.
11/12/2017 04:48 Sherock#3
thank you so much
11/12/2017 21:49 YuhaBah#4
Amazing!
But i dont know what is it for now xD ( but i know, that it is very cool thing!!!!)
But i belive, that my time will come and such great core will help me very well!
11/13/2017 15:05 thefear511#5
Quote:
Originally Posted by YuhaBah View Post
Amazing!
But i dont know what is it for now xD ( but i know, that it is very cool thing!!!!)
But i belive, that my time will come and such great core will help me very well!
simple word "good bye resource"
11/13/2017 15:52 YuhaBah#6
Quote:
Originally Posted by thefear511 View Post
simple word "good bye resource"
?
11/13/2017 18:26 ThunderNikk#7
Think of it this way.

It is not a program on its own but it is like a archive management library specifically coded to manage the rappelz data.xxx files which are like archives.

So when winrar or 7zip or others would not work the developers here worked together to code one.

When we make changes to the Rappelz client files we hash the file names after changes and place them in the clients resource folder which acts as an override and causes the client to ignore the file packed in the data.xxx archives and use the resource folder override.

This library is able to read the data.000 file which is the directory of all the other data files.

Is is able to work with the name hashing.

So in conjunction with additional code you can extract a file, edit it, and re archive it back into the data file where it belongs.

Along with all of the other control that Silent wrote up top in the opening post there.

Which is why thefear511 wrote goodbye resource
11/13/2017 19:04 thefear511#8
Quote:
Originally Posted by ThunderNikk View Post
Think of it this way.

It is not a program on its own but it is like a archive management library specifically coded to manage the rappelz data.xxx files which are like archives.

So when winrar or 7zip or others would not work the developers here worked together to code one.

When we make changes to the Rappelz client files we hash the file names after changes and place them in the clients resource folder which acts as an override and causes the client to ignore the file packed in the data.xxx archives and use the resource folder override.

This library is able to read the data.000 file which is the directory of all the other data files.

Is is able to work with the name hashing.

So in conjunction with additional code you can extract a file, edit it, and re archive it back into the data file where it belongs.

Along with all of the other control that Silent wrote up top in the opening post there.

Which is why thefear511 wrote goodbye resource
yup this way we can just import the rdbs to the data.xxx instead of relying on hashing and resource folder.
i've already seen a pserver that uses this.
11/19/2017 00:53 SilentWisdom#9
Release v4.1.0
  • New property DataDirectory exposed (is set instantly when Load() is used) thanks to @[Only registered and activated users can see links. Click Here To Register...] for the suggestion
  • Load method performance enhanced
  • GetEntry (all overloads) will no longer cause unhandled exceptions in the event entry does not exist
  • Methods no longer use dataDirectory argument
  • ExportFileEntries removed
  • ImportFileEntry/UpdateFileEntry merged
  • ImportFileEntry completely rewritten
  • ImportFileEntry new overload (string fileName, byte[] fileBytes) added thanks to @[Only registered and activated users can see links. Click Here To Register...] for the suggestion
02/05/2018 16:49 SilentWisdom#10
Release v4.2.0
  • Core.cs FindAll() method added for in-depth searching of the loaded index
  • Core.cs GetEntry() and associated overload optimized and unnecessary throws removed
  • Core.cs ImportFileEntry and associated overload optimized, repeated code removed, IndexEntry entry now properly handled in the case of importing a file that did not already exist in the index.
  • StringCipher.cs GetID overload (string hash) now encodes plain filenames before attempting to retrieve data id.
  • StringCipher.cs local_tolower name clarified and optimized to naming convention by rename toLower
10/14/2018 20:05 SilentWisdom#11
Release 4.3.5
  • Core.cs.ExtensionList is now formed dynamically instead of loaded from hardcoded asset list
  • Core.cs.New method now is void method
  • Core.cs useless New() overload removed
  • Core.cs.New() OnMessage reporting altered
  • Core.cs.New() no longer defines file length to enhance performance
  • Core.cs.Save() method rewritten
  • Core.cs.GetExtensionSize() method added to quickly determine the size any given files with provided extension consumes inside loaded client
  • Core.cs.GetEntriesByExtension (all overloads) updated to be less prone to failure due to odd/rouge file names
  • Core.cs.GetEntriesByExtension overload added to get entries not only by extension but also matching dataId
  • Core.cs.GetFileBytes() redundant code removed, overload optimized
  • Core.cs GetSHA512/GetMD5 and associated overloads removed for redundancy, see Core.Functions.Hash for similar method set
  • Core.cs.ExportFileEntry rewritten due to odd bug with certain files
  • Core.cs.ExportExtEntries() method added for IO performance
  • Core.cs.ExportAllEntries() method added for IO performance
  • Core.cs.BuildDataFiles() completely rewritten
  • Core.cs.RebuildDataFile() completely rewritten
  • Functions.ByteConverterExt added for faster conversion of string<>byte[]
  • Structures.ExtensionInfo added to house information regarding Core.cs.ExtensionList
  • Structures.IndexEntry Extension property added
  • Structures.IndexEntry HashName property added
  • Structures.IndexEntry.DataID fixed to now properly provide DataID
12/01/2018 19:01 SilentWisdom#12
Release v4.4.0

Sorry for being a bit behind in this release compared to the last github push, but here you all are!
  • DataCore.Core.cs Load() method now accepts full filepath to data.000 or directory (relative path) that data.000 exists in
  • DataCore.Core.cs Load() no longer assigns DataID for performance gain
  • DataCore.Core.cs Save() useless comments removed, rewritten for IO performance benefits/readability
  • DataCore.Core.cs GetEntriesByExtensions() method added to retrieve a list of entries by more than one extension
  • DataCore.Functions.StringCipher.cs GetID() code rewritten for clarity/debugging purposes and to ensure accuracy
  • DataCore.Functions.XOR.cs Cipher() redundant/useless (int) cast removed
12/02/2018 12:28 thefear511#13
Quote:
Originally Posted by SilentWisdom View Post
Release v4.4.0

Sorry for being a bit behind in this release compared to the last github push, but here you all are!
  • DataCore.Core.cs Load() method now accepts full filepath to data.000 or directory (relative path) that data.000 exists in
  • DataCore.Core.cs Load() no longer assigns DataID for performance gain
  • DataCore.Core.cs Save() useless comments removed, rewritten for IO performance benefits/readability
  • DataCore.Core.cs GetEntriesByExtensions() method added to retrieve a list of entries by more than one extension
  • DataCore.Functions.StringCipher.cs GetID() code rewritten for clarity/debugging purposes and to ensure accuracy
  • DataCore.Functions.XOR.cs Cipher() redundant/useless (int) cast removed
Uh I know this might not be relevant but could you make some guides of how to use this library within c# and to modify launchers maybe?:handsdown:
12/02/2018 16:17 Dark Blaze#14
Quote:
Originally Posted by thefear511 View Post
Uh I know this might not be relevant but could you make some guides of how to use this library within c# and to modify launchers maybe?:handsdown:
[Only registered and activated users can see links. Click Here To Register...]
The link above should explain how to add the library to your project and there is already documentation for using the methods of DataCore in the thread. If you want to see an example of DataCore in use you can look at the source of [Only registered and activated users can see links. Click Here To Register...] as it uses DataCore.
12/02/2018 17:13 thefear511#15
Quote:
Originally Posted by Dark Blaze View Post
[Only registered and activated users can see links. Click Here To Register...]
The link above should explain how to add the library to your project and there is already documentation for using the methods of DataCore in the thread. If you want to see an example of DataCore in use you can look at the source of [Only registered and activated users can see links. Click Here To Register...] as it uses DataCore.
Nice collection thanks.:)