gitextract_7zirm0f1/ ├── .gitattributes ├── .gitignore ├── .gitmodules ├── Build/ │ ├── Common.props │ └── WcR2Plugin.targets ├── LICENSE ├── README.md ├── UpdateLogs/ │ ├── dev.md │ ├── v2.0.1.md │ ├── v2.0.9.md │ ├── v2.1.1.md │ └── v2.1.md ├── WzComparerR2/ │ ├── AnimateEncoderFactory.cs │ ├── CharaSim/ │ │ ├── CharaEquip.cs │ │ ├── CharaProp.cs │ │ ├── CharaSimLoader.cs │ │ ├── Character.cs │ │ └── CharacterStatus.cs │ ├── CharaSimControl/ │ │ ├── AControl.cs │ │ ├── ACtrlButton.cs │ │ ├── ACtrlVScroll.cs │ │ ├── AfrmEquip.cs │ │ ├── AfrmItem.cs │ │ ├── AfrmStat.cs │ │ ├── AfrmTooltip.cs │ │ ├── ButtonState.cs │ │ ├── CharaSimControlGroup.cs │ │ ├── DamageSkinTooltipRender.cs │ │ ├── FamiliarTooltipRender.cs │ │ ├── GearGraphics.cs │ │ ├── GearTooltipRender.cs │ │ ├── GearTooltipRender2.cs │ │ ├── ItemMouseEventArgs.cs │ │ ├── ItemMouseEventHandler.cs │ │ ├── ItemTooltipRender.cs │ │ ├── ItemTooltipRender2.cs │ │ ├── MobTooltipRenderer.cs │ │ ├── NpcTooltipRenderer.cs │ │ ├── RecipeTooltipRender.cs │ │ ├── RenderHelper.cs │ │ ├── SetItemTooltipRender.cs │ │ ├── SkillTooltipRender.cs │ │ ├── SkillTooltipRender2.cs │ │ ├── TextBlock.cs │ │ └── TooltipRender.cs │ ├── Comparer/ │ │ ├── CompareDifference.cs │ │ ├── DifferenceType.cs │ │ ├── EasyComparer.cs │ │ ├── WzFileComparer.cs │ │ ├── WzPngComparison.cs │ │ └── WzVirtualNode.cs │ ├── Config/ │ │ ├── CharaSimConfig.cs │ │ ├── CharaSimDamageSkinConfig.cs │ │ ├── CharaSimGearConfig.cs │ │ ├── CharaSimItemConfig.cs │ │ ├── CharaSimMobConfig.cs │ │ ├── CharaSimNpcConfig.cs │ │ ├── CharaSimRecipeConfig.cs │ │ ├── CharaSimSkillConfig.cs │ │ ├── CustomCSSConfig.cs │ │ ├── ImageHandlerConfig.cs │ │ ├── MosaicInfo.cs │ │ └── WcR2Config.cs │ ├── DBConnection.cs │ ├── Dotnet4Polyfill.cs │ ├── Dotnet6Patches.cs │ ├── DownloadingItem.cs │ ├── FrmAbout.Designer.cs │ ├── FrmAbout.cs │ ├── FrmAbout.resx │ ├── FrmCustomCSS.Designer.cs │ ├── FrmCustomCSS.cs │ ├── FrmCustomCSS.resx │ ├── FrmGifClipOptions.Designer.cs │ ├── FrmGifClipOptions.cs │ ├── FrmGifClipOptions.resx │ ├── FrmGifMaker.Designer.cs │ ├── FrmGifMaker.cs │ ├── FrmGifMaker.resx │ ├── FrmGifSetting.Designer.cs │ ├── FrmGifSetting.cs │ ├── FrmGifSetting.resx │ ├── FrmOptions.Designer.cs │ ├── FrmOptions.cs │ ├── FrmOptions.resx │ ├── FrmPatcher.Designer.cs │ ├── FrmPatcher.cs │ ├── FrmPatcher.resx │ ├── FrmQuickViewSetting.Designer.cs │ ├── FrmQuickViewSetting.cs │ ├── FrmQuickViewSetting.resx │ ├── FrmUpdater.Designer.cs │ ├── FrmUpdater.cs │ ├── FrmUpdater.resx │ ├── HistoryList.cs │ ├── ImageDragHandler.cs │ ├── MainForm.Designer.cs │ ├── MainForm.cs │ ├── MainForm.resx │ ├── MemoryTributary.cs │ ├── Patcher/ │ │ ├── Builder/ │ │ │ ├── BuildInstruction.cs │ │ │ ├── BuildType.cs │ │ │ ├── CheckSum.cs │ │ │ ├── InflateStream.cs │ │ │ ├── PatchPart.cs │ │ │ ├── PatchType.cs │ │ │ ├── StreamUtils.cs │ │ │ ├── WzPatcherReader.cs │ │ │ └── WzPatcherWriter.cs │ │ ├── PatchPartContext.cs │ │ ├── PatcherSetting.cs │ │ ├── PatcherSettingCollection.cs │ │ ├── PatchingEventArgs.cs │ │ ├── PatchingState.cs │ │ ├── ReversePatcherBuilder.cs │ │ └── WzPatcher.cs │ ├── PictureBoxEx.cs │ ├── PluginLoadContext.cs │ ├── Program.cs │ ├── Properties/ │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ └── Resources.resx │ ├── QueryPerformance.cs │ ├── SoundPlayer/ │ │ ├── BassSoundPlayer.cs │ │ ├── CustomSoundFile.cs │ │ ├── ISoundFile.cs │ │ ├── ISoundPlayer.cs │ │ └── PlayState.cs │ ├── Updater.cs │ ├── WzComparerR2.csproj │ ├── app.config │ └── app.manifest ├── WzComparerR2.Avatar/ │ ├── Action.cs │ ├── ActionFrame.cs │ ├── AvatarCanvas.cs │ ├── AvatarPart.cs │ ├── Bone.cs │ ├── Entry.cs │ ├── Properties/ │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ └── Resources.resx │ ├── Skin.cs │ ├── UI/ │ │ ├── AvatarCodeForm.Designer.cs │ │ ├── AvatarCodeForm.cs │ │ ├── AvatarCodeForm.resx │ │ ├── AvatarContainer.Designer.cs │ │ ├── AvatarContainer.cs │ │ ├── AvatarForm.Designer.cs │ │ ├── AvatarForm.cs │ │ ├── AvatarForm.resx │ │ ├── AvatarPartButtonItem.Designer.cs │ │ ├── AvatarPartButtonItem.cs │ │ └── AvatarPartButtonItem.resx │ └── WzComparerR2.Avatar.csproj ├── WzComparerR2.Common/ │ ├── Animation/ │ │ ├── Frame.cs │ │ ├── FrameAnimationData.cs │ │ ├── FrameAnimator.cs │ │ ├── ISpineAnimationData.cs │ │ ├── ISpineAnimator.cs │ │ ├── KeyFrame.cs │ │ ├── MaplestoryCanvasVideoLoader.cs │ │ ├── ModelBound.cs │ │ ├── SpineAnimationDataV2.cs │ │ ├── SpineAnimationDataV4.cs │ │ ├── SpineAnimatorV2.cs │ │ ├── SpineAnimatorV4.cs │ │ └── WzSpineTextureLoader.cs │ ├── BitmapOrigin.cs │ ├── Calculator.cs │ ├── CharaSim/ │ │ ├── Addition.cs │ │ ├── AdditionType.cs │ │ ├── AlienStone.cs │ │ ├── AlienStoneGrade.cs │ │ ├── DamageSkin.cs │ │ ├── ExclusiveEquip.cs │ │ ├── Familiar.cs │ │ ├── FormulaVersion.cs │ │ ├── Gear.cs │ │ ├── GearGrade.cs │ │ ├── GearLevelInfo.cs │ │ ├── GearPropType.cs │ │ ├── GearSealedInfo.cs │ │ ├── GearState.cs │ │ ├── GearType.cs │ │ ├── HyperSkillType.cs │ │ ├── Item.cs │ │ ├── ItemBase.cs │ │ ├── ItemBaseType.cs │ │ ├── ItemPropType.cs │ │ ├── ItemSpecType.cs │ │ ├── ItemStringHelper.cs │ │ ├── Mob.cs │ │ ├── MobElemAttr.cs │ │ ├── Npc.cs │ │ ├── Potential.cs │ │ ├── Recipe.cs │ │ ├── RecipeItemInfo.cs │ │ ├── RecipePropType.cs │ │ ├── SetItem.cs │ │ ├── SetItemActiveSkill.cs │ │ ├── SetItemBonusByTime.cs │ │ ├── SetItemEffect.cs │ │ ├── SetItemIDList.cs │ │ ├── SetItemIDPart.cs │ │ ├── SetItemOptionToMob.cs │ │ ├── Skill.cs │ │ ├── SummaryParams.cs │ │ └── SummaryParser.cs │ ├── Config/ │ │ ├── ConfigArrayList.cs │ │ ├── ConfigItem.cs │ │ ├── ConfigItemCollectionBase.cs │ │ ├── ConfigManager.cs │ │ ├── ConfigSectionBase.cs │ │ └── SectionNameAttribute.cs │ ├── Controls/ │ │ ├── AlphaForm.cs │ │ ├── AnimationClipOptions.cs │ │ ├── AnimationControl.Designer.cs │ │ ├── AnimationControl.cs │ │ ├── AnimationItem.cs │ │ ├── AnimationItemEventArgs.cs │ │ ├── AnimationRecoder.cs │ │ ├── FrmProgressDialog.Designer.cs │ │ ├── FrmProgressDialog.cs │ │ ├── FrmProgressDialog.resx │ │ ├── GraphicsDeviceControl.cs │ │ ├── GraphicsDeviceService.cs │ │ ├── ProgressDialog.cs │ │ ├── ProgressDialogContext.cs │ │ └── ServiceContainer.cs │ ├── Encoders/ │ │ ├── BuildInApngEncoder.cs │ │ ├── BuildInGifEncoder.cs │ │ ├── FFmpegEncoder.cs │ │ ├── GifEncoder.cs │ │ ├── GifEncoderCompatibility.cs │ │ └── IndexGifEncoder.cs │ ├── Gif.cs │ ├── GifCanvas.cs │ ├── GifFrame.cs │ ├── GifLayer.cs │ ├── GlobalFindNodeFunction.cs │ ├── IGifFrame.cs │ ├── ImageDataObject.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── Rendering/ │ │ ├── AnimationGraphics.cs │ │ ├── BlendEx.cs │ │ ├── D2DContext.cs │ │ ├── D2DFactory.cs │ │ ├── D2DFont.cs │ │ ├── D2DRenderer.cs │ │ ├── DxExtension.cs │ │ ├── Effect/ │ │ │ ├── EffectCompiler.bat │ │ │ ├── Macros.fxh │ │ │ ├── PngEffect.3.8.0.1641.mgfxo │ │ │ ├── PngEffect.3.8.1.303.mgfxo │ │ │ ├── PngEffect.3.8.2.1105.mgfxo │ │ │ └── PngEffect.fx │ │ ├── EffectCompiler/ │ │ │ ├── ConstantBuffer.cs │ │ │ ├── Internal/ │ │ │ │ ├── ConstantBufferData.cs │ │ │ │ ├── D3DXObjects.cs │ │ │ │ ├── EffectObject.cs │ │ │ │ └── ShaderData.cs │ │ │ ├── SampleInfo.cs │ │ │ ├── ShaderConverter.cs │ │ │ └── ShaderStage.cs │ │ ├── MonogameUtils.cs │ │ ├── PngEffect.cs │ │ ├── SpriteBatchEx.cs │ │ ├── SurfaceFormatEx.cs │ │ ├── TextUtils.cs │ │ ├── Texture2DEx.cs │ │ ├── WzLibExtension.cs │ │ ├── XnaFont.cs │ │ └── XnaFontRenderer.cs │ ├── SpineLoader.cs │ ├── StringLinker.cs │ ├── StringResult.cs │ ├── Text/ │ │ ├── DocumentElements.cs │ │ ├── Parser.cs │ │ ├── TextAlignment.cs │ │ └── TextRenderer.cs │ ├── VpxVideoDecoder.cs │ ├── WzComparerR2.Common.csproj │ └── Wz_NodeExtension2.cs ├── WzComparerR2.LuaConsole/ │ ├── AppSyntaxModeProvider.cs │ ├── Config/ │ │ └── LuaConsoleConfig.cs │ ├── Entry.cs │ ├── Examples/ │ │ ├── DumpAnimations.lua │ │ ├── DumpImages.lua │ │ ├── DumpSounds.lua │ │ ├── DumpXml.lua │ │ └── Helper.lua │ ├── FrmConsole.Designer.cs │ ├── FrmConsole.cs │ ├── FrmConsole.resx │ ├── FrmLuaEditor.Designer.cs │ ├── FrmLuaEditor.cs │ ├── FrmLuaEditor.resx │ ├── Lua/ │ │ └── CLRPackage.lua │ ├── LuaSandbox.cs │ ├── Properties/ │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ └── Resources.resx │ ├── Resources/ │ │ ├── Lua.xshd │ │ └── SharpLua.xshd │ └── WzComparerR2.LuaConsole.csproj ├── WzComparerR2.MapRender/ │ ├── Animation/ │ │ ├── IStateMachineAnimationData.cs │ │ ├── RepeatableFrameAnimationData.cs │ │ ├── RepeatableFrameAnimator.cs │ │ └── StateMachineAnimator.cs │ ├── Camera.cs │ ├── Chat.cs │ ├── Config/ │ │ └── MapRenderConfig.cs │ ├── Coroutine.cs │ ├── Effects/ │ │ ├── EffectResources.cs │ │ ├── NativeShaderDesc.cs │ │ ├── Resources/ │ │ │ └── Native/ │ │ │ ├── GrayTintWorldMask │ │ │ ├── alpha │ │ │ ├── alphaMap │ │ │ ├── alphaMaps │ │ │ ├── blurRadial │ │ │ ├── blurX │ │ │ ├── blurY │ │ │ ├── colorModulate │ │ │ ├── default │ │ │ ├── glitch │ │ │ ├── grayScale │ │ │ ├── lens │ │ │ ├── light │ │ │ ├── overlayBlend │ │ │ ├── pointLight │ │ │ ├── refract │ │ │ ├── rope │ │ │ ├── textureBinaryMask │ │ │ ├── textureMask │ │ │ ├── vs_position_color_texture │ │ │ ├── waterBack │ │ │ ├── waterFront │ │ │ └── wave │ │ └── ShaderMaterials.cs │ ├── Entry.cs │ ├── FpsCounter.cs │ ├── FrmMapRender.cs │ ├── FrmMapRender2.SceneManager.cs │ ├── FrmMapRender2.SceneRendering.cs │ ├── FrmMapRender2.cs │ ├── GameExt.cs │ ├── IRandom.cs │ ├── ITooltip.cs │ ├── IWcR2Font.cs │ ├── InputState.cs │ ├── LifeInfo.cs │ ├── LightRenderer.cs │ ├── LineListMesh.cs │ ├── MapData.cs │ ├── MapEvent.cs │ ├── MapLight.cs │ ├── MapRenderFonts.cs │ ├── MapScene.cs │ ├── MathHelper2.cs │ ├── MeshBatcher.cs │ ├── MeshItem.cs │ ├── MiniMap.cs │ ├── MouseButton.cs │ ├── MsCustomSprite.cs │ ├── MsSpriteRenderer.cs │ ├── Music.cs │ ├── Particle.cs │ ├── ParticleDesc.cs │ ├── ParticleDesc1.cs │ ├── ParticleDesc3.cs │ ├── ParticleEmitter.cs │ ├── ParticleRandom.cs │ ├── ParticleSystem.cs │ ├── PatchVisibility.cs │ ├── Patches/ │ │ ├── BackPatch.cs │ │ ├── FootholdPatch.cs │ │ ├── LadderRopePatch.cs │ │ ├── LifePatch.cs │ │ ├── ObjTilePatch.cs │ │ ├── PortalPatch.cs │ │ ├── ReactorPatch.cs │ │ ├── RenderObjectType.cs │ │ ├── RenderPatch.cs │ │ └── TooltipPatch.cs │ ├── Patches2/ │ │ ├── BackItem.cs │ │ ├── FootholdItem.cs │ │ ├── IlluminantClusterItem.cs │ │ ├── ItemEvent.cs │ │ ├── LadderRopeItem.cs │ │ ├── LifeItem.cs │ │ ├── ObjItem.cs │ │ ├── ParticleItem.cs │ │ ├── PortalItem.cs │ │ ├── QuestInfo.cs │ │ ├── ReactorItem.cs │ │ ├── SceneItem.cs │ │ ├── SkyWhaleItem.cs │ │ ├── TileItem.cs │ │ └── TooltipItem.cs │ ├── Properties/ │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ └── Resources.resx │ ├── RenderAnimate.cs │ ├── RenderArgs.cs │ ├── RenderEnv.cs │ ├── RenderFrame.cs │ ├── ResourceLoader.cs │ ├── SceneNode.cs │ ├── TextMesh.cs │ ├── TextureAtlas.cs │ ├── TextureLoader.cs │ ├── TileMode.cs │ ├── UI/ │ │ ├── ColorWConverter.cs │ │ ├── HitMap.cs │ │ ├── ITooltipTarget.cs │ │ ├── LCRBrush.cs │ │ ├── MapRenderButtonStyle.cs │ │ ├── MapRenderResourceKey.cs │ │ ├── MapRenderUIRoot.cs │ │ ├── MessageBoxBackgroundBrush.cs │ │ ├── MessageBoxStyle.cs │ │ ├── NineFormResource.cs │ │ ├── NinePatchBrush.cs │ │ ├── TCBBrush.cs │ │ ├── TextBoxEx.cs │ │ ├── Tooltip.cs │ │ ├── Tooltip2.cs │ │ ├── TooltipHelper.cs │ │ ├── UIChatBox.cs │ │ ├── UIDanmaku.cs │ │ ├── UIGraphics.cs │ │ ├── UIHelper.cs │ │ ├── UIMiniMap.cs │ │ ├── UIMinimap2.cs │ │ ├── UIMirrorFrame.cs │ │ ├── UIOptions.cs │ │ ├── UITeleport.cs │ │ ├── UITopBar.cs │ │ ├── UIWorldMap.cs │ │ ├── WcR2Engine.cs │ │ ├── WcR2Renderer.cs │ │ └── WindowEx.cs │ └── WzComparerR2.MapRender.csproj ├── WzComparerR2.Network/ │ ├── Contracts/ │ │ ├── ByteArrayConverter.cs │ │ ├── PackCryptReq.cs │ │ ├── PackCryptResp.cs │ │ ├── PackCustomPackage.cs │ │ ├── PackGetAllUsersReq.cs │ │ ├── PackGetAllUsersResp.cs │ │ ├── PackGetServerInfoReq.cs │ │ ├── PackGetServerInfoResp.cs │ │ ├── PackHeartBeat.cs │ │ ├── PackLoginReq.cs │ │ ├── PackLoginResp.cs │ │ ├── PackOnChat.cs │ │ ├── PackOnCustomPackage.cs │ │ ├── PackOnServerMessage.cs │ │ ├── PackOnUserUpdate.cs │ │ ├── PackSendChat.cs │ │ ├── PackUserProfileUpdateReq.cs │ │ └── TypeNameBinder.cs │ ├── Entry.cs │ ├── Log.cs │ ├── LoggerForm.Designer.cs │ ├── LoggerForm.cs │ ├── LoggerForm.resx │ ├── NativeMethods.cs │ ├── NetworkConfig.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── RC4CryptoServiceProvider.cs │ ├── RingBufferStream.cs │ ├── WcClient.cs │ └── WzComparerR2.Network.csproj ├── WzComparerR2.PluginBase/ │ ├── FindWzEventArgs.cs │ ├── FindWzEventHandler.cs │ ├── PluginContext.cs │ ├── PluginContextProvider.cs │ ├── PluginEntry.cs │ ├── PluginInfo.cs │ ├── PluginManager.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── WzComparerR2.PluginBase.csproj │ ├── WzNodeEventArgs.cs │ └── WzStructureEventArgs.cs ├── WzComparerR2.Updater/ │ ├── App.config │ ├── Program.cs │ ├── Properties/ │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ └── Resources.resx │ ├── WzComparerR2.Updater.csproj │ └── app.manifest ├── WzComparerR2.WzLib/ │ ├── Compatibility/ │ │ ├── WzDirStringReader.cs │ │ ├── WzOffsetCalc.cs │ │ ├── WzPreReadProvider.cs │ │ ├── WzVersionProfile.cs │ │ └── WzVersionVerifier.cs │ ├── Cryptography/ │ │ ├── ChaCha20CryptoTransform.cs │ │ └── Snow2CryptoTransform.cs │ ├── IMapleStoryBlob.cs │ ├── IMapleStoryFile.cs │ ├── IMapleStoryFileEntry.cs │ ├── Interop.cs │ ├── Mcv_Types.cs │ ├── Ms_Entry.cs │ ├── Ms_File.cs │ ├── Ms_FileV2.cs │ ├── Ms_Header.cs │ ├── Ms_Image.cs │ ├── Ms_ImageV2.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── Utilities/ │ │ ├── ChunkedEncryptedInputStream.cs │ │ ├── CollectionsMarshal.cs │ │ ├── ConcatenatedStream.cs │ │ ├── IWzDecrypter.cs │ │ ├── IWzStringPool.cs │ │ ├── ImageCodec.cs │ │ ├── MathHelper.cs │ │ ├── PartialStream.cs │ │ ├── SimpleWzStringPool.cs │ │ ├── StreamExtension.cs │ │ ├── WzBinaryReader.cs │ │ └── WzStreamReader.cs │ ├── WzComparerR2.WzLib.csproj │ ├── Wz_Capabilities.cs │ ├── Wz_Convex.cs │ ├── Wz_Crypto.cs │ ├── Wz_Directory.cs │ ├── Wz_File.cs │ ├── Wz_Header.cs │ ├── Wz_Image.cs │ ├── Wz_Node.cs │ ├── Wz_Png.cs │ ├── Wz_RawData.cs │ ├── Wz_Sound.cs │ ├── Wz_SoundType.cs │ ├── Wz_Structure.cs │ ├── Wz_Type.cs │ ├── Wz_Uol.cs │ ├── Wz_Vector.cs │ └── Wz_Video.cs ├── WzComparerR2.sln └── azure-pipelines.yml