[Release][Universal] HaRepacker - New version

Page 2 of 5 FirstFirst 12345 LastLast
Results 16 to 30 of 65
  1. #16
    NoLifeBunny retep998 is offline
    ModeratorRank
    Apr 2008 Join Date
    VanaLocation
    675Posts

    Re: [Release][Universal] HaRepacker - New version


    RaGEZONE Recommends

    RaGEZONE Recommends

    Quote Originally Posted by haha01haha View Post
    IIRC JMS has some weird method where they use one encryption for certain parts and another one for other parts, in the same wz file. This would be very complicated to implement, which is why I've never bothered with it.
    The way I handled it in NoLifeWz and NoLifeStory is by decoding the initial string in any given .img using every key and seeing which one results in the string "property" and then using that key for that .img.

  2. #17
    Registered haha01haha is offline
    MemberRank
    Mar 2009 Join Date
    15Posts

    Re: [Release][Universal] HaRepacker - New version

    Quote Originally Posted by retep998 View Post
    The way I handled it in NoLifeWz and NoLifeStory is by decoding the initial string in any given .img using every key and seeing which one results in the string "property" and then using that key for that .img.
    That's what maststef did in WzExtract too. I don't like this approach because it is not efficient and very unrobust (what if a string accidentally decodes as valid ASCII characters, but they don't make any sense because it's the wrong encryption? The chance is close to zero, but it still feels unreliable). Also, this approach makes repacking impossible because you don't know which encryption to use when saving new\modified data.

  3. #18
    Eh? chukiba is offline
    True MemberRank
    Apr 2009 Join Date
    Sedaitsu IslandLocation
    236Posts

    Re: [Release][Universal] HaRepacker - New version

    Didn't expect to be hearing from you anytime soon. Good to see that you're back, even if your 'stay' might not be quite long.

    Just wanted to say thank you for 'kick-starting' the WZ Editing section of the 'MapleStory Private Server Development Community' since none of my work, nor any of the other WZ Editor's work could be done without your software and hard work.
    Sedaitsu Island - 73% Completed


    Currently working on - Sedaitsu + Finishing unfinished works
    Quote Originally Posted by iiLick
    nobody from my school is hating I get like 320+ likes on insta!
    ^ This guy kills me xD

  4. #19
    Account Inactive CrazyH4x0r is offline
    InactiveRank
    Apr 2008 Join Date
    40Posts

    Re: [Release][Universal] HaRepacker - New version

    Quote Originally Posted by haha01haha View Post
    The exporting bug fix is actually the primary change in this version and should be fixed. If you still get it, post some more details so I can reproduce it (e.g. what exactly were you trying to dump, using which option)
    Ok, heres some details:
    I was trying to dump GMS v0.2X client .wz files.
    I successfully dumped all the XML files, then I wanted to dump the PNG/MP3s. The exact settings I used were "GMS (old)" encryption and then just using the Tools > Export file(s) to > PNG\MP3 button, and selecting all the wz files (except list.wz and base.wz obviously). It successfully without any complaints extracted Character.wz, Effect.wz, Etc.wz, Item.wz, but when it gets to Map.wz when it's about 90% done it crashes. I've retried it many times, it consistently happens on Map.wz, I've tried using options other than exporting files (like exporting selection). I think it also happens on other files if I skip Map.wz, like Mob.wz. I'm not sure what other details I can post than this.

    I don't understand why the bug occurs, but it seems to happen when it reaches a specific file, wouldn't it be possible to add a simple try catch statement when exporting files, and if it has an error then just skip that specific file and continue with the rest of the .wz file. Well, that's just my idea. I don't even know why it happens.

  5. #20
    Account Inactive z009123 is offline
    InactiveRank
    Dec 2012 Join Date
    1Posts

    Re: [Release][Universal] HaRepacker - New version

    Any one could give me another download link?
    My isp ban "mediafire".

  6. #21
    Everything is possible~ Diamondo25 is offline
      V.I.P  Rank
    Jan 2008 Join Date
    The NetherlandsLocation
    1,110Posts

    Re: [Release][Universal] HaRepacker - New version

    Hey Haha01haha01, I found a bug in the export code when using the PNG option: it exports the folder twice:
    Character.wz/Longcoat/Longcoat/01050023.img/01050023.img/{actual images here}

    :)

  7. #22
    Have Fun! SuPeR SoNiC is offline
    True MemberRank
    Nov 2008 Join Date
    513Posts

    Re: [Release][Universal] HaRepacker - New version

    Good to see you again haha01. I always liked your work. :)
    I found a little bug quite some time ago, really long ago actually. Not something too serious, but might be useful:
    When you play a sound file from Sound.wz, if you use your mouse middle-button to scroll, the playing position will shift as well. If you scroll to a poisition before the beginning or after the end, it will crash HaReapcker.

    Best of luck with whatever you do. :)

  8. #23
    FutureLegend's Owner FightDesign is offline
    True MemberRank
    Feb 2011 Join Date
    Capsule Corp.Location
    543Posts

    Re: [Release][Universal] HaRepacker - New version

    Gonna release a new version soon, with lots of new feature !
    Thanks for this, ' haha ' - although, I already had your source...


    Real Join Date: Aug 2009

  9. #24
    Registered alonevampire is offline
    MemberRank
    Jun 2011 Join Date
    17Posts

    Re: [Release][Universal] HaRepacker - New version

    Quote Originally Posted by FightDesign View Post
    Gonna release a new version soon, with lots of new feature !
    Thanks for this, ' haha ' - although, I already had your source...
    Keep it open source :O

  10. #25
    Registered haha01haha is offline
    MemberRank
    Mar 2009 Join Date
    15Posts

    Re: [Release][Universal] HaRepacker - New version

    Just a quick update, I've been away since my last post here and I'm going to be absent for long periods of time from now on due to some personal issues. I've read the bug reports but I don't have the time to fix them.
    Regarding FightDesign's post: forks are always welcomed, but you need to comply with the terms of the GPL license (the primary part is that source code must always be available)

  11. #26
    NoLifeBunny retep998 is offline
    ModeratorRank
    Apr 2008 Join Date
    VanaLocation
    675Posts

    Re: [Release][Universal] HaRepacker - New version

    For anyone having issues with wz files created by koolk's map editor but doesn't want to hassle with koolk-breaker, here is a quick patch that will fix everything magically.
    Code:
    From 50e753cb4bfac4a0912d7c15e5ecab461a429680 Mon Sep 17 00:00:00 2001
    From: retep998 <retep998@verizon.net>
    Date: Wed, 1 May 2013 00:27:08 -0400
    Subject: [PATCH] Fixed issue with koolk files
    
    
    Signed-off-by: retep998 <retep998@verizon.net>
    ---
     WzLib/WzFile.cs | 5 +++--
     1 file changed, 3 insertions(+), 2 deletions(-)
    
    
    diff --git a/WzLib/WzFile.cs b/WzLib/WzFile.cs
    index 2b3622f..df5c925 100644
    --- a/WzLib/WzFile.cs
    +++ b/WzLib/WzFile.cs
    @@ -177,14 +177,15 @@ namespace MapleLib.WzLib
     				Helpers.ErrorLogger.Log(Helpers.ErrorLevel.Critical, "[Error] Path is null");
     				return;
     			}
     
    -			WzBinaryReader reader = new WzBinaryReader(File.Open(this.path, FileMode.Open), WzIv);
    +			FileStream file = File.Open(this.path, FileMode.Open);
    +			WzBinaryReader reader = new WzBinaryReader(file, WzIv);
     
     			this.Header = new WzHeader();
     			this.Header.Ident = reader.ReadString(4);
     			this.Header.FSize = reader.ReadUInt64();
     			this.Header.FStart = reader.ReadUInt32();
     			this.Header.Copyright = reader.ReadNullTerminatedString();
    +			file.Seek(this.Header.FStart, SeekOrigin.Begin);
     			reader.ReadBytes((int)(Header.FStart - reader.BaseStream.Position));
     			reader.Header = this.Header;
     			this.version = reader.ReadInt16();
    -- 
    1.8.0.msysgit.0

  12. #27
    Account Upgraded | Title Enabled! royalmonky is offline
    True MemberRank
    Jun 2011 Join Date
    648Posts

    Re: [Release][Universal] HaRepacker - New version

    Quote Originally Posted by retep998 View Post
    For anyone having issues with wz files created by koolk's map editor but doesn't want to hassle with koolk-breaker, here is a quick patch that will fix everything magically.
    Code:
    From 50e753cb4bfac4a0912d7c15e5ecab461a429680 Mon Sep 17 00:00:00 2001
    From: retep998 <retep998@verizon.net>
    Date: Wed, 1 May 2013 00:27:08 -0400
    Subject: [PATCH] Fixed issue with koolk files
    
    
    Signed-off-by: retep998 <retep998@verizon.net>
    ---
     WzLib/WzFile.cs | 5 +++--
     1 file changed, 3 insertions(+), 2 deletions(-)
    
    
    diff --git a/WzLib/WzFile.cs b/WzLib/WzFile.cs
    index 2b3622f..df5c925 100644
    --- a/WzLib/WzFile.cs
    +++ b/WzLib/WzFile.cs
    @@ -177,14 +177,15 @@ namespace MapleLib.WzLib
     				Helpers.ErrorLogger.Log(Helpers.ErrorLevel.Critical, "[Error] Path is null");
     				return;
     			}
     
    -			WzBinaryReader reader = new WzBinaryReader(File.Open(this.path, FileMode.Open), WzIv);
    +			FileStream file = File.Open(this.path, FileMode.Open);
    +			WzBinaryReader reader = new WzBinaryReader(file, WzIv);
     
     			this.Header = new WzHeader();
     			this.Header.Ident = reader.ReadString(4);
     			this.Header.FSize = reader.ReadUInt64();
     			this.Header.FStart = reader.ReadUInt32();
     			this.Header.Copyright = reader.ReadNullTerminatedString();
    +			file.Seek(this.Header.FStart, SeekOrigin.Begin);
     			reader.ReadBytes((int)(Header.FStart - reader.BaseStream.Position));
     			reader.Header = this.Header;
     			this.version = reader.ReadInt16();
    -- 
    1.8.0.msysgit.0
    Thank You retep you helped me a lot last night.

  13. #28
    Account Inactive sp193 is offline
    InactiveRank
    Jun 2013 Join Date
    7Posts

    Voice modding

    Hi,

    I'm considerably new to modding Maplestory, but I think that HaRepacker might be having some difficulties rebuilding IMGs containing voices (SkillVoice).

    I was trying to port the Japanese Angelic Buster voices over from JMS to SEA. Unfortunately, changing any one voice with HaRepacker (even if the voice was merely extracted and re-inserted) just caused all voices in that image to be played at a really high sample rate.

    Please feel to correct me if I am wrong here though! Maybe there's already a known explanation for that, but I just haven't found it.

    As for what I did on my end to get voice replacement working, I got the halfword/short at 0x36 set to 0x01 instead of 0x02 and the 32-bit word at 0x3C set to 0x0bb8 instead of 0x2710.

    Here are all the differences in the structures that I've noticed when comparing the headers of the SkillVoice files against the reference soundHeaderMask structure:
    Code:
    Differences (header vs soundHeaderMask):
    0x36  (short)  -    0x01    0x02        (01 = voice, 02 = BGM, seems to be a sound channel selector).
    0x38 (word)    -    (Sample rate)
    0x3C (word)    -    0x0bb8    0x2710    (Seems to be some round number like 1000, 3000 or 6000. Sample buffer length?)
    0x4C    -    0x4E    0x00
    0x4D    -    0x00    0x0A
    0x4E    -    0x01    0x02
    0x4F    -    0x00    0x01
    0x50    -    0x71    0x00
    0x51    -    0x05    0x00
    Note: header refers to the header that precedes the MP3 file itself, which is the same for all voices under SkillVoice.

    Halfword/short 0x36 seems to be a channel selector. Perhaps 0x02 causes it to be played under the BGM channel, causing it to be played back with the parameters of the BGM (Which presumably has a higher sample rate).

    I'm not sure about the word at 0x3C. While just changing byte 0x36 to 0x01 allows voices to be played at their right sample rates... I noticed that the voices were cut off. Setting it to 0xBB0 solved that, although I'm not sure what that actually does.

    On a side note, it seems like not all sounds are MP3 files. It appears that normal skill sounds are headerless wave files and the headers that precede these files are no different from their SkillVoice counterparts... on at least SEA.

    I don't know about how well this works on other Maplestory versions like JMS, although I could possibly test on JMS if required. (JMS seems to have more variations in its voice MP3 header fields too, BTW)

    Thank you for reading!
    Last edited by sp193; 05-06-13 at 05:20 AM.

  14. #29
    Account Inactive LordKeima is offline
    InactiveRank
    Jun 2013 Join Date
    4Posts

    Re: Voice modding

    Quote Originally Posted by sp193 View Post
    Hi,

    I'm considerably new to modding Maplestory, but I think that HaRepacker might be having some difficulties rebuilding IMGs containing voices (SkillVoice).

    I was trying to port the Japanese Angelic Buster voices over from JMS to SEA. Unfortunately, changing any one voice with HaRepacker (even if the voice was merely extracted and re-inserted) just caused all voices in that image to be played at a really high sample rate.

    Please feel to correct me if I am wrong here though! Maybe there's already a known explanation for that, but I just haven't found it.

    As for what I did on my end to get voice replacement working, I got the halfword/short at 0x36 set to 0x01 instead of 0x02 and the 32-bit word at 0x3C set to 0x0bb8 instead of 0x2710.

    Here are all the differences in the structures that I've noticed when comparing the headers of the SkillVoice files against the reference soundHeaderMask structure:
    Code:
    Differences (header vs soundHeaderMask):
    0x36  (short)  -    0x01    0x02        (01 = voice, 02 = BGM, seems to be a sound channel selector).
    0x38 (word)    -    (Sample rate)
    0x3C (word)    -    0x0bb8    0x2710    (Seems to be some round number like 1000, 3000 or 6000. Sample buffer length?)
    0x4C    -    0x4E    0x00
    0x4D    -    0x00    0x0A
    0x4E    -    0x01    0x02
    0x4F    -    0x00    0x01
    0x50    -    0x71    0x00
    0x51    -    0x05    0x00
    Note: header refers to the header that precedes the MP3 file itself, which is the same for all voices under SkillVoice.

    Halfword/short 0x36 seems to be a channel selector. Perhaps 0x02 causes it to be played under the BGM channel, causing it to be played back with the parameters of the BGM (Which presumably has a higher sample rate).

    I'm not sure about the word at 0x3C. While just changing byte 0x36 to 0x01 allows voices to be played at their right sample rates... I noticed that the voices were cut off. Setting it to 0xBB0 solved that, although I'm not sure what that actually does.

    On a side note, it seems like not all sounds are MP3 files. It appears that normal skill sounds are headerless wave files and the headers that precede these files are no different from their SkillVoice counterparts... on at least SEA.

    I don't know about how well this works on other Maplestory versions like JMS, although I could possibly test on JMS if required. (JMS seems to have more variations in its voice MP3 header fields too, BTW)

    Thank you for reading!
    Thanks for giving more technical information then I could have ever given. I also reported the same thing over in this thread: http://forum.ragezone.com/f701/encou...voices-935343/

    Just wondering if the type of mp3 file makes a difference? Since i mentioned in my thread

    Quote Originally Posted by LordKeima View Post
    I noticed that MSEA uses MPEG Version 2 Layer 3, 24.0kbps bitrate for their audio file while JMS uses MPEG Version 1 Layer3, 48.0kbps bitrate and encoded with LAME3.97 for that same audio file, so I tried converting (yea, mass quality degradation) the JMS files to the same specs as MSEA's using Audacity. Same problem.
    Thanks for any replies :)
    or it doesn't matter?

  15. #30
    Account Inactive sp193 is offline
    InactiveRank
    Jun 2013 Join Date
    7Posts

    Re: Voice modding

    Quote Originally Posted by LordKeima View Post
    Thanks for giving more technical information then I could have ever given. I also reported the same thing over in this thread: http://forum.ragezone.com/f701/encou...voices-935343/

    Just wondering if the type of mp3 file makes a difference? Since i mentioned in my thread



    or it doesn't matter?
    Wow. Finally, someone else across the Internet who has run into this issue as well. Thank you!

    No, it doesn't. I tried re-encoding the AB's voices with Audacity with the exact same parameters used for the SEA voices, and there was no effect. After encoding, the resulting audio file is a MP3 version 2 file as well.

    Besides, I wrote in my post above that this problem happens even with the original files you extract from SEA (Extracting and reinserting any one voice will screw all of them up, even if you don't touch the others).

    Since both JMS and MapleSEA are MapleStory games, the engines should be similar enough, so I don't see why they would take the effort to bother changing the supported audio formats anyway.

    If one was to take the JMS Sounds.wz pack and modify it for use with the SEA client (By swapping the file version numbers), the sounds all play properly in the SEA client (With the exception of missing sounds). This proves that the MP3 file format version doesn't matter, Wz repacking probably isn't a problem... but IMG file repacking has some issue.

    On a side note, I'm also curious to know whether there's a way to re-add the missing FAIL sign that appears when your soul battery runs out, and the sounds that play whenever you can't use a skill and when your soul battery recharges. :/
    Last edited by sp193; 07-06-13 at 02:28 PM.




Page 2 of 5 FirstFirst 12345 LastLast

Advertisement