plz support wzlongproperty
plz support wzlongproperty
I'm pretty sure MapleLib has had "WzLongProperty" support for a while.
Speaking of properties though, each "property" is actually just a Variant. The last I checked MapleLib had a majority of them, but here's Nexon's serialization as of v17x/v18x:
PHP Code:
/**
* Serializes an object, parsing and constructing
* the proper variant.
*
* [MENTION=2000183830]para[/MENTION]m arg A serialization arg containing the property data
*/
private void serialize(SerializeArg arg)
{
arg.pValue.Clear();
Variant pValue = arg.pValue.GetValue();
int vt = arg.ws.ReadByte();
if (vt == Variant.VT_DISPATCH)
{
vt = Variant.VT_UNKNOWN;
}
switch (vt)
{
case Variant.VT_EMPTY:
break;
case Variant.VT_I2:
case Variant.VT_BOOL:
case Variant.VT_I1:
case Variant.VT_UI1:
case Variant.VT_UI2:
pValue.iVal = arg.ws.ReadShort();
break;
case Variant.VT_I4:
case Variant.VT_UI4:
pValue.lVal = arg.ws.ReadCompressedInt();
break;
case Variant.VT_R4:
pValue.fltVal = BitConverter.ToSingle(BitConverter.GetBytes(arg.ws.ReadCompressedInt()), 0);
break;
case Variant.VT_R8:
pValue.dblVal = BitConverter.Int64BitsToDouble(arg.ws.ReadLong());
break;
case Variant.VT_BSTR:
pValue.bstrVal = WzPCOM.PcSerializeString(arg.ws.pArchive, arg.ws.ReadByte() != 0);
break;
case Variant.VT_CY:
arg.ws.ReadCompressedLong();
break;
case Variant.VT_DATE:
arg.ws.ReadLong();
break;
case Variant.VT_I8:
case Variant.VT_UI8:
arg.ws.ReadCompressedLong();
break;
case Variant.VT_UNKNOWN:
int uSize = arg.ws.ReadInt();
long uBlock = uSize + arg.ws.GetPosition();
arg.pValue.vValue.vt.nVarType = Variant.VT_EMPTY;
arg.pValue.Initiate(arg.psName, arg.ws.pArchive, uSize);
arg.ws.SetPosition(uBlock, 0);
break;
default:
{
// error
return;
}
}
pValue.vt.nVarType = vt;
}
so I heard you guys liek multiple tabs?
https://github.com/eaxvac/Harepacker...leases/tag/1.7
- - - Updated - - -
The nexon like naming![]()
I'll look into it! Thanks.
- - - Updated - - -
I'll be looking into mainly bug fix, compatibility with the latest version of maplestory, and productivity for now.
I've yet to use WzRepacker at all.
Let me know if there's anything you want me to add.
- - - Updated - - -
1) the benefit of "Select Duplicates" to remove all the duplicate nodes I had (since if you just blindly copy over things from one wz to another, you'll get a lot of dupes) - from there, you can simply just click delete property to remove them all. and
2) my favorite side-by-side view and comparison.
I'm on it!coming soon
- - - Updated - - -
Integration with Adobe Animate CC anyone? coming soon :)
This isn't really needed, but maybe add a "hash node" to all images/sound, and when saving have an option to where if it detects duplicate hashes remove duplicate images and instead link them to one image for the sake of reducing filesize.
1.8 is now available.
https://github.com/eaxvac/Harepacker...leases/tag/1.8
-Management of Map.wz fieldLimitType via checkboxes
-Show portal type description under bottom right status strip when selecting portals in Map.wz
-Wav file
![]()
That's the biggest QOL yet. We've been always manually calculating these darn fieldlimits, since that's the only way to do it really. This will once again help A LOT. Man, so spoiled from these updates.
- - - Updated - - -
By the way, here's two more bug report.
If you export an .img and after that edit the same .img again (after testing for example, we use .img files only). Harepacker errors out and you need restart the whole .wz
Also, if you import an .img the said .img stays permanently 'in-use' until harepacker is closed. Example, import .img > edit it > replace the imported .img and harepacker will crash because it claims the .img is in use. This even happens if you unload the .wz you imported it from.
This totally didn't made me lose my work multiple times in past
Last edited by Kimberly; 09-06-18 at 11:33 PM.
Object reference not set to an instance of an object was the cause of nightmares for me years ago when I wz edited v83 and wanted to import String.wz Equip names from much higher versions, fixing that would make me want to start making v83 servers again almost instantly. lol
I dunno if maybe it's because my screen resolution is small compared to others, but I can't see everything even if I maximize the window since the 1.8 update:
Spoiler:
you're welcome
I know that too, been trying to import some maps myself. More coming soon, as I see a need for them.
Will be looking at the issue you have mentioned.
- - - Updated - - -
I'm not too sure, check if its related to DPI issue.
Right click -> Properties -> Compatibility -> Change high DPI settings.
Since I always show videos so far let me do it with this one too, so its easier for you to replicate:
https://kimberly.s-ul.eu/mdxEXd2m
Basically, you can't edit the .img anymore after exporting it once.
1.9.1:
https://github.com/eaxvac/Harepacker...ases/tag/1.9.1
-Map render: Monster & Monster name
-Fixed map rendering issue for MapleStory ver 180++
-Ability to load other WZFile content opened in the program (Map001.wz, Map2.wz, Mob2.wz) WzFile.GetObjectFromMultipleWzFilePath()
-Fixed UI issue with vector
-Fix missing directory -- FileNotFoundException when extracting .IMG …
-Fix: Issues editing .img after exporting it
- - - Updated - - -
I'll look into it in a bit
Update: fixed 1.9.1
Last edited by LastBattle; 10-06-18 at 03:17 PM.
plz can change setting file location and Add Features edit - add - wzlongproperty
ver 2.0 now available.
https://github.com/eaxvac/Harepacker...cted/releases/
For some unknowns this might help from v95. Idk if the KMS leak has the newer ones.
Also if you try to overwrite a file while another program is using the wz(maple) it just gets deleted and any edits you made are lost. Should check if you can modify the file before deleting it from view? or catch the exception and readd it.Code:FIELDOPT_MOVELIMIT = 0x1, FIELDOPT_SKILLLIMIT = 0x2, FIELDOPT_SUMMONLIMIT = 0x4, FIELDOPT_MYSTICDOORLIMIT = 0x8, FIELDOPT_MIGRATELIMIT = 0x10, FIELDOPT_PORTALSCROLLLIMIT = 0x20, FIELDOPT_TELEPORTITEMLIMIT = 0x40, FIELDOPT_MINIGAMELIMIT = 0x80, FIELDOPT_SPECIFICPORTALSCROLLLIMIT = 0x100, FIELDOPT_TAMINGMOBLIMIT = 0x200, FIELDOPT_STATCHANGEITEMCONSUMELIMIT = 0x400, FIELDOPT_PARTYBOSSCHANGELIMIT = 0x800, FIELDOPT_NOMOBCAPACITYLIMIT = 0x1000, FIELDOPT_WEDDINGINVITATIONLIMIT = 0x2000, FIELDOPT_CASHWEATHERCONSUMELIMIT = 0x4000, FIELDOPT_NOPET = 0x8000, FIELDOPT_ANTIMACROLIMIT = 0x10000, FIELDOPT_FALLDOWNLIMIT = 0x20000, FIELDOPT_SUMMONNPCLIMIT = 0x40000, FIELDOPT_NOEXPDECREASE = 0x80000, FIELDOPT_NODAMAGEONFALLING = 0x100000, FIELDOPT_PARCELOPENLIMIT = 0x200000, FIELDOPT_DROPLIMIT = 0x400000, FIELDOPT_ROCKETBOOSTER_LIMIT = 0x800000,
Last edited by Arnah; 11-06-18 at 01:33 AM.
Don't use Vertisy
I made phoenix :smile: