Jump to content

Ai4rei

Members
  • Posts

    419
  • Joined

  • Last visited

  • Days Won

    36

Everything posted by Ai4rei

  1. My answer was directed towards M45T3R. No idea what would cause your issue, Rytech.
  2. Your translation file has wrong encoding, looks like UTF-8 to me; or the langtype does not support your language.
  3. afxres.h error is due to the fact, that you probably use Visual Studio Express rather than the full version. The remaining is probably me not considering namespaces or some other C++ oddity.
  4. We have three people knowing (to some extent) how to expand heal/dmg to 9 digits, each of them holding some pieces of the puzzle, great.
  5. People who make profit of other people's work, really piss me off. Makes one consider twice before releasing any kind of stuff.

    1. EvilPuncker

      EvilPuncker

      that is sadly the main reason that RO is dead as it is now :( piss me off too :\

    2. Terenas

      Terenas

      Oh really? but too bad that someone who works here on RA also charge people off of the hard work that belongs to EA.

    3. EvilPuncker

      EvilPuncker

      but ppl selling client mods are the worst IMHO

  6. DeePee: Can you test, if the following hex (316 bytes) solves your issue? F: 6AFF68AB43730064A1000000005081ECC4000000A160927D0033C4898424C0000000535657A160927D0033C4508D8424D400000064A3000000008BBC24E80000008B9C24E400000057538D442420508BF1E88AFDFFFFC78424DC00000000000000837C24200066899ECC0000000F84880000000FBF8ECA0000008D47EF99F7F9C74424102A0000000FAFC883C10481FB18010000894C24147C08C7442410410100008D4C2414518D542414528BCEE81DC106008D842490000000508D4C241CC744241C14000000E8F4920B008B3594C47C008D4C241851B998FF8700E84FFD23008B542414508B44241452508D8C249C000000518BCEE815A10A00C78424DC000000FFFFFFFF8D4C2418E8215BFBFF8B8C24D400000064890D00000000595F5E5B8B8C24C000000033CCE81936280081C4D0000000C20800 R: 6AFF68AB43730064A1000000005081ECC4400000A160927D0033C4898424C0400000535657A160927D0033C4508D8424D440000064A3000000008BBC24E84000008B9C24E440000057538D442420508BF1E88AFDFFFFC78424DC40000000000000837C24200066899ECC0000000F84880000000FBF8ECA0000008D47EF99F7F9C74424102A0000000FAFC883C10481FB18010000894C24147C08C7442410410100008D4C2414518D542414528BCEE81DC106008D842490000000508D4C241CC744241C14000000E8F4920B008B3594C47C008D4C241851B998FF8700E84FFD23008B542414508B44241452508D8C249C000000518BCEE815A10A00C78424DC400000FFFFFFFF8D4C2418E8215BFBFF8B8C24D440000064890D00000000595F5E5B8B8C24C040000033CCE81936280081C4D0400000C20800 Basically it increases the stack of the crashing function, but since there is no stack frame, writing a plug-in for this is rather painful. 64K hairstyles changes the order of hairstyles 1-12, so you have to fix up you palettes to continue working properly. In the days of RUNE, there was a hairstyle data pack, that updated the official hairstyles to work properly with this diff, but I wonder if something like this is still available. WDGEnableMultipleGRFExtended Everything to be said is here: And before someone says, max. damage != max. skill damage, the function that takes care of the numbers is shared by both.
  7. Not going to do this one due to paid service constraints.
  8. Stack-based buffer overflow, probably did not take the multi-language prefix into account. Will see what can be done about it. Queued.
  9. Added: WDGTranslateClient Only basic functionality tested, error-conditions are untested. The file has to be in same folder as the plugin. binary builds, sources
  10. Do pets/monsters speak Korean with 'recent clients' or do they not speak at all? If not at all, then I assume it's a job for the server now, to make them speak. Edit: Since there were little file parse difficulties in the translation plug-in, I had to alter the file format a little. This is current candidate for implementation: // WDGTranslateClient.txt // // == Format ======================================================= // // Only comments recognized are lines prefixed with '//'. Indented // and trailing comments are not supported. // // Each translation is a set of two lines, the earlier being the // original text (CP949, EUC-KR is fine too; UNICODE/UTF-8 is not) // and the latter being the translation to place into the client. // // The length of the translation is limited to the length of the // original string plus 1 aligned to be multiple of 4, minus 1. // // Example: // - "asdf" = 4 +1 (zero termination of the string) = 5 // - Next multiple of 4 for 5 is 8 (2x4) // - 8 -1 = 7 characters usable for translation string // // Lines to look for start with 'F:', lines with replacement string // start with 'R:'. The line syntax is the same as the one used for // matches within the plugins. That is, literal strings are enclosed // in ' everything else is interpreted as hexadecimal bytes. // // Example: // | // Bytes can be separated by spaces... // | F:C4 C9 B8 AF C5 CD 20 B8 B8 B5 E9 B1 E2 // | R:'Make Character' // | // | // ...but do not need to. // | F:28C4B3B8AFC5CD2FC3D120BDBDB7D429 // | R:'(Used / Total)' // // Do not use byte 00 at the end of strings, as it is appended auto- // magically. Do not use it within strings either, unless you have a // really good reason to do so. // // Partial strings are not matched, the original string is always // assumed to be complete. Since mismatches are still likely to // occur for shorter strings, place longer strings at the beginning // and the short ones and the end of the file. // // ================================================================= // Translate Delete Time // F:2564BFF9202564C0CF202564BDC3202564BAD0202564C3CA R:'Delete: %d/%d - %d:%d:%d' F:2564B3E2202564BFF9202564C0CF202564BDC3202564BAD0202564C3CA20 R:'%d/%d/%d - %d:%d:%d'
  11. I'll see what can be done about it. While I personally do not like that "if it's not there, try the other", but I get your point. I'd probably go the "if it's not in 악세사리/<gender> try 악세사리/ instead" way, then.
  12. 2012-07-02aRagexeRE ____________ Edit: Updated: WDGUseRagnarokIcon Made it work with recent clients.
  13. I don't think it is normal, yet the diff only changes the packet being sent, as such should be unrelated. I'll test it when I get around to do that. oh ok. thanks. i would wait for the confirmation. It does not crash for me. Of course the client closes, but that happens even without the patch, by design.
  14. Peopleperson49: Mind taking this to the appropriate support section? Your problem is completely irrelevant to this topic.
  15. Was applied to packet 0x81, extended it now to cover packet 0x6A as well. I don't think it is normal, yet the diff only changes the packet being sent, as such should be unrelated. I'll test it when I get around to do that.
  16. The plug-in has a mission, but no code yet. Decided to spend some time on RO Patcher Lite again.
  17. What did you enter as parameter? Works fine for me (tested with parameter 4096, and *mes with 4000 dots). Then apply custom aura sprites and use empty aura sprites.
  18. For one: And the other is: I have obsoleted the 'restore login window' diff in favor of packet 0x825. This also applies to my own login window restore hex.
  19. Try WDGAlwaysCallSelectKoreaClientInfo. I do not support the login window restore and any stuff associated with it. conf/battle/client.conf: max_lv: 98 And set bit 1 in client_limit_unit_lv if not already set, that should do the trick.
  20. So far I know WDG plug-ins have no means to add new sections and the default all-purpose section is limited to 4096 (would have to modify WeeDiff), needed by other plug-ins for code. Also finding all references is only easy when you have to deal with direct PUSH, only. String arrays (MOV R32,[R32+R32*4]) for example would need a disassembly of the entire code and could still be missed. I don't think it's worth to implement an entire disassembler for just translating the client (among others also beyond my free time and skills). Since most of the strings use address references rather than function calls (ex. MsgStr for msgstringtable.txt), inserting a function for each string reference is even more complicated. To get space inside the code, you have to steal some code, at least 5 bytes for a 4 byte JMP. Each string would add about 20~22 bytes of overhead (JMP, PUSH, CALL, optionally ADD ESP,4 depending on the lua function, JMP). In short, even worse than the above.
  21. The max. length can be calculated for most of the strings with (length + 1) aligned to be multiple of 4 (again without 1 byte for the zero-termination). Some strings may have (depending on placement) more space, though. For example "asdf" uses 4+1 bytes which is 8 bytes when aligned, minus 1 for zero-termination gives 7 bytes available for the string itself. Someone might make a front-end for editing that file then, that could restrict the text entered with above rule.
  22. The WDGTranslateClientIntoEnglish could be accompanied by some text file, that contains to-be-translated korean text and respective translations, such as ÆÄƼ°á¼º Create Party ÆÄƼÃÊ´ë Add to Party which could be edited freely without having to compile the plugin.
  23. Added: WDGRemoveLoginErrorCode exp-bar queued
  24. I have obsoleted the 'restore login window' diff in favor of packet 0x825. Dropped. I think there already is an answer from me.
×
×
  • Create New...