Compare commits

...

389 Commits
0.2.0 ... main

Author SHA1 Message Date
刘涛 434160afa8 【obfz】兼容删除dnlib 2025-10-17 12:25:37 +08:00
walon 01754c8fb4 [version] Release v8.6.0 2025-09-27 17:15:06 +08:00
walon 1934d90f27 [remove] remove unused ReversePInvokeWrap.meta 2025-09-03 09:35:55 +08:00
walon 814572e1a1 [fix] fix the bug that BashUtil.CopyDir calls UnityEditor.FileUtil.CopyFileOrDirectory failed when parent directory of dst does not exist. 2025-08-26 21:17:03 +08:00
walon d505624c78 [version] Release v8.5.1 2025-08-25 19:23:54 +08:00
walon e36bbb9022 [fix] fixed PInvokeAnalyzer bug in computing PInvoke function calling conventions. 2025-08-25 19:23:29 +08:00
walon 0642726469 [version] Release v8.5.0 2025-08-20 12:45:19 +08:00
walon d86572db37 [change] change domain hybridclr.doc.code-philosophy.com to www.hybridclr.cn 2025-08-20 12:44:19 +08:00
xiewen b5944ea834 [change] BashUtil::CopyDir replaces CopyWithCheckLongFile with CopyUnityEditor.FileUtil.CopyFileOrDirectory 2025-08-20 12:44:17 +08:00
walon 73654e76d2 [version] Release v8.4.0 2025-07-26 10:24:27 +08:00
walon 1537690bb5 [change] add new LoadImageErrorCode items 2025-07-25 21:07:45 +08:00
walon 7f158f814a [fix] fix the issue that `Texture Compression` option in Build Settings was changed after running `HybridCLR/Generate/All` on Android platform 2025-07-04 17:17:44 +08:00
walon ee7af5c592 [version] Release v8.3.0 2025-07-03 20:59:20 +08:00
walon ab41cd0144 [fix] fix the bug that not collect struct in calli and extern method signature in generating MethodBridge. 2025-06-30 12:12:02 +08:00
walon 59a3c3974a [version] Release v8.2.0 2025-06-12 08:38:36 +08:00
walon c9ff293dfe [change] changed from throw exception to logError when not supported pinvoke or reverse pinvoke method parameter type was found 2025-06-06 16:57:53 +08:00
walon 56486b8a76 [change] change package category to Scripting 2025-06-01 18:00:09 +08:00
walon 8e27e8d41b [change] remove warning log when the result of resolving method is null in GenericMethod::ResolveMethod. 2025-05-29 17:04:10 +08:00
walon fca130bbfa [version] Release v8.1.0 2025-05-29 14:26:45 +08:00
walon c21dbcc60a [change] Remove redundant `buildOptions |= BuildOptions.CleanBuildCache;` code since it's already added in the GetBuildPlayerOptions function. 2025-05-29 14:22:50 +08:00
walon 7f2fa52f37 [change] change visibility of LinkXmlWriter to public. 2025-05-22 19:55:36 +08:00
walon da46e71534 [fix] fix bug of GenericArgumentContext that inflate ByRef and SZArray to Ptr. 2025-05-22 19:53:49 +08:00
walon 804418fddb [change] update supported unity versions in README 2025-05-09 19:17:35 +08:00
walon 7a0032934b [version] Release v8.0.0 2025-05-02 10:41:51 +08:00
walon b301b44cd3 [refactor] move ReversePInvokeWrap/Analyzer.cs to MethodBridge/MonoPInvokeCallbackAnalyzer.cs
[change] validate unsupported parameter type(.e.g string) in MonoPInvokeCallback signature when generate MethodBridge file
2025-04-30 16:20:03 +08:00
walon ddc3332958 [change] validate unsupported parameter type(.e.g string) in PInvoke signature when generate MethodBridge file 2025-04-30 16:11:41 +08:00
walon 52f25bdb2a [change] AssemblyResolver also resolves `*.dll.bytes` files besides `*.dll`. 2025-04-30 15:33:46 +08:00
walon 31be818bb6 [fix] fix error of computing CallingConvention in MethodBridge/Generator::BuildCalliMethods 2025-04-30 15:30:03 +08:00
walon 213a11ff25 [new] generate Managed2NativeFunction for PInvoke method 2025-04-30 15:05:40 +08:00
walon 585be97be9 [change] change type of the first argument `methodPointer` of Managed2NativeFunctionPointer from `const void*` to `Il2CppMethodPointer` 2025-04-30 12:40:21 +08:00
walon 361873803f [refactor] refactor code of settings. 2025-04-28 10:20:08 +08:00
walon 46f308ed5e [opt] optimization unnecessary initialization of typeArgsStack and methodArgsStack of GenericArgumentContext 2025-04-25 22:02:54 +08:00
walon 34406b1c13 [change] the shared type of ElementType.FnPtr is changed from IntPtr to UIntPtr 2025-04-25 21:59:15 +08:00
walon e5b52922f7 [version] Release v7.10.0 2025-04-22 12:05:15 +08:00
walon e44fa663db [fix] fix bug of `CompileDll(BuildTarget target)` that use EditorUserBuildSettings.activeBuildTarget instead of target to call CompileDll 2025-04-12 14:21:35 +08:00
walon 903cf9faa2 [change] add information of beginner QQ group 3 in README.md 2025-04-08 08:50:48 +08:00
L0veTomori 3fe41a8cba
[opt] strip AOT assembly resources. (#54) 2025-04-03 10:48:40 +08:00
walon 603b0ccb24 [version] Release v7.9.0 2025-03-31 09:44:50 +08:00
walon 9429a4d24d [version] Release v7.8.1 2025-03-24 19:34:25 +08:00
walon ea592ba20c [version] Release v7.8.0 2025-03-23 23:18:11 +08:00
walon 8d1280a1bd [fix] fixed the bug where BashUtil.RemoveDir failed to run under certain circumstances on macOS systems. 2025-03-14 08:59:11 +08:00
walon 528240b52b [version] Release v7.7.0 2025-03-12 15:29:30 +08:00
walon 4768c039d2 [fix] fixed hook failed in version below MacOS 11 2025-03-07 13:29:47 +08:00
walon 10dc749d7a [change] CompileDllActiveBuildTarget and GenerateAll use EditorUserBuildSettings.development to compile hot update dll. 2025-03-05 16:14:08 +08:00
walon 0c5ef00c12 [remove] remove option HybridCLRSettings.enableStraceTraceInWebGLReleaseBuild 2025-03-05 15:59:37 +08:00
walon 1553582ec1 [remove] remove option HybridCLRSettings.enableProfilerInReleaseBuild 2025-03-05 15:58:11 +08:00
walon 756b906a21 [version] Release v7.6.0 2025-03-01 13:51:01 +08:00
walon 355e24fbe8 [fix] fixed the bug in the MethodBridge generator where it incorrectly handle [StructLayout] and blittable types when generating code for struct classes. 2025-03-01 10:39:05 +08:00
walon 9e4946aa45 [new] add AssemblySorter to sort assemblies by reference order 2025-02-08 16:53:11 +08:00
walon 8e571d594d [version] Release v7.5.0 2025-02-05 10:42:54 +08:00
walon b8dd2be1e4 [revert] Revert "[new] support preserve UnityEngine core types when GenerateLinkXml"
This reverts commit 82163d2e50.
2025-02-05 10:35:49 +08:00
walon de7b60695a [version] Release v7.4.1 2025-01-19 11:41:54 +08:00
walon a11ebecf93 [fix] fixe the bug that preserving UnityEngine.PerformanceReportingModule when generating link.xml would cause the Android app built with Unity 2019 to crash on startup. 2025-01-18 22:55:37 +08:00
walon 019412fa81 [version] Release v7.4.0 2025-01-17 21:40:09 +08:00
walon 84bf6d59db [change] removed unnecessary field initialization in the HybridCLRSettings class. 2025-01-08 16:28:12 +08:00
walon 82163d2e50 [new] support preserve UnityEngine core types when GenerateLinkXml 2025-01-08 16:20:39 +08:00
walon 208372e6af [new] add MethodBridge.cpp.tpl. MethodBridgeGeneratorCommand doesn't generate and override from same file 2025-01-08 15:26:48 +08:00
walon dd8d812641 [change] add UnityVersion.h.tpl and AssemblyManifest.cpp.tpl, Il2CppDefGenerator doesn't generates and override code file from same one 2025-01-08 15:21:43 +08:00
walon c19b34542e [fix] fixed the bug where StripAOTDllCommand did not set BuildPlayerOptions.subtarget in Unity 2021+ versions, causing failure when publishing dedicated buildTarget. 2025-01-08 15:00:54 +08:00
walon e30306d7e1 [fix] fixed the bug in AOTAssemblyMetadataStripper::Strip where ModuleWriterOptions MetadataFlags.PreserveRids was not used. 2025-01-07 16:19:11 +08:00
walon 20f34c9b14 [fix] fix bug of computing CallingConvention of calli 2025-01-03 12:23:04 +08:00
walon 45749ffb5c [new] add Managed2NativeFunctionPointer MethodBridge functions 2025-01-02 22:22:59 +08:00
walon b176d63d93 [version] Release v7.3.0 2024-12-31 12:49:10 +08:00
walon 0c99afd58e [fix] fix the bug where MissingMetadataChecker can't detect references to newly added AOT assemblies. 2024-12-18 18:21:37 +08:00
walon 2458c9a9ba [fix] fix the issue in Unity 6000 where the modification of the trimmed AOT DLL output directory for the visionOS build target caused CopyStrippedAOTAssemblies::GetStripAssembliesDir2021 to fail in copying AOT DLLs. 2024-12-16 19:22:56 +08:00
walon 4d0fef095b [version] Release v7.2.0 2024-12-09 09:36:12 +08:00
walon 642d2cd644 [version] Release v7.1.0 2024-12-04 18:15:52 +08:00
walon e54ce36b0e [fix] fix the bug that CopyStrippedAOTAssemblies didn't work on UWP platform of 6000.0.x 2024-12-01 12:53:38 +08:00
walon ac8b649d50 [fix] fix the issue that CopyStrippedAOTAssemblies didn't support HMIAndroid in tuanjie engine 2024-11-25 12:46:13 +08:00
walon 9ca9cd5aa7 [new] support prejit interpreter class and method 2024-11-20 14:05:34 +08:00
walon 37dafd7b3c [change] change the attributes on fields of HybridCLRSettings from `[Header]` to `[ToolTip]` 2024-11-20 11:27:02 +08:00
walon f58d12c2cb [change] refactor code comments and translate them to English 2024-11-20 11:25:31 +08:00
walon d5eaa350c5 [change] add RuntimeOptionId::MaxInlineableMethodBodySize 2024-11-20 09:15:28 +08:00
walon 1f0053a3c9 [version] Release v7.0.0 2024-11-15 20:59:11 +08:00
walon 15dccc7427 [change] add RuntimeOptionId::MaxMethodBodyCacheSize and RuntimeOptionId::MaxMethodInlineDepth 2024-11-15 20:51:10 +08:00
walon 7d287a2293 [fix] fix the bug in `MissingMetadataChecker` where it did not check for missing fields. 2024-11-06 12:09:06 +08:00
walon f19ba3eb30 [fix] fix the bug in GenericReferenceWriter where _systemTypePattern did not properly escape the '.' in type names. This caused issues when compiler-generated anonymous types and functions contained string sequences like 'System-Int', incorrectly matching them to 'System.Int', resulting in runtime exceptions. 2024-11-05 18:19:13 +08:00
walon 4e172129d8 [version] Release v6.11.0 2024-10-31 09:44:33 +08:00
walon 2414e77fef [version] Release v6.10.1 2024-10-24 15:44:37 +08:00
walon 77517a9814 [fix] Fixs HookUtils compile errors in Unity 2019 and 2020 2024-10-24 15:43:35 +08:00
walon 162f21f6a5 [change] remove README_zh.md.meta, add README_EN.md.meta 2024-10-23 20:48:15 +08:00
walon bd7c3293bc [version] Release v6.10.0 2024-10-23 12:05:33 +08:00
walon e25be945c7 [change] update README.md 2024-10-23 12:02:02 +08:00
walon 925921c27c [fix] 修复MonoHook判定processorType时没有正确处理某些CPU上processorType为全大写的情况(如有些机器上返回INTEL而不是Intel) 2024-09-30 12:13:37 +08:00
walon 64a6d26fa3 [version] 发布v6.9.0版本 2024-09-27 19:37:24 +08:00
walon c24617d864 [version] 发布v6.8.0版本 2024-09-14 12:10:06 +08:00
walon 59bc259cc8 [version] 发布v6.7.1版本 2024-08-26 12:29:07 +08:00
walon c413cd6143 [version] 发布v6.7.0版本 2024-08-25 14:28:35 +08:00
walon c614cdcf4e [fix] 修复PatchScriptingAssembliesJsonHook中的断言在从WebGL平台切换到其他平台时断言失败的问题 2024-08-22 22:19:14 +08:00
walon 08f493ab3e [new] HybridCLRSettings新增enableProfilerInReleaseBuild和enableStraceTraceInWebGLReleaseBuild两个选项 2024-08-22 21:57:40 +08:00
walon 3705ca6e1f [version] 发布v6.6.0版本 2024-08-10 20:47:35 +08:00
walon 34df279943 [version] 发布v6.5.0版本 2024-08-02 15:14:05 +08:00
walon b85ed1aa92 [change] 新增LoadImageErrorCode::PDB_BAD_FILE错误码 2024-08-02 14:31:31 +08:00
walon faf4a328af [fix] 修复RELEASELOG未包含6.3和6.4版本标题的问题 2024-07-31 10:20:03 +08:00
walon 53f4f33bf0 [version] 发布v6.4.0版本 2024-07-25 10:10:16 +08:00
walon 48c91f497b [fix] 修复MethodBridge/Generator GetOrCalculateTypeInfoSignature计算等价类时未考虑到ClassLayout、Layout和FieldOffset因素的bug 2024-07-18 14:12:23 +08:00
walon 9afbe3bd84 [fix] 修复Library/PlayerDataCache目录不存在时,PatchScriptingAssembliesJsonHook运行异常的bug 2024-07-18 13:37:20 +08:00
walon 2d5f71f6b7 [version] 发布v6.3.0版本 2024-07-15 10:26:26 +08:00
walon 5747458bf2 [fix] 修复微信小游戏平台当TextureCompression非默认值时临时目录名为WinxinMiniGame{xxx},导致没有成功修改scriptingassemblies.json文件的bug 2024-07-12 17:54:59 +08:00
walon 0b455eb882 [fix] 修复 Unity 2022导出的xcode工程包含多个ShellScript片段时错误地删除了非重复片断的bug 2024-07-12 09:47:57 +08:00
walon e086228d90 [fix] 修复团结引擎微信小游戏平台由于同时定义了UNITY_WEIXINMINIGAME和UNITY_WEBGL宏,导致从错误路径查找scriptingassemblies.json文件失败,运行时出现脚本missing的bug 2024-07-02 17:00:05 +08:00
walon 909e96ca7c [version] 发布v6.2.0版本 2024-06-30 19:40:27 +08:00
walon 75b24345f6 [change] 更新README 2024-06-17 10:57:07 +08:00
walon 88e20505f8 [version] 发布v6.1.0版本 2024-06-15 01:23:09 +08:00
walon b4b486944c [fix] 修复`Generate/LinkXml`生成的link.xml中对UnityEngine.Debug preserve all导致在Unity 2023及更高版本的iOS、visionOS等平台上出现Undefined symbols for architecture arm64: "CheckApplicationIntegrity(IntegrityCheckLevel)" 编译错误的问题。此bug由Unity引起,但通过在生成link.xml时忽略UnityEngine.Debug类来临时解决这个问题 2024-06-13 22:04:35 +08:00
walon 360ba38805 [change] 升级dnlib版本,修复ModuleMD保存dll时将未加Assembly限定的mscorlib程序集中类型的程序集设置为当前程序集的严重bug 2024-06-13 19:44:23 +08:00
walon e5a6952777 [version] 发布v6.0.0版本 2024-06-11 00:24:54 +08:00
walon 9330cf682c [fix] 修复在Unity 2023及6000版本在iOS平台的构建bug 2024-06-11 00:24:48 +08:00
walon 16a7d5d529 [remove] 删除无用的 ReversePInvokeWrapperGeneratorCommand代码文件 2024-06-10 13:19:06 +08:00
walon 303c6c7b35 [fix] 修复计算Native2Manager桥接函数未考虑到MonoPInvokeCallback函数,导致从lua或者其他语言调用c#热更新函数有时候会出现UnsupportedNative2ManagedMethod的bug 2024-06-10 13:18:46 +08:00
walon e4cf9e9086 [fix] 修复在某些不支持visionOS的Unity版本上CopyStrippedAOTAssemblies类有编译错误的bug 2024-06-10 12:44:52 +08:00
walon b977a85b23 [opt] 优化 PatchScriptingAssembliesJsonHook.cs在WebGL和WeixinMiniGame平台的宏开关 2024-05-30 19:22:52 +08:00
walon 0fcb51a369 [fix] PatchScriptingAssemblyList.cs在Unity 2023+版本webgl平台的编译错误 2024-05-30 19:21:58 +08:00
walon d61511924d [fix] 修复tuanjie引擎及Unity2023.2.x不支持visionOS引发的编译错误 2024-05-30 19:15:23 +08:00
walon aca7dd0a67 [new] 新增GeneratedAOTGenericReferenceExcludeExistsAOTClassAndMethods,计算热更新引用的AOT泛型类型和函数时排除掉AOT中已经存在的泛型和函数,最终生成更精准的补充元数据程序集列表 2024-05-30 13:08:24 +08:00
walon fc685a99ca [fix] 修复计算 MonoPInvokeCallback的CallingConvention时,如果delegate在其他程序集中定义,会被错误当作Winapi,导致wrapper签名计算错误的bug 2024-05-30 13:08:24 +08:00
walon d431aeb019 [new] 支持MonoPInvokeCallback函数的参数或返回类型为struct类型
[fix] 修复ReversePInvokeWrapper函数定义未包含调用约定的bug
[refactor] 合并ReversePInvokeMethodStub到MethodBridge,同时将MetadataModule中ReversePInvoke相关代码移到InterpreterModule
2024-05-30 13:08:21 +08:00
walon 63d0aaa6e6 [opt] `Generate/All`在生成之前检查是否已经安装HybridCLR 2024-05-30 13:07:23 +08:00
walon d45974c6b4 [new] 支持Unity 2023 2024-05-30 13:07:23 +08:00
walon 3de931a3af [opt] 打包时检查生成桥接函数时的development选项与当前development选项一致。`Generate/All`之后切换development选项再打包,将会产生严重的崩溃 2024-05-30 13:07:23 +08:00
walon b96d6fc10d [new] 支持Unity 6 2024-05-30 13:07:23 +08:00
walon ef1b78caae [version] 发布v5.4.1版本 2024-05-30 12:49:11 +08:00
walon 47622bf49c [new] 支持visionOS平台
[fix] 修复tvOS平台使用了错误的Unity-iPhone.xcodeproj路径导致找不到project.pbxproj的bug
2024-05-30 12:45:21 +08:00
walon 846d7103a3 [fix] 修复计算 MonoPInvokeCallback的CallingConvention时,如果delegate在其他程序集中定义,会被错误当作Winapi,导致wrapper签名计算错误的bug 2024-05-30 12:26:48 +08:00
walon 170f13082e [version] 发布v5.4.0版本 2024-05-17 21:43:21 +08:00
walon 60016d7481 [fix] 修复当dll中存在指向本程序集内的TypeRef时,dnlib的TypeDef.DefinitionAssembly返回null导致 Link/Analyzer.cs运行抛出异常的bug 2024-05-17 21:43:15 +08:00
walon 97dae7fed2 [fix] 修复当Append xcode项目到现存的xcode项目时,第1次会导致'Run Script'命令被重复追加,从第2次起将会找不到--external-lib-il2-cpp而打印错误日志的bug 2024-05-14 22:38:38 +08:00
walon f935127cd3 [new] ReversePInvoke支持CallingConvention 2024-05-14 12:48:15 +08:00
walon ec5f2ef05e [fix] 修复计算struct等价性时,将struct平铺展开计算等价,在某些平台并不适用的bug。例如 struct A { uint8_t x; A2 y; } struct A2 { uint8_t x; int32_t y;}; 跟 struct B {uint8_t x; uint8_t y; int32_t z;} 在x86_64 abi下并不等价 2024-05-14 12:48:15 +08:00
Rorschach 6d0ceaa4f5
[fix] 修正HybridCLRSettingProvider.cs中文档链接 (#46) 2024-05-14 12:47:09 +08:00
walon 95922aec1e [version] 发布v5.3.0版本 2024-04-22 10:17:59 +08:00
walon 3259c11828 [fix] 修复导出tvOS工程时未修改xcode工程设置,导致打包失败的bug 2024-04-21 13:45:47 +08:00
walon 74bab1d935 [fix] 修复tvOS目标时,未复制裁剪AOT dll,导致生成桥接函数失败的bug 2024-04-21 13:44:54 +08:00
walon fd81edb495 [fix] 解决StripAOTDllCommand生成的临时项目的locationPathName不规范导致与某些插件如Embeded Browser不兼容的问题 2024-04-12 00:35:09 +08:00
walon 12bafb897f [fix] 修复团结引擎1.1.0起删除TUANJIE_2022宏导致没有复制裁剪后的AOT程序集的bug 2024-04-10 10:32:23 +08:00
walon a6befb1312 [fix] 修复开启development build选项时出现mono相关头文件找不到的bug 2024-04-10 10:31:30 +08:00
walon a36e3fe72d [fix] 修复__ReversePInvokeMethod_XXX函数未设置Il2CppThreadContext,导致从native线程回调时获取Thread变量崩溃的bug 2024-04-10 10:31:30 +08:00
walon d9776d1793 [new] UnityVersion.h中新增 HYBRIDCLR_TUANJIE_VERSION 宏 2024-04-08 21:55:13 +08:00
walon 2697eb5a90 [version] 发布v5.2.1版本 2024-04-05 14:17:35 +08:00
walon 4879bb7f44 [opt] LoadModule中设置 mod.EnableTypeDefFindCache = true,数倍提升了计算桥接函数的性能 2024-04-03 11:09:04 +08:00
walon 24f85780a2 [fix] 修复团结引擎导出iOS平台xcode工程文件名改名为Tuanjie-iPhone.xcodeproj导致构建xcode工程失败的bug 2024-03-26 21:06:37 +08:00
walon 6c679cc3ab [version] 发布v5.2.0版本 2024-03-25 10:12:17 +08:00
walon 20a06f1ec5 [fix] 修复GenericArgumentContext不支持ElementType.FnPtr的bug 2024-02-29 20:37:57 +08:00
walon 5446bd937c [new] Installer支持团结引擎 2024-02-28 14:20:39 +08:00
walon ae88dd0eec Revert "[change] Il2CppDefGenerator对于团结引擎额外生成一个UNITY_ENGINE_TUANJIE宏定义"
This reverts commit c6caba5662bc1f35bd0590963fd01286672a8185.
2024-02-27 16:04:15 +08:00
walon a5c006d67c [change] 为RuntimeApi添加[Preserve]特性,避免被裁剪 2024-02-26 14:17:45 +08:00
walon 67c487f521 [version] 发布v5.1.0版本 2024-02-26 10:46:11 +08:00
walon 6ffb977ef3 [version] 发布v5.0.0版本。恢复对Unity 2019的支持,并且支持2019版本在iOS平台以源码形式构建 2024-01-26 11:57:34 +08:00
walon f59ba2623a [fix] 修复2019 build iOS出现 zutil.c编译错误的bug 2024-01-25 23:05:28 +08:00
walon 4b57138935 [new] 新增 MissingMetadataChecker检查裁剪类型或者函数丢失的问题 2024-01-23 20:24:12 +08:00
walon 276cd0a4a8 [change] AssemblyCacheBase新增TryLoadModule接口
[change] AssemblyCacheBase加载Module时先File.ReadAllBytes读取dll内容,避免Dispose问题
2024-01-23 20:24:12 +08:00
walon 22a9793b9d [new] 支持2019下以源码方式打包iOS 2024-01-15 13:24:19 +08:00
walon 1b7947b196 [fix] 修复2019 Mac Standalone 没有正确 PatchScriptingAssemblyList的bug 2024-01-15 13:24:19 +08:00
walon 188fdc9430 [fix] 修复2019 Mac Standalone 没有正确 PatchScriptingAssemblyList的bug 2024-01-15 13:24:19 +08:00
walon ff0f225423 还原 2019 2024-01-15 13:24:03 +08:00
walon 36ca398543 [opt] AOTAssemblyMetadataStripper保存时保持table~的id稳定 2024-01-15 09:42:35 +08:00
walon f30e2f5b33 [new] 新增 AOTAssemblyMetadataStripper用于剔除AOT dll中非泛型函数元数据 2024-01-12 21:40:45 +08:00
walon a531a213c2 [opt] 优化 AOTReference计算,如果泛型的所有泛型参数都是class约束,则不加入到需要补充元数据的集合 2024-01-12 21:36:04 +08:00
walon 2b42376505 [new] 新增对团结引擎 HMIAndroid、OpenHarmony、WeixinMiniGame平台的支持 2024-01-04 11:48:30 +08:00
walon ef103d8351 [new] 支持团结引擎WeixinMiniGame和OpenHarmony BuildTarget下复制裁剪后的AOT dll 2024-01-03 17:30:28 +08:00
walon db87b92f78 [change] Il2CppDefGenerator对于团结引擎额外生成一个UNITY_ENGINE_TUANJIE宏定义 2024-01-02 13:06:29 +08:00
walon 51da1d4c43 [version] 发布v4.0.15版本 2024-01-02 11:35:32 +08:00
walon 71ad34d7ac [fix] 修复Additional Compiler Arguments中输入 -nullable:enable 之后,Editor抛出InvalidCastException的bug。来自报告 https://github.com/focus-creative-games/hybridclr/issues/116 2023-12-22 21:51:41 +08:00
walon 7c29ab804b [refactor] RuntimeApi中设置hybridclr参数的功能统一通过GetRuntimeOption和SetRuntimeOption函数 2023-12-22 12:24:09 +08:00
walon 9b269ea4c2 [opt] 优化桥接函数生成,将同构的struct映射到同一个结构,减少了30-35%的桥接函数数量 2023-12-16 15:17:30 +08:00
Alan Liu c9ad6880cb 修复报错:BuildFailedException: Build path contains a project previously built without the "Create Visual Studio Solution" 2023-12-15 11:05:51 +08:00
walon 372fa9e06e [change] 调整Installer窗口的显示内容 2023-12-15 11:05:04 +08:00
walon 3df95d138d [change] StripAOTDllCommand导出时不再设置BuildScriptsOnly选项 2023-12-14 12:00:28 +08:00
walon 410bb9b542 [version] 发布v4.0.14版本 2023-12-08 12:24:04 +08:00
walon 15155b9a46 [change] InstallerController::WriteLocalVersion写入后打印日志 2023-11-28 21:02:17 +08:00
walon f810ede6d7 [version] 发布v4.0.13版本 2023-11-26 22:32:48 +08:00
walon 63d9e7f4c3 [fix] 修复当出现非常规字段名时生成的桥接函数代码文件有编译错误的bug 2023-11-24 10:00:57 +08:00
walon 3cea936aa4 [refactor] 重构 AssemblyCache和 AssemblyReferenceDeepCollector,消除冗余代码
[fix] 修复裁剪aot dll中出现netstandard时,生成桥接函数异常的bug
2023-11-23 13:48:06 +08:00
walon d90faed922 [change] 删除不必要的Datas~/Templates目录,直接以原始文件为模板 2023-11-10 13:35:53 +08:00
walon febff1c658 [version] 发布v4.0.12版本 2023-11-02 10:51:58 +08:00
walon 94a329a522 [fix] 修复BashUtil.RemoveDir的bug 2023-11-02 10:47:55 +08:00
walon 84ed2e6b9d [version] 发布v4.0.11版本 2023-11-01 22:37:15 +08:00
walon 47fbd443c1 [fix] 修复桥接函数计算时未归结函数参数类型,导致出现多个同名签名的bug 2023-11-01 20:34:24 +08:00
walon d5b52cc8db [fix] 修复BashUtil.RemoveDir在偶然情况下出现删除目录失败的问题。新增多次重试。 2023-11-01 20:34:24 +08:00
walon d9ed27abfb [new] Generate支持 netstandard 2023-11-01 20:33:42 +08:00
walon f51c2803c1 [fix] 修复 ReversePInvokeWrap生成不必要地解析referenced dll,导致如果有aot dll引用了netstandard会出现解析错误的bug 2023-10-30 11:19:53 +08:00
walon 05a34d4d12 [new] 检查当前安装的libil2cpp版本是否与package版本匹配,避免升级package后未重新install的问题 2023-10-15 12:44:22 +08:00
walon 216d09f7b6 [version] 发布v4.0.10版本 2023-10-12 13:58:55 +08:00
walon 8d441a02d2 [version] 发布v4.0.9版本 2023-10-11 19:18:50 +08:00
walon de2bc21f20 [fix] 修复Unity 2022上AddLil2cppSourceCodeToXcodeproj2022OrNewer的编译错误 2023-10-11 19:10:20 +08:00
walon 4aba5c2a5e [version] 发布v4.0.8版本 2023-10-10 17:36:17 +08:00
walon b573e61504 [refactor] RuntimeApi相关函数由PInvoke改为InternalCall 2023-10-09 22:24:35 +08:00
walon 69de3d733d [refactor] 调整HybridCLR.Editor模块一些不规范的命名空间 2023-10-09 15:39:32 +08:00
walon a77ed7369a [version] 发布v4.0.7版本 2023-10-08 23:06:36 +08:00
walon 1bd27a3e22 [fix] 修复生成桥接函数时,如果热更新程序集未包含任何代码直接引用了某个aot程序集,则没有为该aot程序集生成桥接函数,导致出现NotSupportNative2Managed异常的bug 2023-10-08 13:27:23 +08:00
walon 4da7c1a524 [change] 打包时清空裁减aot dll目录 2023-10-07 21:59:48 +08:00
Rorschach 5c750e9c02
[fix] PS5构建Package包时,在IUnityLinkerProcessor.GenerateAdditionalLinkXmlFile处理 ScriptingAssemblies.json (#36) 2023-09-28 20:18:22 +08:00
firleaves cc09487671
[fix] 修复mac下面路径过长导致拷贝文件失败 (#37) 2023-09-28 19:37:46 +08:00
walon b024a18ba1 [version] 发布v4.0.6版本 2023-09-26 16:25:13 +08:00
walon 4587cb7c19 [version] 发布v4.0.5版本 2023-09-25 09:59:54 +08:00
walon beec0b73e6 [fix] 修复MetaUtil.ToShareTypeSig将Ptr和ByRef计算成IntPtr的bug,正确应该是UIntPtr 2023-09-23 21:19:45 +08:00
walon 61fb0cfe34 [change] 对于小版本不兼容的Unity版本,不再禁止安装,而是提示警告 2023-09-17 23:30:09 +08:00
yanbing.zhou 260909bd4b
[fix] 修改StandaloneLinux平台dll路径 (#35) 2023-09-17 20:58:18 +08:00
walon 06a250b9fa [version] 发布v4.0.4版本。正式支持所有平台 2023-09-10 13:37:36 +08:00
walon dc884d36b8 [change] 支持获得UWP、PS5等平台的裁剪后aot dll 2023-09-10 13:37:12 +08:00
walon 1168d51e93 [change] 更新README和LICENSE 2023-09-10 13:22:53 +08:00
walon 7270e9194d [change] 调整RuntimeApi.cs中dllName的实现 2023-09-10 13:22:53 +08:00
walon 1d50dfcb6e [fix] StripAOTDllCommand生成AOT dll时的BuildOption采用当前Player的设置,避免当打包开启development时, StripAOTDllCommand生成Release aot dll,而打包生成debug aot dll,产生补充元数据及桥接函数生成不匹配的严重错误 2023-09-10 13:22:33 +08:00
walon 1eaaf44c97 [fix] 修复不正确地从EditorUserBuildSettings.selectedBuildTargetGroup获得BuildGroupTarget的bug 2023-09-10 13:21:56 +08:00
walon 9cf8f19517 [fix] 修复Unity 2020的il2cpp在不同目录存在同名ThreadPool文件,导致偶发生成的同一个lump文件中包含这两个文件时,出现编译错误的问题。解决方式为给每个目录生成一个lump文件 2023-09-10 13:21:28 +08:00
walon 22760c6c7c [remove] 移除无用的LZ4.dll 2023-09-03 19:08:46 +08:00
walon 47e43b0afa [change] 小幅重构生成Native2Managed及AdjustorThunk的代码,消除重复代码 2023-08-31 19:22:07 +08:00
walon 58c7073073 [version] 发布v4.0.3版本 2023-08-31 11:20:07 +08:00
walon 9dafabd1ee [fix] 修复桥接函数签名计算的bug 2023-08-31 11:06:06 +08:00
walon 5857696b56 [change] 日志和异常文本换成英文,方便海外开发者 2023-08-30 11:07:12 +08:00
walon f2807f4838 [version] 发布v4.0.2版本 2023-08-29 20:22:51 +08:00
walon f46c180181 [version] 发布v4.0.1版本 2023-08-28 11:19:51 +08:00
walon 1e14a5f30f [version] 发布v4.0.0版本 2023-08-27 23:08:19 +08:00
walon dfa11d11c3 [change] object及指针类型的签名由i改为u 2023-08-24 19:36:00 +08:00
walon 69d3303f3d [opt] 大幅优化Native2Managed方向桥接函数传参性能 2023-08-24 19:26:50 +08:00
walon 9eb6dda71b [refactor] 重构桥接函数,彻底解决跨平台问题 2023-08-24 12:58:09 +08:00
walon 10e0568251 [change] 关闭检查增量式GC选项 2023-08-21 11:34:19 +08:00
walon 1f9faf49a3 [version] 发布v3.4.2版本 2023-08-13 13:07:49 +08:00
walon 3f1b34682d [fix] 修复计算 AOTGenericReferences时未考虑到泛型中调用泛型的问题,导致间接调用的泛型未被统计在内的bug 2023-08-13 13:07:37 +08:00
walon c3f6325e4a [version] 发布v3.4.1版本 2023-07-31 11:06:02 +08:00
walon a9f5608ecf [change] 检查Settings中热更新程序集列表配置中程序集名不能为空
[fix] 修复当某个热更新程序集正好是另一个AOT程序集后缀时,由于只对比字符串尾部,意外将该AOT程序集也过滤的bug
2023-07-21 18:05:12 +08:00
walon 8a95fd57f5 [version] 发布v3.4.0版本 2023-07-17 12:33:23 +08:00
walon 679c21da43 [fix] 修复计算桥接函数未考虑到泛型类的成员函数中可能包含Native2Manager调用 2023-07-12 23:09:58 +08:00
walon 52bab856ed [change] README中新增RELEASELOG的链接 2023-07-11 15:15:18 +08:00
walon 844b2fb62f [change] 从hybridclr仓库同步 README 2023-07-11 15:01:20 +08:00
walon 88404cbbfc [refactor] 重构Installer 2023-07-11 12:27:11 +08:00
walon 9b4aa904ef [new] 整理 RELEASELOG.md 较旧的版本记录 2023-07-09 13:59:46 +08:00
walon a71153d414 [change] 修正RuntimeApi.cs文件某些代码的缩进问题 2023-07-07 21:38:38 +08:00
walon bec8c84c56 [fix] 修复Win下生成的Lump文件中include路径以\为目录分隔符导致同步到Mac后找不到路径的bug 2023-07-07 21:37:18 +08:00
walon 79bab0459c [change] link.xml及AOTGenericReferences.cs默认输出路径改为HybridCLRGenerate,避免与顶层HybridCLRData混淆 2023-07-04 12:25:35 +08:00
walon 1d09f72460 [change] RuntimeApi::GetInterpreterThreadFrameStackSize 之类的函数在Editor下为空非extern函数,避免Editor下调用时出错 2023-07-03 22:54:33 +08:00
walon 058270c658 [version] 发布v3.3.0版本 2023-07-03 10:48:16 +08:00
walon 210c781fad [change] 禁用hybridclr后打包ios时不再修改导出的xcode工程 2023-07-02 21:50:52 +08:00
walon 6757f6df5b [fix] 修复2020-2021编译libil2cpp.a未包含brotli相关代码文件导致出现编译错误的bug 2023-06-30 20:15:03 +08:00
walon 41c73fe35b [fix] 修复使用不兼容版本打开Installer时出现异常的bug 2023-06-30 12:20:56 +08:00
walon 4d487fa4c4 [fix] 修复Installer中将hybridclr拼成bybridclr的错误 2023-06-28 11:46:04 +08:00
walon 2f71bb515d [change] 调整CompileDll ScriptCompilationSettings设置相关代码 2023-06-27 08:58:08 +08:00
walon 0d8b001dd2 [fix] 解决ReversePInvokeWrap生成不稳定的问题 2023-06-27 08:57:14 +08:00
walon 3d68dc4db3 [fix] 解决MethodBridge生成不稳定的问题 2023-06-27 08:57:02 +08:00
walon 2988aef85a [change] 优化LinkXml生成 2023-06-27 08:18:11 +08:00
walon 768512bcfa [change] 解决AOTGenericReference生成不稳定的问题 2023-06-27 08:13:16 +08:00
walon 4492449b73 [fix] 修复从导出xcode项目包含绝对路径导致传送到其他机器上编译时找不到路径的bug 2023-06-23 16:19:58 +08:00
walon be113567ba [version] 发布v3.2.1版本 2023-06-21 11:08:13 +08:00
walon e45a789569 [change] 为Anaylizer加上using 限定,解决某些情况下与项目的类型同名而产生编译冲突的问题 2023-06-21 11:07:00 +08:00
walon 0a82b0d339 [new] Installer界面新增显示package版本 2023-06-16 18:20:18 +08:00
walon c8cd323bb0 [fix] 修复重构文档站后的帮助文档的链接错误 2023-06-15 17:06:55 +08:00
walon 2f09f88ca2 [new] CompileDll新增MacOS、Linux、WebGL目标 2023-06-15 17:05:46 +08:00
walon 8e178c0e37 [version] 发布v3.2.0版本 2023-06-15 12:00:05 +08:00
walon 40711cbf38 [new] iOS打包时直接将源码包含到工程,不再需要单独编译libil2cpp.a
[remove] 移除无用的iOSBuild目录
2023-06-15 09:57:15 +08:00
walon 7749b6448e [change] 当用不兼容版本打开Installer时不再抛出异常,而是显示“与当前版本不兼容” 2023-06-12 13:30:32 +08:00
walon 1459992ec4 [version] 发布v3.1.1版本 2023-06-12 10:34:00 +08:00
walon c09dad4ae1 [remove] CheckSettings中不再自动设置Api Compatible Level 2023-06-08 13:24:00 +08:00
walon 271dc70626 [opt] 生成AOTGenericReferences时,补充元数据assembly列表由注释改成List<string>列表,方便在代码中直接使用。 2023-06-07 12:17:10 +08:00
walon c462aeb2ef [fix] 修复计算桥接函数时未考虑到补充元数据泛型实例化会导致访问到一些非公开的函数的情况,导致少生成一些必要的桥接函数 2023-06-07 11:47:17 +08:00
walon adbdbf3a00 [remove] 删除无用的复制Unity 2019 Unity.IL2CPP.dll 的代码 2023-06-06 15:51:18 +08:00
walon 10684d29cd [fix] CompileDll后主动关闭进度条,临时解决Unity 2022版本Editor的bug 2023-06-06 11:28:27 +08:00
walon 7d58454fdd [version] 发布v3.1.0版本 2023-06-03 19:51:05 +08:00
walon 21b85aa2d3 [fix] 修复WebGL平台ABI的bug 2023-06-03 19:44:50 +08:00
walon 8439e4176d [new] 新增对Unity 2020的支持 2023-06-03 19:42:56 +08:00
walon 4b43870ff2 [version] 发布v3.0.3版本 2023-06-02 15:49:08 +08:00
walon b49b94521e [version] 发布v3.0.2版本 2023-06-01 11:52:49 +08:00
walon 49873ba6ed [new] 新增菜单命令`HybridCLR/CompileDll/ActiveBuildTarget_Development`,用于编译出DevelopmentBuild模式的热更新dll 2023-06-01 11:43:41 +08:00
walon 97f083f07d [revert] Revert "[new] HybridCLRSettings新增AOT dll快照目录,由于保存打包时生成的AOT dlls"
This reverts commit 8d0634620a.
2023-06-01 11:15:40 +08:00
walon 941bbc723a [version] 发布3.0.1版本,正式支持2022.3.0 2023-06-01 00:40:46 +08:00
walon 18def7886d [version] 发布v3.0.0版本 2023-05-21 11:43:16 +08:00
walon f1336c56d4 [change] 移除一些无用代码 2023-05-21 10:00:44 +08:00
walon 8f89651d10 [merge][version] 合并3.0分支改动,正式进入3.0.0版本。 2023-05-21 09:50:38 +08:00
walon 8d0634620a [new] HybridCLRSettings新增AOT dll快照目录,由于保存打包时生成的AOT dlls 2023-05-20 10:59:34 +08:00
walon f5afc43625 [version] 发布2.4.2版本 2023-05-19 12:31:09 +08:00
walon f8eee2ba49 [change] 更新package信息 2023-05-13 09:38:10 +08:00
walon 07b52bed05 [version] 发布2.4.1 2023-05-12 22:54:25 +08:00
walon 3139fbefa6 [new] 补充遗漏的 RELEASELOG.md.meta 文件 2023-05-10 11:34:31 +08:00
walon fbeeb3d959 发布v2.4.0版本 2023-05-09 18:46:08 +08:00
walon 1f4e754adb [fix] 修复当struct只包含一个float或double字段时,在arm64上计算桥接函数签名错误的bug 2023-05-06 18:57:47 +08:00
walon f63bbc8a52 [opt] CheckSettings中检查ScriptingBackend及ApiCompatibleLevel,切换为正确的值 2023-05-06 12:28:03 +08:00
walon b17751b8a8 [new] 新增 MsvcStdextWorkaround.cs 解决2020 vs下stdext编译错误的问题 2023-05-04 16:23:07 +08:00
walon 05e721cf02 [fix] BuildOptions.CleanBuildCache从UNITY_2021_2_OR_NEWER开始才有,而不是UNITY_2021_1_OR_NEWER 2023-05-03 17:17:40 +08:00
walon 29646f1294 [change] 替换package.json中focus-creative-games为code-philosophy 2023-05-03 15:50:20 +08:00
walon 3702411ac8 [fix] 修复本地复制libil2cpp却仍然从仓库下载安装的bug 2023-05-03 12:22:16 +08:00
walon d205f00a1b [version] 2.3.0版本 2023-04-30 12:03:28 +08:00
walon 2894701063 [fix] 修复2019版本MonoBleedingEdge的子目录中包含了过长路径的文件导致Installer复制文件出错的问题
[change] StripAOTDllCommand失败时抛出异常而不是打印错误日志
2023-04-30 01:35:25 +08:00
walon 1045538b40 [refactor] 调整Installer接口 2023-04-29 12:41:47 +08:00
walon 8fd9b2ec82 [new] Installer支持从本地目录复制改造后的libil2cpp目录 2023-04-29 12:11:16 +08:00
walon 0ccdd424ab [version] 2.2.0版本,支持 2020.3.47及2021.3.23 2023-04-26 11:09:52 +08:00
walon c083e4ada4 [opt] 优化Resolve Assembly失败时的错误信息 2023-04-23 12:20:56 +08:00
walon 4c6dd1249a [fix] 修复WebGL一些桥接函数ABI计算的bug 2023-04-22 14:05:50 +08:00
walon b8b990bfc1 [fix] 为PatchScriptingAssembliesJsonHook的proxy函数添加无用代码以满足最小代码长度要求 2023-03-31 00:22:48 +08:00
walon 252e6add67 [remove] 删除无用的测试代码文件 BuildPipeline_StripDll_HookTest.cs 2023-03-31 00:21:52 +08:00
walon 6e76b96f97 [version] 升级到2.1.0 2023-03-28 22:35:44 +08:00
walon dd18ecdba5 [version] 升级到2.0.11版本 2023-03-28 16:03:37 +08:00
walon 2ff3e276d2 [revert] 回滚版本"6909c32a0c8fcf11d4b573af890a0232c1525afe [new] 支持 2021 WebGL资源上挂载脚本" 引入的MonoHook的bug 2023-03-28 13:25:53 +08:00
Jonson 1d5f2a953c
[fix] 修复MonoHook在2020.3.x系列编辑器compile的时候,有可能发生hook没有及时注入从而导致打iOS包失败
[fix]  较高版本的Unity GetFunctionPointer不再依赖GUISkin.current,反而高版本unity的GUISkin.current这个值不会立即有值,导致在编辑器compile等时候,hook没有及时注入从而导致打iOS包失败

---------

Co-authored-by: liaoqiang <liaoqiang@nibirutech.com>
2023-03-28 13:25:32 +08:00
walon 75cb53cb19 [opt] 优化AOTGenericReferences生成,包含assembly列表及美化后的泛型类型及函数名 2023-03-20 17:30:05 +08:00
walon c84f575a2e [change] 对2019修改data.unity3d文件时不再备份data.unity32.bak 2023-03-16 08:39:47 +08:00
walon 3beb788baa [fix] 修复 StripAOTDllCommand由于缓存原因,有些情况下生成失败的问题。通过添加BuildOptions.CleanBuildCache选项解决。此选项在Unity 2021及更高版本新增。 2023-03-13 12:17:39 +08:00
walon 6909c32a0c [new] 支持 2021 WebGL资源上挂载脚本 2023-03-13 09:55:26 +08:00
walon bbb43c3185 [version] hybridclr仓库版本升到v2.0.3 2023-03-11 22:02:32 +08:00
walon 1159125044 [version] 支持2020.3.45及2021.3.20版本 2023-03-11 12:09:46 +08:00
walon 141ff18a7e [version] 升级hybridclr版本为v2.0.2 2023-03-03 12:01:56 +08:00
walon a9ca9fc613 [change] Installer使用tag而不是commit id,安装时不必拉取整个branch,大幅缩短安装时间
[change] 升级hybridclr和il2cpp_plus版本
2023-02-22 10:43:30 +08:00
walon 15f2f0b83c [opt] 优化AssemblyResolver失败时的错误日志 2023-02-12 11:38:18 +08:00
walon d67a11b384 [fix] 修复WebGL平台未正确处理空struct类型的桥接函数签名的bug 2023-02-09 20:11:15 +08:00
walon ff93f30a69 [new] 添加 Mac M1 silicon 平台的MonoHook native插件 2023-02-08 21:59:24 +08:00
walon 275a3bd01a [remove] 移除HybridCLRSettings的collectAssetReferenceTypes选项 2023-02-07 12:42:16 +08:00
walon b5a7899657 [new] 引入 [MonoHook](https://github.com/Misaka-Mikoto-Tech/MonoHook) 彻底解决获得2021版本iOS平台裁剪后AOT dll的问题,不再需要修改UnityEditor.CoreModule.dll 2023-02-06 20:48:22 +08:00
walon fdba92588a [version] 升级到2.0.0版本 2023-02-06 16:42:18 +08:00
walon bf6ae99dad [change] 直接配置了每个unity大版本对应的hybridclr及il2cpp_plus版本,避免出现安装了不兼容版本的问题 2023-01-26 13:11:38 +08:00
walon dbd8121ee2 [remove] 移除2021.3.6版本的 UnityEditor.CoreModule-* 文件
[remove] 移除去安装时对git是否安装的检查
2023-01-20 12:50:24 +08:00
walon 5a50778821 [fix] 修复 Il2CppDefGeneratorCommand 中生成 PlaceHolder Assembly列表时未包含 preserveHotUpdateAssemblies的bug 2023-01-11 17:41:44 +08:00
walon 6834a17968 [change] 升级版本号到1.1.17 2023-01-10 22:09:39 +08:00
walon ef70a49ae2 [change] Il2CppDefGenerator命令新增将热更新dll列表生成到 Il2CppCompatibleDefs.cpp 2023-01-05 21:38:32 +08:00
walon 83c336a5ce [fix] 修复Installer不同的Unity年度版本仍然读取相同的hybridclr及il2cpp_plus版本号配置,导致切换Unity版本时有可能发生默认显示的版本号错误的问题 2022-12-29 20:41:52 +08:00
walon 00cedc166f [fix] 修复macOS下的编译bug 2022-12-16 11:23:37 +08:00
walon 0e04a66c91 [new] 新增菜单命令 `HybridCLR/Generate/AOTDlls` 快捷生成裁剪后的AOT dlls 2022-12-16 11:03:03 +08:00
walon 00f94335c3 [refactor] 重构并且修复了Generate相关Assembly Resolve潜在的bug。
[opt] 优化 PrebuildCommand.Build 中多次编译热更新dll的问题,大幅缩短了时间。
2022-12-14 14:11:32 +08:00
walon 947b15e7d9 [fix] 修复StructLayout中只指定LayoutKind参数时,struct的ClassLayout为空,计算type size和aligment错误的bug 2022-12-14 10:21:31 +08:00
walon b40d62e16e [opt] 优化link.xml生成,只加载热更新dll,不再加载它们依赖的其他dll 2022-12-13 18:10:20 +08:00
walon c8acfef61d [fix] 修复 externalHotUpdateAssembliyDirs 无法正确工作的bug 2022-12-13 11:40:18 +08:00
walon 8afdcb985d [fix] 修复 ReversePInvokeWrap生成代码的bug 2022-12-12 21:36:41 +08:00
walon a107f43173 [fix] 修复生成N2M桥接函数Stub时,失误将末尾项的sinature填成""的bug,正确应该是nullptr 2022-12-12 12:01:02 +08:00
walon 0edd822101 [fix] 修复生成桥接函数时不必要地多次调用 CleanIl2CppBuildCache,并有可能因并发清除而抛出异常的问题 2022-12-08 22:19:27 +08:00
walon 419c3a98f6 [opt] installer安装成功后会记录 安装的版本,并且显示。 2022-12-06 18:57:48 +08:00
walon 6be8b2671e [refactor] 重构Installer,不再支持从其他版本安装HybridCLR,极大简化了代码。 2022-12-06 11:52:47 +08:00
walon 38615500fb [change] 移除HybridCLR.Runtime中DHE相关代码 2022-12-04 21:37:17 +08:00
walon e7fac5b0b8 [change] 移除DHE相关代码 2022-12-03 11:56:36 +08:00
walon bc6e285b92 [change] 禁用HybridCLR时不再复制裁剪后的AOT dll
[new] SettingsUtil.Enable 支持setter,允许代码中修改开启状态。
2022-12-02 13:14:06 +08:00
walon abc70a7ffc [new] 支持自定义外部热更新dll的搜索路径 externalHotUpdateAssembliyDirs 2022-12-02 10:33:13 +08:00
walon 45d97d758f [change] 桥接函数生成时,新增跟旧版本一样的托底AssemblyResolver,避免初始项目第一次 generate/all 失败的情况 2022-11-30 17:31:11 +08:00
walon b066cc50fa [fix] 修复??=语法在2019下编译出错的bug 2022-11-30 09:21:25 +08:00
walon 93f855f8ae [fix] 修复生成桥接函数时错误使用editor环境的dll,导致NativeArray之类的类型与打包的aot dll不一致,进而生成桥接签名错误的bug。目前直接从裁剪后的AOT dll目录读取,但缺点是需要先build一次生成AOT dll,再生成桥接函数。 2022-11-29 17:11:25 +08:00
walon 5270f307b9 [change] il2cpp_plus启动新的分支名 2019-main、2020-main、2021-main,相应调整代码
[opt] 优化installer的显示
2022-11-29 09:23:24 +08:00
walon f36da3529a [new] 支持按版本号安装hybridclr和il2cpp_plus代码 2022-11-28 12:20:52 +08:00
walon 521db6e38c [new] 创建1.0.0版本 2022-11-28 11:11:28 +08:00
walon c85adbe65b [refactor] UNITY_VERSION 相关定义从 Il2CppCompatibleDef.h 移到 il2cpp-config.h 2022-11-24 12:09:04 +08:00
walon b9ea9b21f3 [fix] 修复扫描Plugin assembly时未忽略~结尾的目录的bug 2022-11-18 19:38:21 +08:00
walon 429845bf9e [new] installer支持使用自定义仓库地址
[opt] 优化installer的显示
2022-11-09 11:28:09 +08:00
walon c95b7eaf3b [new] 为测试openupm而升到0.10.3 2022-11-07 15:27:38 +08:00
walon fdb9cc034a [fix] 修复检查更新未生效的bug 2022-11-06 20:16:38 +08:00
walon bdc0d772c8 [new] 支持 Differential Hybrid Execution基础版本 2022-11-05 22:22:39 +08:00
walon 2ccfd28337 [change] 更新版本号到0.9.1 2022-11-02 17:56:10 +08:00
雨落随风 689e582efd
[fix] 解决编辑器打包时出现的 _serializedObject.targetObject 意外销毁的情况 (#17) 2022-11-02 17:54:46 +08:00
雨落随风 3918b707e3
[fix] 修复 SettingsProvider 卡编辑器的问题 (#16)
* [change] 跨版本兼容问题优化,菜单新增文档

1. 添加 EditorStatusWatcher 解决 git 等外部修改了配置不能同步的问题。
2. Reset 按钮 icon 2021版本有区别,同步之

* [fix] 解决 SettingProviders 卡编辑器的问题
2022-11-02 10:17:41 +08:00
ForeseePretty bf8e5c4840
[fix]:修正hybridclr与il2cpp_plus仓库更新检测的fetch深度 (#15)
[fix]:修正hybridclr与il2cpp_plus仓库更新检测的fetch深度
2022-10-28 13:52:32 +08:00
walon 77b7dea7bc [new] 补充元数据支持使用超集aot dll,也就是可以使用原始aot dll而不再限定是裁减后的aot dll 2022-10-26 11:28:49 +08:00
雨落随风 c12f1ee8e9
[change] 跨版本兼容问题优化,菜单新增文档 (#14)
1. 添加 EditorStatusWatcher 解决 git 等外部修改了配置不能同步的问题。
2. Reset 按钮 icon 2021版本有区别,同步之
2022-10-25 17:36:32 +08:00
ForeseePretty 1b69c9ca78
[fix]:支持hybridclr与il2cpp_plus仓库更新 (#11)
* fix: Data~文件读取修正

* [fix]:支持hybridclr与il2cpp_plus仓库更新
2022-10-25 17:26:21 +08:00
walon fc5bf86887 [new] 新增 hotUpdateDllCompileOutputRootDir和strippedAOTDllOutputRootDir配置字段 2022-10-23 17:46:09 +08:00
walon 2ad7c31302 [fix] 修复 ReversePInvokeWrap 生成的bug 2022-10-21 17:42:31 +08:00
walon 4f64ea1c6c [new] PathScriptingAssembilesFile 支持WebGL平台 2022-10-19 14:20:17 +08:00
walon 687366cd82 [new] HybridCLRSettings新增 patchAOTAssemblies字段用于配置补充元数据dll列表。 2022-10-19 11:57:53 +08:00
walon 276307dc51 [fix] 修复 MethodBridge.Analyzer::TryAddAndWalkGenericType 某些情况下抛出空指针异常的bug 2022-10-19 11:43:56 +08:00
walon 15319a59fa [new] 支持WebGL 2022-10-19 09:54:33 +08:00
walon 093f67296a [refactor] 少量代码重构 2022-10-18 13:51:38 +08:00
walon be4d220529 [new] HybridCLRSettings 新增 preserveHotUpdateAssemblies字段,用于预留assembly 2022-10-18 13:48:43 +08:00
walon 339b9f9fde [fix] 为了解决与Xlua的兼容问题,扫描MonoPInvokeCallbackAttribute时只比较类名而不比较全名,因为Xlua使用自定义的 Xlua.MonoPInvokeCallbackAttribute 特性 2022-10-18 13:30:42 +08:00
walon 82499dfe32 [fix] 修复未对 MonoPInvokeCallback标注的函数签名做Optimized变换,导致与Runtime计算结果不一致的bug 2022-10-18 09:21:51 +08:00
walon d8e155dc25 [new] MonoPInvokeCallback支持任意签名的函数
[refactor] 重构模板文件,除去重复。统一调整生成文件的输出目录到 hybridclr/generated
2022-10-17 21:38:39 +08:00
walon 9ea240ab82 重构 2022-10-17 12:16:18 +08:00
walon d7a1765146 [new] HybridCLRSettings新增collectAssetReferenceTypes字段指示生成link.xml是否扫描资源中引用的类型 2022-10-14 23:20:35 +08:00
walon a74130618e [fix] 将两处正常日志的级别由错误改为警告 2022-10-14 22:32:15 +08:00
walon 63f1d3b2e4 [opt] 生成link.xml时扫描除了场景以外的所有资源,收集所有UnityEngine.Object类型引用 2022-10-14 18:51:19 +08:00
walon 4a00e944a6 [fix] 修复ReversePInvokeWrapper生成的bug 2022-10-14 16:15:18 +08:00
walon e3095ccc01 [fix] 修复桥接函数遍历收集签名时,未等遍历完就结束执行,导致生成的桥接文件不完整的bug 2022-10-14 14:47:27 +08:00
walon 823877275c [refactor] 重构methodPointer,微小调整了桥接函数生成 2022-10-14 11:44:30 +08:00
walon 2899d13d60 [fix] 修复2019的不兼容编译错误 2022-10-09 21:08:53 +08:00
walon ef83fca9a0 [refactor] 一些重构 2022-10-09 20:53:13 +08:00
walon 7fea92cc75 [new] 支持hybridclr安装到全局位置,但仍然需要自己复制文件。 2022-10-09 20:22:23 +08:00
walon 85fcd0481a
Merge pull request #10 from Bian-Sh/main
[update] 对 Hybrid Global Settings 工作流稍作完善
2022-10-09 19:58:06 +08:00
边上海 caa0281e18 [update] 对 Hybrid Global Settings 工作流稍作完善
1. 将 hybrid settings 转移到 ProjectSettings 文件夹
2. 将 hybrid Settings 绘制到 编辑器 ProjectSettings 面板
3. 添加 文档 、Presets、Reset 功能
4. 在 installer 添加 settings 入口
5. 在 菜单栏添加 setting 入口,关于我们、以及文档入口
2022-10-09 19:42:16 +08:00
walon 47da01204b
Merge pull request #5 from Roland0511/fix/exist-program-check
[fix] 修复ExistProgram在非Windows平台无法返回正确结果的问题
2022-10-08 21:32:31 +08:00
walon 756fdedc14 [fix] 修复由于cmake设置的原因,导致 build_libil2cpp.sh 生成的.a文件为模拟器版本的问题 2022-10-08 18:04:33 +08:00
walon f2ee5e7af1 [fix] 修复 UnityPluginAssemblyResolver 搜索依赖dll未检查Plugins外目录的bug
[refactor] 一些重命名 hotfix -> hotUpdate
[refactor] HybridCLRGlobalSettings移除 hotUpdateDllOutputDir、 hybridCLRDataDir、strippedAssemblyDir这三个配置项,改为直接写死
[change] Editor下调用LoadMetadataForAOTAssembly返回成功而不是抛出错误
2022-10-08 12:35:57 +08:00
walon 8eb94be37e
Merge pull request #6 from Senfee-Cheng/main
[fix] 修复路径带空格时,gen_lump.sh运行出错的bug
2022-09-29 19:35:35 +08:00
walon f810ac53ba [opt] 当Installer中il2cpp路径不包含版本号时,给出提示
[opt] 新增 LoadMetadataForAOTAssembly(byte[])函数,简化使用。同时在Editor下被意外调用时给出更清晰的信息
2022-09-28 21:48:09 +08:00
Rorschach 1e6defaad8 shell 空格路径处理
如果项目名带空格,现在可以正常编译 .a
2022-09-28 21:34:06 +08:00
walon a56f940890 [fix] 修复遗漏扫描泛型类里的非泛型函数,导致桥接函数缺失的问题 2022-09-28 15:35:37 +08:00
lizhou.zhu dea7351771 [fix] 修复ExistProgram在非Windows平台无法返回正确结果的问题
linux和OSX中并没有where命令
2022-09-27 16:48:54 +08:00
walon 62bf4c2847 [fix] 修复 UnityPluginAssemblyResolver 扫描dll时,失误扫描了非Plugins dll的bug 2022-09-27 16:12:34 +08:00
walon cd68f33161 [fix] 修复plugin dll与Unity自带dll同名时,GenerateMethodBridge生成失败的bug 2022-09-27 14:57:00 +08:00
walon 07b56fe7e5 [fix] 修复调用Data目录为Data~目录后读取资源文件失败的bug 2022-09-26 13:30:07 +08:00
walon 3440f79421 [fix] 修复ResolveClass某些情况下抛出NullReferenceException的bug 2022-09-26 12:49:23 +08:00
walon d544133227
Merge pull request #2 from huangchaoqun/main
[refactor] Data目录重命名为Data~,避免生成meta文件
2022-09-26 12:48:15 +08:00
ForeseePretty 3c280ba80b
Merge pull request #1 from focus-creative-games/main
[fix] 生成完成后释放dnlib相关对象,避免出现dll文件被占用的异常
2022-09-26 12:41:18 +08:00
walon 5926b285e3 [fix] 生成完成后释放dnlib相关对象,避免出现dll文件被占用的异常 2022-09-26 12:12:57 +08:00
hansheng eb2522049a fix: ignores Data
Data to Data~
2022-09-26 11:54:14 +08:00
walon 830f0cca7d [opt] 生成的 AOTGenericReferences 文件中泛型类型和函数按名称排序 2022-09-23 18:09:14 +08:00
walon c76e68411f [new] AOTGenericReferences打印出详细的泛型类型及函数签名 2022-09-23 15:16:43 +08:00
walon aed13e464b [new] 过滤非aot泛型类及函数 2022-09-23 14:26:28 +08:00
walon 0af6f704b2 [refactor] 重构。将7Zip及UnitFS移入HybridCLR.Editor模块。合并Generate命令。 2022-09-23 09:40:06 +08:00
301 changed files with 9350 additions and 2874 deletions

View File

@ -1,5 +0,0 @@
# change logs
- 2022.8.30 创建

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 94322e93a1f61b340bdc1d5042dab659
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: a96a2c46326d2a84984c2820bd4bfc91
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 33c064b00b452284f93cd6e89de8a06d
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: f42c0f03663d4c14f8a49912c08a514f
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: b3b3b1f0cbc038149acb4d23bc6d5bf5
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: f54201f21d7421d4c894298aa5266c73
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,22 +0,0 @@
#include "MethodBridge.h"
#include <codegen/il2cpp-codegen-metadata.h>
#include "vm/ClassInlines.h"
#include "vm/Object.h"
#include "vm/Class.h"
#include "../metadata/MetadataModule.h"
#include "../metadata/MetadataUtil.h"
#include "Interpreter.h"
#include "MemoryUtil.h"
#include "InstrinctDef.h"
using namespace hybridclr::interpreter;
using hybridclr::GetInterpreterDirectlyCallMethodPointer;
#if HYBRIDCLR_ABI_ARM_64
//!!!{{INVOKE_STUB
//!!!}}INVOKE_STUB
#endif

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 1249fb131a848a14f8dd0938e3cc2558
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,22 +0,0 @@
#include "MethodBridge.h"
#include <codegen/il2cpp-codegen-metadata.h>
#include "vm/ClassInlines.h"
#include "vm/Object.h"
#include "vm/Class.h"
#include "../metadata/MetadataModule.h"
#include "../metadata/MetadataUtil.h"
#include "Interpreter.h"
#include "MemoryUtil.h"
#include "InstrinctDef.h"
using namespace hybridclr::interpreter;
using hybridclr::GetInterpreterDirectlyCallMethodPointer;
#if HYBRIDCLR_ABI_UNIVERSAL_32
//!!!{{INVOKE_STUB
//!!!}}INVOKE_STUB
#endif

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: e06e14385d246aa4ab853d3fd04d6eec
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,22 +0,0 @@
#include "MethodBridge.h"
#include <codegen/il2cpp-codegen-metadata.h>
#include "vm/ClassInlines.h"
#include "vm/Object.h"
#include "vm/Class.h"
#include "../metadata/MetadataModule.h"
#include "../metadata/MetadataUtil.h"
#include "Interpreter.h"
#include "MemoryUtil.h"
#include "InstrinctDef.h"
using namespace hybridclr::interpreter;
using hybridclr::GetInterpreterDirectlyCallMethodPointer;
#if HYBRIDCLR_ABI_UNIVERSAL_64
//!!!{{INVOKE_STUB
//!!!}}INVOKE_STUB
#endif

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 2965fa89651ee0c4eb4c4fdcf95b76b8
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,36 +0,0 @@
#include "ReversePInvokeMethodStub.h"
#include "MetadataModule.h"
namespace hybridclr
{
namespace metadata
{
//!!!{{REVERSE_PINVOKE_METHOD_STUB
void CallLuaFunction(void* xState, int32_t wrapperIndex)
{
const MethodInfo* method = MetadataModule::GetMethodInfoByReversePInvokeWrapperIndex(wrapperIndex);
typedef void (*Callback)(void* xState, const MethodInfo* method);
((Callback)GetInterpreterDirectlyCallMethodPointer(method))(xState, method);
}
void __ReversePInvokeMethod_0(void* xState)
{
CallLuaFunction(xState, 0);
}
void __ReversePInvokeMethod_1(void* xState)
{
CallLuaFunction(xState, 1);
}
Il2CppMethodPointer s_ReversePInvokeMethodStub[]
{
(Il2CppMethodPointer)__ReversePInvokeMethod_0,
(Il2CppMethodPointer)__ReversePInvokeMethod_1,
nullptr,
};
//!!!}}REVERSE_PINVOKE_METHOD_STUB
}
}

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 6447cdc1825eeef49a3679545ac31d95
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: c9442afcb42f28646a509d70ffe3d880
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,88 +0,0 @@
# file: CMakeList.txt
cmake_minimum_required(VERSION 3.0)
set(CMAKE_OSX_DEPLOYMENT_TARGET iOS)
set(TMP $ENV{HUATUO_IL2CPP_SOURCE_DIR})
if ( NOT TMP )
message(FATAL_ERROR "需要设置环境变量: HUATUO_IL2CPP_SOURCE_DIR")
else()
message(STATUS "unity il2cpp 路径为: ${TMP}")
endif()
set(SDK_VERSION $ENV{IPHONESIMULATOR_VERSION})
if ( SDK_VERSION )
message(STATUS "使用iPhoneSimulator版本:" ${SDK_VERSION})
else()
message(STATUS "当前使用默认版本的iPhoneSimulator可以通过设置环境变量IPHONESIMULATOR_VERSION指定版本")
endif()
project(il2cpp)
execute_process(COMMAND sh gen_lump.sh ${PROJECT_BINARY_DIR} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
add_subdirectory(external)
add_subdirectory(objective)
set(IL2CPP_SOURCE_DIR $ENV{HUATUO_IL2CPP_SOURCE_DIR})
message(STATUS "il2cpp project, binary dir: " ${CMAKE_BINARY_DIR})
message(STATUS "il2cpp project, build dir: " ${PROJECT_BINARY_DIR})
message(STATUS "il2cpp project, il2cpp source dir: " ${IL2CPP_SOURCE_DIR})
SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON)
find_program(CLANG_EXECUTABLE NAMES clang clang-7 clang-8 clang-9 clang-10)
if (NOT CLANG_EXECUTABLE)
message(FATAL_ERROR "Cannot find any clang executable.")
endif()
set(CMAKE_OSX_SYSROOT /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator${SDK_VERSION}.sdk)
#set(CMAKE_VERBOSE_MAKEFILE ON)
set(CMAKE_CXX_COMPILER clang++)
set(CMAKE_C_COMPILER clang)
#add_compile_options(-x objective-c++)
# Xcode
set(CMAKE_CXX_FLAGS "-target arm64-apple-ios11.0 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu++1z -fmodules -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fmodules-ignore-macro=IL2CPP_TARGET_IOS=1 -fembed-bitcode -fmodules-ignore-macro=BASELIB_DYNAMICLIBRARY=1 -fmodules-ignore-macro=BASELIB_INLINE_NAMESPACE=il2cpp_baselib -fmodules-ignore-macro=AARCH64 -fmodules-ignore-macro=__aarch64__ -fmodules-ignore-macro=IL2CPP_SUPPORT_THREADS -fmodules-ignore-macro=IL2CPP_THREADS_PTHREAD -Wnon-modular-include-in-framework-module -Werror=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -Os -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Werror=return-type -Wdocumentation -Wunreachable-code -Wquoted-include-in-framework-header -Werror=deprecated-objc-isa-usage -Werror=objc-root-class -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wno-unused-variable -Wunused-value -Wempty-body -Wuninitialized -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wshorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -DIL2CPP_TARGET_IOS=1 -isysroot ${CMAKE_OSX_SYSROOT} -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -g -Wno-sign-conversion -Winfinite-recursion -Wmove -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wrange-loop-analysis -Wno-semicolon-before-method-body -Wunguarded-availability ")
add_definitions(-DIL2CPP_TARGET_IOS=1)
add_definitions(-DBASELIB_DYNAMICLIBRARY=1)
add_definitions(-DBASELIB_INLINE_NAMESPACE=il2cpp_baselib)
add_definitions(-DAARCH64)
add_definitions(-D__aarch64__)
add_definitions(-DIL2CPP_SUPPORT_THREADS)
add_definitions(-DIL2CPP_THREADS_PTHREAD)
#add_definitions(-DCMAKE_C_COMPILER=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang)
#add_definitions(-DCMAKE_CXX_COMPILER=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++)
#add_definitions(-DIL2CPP_TARGET_DARWIN)
add_definitions(-DIL2CPP_PLATFORM_SUPPORTS_TIMEZONEINFO)
add_definitions(-MMD)
add_definitions(-MT dependencies)
include_directories(${IL2CPP_SOURCE_DIR}/libil2cpp/)
include_directories(${IL2CPP_SOURCE_DIR}/external/)
include_directories(${IL2CPP_SOURCE_DIR}/external/baselib/Include/)
include_directories(${IL2CPP_SOURCE_DIR}/external/bdwgc/include/)
include_directories(${IL2CPP_SOURCE_DIR}/external/baselib/Platforms/OSX/Include/)
# SDK
include_directories(SYSTEM /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/include/c++/v1)
include_directories(SYSTEM /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/include)
aux_source_directory(${PROJECT_BINARY_DIR}/lump_cpp LUMP_SOURCE_LIST)
aux_source_directory(${IL2CPP_SOURCE_DIR}/libil2cpp LIBIL2CPP_SOURCE_LIST)
#find_library(zlib ${PROJECT_SOURCE_DIR}/external)
add_library(il2cpp_original STATIC ${LIBIL2CPP_SOURCE_LIST} ${LUMP_SOURCE_LIST})
add_dependencies(il2cpp_original external objective)
add_custom_command(TARGET il2cpp_original
POST_BUILD
COMMAND xcrun -r libtool -static -o libil2cpp.a libil2cpp_original.a external/libexternal.a objective/libobjective.a
COMMENT "post build this is command combine libil2cpp_original.a, libojjective.a and libzlib.a into libil2cpp"
)

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 3436274d6dd0cc64fb4d15c898cc1d1d
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,19 +0,0 @@
#!/bin/bash
export HUATUO_IL2CPP_SOURCE_DIR=$(pushd ../LocalIl2CppData-OSXEditor/il2cpp > /dev/null && pwd && popd > /dev/null)
export IPHONESIMULATOR_VERSION=
rm -rf build
mkdir build
cd build
cmake ..
make -j24
if [ -f "libil2cpp.a" ]
then
echo 'build succ'
else
echo "build fail"
exit 1
fi

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 8ed3bb85d9526f9468289a2e26dadf0b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,47 +0,0 @@
# file: external/CMakeList.txt
cmake_minimum_required(VERSION 3.0)
set(CMAKE_OSX_DEPLOYMENT_TARGET iOS)
set(IL2CPP_SOURCE_DIR $ENV{HUATUO_IL2CPP_SOURCE_DIR})
set(SDK_VERSION $ENV{IPHONESIMULATOR_VERSION})
message(STATUS "external project, external source dir: " ${IL2CPP_SOURCE_DIR})
SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON)
find_program(CLANG_EXECUTABLE NAMES clang clang-7 clang-8 clang-9 clang-10)
if (NOT CLANG_EXECUTABLE)
message(FATAL_ERROR "Cannot find any clang executable.")
endif()
set(CMAKE_OSX_SYSROOT /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator${SDK_VERSION}.sdk)
set(CMAKE_VERBOSE_MAKEFILE ON)
set(CMAKE_C_COMPILER clang)
set(CMAKE_C_FLAGS "-x c -target arm64-apple-ios11.0 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu11 -fmodules -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fmodules-ignore-macro=IL2CPP_TARGET_IOS=1 -fembed-bitcode -fmodules-ignore-macro=BASELIB_DYNAMICLIBRARY=1 -fmodules-ignore-macro=BASELIB_INLINE_NAMESPACE=il2cpp_baselib -fmodules-ignore-macro=AARCH64 -fmodules-ignore-macro=__aarch64__ -fmodules-ignore-macro=IL2CPP_SUPPORT_THREADS -fmodules-ignore-macro=IL2CPP_THREADS_PTHREAD -Wnon-modular-include-in-framework-module -Werror=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -Os -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Werror=return-type -Wdocumentation -Wunreachable-code -Wquoted-include-in-framework-header -Werror=deprecated-objc-isa-usage -Werror=objc-root-class -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -DIL2CPP_TARGET_IOS=1 -isysroot ${CMAKE_OSX_SYSROOT} -fstrict-aliasing -Wdeprecated-declarations -g -Wno-sign-conversion -Winfinite-recursion -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wno-semicolon-before-method-body -Wunguarded-availability")
add_definitions(-DIL2CPP_TARGET_IOS=1)
add_definitions(-DBASELIB_DYNAMICLIBRARY=1)
add_definitions(-DBASELIB_INLINE_NAMESPACE=il2cpp_baselib)
add_definitions(-DAARCH64)
add_definitions(-D__aarch64__)
#add_definitions(-D__arm64__)
add_definitions(-DIL2CPP_SUPPORT_THREADS)
add_definitions(-DIL2CPP_THREADS_PTHREAD)
#add_definitions(-DCMAKE_C_COMPILER=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang)
#add_definitions(-DCMAKE_CXX_COMPILER=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++)
#add_definitions(-DIL2CPP_TARGET_DARWIN)
add_definitions(-DIL2CPP_PLATFORM_SUPPORTS_TIMEZONEINFO=0)
add_definitions(-MMD)
add_definitions(-MT dependencies)
include_directories(${IL2CPP_SOURCE_DIR}/external/)
include_directories(${IL2CPP_SOURCE_DIR}/external/baselib/Include/)
include_directories(${IL2CPP_SOURCE_DIR}/external/bdwgc/include/)
include_directories(${IL2CPP_SOURCE_DIR}/external/baselib/Platforms/OSX/Include/)
aux_source_directory(${IL2CPP_SOURCE_DIR}/external/zlib/ ZLIB_C_SOURCE_LIST)
add_library(external STATIC ${ZLIB_C_SOURCE_LIST})

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 03b1d6a5f25828042a1d215904917995
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,64 +0,0 @@
echo '====================================================================='
echo 'gen lump'
echo '$HUATUO_IL2CPP_SOURCE_DIR='${HUATUO_IL2CPP_SOURCE_DIR} #/Applications/Unity/Unity.app/Contents/il2cpp/
GEN_SOURCE_DIR=$1
BASE_DIR=${HUATUO_IL2CPP_SOURCE_DIR}/libil2cpp
echo base dir: ${BASE_DIR}
echo " "
#BASE_DIR=${HUATUO_IL2CPP_SOURCE_DIR}/libil2cpp
function SearchCppFile()
{
for f in $(ls $1)
do
SUB_DIR=$1/$f
if [ -d ${SUB_DIR} ]; then
SearchCppFile ${SUB_DIR}
fi
done
CPP_FILE_NUM=`ls -l $1/ | grep "\.cpp$"|wc -l`
if (( ${CPP_FILE_NUM} > 0 ))
then
for f in $1/*.cpp
do
echo "#include \""$f"\"" >> ${OUTPUT_FILE_NAME}
done
fi
MM_FILE_NUM=`ls -l $1/ | grep "\.mm$"|wc -l`
if (( ${MM_FILE_NUM} > 0 ))
then
for f in $1/*.mm
do
echo "#include \""$f"\"" >> ${OBJECTIVE_FILE_NAME}
done
fi
}
rm -rf ${GEN_SOURCE_DIR}/lump_cpp
rm -rf ${GEN_SOURCE_DIR}/lump_mm
mkdir ${GEN_SOURCE_DIR}/lump_cpp
mkdir ${GEN_SOURCE_DIR}/lump_mm
OBJECTIVE_FILE_NAME=${GEN_SOURCE_DIR}/lump_mm/lump_libil2cpp_ojective.mm
echo "#include \"${BASE_DIR}/il2cpp-config.h\"" > ${OBJECTIVE_FILE_NAME}
echo gen file: ${OBJECTIVE_FILE_NAME}
for FOLDER in hybridclr vm pch utils vm-utils codegen metadata os debugger mono gc icalls
do
OUTPUT_FILE_NAME=${GEN_SOURCE_DIR}/lump_cpp/lump_libil2cpp_${FOLDER}.cpp
echo "#include \"${BASE_DIR}/il2cpp-config.h\"" > ${OUTPUT_FILE_NAME}
if [ $FOLDER = hybridclr ] || [ $FOLDER = vm ]
then
echo "#include \"${BASE_DIR}/codegen/il2cpp-codegen.h\"" >> ${OUTPUT_FILE_NAME}
fi
SearchCppFile ${BASE_DIR}/${FOLDER}
echo gen file: ${OUTPUT_FILE_NAME}
done
echo gen done.
echo '====================================================================='
echo " "

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 641944d55f4cbc4449c3f8b3fcd4d7e5
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 01ed218875eaf574694fbe3a8e0c4a64
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,62 +0,0 @@
# file: CMakeList.txt
cmake_minimum_required(VERSION 3.0)
set(CMAKE_OSX_DEPLOYMENT_TARGET iOS)
project(il2cpp)
set(IL2CPP_SOURCE_DIR $ENV{HUATUO_IL2CPP_SOURCE_DIR})
set(SDK_VERSION $ENV{IPHONESIMULATOR_VERSION})
message(STATUS "objective project, binary dir: " ${PROJECT_BINARY_DIR})
message(STATUS "objective project, il2cpp source dir: " ${PROJECT_SOURCE_DIR})
SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON)
find_program(CLANG_EXECUTABLE NAMES clang clang-7 clang-8 clang-9 clang-10)
if (NOT CLANG_EXECUTABLE)
message(FATAL_ERROR "Cannot find any clang executable.")
endif()
set(CMAKE_OSX_SYSROOT /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator${SDK_VERSION}.sdk)
set(CMAKE_VERBOSE_MAKEFILE ON)
set(CMAKE_CXX_COMPILER clang++)
set(CMAKE_C_COMPILER clang)
#add_compile_options(-x objective-c++)
# Xcode
set(CMAKE_CXX_FLAGS "-target arm64-apple-ios11.0 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu++1z -fmodules -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fmodules-ignore-macro=IL2CPP_TARGET_IOS=1 -fembed-bitcode -fmodules-ignore-macro=BASELIB_DYNAMICLIBRARY=1 -fmodules-ignore-macro=BASELIB_INLINE_NAMESPACE=il2cpp_baselib -fmodules-ignore-macro=AARCH64 -fmodules-ignore-macro=__aarch64__ -fmodules-ignore-macro=IL2CPP_SUPPORT_THREADS -fmodules-ignore-macro=IL2CPP_THREADS_PTHREAD -Wnon-modular-include-in-framework-module -Werror=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -Os -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Werror=return-type -Wdocumentation -Wunreachable-code -Wquoted-include-in-framework-header -Werror=deprecated-objc-isa-usage -Werror=objc-root-class -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wno-unused-variable -Wunused-value -Wempty-body -Wuninitialized -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wshorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -DIL2CPP_TARGET_IOS=1 -isysroot ${SDK_VERSION} -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -g -Wno-sign-conversion -Winfinite-recursion -Wmove -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wrange-loop-analysis -Wno-semicolon-before-method-body -Wunguarded-availability ")
add_definitions(-DIL2CPP_TARGET_IOS=1)
add_definitions(-DBASELIB_DYNAMICLIBRARY=1)
add_definitions(-DBASELIB_INLINE_NAMESPACE=il2cpp_baselib)
add_definitions(-DAARCH64)
add_definitions(-D__aarch64__)
add_definitions(-DIL2CPP_SUPPORT_THREADS)
add_definitions(-DIL2CPP_THREADS_PTHREAD)
#add_definitions(-DCMAKE_C_COMPILER=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang)
#add_definitions(-DCMAKE_CXX_COMPILER=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++)
#add_definitions(-DIL2CPP_TARGET_DARWIN)
add_definitions(-DIL2CPP_PLATFORM_SUPPORTS_TIMEZONEINFO)
add_definitions(-MMD)
add_definitions(-MT dependencies)
include_directories(${IL2CPP_SOURCE_DIR}/libil2cpp)
include_directories(${IL2CPP_SOURCE_DIR}/external)
include_directories(${IL2CPP_SOURCE_DIR}/external/baselib/Include/)
include_directories(${IL2CPP_SOURCE_DIR}/external/bdwgc/include/)
include_directories(${IL2CPP_SOURCE_DIR}/external/baselib/Platforms/OSX/Include/)
# SDK
include_directories(SYSTEM /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/include/c++/v1)
include_directories(SYSTEM /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/include)
get_filename_component(PARENT_PATH ${PROJECT_BINARY_DIR} PATH)
aux_source_directory(${PARENT_PATH}/lump_mm LUMP_SOURCE_LIST)
#find_library(zlib ${PROJECT_SOURCE_DIR}/external)
add_library(objective STATIC ${LUMP_SOURCE_LIST})

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 76642fe740b6fd74b9a4491ce83b897e
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,12 @@
#include "../Il2CppCompatibleDef.h"
namespace hybridclr
{
const char* g_placeHolderAssemblies[] =
{
//!!!{{PLACE_HOLDER
//!!!}}PLACE_HOLDER
nullptr,
};
}

View File

@ -0,0 +1,32 @@
#include <codegen/il2cpp-codegen-metadata.h>
#if HYBRIDCLR_UNITY_2023_OR_NEW
#include <codegen/il2cpp-codegen.h>
#elif HYBRIDCLR_UNITY_2022
#include <codegen/il2cpp-codegen-il2cpp.h>
#elif HYBRIDCLR_UNITY_2020 || HYBRIDCLR_UNITY_2021
#include <codegen/il2cpp-codegen-common-big.h>
#else
#include <codegen/il2cpp-codegen-common.h>
#endif
#include "vm/ClassInlines.h"
#include "vm/Object.h"
#include "vm/Class.h"
#include "vm/ScopedThreadAttacher.h"
#include "../metadata/MetadataUtil.h"
#include "../interpreter/InterpreterModule.h"
#include "../interpreter/MethodBridge.h"
#include "../interpreter/Interpreter.h"
#include "../interpreter/MemoryUtil.h"
#include "../interpreter/InstrinctDef.h"
using namespace hybridclr::interpreter;
using namespace hybridclr::metadata;
//!!!{{CODE
//!!!}}CODE

View File

@ -0,0 +1,6 @@
#pragma once
//!!!{{UNITY_VERSION
//!!!}}UNITY_VERSION

View File

@ -0,0 +1,39 @@
{
"versions": [
{
"unity_version":"2019",
"hybridclr" : { "branch":"v8.6.0"},
"il2cpp_plus": { "branch":"v2019-8.1.0"}
},
{
"unity_version":"2020",
"hybridclr" : { "branch":"v8.6.0"},
"il2cpp_plus": { "branch":"v2020-8.1.0"}
},
{
"unity_version":"2021",
"hybridclr" : { "branch":"v8.6.0"},
"il2cpp_plus": { "branch":"v2021-8.1.0"}
},
{
"unity_version":"2022",
"hybridclr" : { "branch":"v8.6.0"},
"il2cpp_plus": { "branch":"v2022-8.2.0"}
},
{
"unity_version":"2022-tuanjie",
"hybridclr" : { "branch":"v8.6.0"},
"il2cpp_plus": { "branch":"v2022-tuanjie-8.6.0"}
},
{
"unity_version":"2023",
"hybridclr" : { "branch":"v8.6.0"},
"il2cpp_plus": { "branch":"v2023-8.1.0"}
},
{
"unity_version":"6000",
"hybridclr" : { "branch":"v8.6.0"},
"il2cpp_plus": { "branch":"v6000-8.1.0"}
}
]
}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 8f2a6638b09b52f4c9dc8906d090b710 guid: daa1e09af240aae4da0741843cb2b3f3
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -42,11 +42,11 @@ namespace HybridCLR.Editor.UnityBinFileReader
writer.Write(new EndianBinaryWriter(output)); writer.Write(new EndianBinaryWriter(output));
Debug.Log($"patch file:{dataunity3dFile} size:{output.Length}"); Debug.Log($"patch file:{dataunity3dFile} size:{output.Length}");
string bakFile = dataunity3dFile + ".bak"; //string bakFile = dataunity3dFile + ".bak";
if (!File.Exists(bakFile)) //if (!File.Exists(bakFile))
{ //{
File.Copy(dataunity3dFile, bakFile); // File.Copy(dataunity3dFile, bakFile);
} //}
File.WriteAllBytes(dataunity3dFile, output.ToArray()); File.WriteAllBytes(dataunity3dFile, output.ToArray());
} }
} }

Some files were not shown because too many files have changed in this diff Show More