Jump to content

GRF: GRF Editor


Tokei

Recommended Posts


  • Group:  Developer
  • Topic Count:  153
  • Topics Per Day:  0.04
  • Content Count:  2285
  • Reputation:   745
  • Joined:  06/16/12
  • Last Seen:  

it's more than 2 years and I missed this tool I think @_@

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  4
  • Topics Per Day:  0.00
  • Content Count:  156
  • Reputation:   62
  • Joined:  11/24/14
  • Last Seen:  

Sometime when i'm mergering some files, especially the huge one,

many of my files got corrupted, any idea?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  657
  • Reputation:   662
  • Joined:  11/12/12
  • Last Seen:  

Sometime when i'm mergering some files, especially the huge one,

many of my files got corrupted, any idea?

 

You can try upgrading to 1.7.2.5 ( http://www.mediafire.com/download/aflylbhblrzpz0h ); there hasn't been many changes added regarding the merging process other than a file position condition check. I have retested various merges on my end and I haven't encountered any issues. You can look for corrupted entries from Tools > Grf validation > Validate content > Validate.

 

If you are able to reproduce the issue, using the latest version, please send me the two corresponding GRFs (here or via a private message). You should also be getting an error of some sort when you click on the file; use the "Copy exception" button and paste the result somewhere. It might be helpful.

Link to comment
Share on other sites

  • 4 weeks later...

  • Group:  Members
  • Topic Count:  166
  • Topics Per Day:  0.04
  • Content Count:  789
  • Reputation:   50
  • Joined:  04/16/12
  • Last Seen:  

Hi Tokei,

Is encrypted GRF and merging with non-encrypted grf will turn the encrypted grf into non-encrypted i got trouble to this i need to protect my files lol

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  657
  • Reputation:   662
  • Joined:  11/12/12
  • Last Seen:  

Hi Tokei,

Is encrypted GRF and merging with non-encrypted grf will turn the encrypted grf into non-encrypted i got trouble to this i need to protect my files lol

 

Not sure what you're trying to achieve here...! The encryption is based per file, not for the whole GRF. If you're merging non-ecnrypted files in a fully encrypted GRF, then the non-encrypted files will remain non-encrypted. If you want to encrypt your patch files, then I'd suggest you to follow this guide : http://hercules.ws/board/topic/6047-grf-editor/?p=44463

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  166
  • Topics Per Day:  0.04
  • Content Count:  789
  • Reputation:   50
  • Joined:  04/16/12
  • Last Seen:  

 

Hi Tokei,

Is encrypted GRF and merging with non-encrypted grf will turn the encrypted grf into non-encrypted i got trouble to this i need to protect my files lol

 

Not sure what you're trying to achieve here...! The encryption is based per file, not for the whole GRF. If you're merging non-ecnrypted files in a fully encrypted GRF, then the non-encrypted files will remain non-encrypted. If you want to encrypt your patch files, then I'd suggest you to follow this guide : http://hercules.ws/board/topic/6047-grf-editor/?p=44463

 

Thanks it works. Now i got troubled on patching encrypted .thor patches 

you said here that

If you're using GRF Editor's encryption, then make a new Thor file (File > New > New Thor) and add the files you want to patch it with. Right-click on the files you want to encrypt and use Encryption > Encrypt.

so i did is i try first to edit a single file inside of backup and non-encrypted grf to be overwrite  inside the encrypted grf so here it goes. i made several changes on that particular file i will be patched and i placed it on its proper directory and save it as .thor extension added it on my patchlist and webhost but stuck at saving resources when i try to ran the Patcher any idea about this? thanks looking forward for your answer

 

Edited by Yonko
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  118
  • Reputation:   17
  • Joined:  01/29/15
  • Last Seen:  

You could also just patch encrypted GPF files with thor to avoid the double repacking. Just create those with GRF Editor and Thor can patch it once you put it on the patch list :)

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  657
  • Reputation:   662
  • Joined:  11/12/12
  • Last Seen:  

Thanks it works. Now i got troubled on patching encrypted .thor patches 

you said here that

If you're using GRF Editor's encryption, then make a new Thor file (File > New > New Thor) and add the files you want to patch it with. Right-click on the files you want to encrypt and use Encryption > Encrypt.

so i did is i try first to edit a single file inside of backup and non-encrypted grf to be overwrite  inside the encrypted grf so here it goes. i made several changes on that particular file i will be patched and i placed it on its proper directory and save it as .thor extension added it on my patchlist and webhost but stuck at saving resources when i try to ran the Patcher any idea about this? thanks looking forward for your answer

 

I'm confused as to what you did last. A similar bug was present when I first introduced the feature, so please update to the latest version available ( http://www.mediafire.com/download/aflylbhblrzpz0h ). If your issue persists, please send me a private message with your thor patch file and specify your Thor Patcher version. I'll have a look.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  166
  • Topics Per Day:  0.04
  • Content Count:  789
  • Reputation:   50
  • Joined:  04/16/12
  • Last Seen:  

 

Thanks it works. Now i got troubled on patching encrypted .thor patches 

you said here that

If you're using GRF Editor's encryption, then make a new Thor file (File > New > New Thor) and add the files you want to patch it with. Right-click on the files you want to encrypt and use Encryption > Encrypt.

so i did is i try first to edit a single file inside of backup and non-encrypted grf to be overwrite  inside the encrypted grf so here it goes. i made several changes on that particular file i will be patched and i placed it on its proper directory and save it as .thor extension added it on my patchlist and webhost but stuck at saving resources when i try to ran the Patcher any idea about this? thanks looking forward for your answer

 

I'm confused as to what you did last. A similar bug was present when I first introduced the feature, so please update to the latest version available ( http://www.mediafire.com/download/aflylbhblrzpz0h ). If your issue persists, please send me a private message with your thor patch file and specify your Thor Patcher version. I'll have a look.

 

okay sent you a pm :)

Link to comment
Share on other sites

  • 2 weeks later...

  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  27
  • Reputation:   0
  • Joined:  02/17/12
  • Last Seen:  

Hi guys

 

im new to this tool, found it just right away here, i was looking for a newer grf tool because the other i had was grf tool 1.2.0 and it cant open the latest kro data.grf.

 

so i gave your tool a try but it coudnt open it either.

 

the msg i got from it was:

 

 

--------------          Message          --------------
Couldn't load the GRF.
--------------        Stack trace        --------------
   bei GrfToWpfBridge.Application.DefaultErrorHandler._reportAnyManagedExceptions(String message, Exception exception, ErrorLevel errorLevel)
   bei GrfToWpfBridge.Application.DefaultErrorHandler.Handle(Exception exception, ErrorLevel errorLevel)
   bei ErrorManager.ErrorHandler.HandleException(String message, Exception exception, ErrorLevel errorLevel)
   bei GRF.Core.Container._load(String fileName)
   bei GRF.Core.Container..ctor(String fileName)
   bei GRF.Core.GrfContainerProvider.Get(String fileName)
   bei GRF.Core.GrfHolder.Open(String fileName, GrfLoadOptions options)
   bei GRF.Core.GrfHolder.Open(String fileName)
   bei GRFEditor.EditorMainWindow.<>c__DisplayClass63.<Load>b__58()
   bei GRF.Threading.GrfThread.<>c__DisplayClass7.<Start>b__6()
   bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   bei System.Threading.ThreadHelper.ThreadStart()

--------------         Exception         --------------
System.Exception: Couldn't load the GRF. ---> GRF.ContainerFormat.GrfException: The length of the stream is too small for this container. Unable to parse the header.
Actual size : -2106801251
Expected minimal size : 46
   bei GRF.ContainerFormat.GrfExceptions.ThrowHeaderLengthInvalid(Int32 length, Int32 expected)
   bei GRF.Core.GrfHeader..ctor(IBinaryReader reader)
   bei GRF.Core.Container._load(String fileName)
   --- Ende der internen Ausnahmestapelüberwachung ---
--------------          Message          --------------
The length of the stream is too small for this container. Unable to parse the header.
Actual size : -2106801251
Expected minimal size : 46
--------------      Inner exception      --------------
GRF.ContainerFormat.GrfException: The length of the stream is too small for this container. Unable to parse the header.
Actual size : -2106801251
Expected minimal size : 46
   bei GRF.ContainerFormat.GrfExceptions.ThrowHeaderLengthInvalid(Int32 length, Int32 expected)
   bei GRF.Core.GrfHeader..ctor(IBinaryReader reader)
   bei GRF.Core.Container._load(String fileName)
 

 

i tried GrfCL.exe too, but dont know wether i had just to edit the grf path!?

GRFCL gave me this output:

 

 

I:\rathena3\GRF Editor v1.7.3.5\GrfCL>"Extract a GRF to the current folder
.bat"
I:\rathena3\GRF Editor v1.7.3.5\GrfCL\data.grf
#Log : Batch file detected an invalid encoding, changing command line arguments
encoding to 1252
#Log : Breaking on general exceptions = True
#Log : Starting CPU performance management service...
#Log : Extraction and files added will now use this encoding : ks_c_5601-1987
#Error : An exception has been thrown
#Error : Given command line : GrfCL.exe   -breakOnExceptions true -cpuPerf true
-encoding 949 -open  -timer start -extractFiles "" "" -write "" -write "Time of
the extraction with CPU performance management" -timer stop -shellOpen data -bre
ak
#Error : Command being executed : -open
#Exception : Not enough arguments to complete the command -open
-open, -o
        Opens a GRF.
   <1>  Path of the GRF to open.


#BREAK -- Press any key to continue...

I:\rathena3\GRF Editor v1.7.3.5\GrfCL>

 

i used Windows 8.1 x64 with all available .net 4.5.1 updates.

 

i hope i just used your tool wrong.

 

Could it be that this tool is a 32bit application and cant open a files with filesize over 2GB cuz to the 32bit limitation?

Could you provide a x64 version of this tool?

 

ok i used another grf tool called grf builder 1.30 which has a 64bit version for linux, with it i was able to extract the kro data.grf successfully, 32 bit version for windows from it didnt work too. So i guess 32bit is the troublemaker.

Edited by Neji
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  657
  • Reputation:   662
  • Joined:  11/12/12
  • Last Seen:  

Hi guys

 

im new to this tool, found it just right away here, i was looking for a newer grf tool because the other i had was grf tool 1.2.0 and it cant open the latest kro data.grf.

 

so i gave your tool a try but it coudnt open it either.

 

the msg i got from it was:

 

Yes, the problem comes from the 2 GB file size limit. I will increase the limit up to 4 GB in future versions, but going beyond this point is not feasible. Also, on a side note, this GRF shouldn't exist. It should have been splitted up with rdata.grf; my data.grf is 1.6 GB (1.2 GB with lzma) and it is fully updated.

 

Edit : compiling it in 64bit wouldn't change much; it would only make it worse when saving the GRF (the GRF has a limit of 32 bits for the pointers, all you can do is make it unsigned).

Edited by Tokei
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  27
  • Reputation:   0
  • Joined:  02/17/12
  • Last Seen:  

1.6GB hmm i dont remember, i use this grf for years and updating it sporadically, but it can be that i merge it long time ago with other useful grf like base or palette grf.

luckly it was always working since now, but come to think about that 2gb limitation, i think i should splitt it.

 

could you do me a faver?

can you provide me a text file with the structure off the current kro data.grf? so i can comprehend what should be in it.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  118
  • Reputation:   17
  • Joined:  01/29/15
  • Last Seen:  

1.6GB hmm i dont remember, i use this grf for years and updating it sporadically, but it can be that i merge it long time ago with other useful grf like base or palette grf.

luckly it was always working since now, but come to think about that 2gb limitation, i think i should splitt it.

 

could you do me a faver?

can you provide me a text file with the structure off the current kro data.grf? so i can comprehend what should be in it.

It'll be easier to download the latest KRO setup instead and keep private server/personal data in a custom grf-file instead.

The list of what is in the rdata/data.grf files is simply too big.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  657
  • Reputation:   662
  • Joined:  11/12/12
  • Last Seen:  

1.6GB hmm i dont remember, i use this grf for years and updating it sporadically, but it can be that i merge it long time ago with other useful grf like base or palette grf.

luckly it was always working since now, but come to think about that 2gb limitation, i think i should splitt it.

 

could you do me a faver?

can you provide me a text file with the structure off the current kro data.grf? so i can comprehend what should be in it.

 

Alright, I've added support for larger GRF files, please update to 1.7.3.8+ ( http://www.mediafire.com/download/aflylbhblrzpz0h ). They do appear to work properly ingame, but I would still advise you to cut it in smaller parts.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  27
  • Reputation:   0
  • Joined:  02/17/12
  • Last Seen:  

Hey Tokei,

 

thanks for your effort. decided for your advice.

 

Tranquility are you sure its 1,6gb? i downloaded the full_kro_renewal_20150301, run patcher and data.grf now is 1,80GB (1.934.640.733 Bytes), rdata 394MB (413.718.545 Bytes). Date 2015-04-08.

 

i also created a log for the files inside the grf, if someone is interessted what the grf is containing.

 

data.log.txt

 

rdata.log.txt

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  118
  • Reputation:   17
  • Joined:  01/29/15
  • Last Seen:  

Neji, the data.grf indeed is 1.80Gb my bad. However my rdata is after fully patching 312 Mb (327.768.533 bytes).

I can open both files without issue in GRF editor in any version Tokeiburu has presented to us so far.

Running the latest version without any issues too now. Can just open, extract and modify files if I have to in there.

Link to comment
Share on other sites

  • 2 months later...

  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  187
  • Reputation:   7
  • Joined:  09/04/12
  • Last Seen:  

Error when save as... .Rgz file in version 1.7.6....

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  657
  • Reputation:   662
  • Joined:  11/12/12
  • Last Seen:  

Error when save as... .Rgz file in version 1.7.6....

 

Bug introduced in the previous version, fixed in 1.7.6.1. Thanks for the report!  :)

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  81
  • Topics Per Day:  0.02
  • Content Count:  1654
  • Reputation:   583
  • Joined:  08/09/12
  • Last Seen:  

You can now upload large files to GitHub --> https://git-lfs.github.com/

Link to comment
Share on other sites

  • 3 weeks later...

  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10013
  • Reputation:   2345
  • Joined:  10/28/11
  • Last Seen:  

I like the new Map Viewer ... it's great =D

 

 

vGwnomr.png

Btw, have  you planned to enable this search feature to search files in the GRF ?

the current files searching/filtering doesnt support this "Search Option" right ?


Not sure how this happen, but it cant find the files . The fies doesnt exist even I redownloaded and reinstalled several times.

 

kVbgotd.png

Link to comment
Share on other sites

  • 3 weeks later...

  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  657
  • Reputation:   662
  • Joined:  11/12/12
  • Last Seen:  

I like the new Map Viewer ... it's great =D

 

Btw, have  you planned to enable this search feature to search files in the GRF ?

the current files searching/filtering doesnt support this "Search Option" right ?


Not sure how this happen, but it cant find the files . The fies doesnt exist even I redownloaded and reinstalled several times.

 

kVbgotd.png

 

Sorry for the huge delay Emistry >.<; if I don't respond in a thread after a couple days, I most likely missed the notification. I'll see what I can do about this search feature. Just to be sure, you're looking to search through all text based files, correct? I'm concerned about the speed it would take, but text files aren't in huge numbers so it should be fine.

 

As for the error you're having, that's... odd. Try updating to 1.7.8, see if that changes anything. Otherwise that might be an issue with Windows 10 and I'd have to get a VM to try on it. This file (Files.lzma.dll) is packed inside the executable as a resource, just like many other files are. It's odd that only this particular one isn't loading up.

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10013
  • Reputation:   2345
  • Joined:  10/28/11
  • Last Seen:  

 

 

Sorry for the huge delay Emistry >.<; if I don't respond in a thread after a couple days, I most likely missed the notification. I'll see what I can do about this search feature. Just to be sure, you're looking to search through all text based files, correct? I'm concerned about the speed it would take, but text files aren't in huge numbers so it should be fine.

 

for the search for all files in GRF , doesnt really need it to be using regular expression. If it could provide a wildcard feature to search then would be good enough.

example.

abc_%.txt    //  '%'  as the wildcard, list all files with prefix of "abc_" and ".txt" extension.
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  657
  • Reputation:   662
  • Joined:  11/12/12
  • Last Seen:  

 

Sorry for the huge delay Emistry >.<; if I don't respond in a thread after a couple days, I most likely missed the notification. I'll see what I can do about this search feature. Just to be sure, you're looking to search through all text based files, correct? I'm concerned about the speed it would take, but text files aren't in huge numbers so it should be fine.

 

for the search for all files in GRF , doesnt really need it to be using regular expression. If it could provide a wildcard feature to search then would be good enough.

example.

abc_%.txt    //  '%'  as the wildcard, list all files with prefix of "abc_" and ".txt" extension.

 

Updated to 1.7.8.2; makes more sense now xD. Wildcard searches are now allowed for all search fields, so these symbols will be recognized : * ?

Examples :

*luafiles514*.lu?

id*.txt

*num*txt

 

The question mark is used to replace only one character, this is similar to windows's search function. I also added a new feature (which is what I thought you originally wanted...!) allowing you to search inside any file type for a string match. Tools > Advanced search >

 

XX5WFgf.png

Edited by Tokei
  • Upvote 2
Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10013
  • Reputation:   2345
  • Joined:  10/28/11
  • Last Seen:  

Oh great.. this would be better than what I have expected =D

 

A new "and separated Advanced Search" window.   /no1

 

EDIT:

Is it possible to have the "Extract All Selected Files" option in the Advanced Search window ? =D

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  42
  • Topics Per Day:  0.01
  • Content Count:  1096
  • Reputation:   344
  • Joined:  02/26/12
  • Last Seen:  

Hi Dear Tokei!

I have a question related to lzma & grf encryption by GRF Editor + console application + hashield.

As you know, hashield using something (or your work, i do not know really) to patch grfs.

 

I want to do next:

1.) Repack with lzma data.grf & all other game grfs from my client with lzma + apply grf encryption.

 

My question:

Is will it work? Is it have some extra notes which i must to know?

I planning to do next:

 

1.) Repack data.grf with Grf Editor & lzma algorithm

2.) Repack my own grf with GRF Editor & lzma algorithm

3.) Setup GRF Editor encryption & patch cps.dll

4.) When i will have need to do some changes with my own grf, what i should to do? How to apply patch? (if i can premade rgz & rgp files with hashield)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...