Files posted by Tokei
This tool is an action file editor, it edits Act and Spr files. You will find similarities with ActOR in its design, but it should be much more enjoyable to edit animations ;].
Special thanks to Nebraskka for testing this software in its early days. All the suggestions and feedbacks made this software much better.
How to install
Download the zip archive provided from the download link at the bottom of this description or directly from there : http://www.mediafire.com/file/uoymx2vni249mlu Install the application with Act Editor Installer.exe; if you are missing a .NET Framework you will be prompted to download it. Once you are done, you can start the program from the link on your desktop.
The software has many, many features available. It would take too long to describe each one of them, so I've only focussed on the more impotant ones.
You can undo and redo everything, scripts included. You can edit and add sounds easily. Powerful and easy to use palette editor. Sprite types have been abstracted - you don't have to worry or care about that. Animation speed can be changed easily. Most components have a drag and drop feature. Advanced scripting engine (C# language). The scripts can also be used to customize the software menus. Error checking when saving the act/spr to avoid invalid files. The sprite version will be automatically downgraded if RLE compression is not available. Frame interpolation (inbetweening/tweening) is possible via the Animation menu. Prompts you with an image converter dialog if the added image is invalid. Allows advanced edition for actions and frames via their respective menus. You can load files from GRFs directly (and save in the GRFs directly as well). Technical stuff
Requires .Net Framework 3.5 (SP1) Client Profile to run (3.5 or more will work as well). When prompted with an error, use the "Copy exception" button to copy the debugging info. I will need this to fix the issue you're encountering. The editor's primary window
The interface is really straightforward and similar to ActOR. I'll only focus on new elements!
Rendering mode : This option changes the behavior of how layers are rendered. If you use 'Editor', you'll clearly see all the pixels when zooming in. If you use 'Ingame', it will use a linear scaling instead, which is closer to what the client does.
References : These allow you to know where your item will be positionned (the yellow marker is the anchor, see below).
Color mask : To edit the color of a layer, simply click on the color rectangle. You can also drag and drop the colors between different layers to quickly modify many of them.
Common shortcuts : You can manipulate layers by using common shortcuts. More can be found from the Edit menu. These below are only the primary ones.
Ctrl-A : Select all layers. Ctrl-C : Copy the selected layers. Ctrl-V : Paste the copied layers. Ctrl-X : Cut the selected layers. Alt-C : Copy current action. Alt-V : Paste current action. Advanced action and frame editions
These expose all the available methods of the editor. You can remove a range of frames or copy a frame 10 times very quickly and easily. This dialog is found in Action/Frame > Advanced edit...
You can edit anchors from the editor directly. Anchors are points that connect frames together, from different act files. Here's an example without and with anchors :
This is mostly useful when you're using reference sprites (on the right panel). Clicking on the anchor button will let you choose where to attach the sprite (this is set semi-automatically for you though). You can edit those from the Anchors menu, but it is recommended to start from a pre-existing act to avoid doing this tedious process.
The palette editor allows you to quickly recolor sprites with an intuitive interface. Only indexed images can be edited (it's a palette editor after all) and three modes are available. The gradient mode changes an existing gradient to another color while keeping the original saturation and brightness of the colors - this makes the gradients blend in better. If there are no gradient (usually because it's a custom sprite), there's always the Adjust color mode. This one changes all color from a specified range to another one (Photoshop has a similar feature, which does work better).
You can click on the image (on the left) to automatically select the palette indexes. These will be highlighted for a few seconds to show you what you're about to edit.
This script can be accessed via Animation > Interpolate frames. This process fills the images between two frames by detecting the changes applied to the layers. Here's a simple example of how it can be used :
The script engine can be accessed via Scripts > Script Runner. This is a big feature of Act Editor, it allows you to automate all your work with the act and much more. Click on the Help button for guides and available methods (don't hesitate to try out a script; if an error occurs the act will be reversed to its previous state). The documentation doesn't cover all of the available options and methods for obvious reasons (the .net framework is huge). Doc example :
The language used by the script engine is C#. If you're not familiar with it, simply check out the script samples (Scripts > Open scripts folder)! I won't go into details here, questions can be asked in the support thread regarding addiotional features and methods. If you believe your script should be added in the program, send it to me and I'll probably add it.
The settings dialog allows you to modify all colors in the editor easily.
You'll also find the sound resources (GRFs and folders) that can be set up in the Sound tab. The Shell integration tab can associate the .act files with the software to edit them more easily.
Don't hesitate to give me a feedbacks or suggestions!
This is a GRF tool I started to develop for my own personnal use, but I thought I'd share it since I've upgraded the UI. Its primary goal is to be easy to use while offering a wide variety of options and customizations. The software is quite stable and can handle large operations easily.
How to install
Download the zip archive provided from the download link at the bottom of this description or directly from there : http://www.mediafire.com/?aflylbhblrzpz0h Install the application with GRF Editor Installer.exe; if you are missing a .NET Framework you will be prompted to download it. Once you are done, you can start the program from the link on your desktop. Key features
Overall speed is faster (or at least equal) than any GRF tool. Common operations : add, delete, merge, extract, preview, save. Undo and redo for any operation. It can open any GRF file. Clean and very interactive interface. Saving formats supported : 0x200, 0x103 and 0x102 (through the Settings page) and conversion to the Thor format. Instant filter and search options (example : "map .gat"). File association and context menus integration for .grf, .gpf, .rgz and .thor (through the Settings page). Can rebuild separated images into one file easily. Drag and drop (with the ALT key, can be modified in the Settings page). This is a big part of the software; most of the items can be moved around within the application itself or from/to Windows Explorer. Tools
Sprite editor : a simple sprite editor with powerful features. Semi-transparent images can be added, you can easily change the order or replace images, etc. This tool can convert images in the wrong type by showing you multiple solutions (merging a new palette, dithering the image by using current palette, using the closest color, and a few more). Grf validation : allows you to validate a GRF with multiple settings. It can detect corrupted GRF entries, invalid sprites, empty files, non-GRF files, duplicate files and a lot more. Flat maps maker : generates flat maps from .gat and .rsw files. Useful to generate WoE maps or to fasten up the loading time. Patch maker : generates a GRF patch based on two different GRFs. Hash viewer : shows the hash code (both CRC32 and MD5) for files. Image converter : converts an image to any format requested (BMP, PNG, JPG, TGA). GrfCL : used to create batch files (.bat) which can automate tasks on GRF files. See the content in GrfCL.rar in the download for more information. This tool can be customized from the sources as well. Palette recolorer : creates new sprites by changing their colors (this tool is now deprecated). Client database editor : allows modifications of the database client files (txt and lua) with easy and simple tools. Work in progress. Grf encryption
The encryption feature has been enabled again. It's similar to what it used to be and it has been tested on client versions ranging from 2012-08-01 to 2014-02-05. Some error messages will be displayed if necessary. If you have an issue, copy the error message (with the code, if there's one) and send me the client executable with the cps.dll file generated by GRF Editor. There shouldn't be compatibility issues anymore though! Thor files
Thor files are patches used by Thor Patcher ( http://thor.aeomin.net/ ). Because of their similarity with the GRF file structure, they have been integrated within GRF Editor. The primary utility of this feature is that it allows you to add encrypted files to a Thor patch. All the other options can be achieved by using Thor Maker. You'll find the necessary steps below, but test your patches before sending them off to players (I've done a lot of testing on my end, but better be safe). If you're using SecureGRF, then make a new GRF, add the files and encrypt it. In GRF Editor, open the encrypted GRF you just made, use "Save as" and name the new file with a .thor extension. That's it, if you want to change the output directory, click on the root node of the project and select the tab "Container options". You can select the output mode and the GRF to merge the patch with. Simply save again if you change these properties. 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. Technical stuff
Requires .Net Framework 3.5 (SP1) Client Profile to run (3.5 or more will work as well). Automatically converts file name encoding to their proper values (you can change the encoding). Data virtualization is used as much as possible to preview files, meaning the files aren't completely loaded. Right-clicking an item will bring up the available options with that file. Preview file formats : txt, log, xml, lua, lub, bmp, png, tga, jpp, db, ebm, pal, gnd, rsw, gat, rsm, str, spr, act, imf, fna and wav. Services are "crash ready", meaning that you will be warned about a failed operation and no work will be lost (the application won't close and crash). It tries to continue operating even if it meets unsual conditions. Operations can be cancelled by clicking on the button near the progress bar. The warning level can be changed to avoid messages like "Please select a folder first." When prompted with an error, use Ctrl-C to copy the current dialog's content. Some screenshots!
1) Previewing an act file, while showing the search feature
2) Preview of a model file (rsm)
3) Preview of GrfCL with the MakeGrf command
4) Preview of maps
5) Preview of Grf validation
6) Search feature (press Ctrl-F or Ctrl-H to bring up within a text editor)
Got a feedback? I'd gladly hear you out and fix issues you have with the program.
This is a new project I've made aiming to manage the various databases as easily as possible. This tool was initially developped using Client database editor's engine, a tool from GRF Editor. It has been adapted to support more database formats and many of the features have been improved.
How to install
Download the zip archive provided from the download link at the top right corner of this description or directly from there : http://www.mediafire.com/download/p0zhcc8ipa6cjt3 .
Install the application with SDE Installer.exe; if you are missing a .NET Framework you will be prompted to download it.
Once you are done, you can start the program from the link on your desktop.
Both rAthena and Hercules' formats are supported by the application.
Many conversions between rAthena and Hercules are possible. Converting items can be done simply by right-clicking on the elements and selecting "Copy entries to clipboard (ServerType)".
Undo and redo commands are available, as well as navigation commands (quite useful when switching tabs a lot).
There are many shortcuts within the application, all of which are shown when right-clicking items or going through the menus. I do plan on adding more as well.
The databases are 'merged' between each other to offer an easier view. This is true mostly for the item and mob databases.
Flag fields can be entered with either an hexadecimal value or an integer value. You will have to add "0x" if you want to enter an hexadecimal number though.
For Windows XP users, the program's layout may change a bit. The Aero theme is applied to make sure the application looks like it should.
Create a new project from File > New project. Go in the settings tab and set the path of your database. If you're using pre-renewal, then drop the pre-re folder in the "Server DB path" box (drop the re folder otherwise). Don't drop your "db" folder, it simply won't work!
Save your project file to avoid redoing this step everytime you reload the application by going in File > Save project info. The project info file is automatically saved, so you don't need to save it everytime you do a modification in the settings. If you associate .sde files with this tool, you will be able to start up your project from the project file directly (which is more convenient).
The last setting is the resource files and it is optional. Simply drag and drop a GRF in the paths list. This will add icons in the items list view (it will also make the application slower when scrolling for that list).
Easy input fields
All the fields are easy to set and most of them have tooltips. For example, to edit the drops of a mob, simply right-click on the items and change the drop value (both float and integer values are accepted in the field : typing 5.20 is the same as typing 520).
How to save the database
There are multiple ways to save the database : quick save, full save and export. Quick save keeps the commands you've applied on the database (Ctrl-S), this is the saving option you should be using. Full save (Ctrl-Shift-S) does not keep the commands and you will not be able to undo any operations afterwards. Export (File > Export to db/SQL) exports the database to another folder and this is normally used to convert databases.
When saving, the comments are preserved as much as possible, but this is not always possible. For example, the items table from Hercules is always rewritten, so the comments will be lost in this file.
Unmodified tables will not be saved. Disabling a tab will also prevent the associated table from being rewritten/saved. This can be achieved by right-clicking on a tab and selecting "Disable 'table name'".
You can export your current database to SQL from File > Export to SQL > ... The first option in the list is the current database format. The other options are used for conversions between rAthena and Hercules.
The application automatically creates backups everytime you save the database (can be disabled in Settings > Enable backups manager). You can revert to a previous date by going in Tools > Backups manager. This tool's purpose is to make sure you never lose any important data (as well as preventing data corruption).
Merging or adding lines from another database
It is possible to merge databases by going in Edit > Add item from raw db line. Simply copy and paste the lines from the database you want to add. You must select the corresponding table before doing so, of course. (Known bug : adding lines with invalid parameters will put the database in an invalid state).
Synchronize with client database files
If "Synchronize with client database files" is checked in the Settings tab, you'll be able to turn on all the following features.
Bind item tabs together (suggested by UltraCat)
This feature enables you to quickly alternate between the Item and Client Items tabs. Whenever you switch table, it will autoselect the item previously selected. The text search filter will also be applied to all three tables (Item/Item2/Client Items). Subfilters (such as item description, script, etc) will be ignored if the item isn't included in the search result.
Manage view IDs automatically (suggested by UltraCat)
This feature allows you to completely ignore the view IDs for headgears and costumes. Only the identified resource's field is taken into account when synchronizing with the client databases, so make sure you set at least this field! You must also set up the lua paths; go in any item table and click on the wheel next to the "View ID" field.
This will bring up a dialog to setup the paths (preferably, the files should be located in your data folder to avoid saving the GRF all the time). They will be automatically decompiled if necessary.
If everything has been properly set, the View ID field for the headgears and costumes will be grayed out. When saving, you'll notice some view IDs will be switched around, but SDE will try to keep your original IDs as much as possible. The view names will be changed to the item's Aegis Name (has no effect ingame).
Mob sprites edition
In the mob tables, you will find a wheel button, similar to the view IDs. Setting up the paths will allow you to see the mob sprites as they will appear ingame (except for granny models, like emperium for instance). The "..." button can let you select the sprites from the mob folder in the GRFs (or data folder).
With the client tables synchronization, the preview image for items in the list view will be properly displayed. This is handy for custom items.
There is support for Notepad++ to easily find items in a text (or conf) database. Right-click an item and use "Select in Notepad++".
The search engine is the same used as CDE, so it should make it easy to find an item. There is also a hidden search option : if you type "[number_of_slots] 4" it will give all the items with 4 slots or "[refineable] true" will give you all refineable items. This can be applied to any attribute in the table which are not shown in the search panel.
Import from SQL (is that even necessary?).
Automatically create a table from a file.
Batch files / command line methods (would be similar to GrfCL).
Known bug : exporting mob_skill_db from Hercules to SqlRenewalHercules doesn't seem to be parsing properly (for this file only).
Type safety (check for invalid inputs, use the same SQL rules when loading the databases).
Hope you enjoy this tool! The sources will be available on githut for the next release. If you have a feedback or suggestions, let me know and I'll probably add them to the software.
TkHashTool is a software primarily aimed to help users resolve issues with their client files. It does so by taking a 'snapshot' of the files in the Ragnarok folder and creates a scan report. This scan can then be compared with a working version of the client to identify the problems. This is the first released version, so if you find bugs don't hesitate to go forward and tell me. Your comments below (in the support forum) are greatly appreciated. This tool was a request someone [will put the name here if the person doesn't mind] suggested to me and I liked the idea. I thought I'd upload it before I forget about it .
How to install
There is no installation required. Simply run the executable within the zip file.
The software was developed using .NET 3.5 SP1 Client Profile. This framework is the same one used by GRF Editor, and it's compatible with Windows XP, Windows Vista, Windows 7, WIndows 8 and later versions. However, it's NOT installed by default on Windows XP and Windows Vista. To solve this issue, I've made a wrapper in .NET 2.0 which is already installed on all common Windows versions. The wrapper checks if the framework is installed and prompts the user to download it (sends you to microsoft's webpage), otherwise it starts the application normally.
It works with UAC, but applying patches may require the application to be run with admin privileges (the user will be prompted if that's the case).
The TkPath syntax is used everywhere in the software : [file name on the hard drive]?[relative path within the container]. Containers are either .grf, .gpf or .rgz files. Examples :
Regular expressions are not available in the paths, but wildcards (*) are allowed. You can use paths such as *.gnd and *.grf?*.txt
Files generated are saved in the application data folder. They are usually followed by a 'bunch of numbers', which simply represent the date : year-month-day-hour-minute-second.
How to use it
Start the application with TkHashTool.exe and you should have the 'Generate hash tool' tab already selected. The available options are rather straightforward and there are tool tips if you need more information on them.
The exclusion list contains files that will be ignored (excluded files are set before anything else). For example, if you set "data\afile.txt" to scan and you put *.txt in the exclusion list, then the file won't be scanned. If you want to ignore all the map files, you could add : *.rsw, *.gnd, *.gat.
Let's say you want to hash only the lua and lub files, you can select "Hash from specific files or folders" and use :
*.lua, *.lub, *.grf?*.lua, *.grf?*.lub
Using 'Files can be hashed more than once' scans files even if they've already been processed elsewhere (from another GRF or from the data folder). This is not always a good option because the patch generator cannot know what files to replace afterwards (since it doesn't know in what order the GRFs are being loaded). It will actually replace all files it finds instead.
The third mode, 'Hash by using the configuration in data.ini' is similar to the second mode, except that files entered in the text box below will be treated as data.ini files. If you want to scan the same way the client reads the files, you could put : data, System, AI, DATA.INI.
Click on the gear or on 'Generate client hash tool' to generate a client version. The config file alongside the executable is not necessary for the application to run. It simply tells the program to use .NET 4.0 if it's available.
A HashObject is simply a scan (.tko).
All paths are saved in Unicode and casing is ignored. The scan contains information about all the paths hashed, the head directory from which the software has been launched and the settings used for the search. The partial option indicates wheter or not the scan has been completed entirely. These files are also heavily compressed.
Simply open the 'Compare HashObjects' tab, drop your master .tko file in the first text box and the user one in the second. You can view the settings used for each one of them by using the 'View file headers...' option.
As for the errors, just chek the tool tip for more information. Here's a list of the errors it can detect :
HoMissingFile This file is missing from the user directory.HoHashMatch Both the user and the master files have the same hash.HoDuplicateFile This file has been found twice in the GRF (lower casing issue?).HoGenericError This file couldn't be decompressed or there was an unknown error while reading the file. Or the file size is over the size limit.HoHashDifferent The user and master files are different.HoExtraFile This file doesn't appear in the master object, only the user has it.HoPathOverride The user data path overrides the file in the master files.
Scanning the files is pretty straightforward, you can cancel the scan at any time by using the X button on the progress bar. Files larger than 25 MB will not be scanned (this doesn't include containers). They will appear in the scan with the HoGenericError code.
You can change the current working directory if you're using the master version; this option lets you change the root directory of the scan.
Use this tab to apply a patch file (.tkp). These are applied to the current directory where the software has been launched from. This operation should be really quick as it doesn't repack the GRFs at all. It uses the quick merge option which will fragment the GRF, but if it gets too fragmented, then it'll get packed automatically.
I've seen many people having issues with the RSU patchers ("Failed to retrieve x file"), so this software attempts to fix these problems.
Here's what the appliction looks like :
Current downloads can be stopped at any time and resumed later on
Downloads can be refreshed by renewing the connection (sometimes, the FTP server doesn't send you as much data as it should, slowing you down a lot)
Each patch is applied right after it's been downloaded, so you don't need to start from the beginning everytime
The merging is done via GRF Editor's library
The GRFs are defragmented automatically (due to the library's speed, there's no need to specify a limit on when to defragment the GRF; it's done everytime the GRF is modified)
Sometimes, the FTP server sends the wrong stream offset (causing damaged gpf/rgz files); the software can detect those and ask for a new stream automatically
Embedded resources, so only one exe file is required
If there is a problem while downloading a file (ex : connection lost or the FTP server closed the stream for no apparent reason), the program will attempt to renew the connection
It uses a self-assembly editing "technique" to create new patchers. I've added this feature because of the different official patchers out there. By default, it uses :
http://webpatch.ragnarok.co.kr/ with patchRE.txt and ftp://ragnarok.nowcdn.co.kr:20021/Patch/
If you need to change patchRE.txt to patchRE3.txt (to be honest, I have absolutely no idea what the difference is between those two, now I do, thanks Ai4rei), you can generate a new assembly with the Properties icon at the bottom like this :
This application requires .Net 4.0. This is the major con, because players may not have this library installed by default (even though it's advised to install the .Net libraries for the renewal client). This application has been tested on Windows XP/Vista/7. This is not a replacement for the RSU patchers nor your own patcher (but I don't see why it wouldn't work?).
Due to its implementation, if you do not provide a .inf file, the patcher will start at the beginning of the patching list. This means that if you're using patchRE.txt (you should), make sure you have provided all the patches from patchRE3.txt first in your installer, otherwise they will just get skipped (because the patcher only deals with one list). It's also strongly recommended to include the .inf file with your installer, whatever patcher you use.
Leave a comment or suggestions ;o, thank you!