Jump to content

Tokeiburu

Members
  • Content Count

    202
  • Joined

  • Last visited

  • Days Won

    37

Reputation Activity

  1. Upvote
    Tokeiburu got a reaction from Legend in RO Installer Script (Inno Setup)   
    File Name: RO Installer Script (Inno Setup)
    File Submitter: Tokeiburu
    File Submitted: 17 Aug 2015
    File Category: Client Resources

    Heya!

    This 'release' is a very simple Inno Setup script to create Full or Lite client installers.

    It requires Inno Setup, which can be downloaded here : http://www.jrsoftware.org/isdl.php#stable. While installing Inno Setup, make sure the "Install Inno Setup Preprocessor" option is checked; otherwise you will get an "unknown option" error.

    How to make this work?
    Put your client files in either RO_Lite or RO_Full and then run the "_Make New Installer.bat" files. This will output a new installer called "YourRO Installer.exe".



    Customization
    Server name : open RO.iss and change the first line : #define ServerName "YourRO" The left image can be customized by editing background.bmp (or background.psd). The file format must remain a 24bit bmp. The wizard small image uses wizardSmallImage.bmp; the file format must remain 24bit as well. To add files to your installer, add them to the RO_Lite or RO_Full subfolders. Once you run the script, all the files in these folders will be packed in your installer. It can go over 2 GB, although if that's the case you might want to consider using the LZMA compression for your GRFs...! Install the VC++ Redistributable files (required by Harmony) silently. Open RO.iss and remove the semi-colon in front of "#define Harmony" to enable this option. By default, the necessary registry keys to start the game will be set if they aren't already. This is to avoid the "small window" issue people will have with older clients. The installer icon can be changed via installer.ico Uninstallating removes the entire RO folder, watch out (you can disable that). The default installer icon used comes from Lykos's icon pack, which can be found here : https://rathena.org/board/files/file/3190-s1-lykos-icon-pack/. It has been modified through hexing to allow the icon to be resizable by Windows Vista or more recent.

    Click here to download this file
  2. Upvote
    Tokeiburu got a reaction from merakk in RO Installer Script (Inno Setup)   
    File Name: RO Installer Script (Inno Setup)
    File Submitter: Tokeiburu
    File Submitted: 17 Aug 2015
    File Category: Client Resources

    Heya!

    This 'release' is a very simple Inno Setup script to create Full or Lite client installers.

    It requires Inno Setup, which can be downloaded here : http://www.jrsoftware.org/isdl.php#stable. While installing Inno Setup, make sure the "Install Inno Setup Preprocessor" option is checked; otherwise you will get an "unknown option" error.

    How to make this work?
    Put your client files in either RO_Lite or RO_Full and then run the "_Make New Installer.bat" files. This will output a new installer called "YourRO Installer.exe".



    Customization
    Server name : open RO.iss and change the first line : #define ServerName "YourRO" The left image can be customized by editing background.bmp (or background.psd). The file format must remain a 24bit bmp. The wizard small image uses wizardSmallImage.bmp; the file format must remain 24bit as well. To add files to your installer, add them to the RO_Lite or RO_Full subfolders. Once you run the script, all the files in these folders will be packed in your installer. It can go over 2 GB, although if that's the case you might want to consider using the LZMA compression for your GRFs...! Install the VC++ Redistributable files (required by Harmony) silently. Open RO.iss and remove the semi-colon in front of "#define Harmony" to enable this option. By default, the necessary registry keys to start the game will be set if they aren't already. This is to avoid the "small window" issue people will have with older clients. The installer icon can be changed via installer.ico Uninstallating removes the entire RO folder, watch out (you can disable that). The default installer icon used comes from Lykos's icon pack, which can be found here : https://rathena.org/board/files/file/3190-s1-lykos-icon-pack/. It has been modified through hexing to allow the icon to be resizable by Windows Vista or more recent.

    Click here to download this file
  3. Upvote
    Tokeiburu got a reaction from anacondaq in File upload limit   
    It's... nothing really; It's just an Inno Setup script to create client installers. I've been using it for a while but I wasn't sure if it was worth uploading or not. It's mostly for people who have no idea how to make installers or end up using weird tools like Winrar's SFX tool...!
  4. Upvote
    Tokeiburu got a reaction from anacondaq in File upload limit   
    Heya,
     
    I was wondering what happened to the file upload limit on the forum? I used to be able to upload files past 4MB with no issues although now it seems to be lower than that. I'm referring to this :
     

     
    Is it normal? ;x
  5. Upvote
    Tokeiburu got a reaction from REKT in GRF Editor   
    Updated to 1.7.7.4; the option has been brought back. 
     
     
    There used to be a similar feature before in GRFE, but it was too troublesome to maintain and I dropped it. On the other hand, I don't plan on updating GRF Editor much at all anymore. No new tools will be added to the software; the only remaining updates would be the lub decompiler (which has yet to be fixed/completed) and other bug fixes, which should be very rare by now.
     
     
    Updated to 1.7.7.5. By default the files are extracted where your GRF has been opened, you can now change that from Tools > Settings > General > Override default extraction path > Edit the [Roaming folder] path.
  6. Upvote
    Tokeiburu got a reaction from mleo1 in Thor Patcher and Auto-Updater   
    Heya,
     
    If you're going to do a patcher via C#, then you can download GRF Editor's sources over here : http://www.mediafire.com/download/7z6hkdag4ayj8rs
     
    Add a reference to the dlls found in the "Output Libraries" folder to your project and you can use the following code to get you started :
     
    using System;using System.Diagnostics;using System.IO;using System.Windows.Forms;using GRF.Core;using GRF.FileFormats.RgzFormat;using GRF.FileFormats.ThorFormat;using GRF.IO;using Utilities.Extension;namespace TestPatcher { public partial class Form1 : Form { public Form1() { InitializeComponent(); Patch(); } public void Patch() { var patchesPath = @"C:Patches"; var patcherExeName = Path.GetFileName(Process.GetCurrentProcess().MainModule.FileName); var roDirectory = Directory.GetCurrentDirectory(); var serverGrfName = @"server.grf"; var temporaryGrfName = @"temp.grf"; using (var output = new GrfHolder(temporaryGrfName, GrfLoadOptions.New)) { foreach (var patchFile in Directory.GetFiles(patchesPath)) { if (patchFile.IsExtension(".grf", ".gpf")) { using (var grf = new GrfHolder(patchFile)) { output.QuickMerge(grf); } } else if (patchFile.IsExtension(".rgz")) { using (var rgz = new Rgz(patchFile)) { if (rgz.Table.ContainsFile(patcherExeName)) { // Updating on this executable, do something...! throw new NotImplementedException(); } foreach (var entry in rgz.Table) { entry.ExtractFromRelative(roDirectory); } } } else if (patchFile.IsExtension(".thor")) { using (var thor = new Thor(patchFile)) { if (thor.Header.UseGrfMerging) { string targetGrf = thor.Header.UseDefaultTargetGrf ? serverGrfName : thor.Header.TargetGrf; if (string.IsNullOrEmpty(targetGrf)) throw new Exception("THOR extraction failed : no target GRF identified."); if (String.Compare(serverGrfName, targetGrf, StringComparison.OrdinalIgnoreCase) == 0) { output.QuickMerge(thor.ToGrfHolderQuick()); } else { using (var grf = new GrfHolder(targetGrf, GrfLoadOptions.OpenOrNew)) { grf.QuickMerge(thor.ToGrfHolderQuick()); } } } else { if (thor.Table.ContainsFile(patcherExeName)) { // Updating on this executable, do something...! throw new NotImplementedException(); } foreach (var entry in thor.Table) { entry.ExtractFromRelative(roDirectory); } } } } } using (var serverGrf = new GrfHolder(serverGrfName, GrfLoadOptions.OpenOrNew)) { serverGrf.QuickMerge(output); } } GrfPath.Delete(temporaryGrfName); } }}  
    Obviously this is not optimized and errors are not handled at all, but it yields good results nonetheless. I would definitely not recommend you to start from scratch to make a patcher.
  7. Upvote
    Tokeiburu got a reaction from evilpuncker in Thor Patcher and Auto-Updater   
    Heya,
     
    If you're going to do a patcher via C#, then you can download GRF Editor's sources over here : http://www.mediafire.com/download/7z6hkdag4ayj8rs
     
    Add a reference to the dlls found in the "Output Libraries" folder to your project and you can use the following code to get you started :
     
    using System;using System.Diagnostics;using System.IO;using System.Windows.Forms;using GRF.Core;using GRF.FileFormats.RgzFormat;using GRF.FileFormats.ThorFormat;using GRF.IO;using Utilities.Extension;namespace TestPatcher { public partial class Form1 : Form { public Form1() { InitializeComponent(); Patch(); } public void Patch() { var patchesPath = @"C:Patches"; var patcherExeName = Path.GetFileName(Process.GetCurrentProcess().MainModule.FileName); var roDirectory = Directory.GetCurrentDirectory(); var serverGrfName = @"server.grf"; var temporaryGrfName = @"temp.grf"; using (var output = new GrfHolder(temporaryGrfName, GrfLoadOptions.New)) { foreach (var patchFile in Directory.GetFiles(patchesPath)) { if (patchFile.IsExtension(".grf", ".gpf")) { using (var grf = new GrfHolder(patchFile)) { output.QuickMerge(grf); } } else if (patchFile.IsExtension(".rgz")) { using (var rgz = new Rgz(patchFile)) { if (rgz.Table.ContainsFile(patcherExeName)) { // Updating on this executable, do something...! throw new NotImplementedException(); } foreach (var entry in rgz.Table) { entry.ExtractFromRelative(roDirectory); } } } else if (patchFile.IsExtension(".thor")) { using (var thor = new Thor(patchFile)) { if (thor.Header.UseGrfMerging) { string targetGrf = thor.Header.UseDefaultTargetGrf ? serverGrfName : thor.Header.TargetGrf; if (string.IsNullOrEmpty(targetGrf)) throw new Exception("THOR extraction failed : no target GRF identified."); if (String.Compare(serverGrfName, targetGrf, StringComparison.OrdinalIgnoreCase) == 0) { output.QuickMerge(thor.ToGrfHolderQuick()); } else { using (var grf = new GrfHolder(targetGrf, GrfLoadOptions.OpenOrNew)) { grf.QuickMerge(thor.ToGrfHolderQuick()); } } } else { if (thor.Table.ContainsFile(patcherExeName)) { // Updating on this executable, do something...! throw new NotImplementedException(); } foreach (var entry in thor.Table) { entry.ExtractFromRelative(roDirectory); } } } } } using (var serverGrf = new GrfHolder(serverGrfName, GrfLoadOptions.OpenOrNew)) { serverGrf.QuickMerge(output); } } GrfPath.Delete(temporaryGrfName); } }}  
    Obviously this is not optimized and errors are not handled at all, but it yields good results nonetheless. I would definitely not recommend you to start from scratch to make a patcher.
  8. Upvote
    Tokeiburu got a reaction from Nebraskka in GRF Editor   
    Updated to 1.7.7.4; the option has been brought back. 
     
     
    There used to be a similar feature before in GRFE, but it was too troublesome to maintain and I dropped it. On the other hand, I don't plan on updating GRF Editor much at all anymore. No new tools will be added to the software; the only remaining updates would be the lub decompiler (which has yet to be fixed/completed) and other bug fixes, which should be very rare by now.
     
     
    Updated to 1.7.7.5. By default the files are extracted where your GRF has been opened, you can now change that from Tools > Settings > General > Override default extraction path > Edit the [Roaming folder] path.
  9. Upvote
    Tokeiburu got a reaction from AtlantisRO in GRF Editor   
    File Name: GRF Editor
    File Submitter: Tokeiburu
    File Submitted: 20 Jun 2014
    File Category: Client Resources
     
    ** This program has been orignally uploaded on rAthena; it's been uploaded on Hercules due to multiple requests. If you have suggestions or feedback and you want a quick response, please contact me via rAthena. I will respond on Hercules' forum as well, but it'll take a bit longer .
     
    Hey everyone,
     
    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).
    Instant filter and search options (example : "map .gat").
    File association and context menus integration for .grf, .gpf and .rgz (through the Settings page).
    Can rebuild separated images into one file easily.
    Lub decompilation (in beta, but it can decompile almost any lub file so far).
    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!  
    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 the Client Database Editor

     
    5) Preview of Grf validation

     
    6) Search feature (press Ctrl-F or Ctrl-H to bring up within a text editor)

    Sources : http://www.mediafire.com/download.php?7z6hkdag4ayj8rs
     
    Got a feedback? I'd gladly hear you out and fix issues you have with the program. If you want new features to be added, don't hesitate to ask!
     
    Click here to download this file
  10. Upvote
    Tokeiburu got a reaction from babymaru in Identify .str or .tga filenames of some effect/skill.   
    There's a trick to identify these... thanks Olrox ! Anyhow, many of them are hard coded in the client.
     
    15    Soul Strike pok1.tga pok3.tga ring_blue.tga lens1.tga lens2.tga
    17 Magnum Break ring_yellow.tga ´ëÆø¹ß.tga 27 Frost Diver (Traveling to Target) ice.tga pok1.tga pok3.tga smoke.tga 28 Frost Diver (Hitting) pok1.tga pok3.tga smoke.tga 226 Grand Cross Effect alpha_center.tga ring_white.tga ring_yellow.tga 252 Reflect Shield ring_yellow.tga 312 Heal Effect ring_white.tga pok1.tga pok3.tga 336 Kyrie Eleison/Parrying Shield kyrie.str 409 Meteor Assault purpleslash.tga   Edit : You can view the resources of STR files using GRF Editor, ex :
  11. Upvote
    Tokeiburu got a reaction from estoudegreve in Act Editor   
    File Name: Act Editor
    File Submitter: Tokeiburu
    File Submitted: 03 Dec 2014
    File Category: Client Resources
     
    Heya,
     
    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/download/y3amu1o5zsmgd2o
    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.


     
     
    Key features
    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...

     
     
    Anchors
    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.
     
     
    Palette editor
    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.
     
     
    Interpolation (tweening)
    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 :
     
     
     
     
    Script engine
    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.
     
     
    Customizable
    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!
     
    Click here to download this file
  12. Upvote
    Tokeiburu reacted to Neo-Mind in NEMO - Client Patcher   
    UPDATE:
     The CORE (Client Object & Related Entities) part have been shifted to CORE.dll and NEMO has been updated to 2.5 (along with some patch fixes of-course)
     
    NEMO now supports CLI & GUI modes (Credits to nanakiwurtz for the CLI idea). 
     
    To use as GUI:
      Just start without any arguments like before - There is a 1-2 second flashing console when opening (care of Windows ), but you can ignore that.
      You might notice Test Patches button is missing now. This is because its going to be implemented as a seperate companion tool alongside NEMO
    (which will use CORE.dll as well) later on.
     
    To use as CLI (Console): 
      All debug and error statements will be reported to the console it is run from
     
      NEMO.exe -inputs <input value list file> -patches <patch list file> -inclient <input exe file> -outclient <output exe file>
    [*]The <input value list file> is a csv file with the variables used in Patches assigned to values you want.
     
    For ease of use I have created InputsListTemplate.txt file in Input folder which contains all currently used variables commented out.
    You just need to change the values you want and uncomment the line
     
     
    [*]The <patch list file> follows the format of the .log file that is used in profiles & what is saved in PatchList.log when patch is applied in GUI mode.
    Essentially what is needed is a list of Patch IDs - one per each line (refer _patchlist.qs inside Patches folder to see the IDs).
     
     
    [*]The <output exe file> is optional. If not provided the <input exe file> suffixed with _patched.exe and used.

    Let me know if there is any confusion or suggestions.
     
    I am also thinking of merging the two list files in Profiles as well as for the Console in future. Any thoughts?
  13. Upvote
    Tokeiburu got a reaction from Helena in Tracing wavs back to special effects?   
    Try waveffectvalentine.wav
     
    Edit : the way you can find which sounds belong to which effects is by renmaing the waveffect folder to... waveffect.bak in your GRF and then play the effect ingame. It will throw you an error such as "resource missing: waveffectvalentine.wav" and then crash your client. When you're done you rename the folder back obviously.
  14. Upvote
    Tokeiburu got a reaction from koko24 in Error   
    Your client is looking for spriteÀΰ£Á·µµµÏµµµÏ_³²_īŸ¸£_īŸ¸£_°Ë±¤ , which means :
    For the male (³²) thief (µµµÏ) class, for the weapon sprite (_īŸ¸£_īŸ¸£, which is view ID 16 - WEAPONTYPE_CATARRH), for the weapon trail sprite (_°Ë±¤).
     
    Basically, one of your katar weapon is usable by the thief class (normally they're only usable by assassin or assassin cross classes, so I'm assuming you've changed the applicable job field xD). The trail sprite is missing (it is usually required for the default weapon types). For example, the weapon sprite :

     
    The trail sprite :

     
    I'm not sure when this is actually displayed ingame though... anyway, you can create empty act/spr files and it will fix the issue. Good luck!
    thief_trail.rar
  15. Upvote
    Tokeiburu reacted to Yommy in Servers hacked. How to protect it?   
    i use the last 10 digits of PI for my password, never been hacked
  16. Upvote
    Tokeiburu got a reaction from evilpuncker in GRF Editor   
    That... would actually be rather awesome ;O. Which format would these be though? I was thinking about using the zip archives; I could... 'translate' the folder names, since this is how most custom items are uploaded anyway, something similar to :
    Itemmysprite.bmp
    Collectionmysprite.bmp
    Inventorymysprite.act/spr
    Ingamemale_sprite.spr/act
    Ingamefemale_sprite.spr/act
    itemInfo.lua
    etc
     
    That would work, but I'd probably have to detect which file is which in the end, to be able to read all currently uploaded zip custom sprites on rAthena and Hercules. If you have a better idea, let me know. I can't start this feature right now though, so... it'll take some time before I even begin to be implement it xD.
  17. Upvote
    Tokeiburu got a reaction from Nebraskka in Act Editor   
    Fixed in 1.0.6, the file is strange though, none of the actions contain any frames. The act is being 'fixed' when it loads by adding dummy frames instead.
  18. Upvote
    Tokeiburu got a reaction from DaviLord in GRF Editor   
    You will need the latest version from the mediafire link (1.6.7.5) : http://www.mediafire.com/download/aflylbhblrzpz0h
     
    There are two ways to encrypt files, but first, you'll want to setup your client.
    Go in Tools > GRF Encryption
    Put your encryption password in the first box (you can save the credentials to a .grfkey format if you plan on using the encryption often, but make sure this file is not shared with anyone else).
    Select your client executable (the name of the executable cannot be changed afterwards).
    Put your new cps.dll name. This cannot exceed 7 characters. You can simply leave it as "cps.dll", which won't require an edited client.
    Click on Generate files. If everything went well, a window should show up with your new cps.dll file selected (and the client, if it needed modifications).
    Screenshot below after you generate your client files.
    Copy the new generated files to your client folder.

     

     
     
    That's it for the client configuration.
     
    As for the GRF actual encryption now... Open your GRF in GRF Editor. If you want to encrypt your entire GRF, go in Tools > GRF Encryption, click on Encrypt GRF (might ask you for your password). The process should be rather quick, the output GRF is your new encrypted GRF.
     
    You can also encrypt specific files if you want : right-click the items you want to encrypt and use Encryption > Encrypt. Save your GRF.
     

     
     
    Encrypted files will show in orange. When opening up an encrypted GRF, GRF Editor will prompt you for your credentials (hence why it's useful to save your password somewhere, then you can quickly load it with Key... > Load recent > your key.grfkey) :

     
     
    To make encrypted Thor patches, create a new Thor file from File > New > New Thor. Add a data folder and add your files in there. This is the same process as above : right-click, Encryption > Encrypt. Make sure you use the same password/key. Go in the Container options tab and set your target GRF (as shown below). Once saving, you will no longer be able to modify your encrypted Thor patch though (the files will become unreadable). Also, always test your Thor patches to make sure everything is working fine.

     
    That should cover most of it xD! If you have further questions, go ahead.
  19. Upvote
    Tokeiburu got a reaction from Nova in High level mapping's question (Quadtree)   
    Hmm, you could edit my downgraded newprontera map version instead : http://www.mediafire.com/download/7hcz6u9vl4vjhb4/newprontera.grf (this GRF contains all the new models as well, allowing you to use them in other maps if you need to).
     
    It can be loaded and saved just fine in BrowEdit 586. The church may look weird in the editor, but it will look fine ingame (I had to cut it in multiple parts).
     
    Otherwise... if you want to know more about quadtrees... here goes. In a RO map, quadtrees are cubic areas that determine wheter or not 3D items should be drawn. A quadtree node consists of 4 vectors, namely :
    Max, Min, Range, Center
    where Range = (Max - Min) / 2        // Length from the middle of the cube to the extremities
    where Center = (Range + Min)        // Center of the cube
     
    Which gives you 12 values (Max.X, Max.Y, Max.Z, Min.X, Min.Y, etc).
     
    The values max and min correspond to the max/min height of the objects (or most likely parts of objects)/water/ground found in this cube. Let's say you walk near it, the client will start drawing all the items found inside it, but those only! When the client renders the scene, all the objects not found within the player's visible cubes will be skipped to make the whole process faster. This is why sometimes you see black spots, it's... basically an unloaded chunk.
     
    Now, why is it called a tree? That is because the cubes are of various sizes, sort of. The first quadtree node, the root node, is the cube that contains the entire scene with all the items. This cube is then cut in 4 smaller pieces, making 4 new smaller quadtree nodes. The process is repeated until your tree is 5 in depth :
    depth | amount
    0 | 1
    1 | 4
    2 | 16
    3 | 64
    4 | 256
    5 | 1024
     
    This will give 1365 quadtree nodes. 1365 nodes * 4 vectors * 3 values (XYZ) * 4 bytes = 65520 bytes of data for the entire quadtree, which is appended directly at the end of the file. The tree traversal type, when reading the nodes, should be in pre-order. Normally, a map is 1000 by 1000 (in the game's world coordinates) and its centered. BrowEdit doesn't show you the real values, it uses a different coordinate system. Anyway, this gives you the following first node in most quadtrees (Y is the 'height') : 
    Min = {499, 0, 499} Max = {-500, 0, -500} Range = {499.5, 0, 499.5} Center = {-0.5,0, -0.5}   If you want more information, well... search on google, there are plenty of resources available ;].
  20. Upvote
    Tokeiburu got a reaction from evilpuncker in Translate Korean   
    The translation is correct.
    ¾ÆÀÌÅÛ = 아이템 = drag sprites, 'icons' is a bit misleading. It would be more appropriate to call the 'icon' folder datatexture유저인터페이스item instead.
    Àΰ£Á· = 인간족 = "Player" folder, where the weapons indeed go.
     
    Maybe this will help : 

     
    Then again, making custom weapons is a different topic altogether ;].
  21. Upvote
    Tokeiburu got a reaction from Yoh Asakura in Translate Korean   
    Have you updated your lua/lub files? https://rathena.org/wiki/Custom_Items#Weapon_Sprite_Solution_.28For_New_Clients.29
  22. Upvote
    Tokeiburu got a reaction from evilpuncker in GRF Editor   
    Hmm, it seems the RSM might be using the same texture twice (which is not supposed to happen!). Let me know if this update (http://www.mediafire.com/download/aflylbhblrzpz0h) fixed your issue. Otherwise, send me your model file.
     
    Update fixes :
    Duplicate textures are merged together.
    Root mesh wasn't always the correct one (happens when multiple meshes have the root name).
    Changed the default shading to "Flat shading".
    Fixed a big texture issue.


  23. Upvote
    Tokeiburu got a reaction from evilpuncker in Act Editor   
    You don't actually have to save your modifications when using the palette tool. Closing the window will save it for you; the issue has been 'fixed' by ignoring the save command. http://www.mediafire.com/download/y3amu1o5zsmgd2o
  24. Upvote
    Tokeiburu got a reaction from Shourei in Act Editor   
    File Name: Act Editor
    File Submitter: Tokeiburu
    File Submitted: 03 Dec 2014
    File Category: Client Resources
     
    Heya,
     
    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/download/y3amu1o5zsmgd2o
    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.


     
     
    Key features
    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...

     
     
    Anchors
    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.
     
     
    Palette editor
    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.
     
     
    Interpolation (tweening)
    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 :
     
     
     
     
    Script engine
    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.
     
     
    Customizable
    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!
     
    Click here to download this file
  25. Upvote
    Tokeiburu got a reaction from Yoh Asakura in Translate Korean   
    The translation is correct.
    ¾ÆÀÌÅÛ = 아이템 = drag sprites, 'icons' is a bit misleading. It would be more appropriate to call the 'icon' folder datatexture유저인터페이스item instead.
    Àΰ£Á· = 인간족 = "Player" folder, where the weapons indeed go.
     
    Maybe this will help : 

     
    Then again, making custom weapons is a different topic altogether ;].
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.