Commit Graph

202 Commits (170f13082e93d9f1224ad76422ec6735e616d68f)

Author SHA1 Message Date
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 3702411ac8 [fix] 修复本地复制libil2cpp却仍然从仓库下载安装的bug 2023-05-03 12:22:16 +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 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 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 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 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 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 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 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 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
雨落随风 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
边上海 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 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 f810ac53ba [opt] 当Installer中il2cpp路径不包含版本号时,给出提示
[opt] 新增 LoadMetadataForAOTAssembly(byte[])函数,简化使用。同时在Editor下被意外调用时给出更清晰的信息
2022-09-28 21:48:09 +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
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
walon 7f2ee9c22b [refactor] 重构桥接函数签名。之前不区分 i1,u1 i2,u2之类签名,现在改为区分,因为在一些abi的编译器优化下,可能出现bug 2022-09-22 16:57:01 +08:00
walon a3f0befea4 [fix] 修复计算泛型 多维数组桥接函数时抛出异常的bug 2022-09-22 12:11:26 +08:00
walon 590505195e [fix] 修复偶然情况下build apk包时,PatchScriptingAssemblyList 传递参数为apk路径,导致patch失败的bug 2022-09-22 11:20:47 +08:00
walon a52ab358b3 [init] 初始化0.1.0版本 2022-09-22 08:56:07 +08:00