Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Latest versions targeting IL2CPP (Deprecated) #159

Closed
gravydevsupreme opened this issue Feb 7, 2021 · 38 comments
Closed

Latest versions targeting IL2CPP (Deprecated) #159

gravydevsupreme opened this issue Feb 7, 2021 · 38 comments

Comments

@gravydevsupreme
Copy link
Collaborator

gravydevsupreme commented Feb 7, 2021

Closing this issue as I've published v5.0.0.

Releases available here.

--- OUTDATED ---
Using this issue to keep track of latest releases for IL2CPP, rather than posting them in various other issues or as a release.

Not using a release because I don't want to constantly provide support for beta/alpha software.
XUnity.AutoTranslator-BepInEx-IL2CPP-5.0.0-beta13.zip
XUnity.AutoTranslator-MelonMod-IL2CPP-5.0.0-beta13.zip

Version 5.0.0-beta13 should bring many improvements as the code bases has now been properly merged. It includes support for:

  • Translator UI (ALT+0 in-game)
  • UI Resizing
  • Texture Translation
  • Resource Redirection
  • Uses correct library directories for MelonLoader
  • Fixes various initialization issues with mod in IL2CPP
  • Fixed UTAGE hooks for IL2CPP

There are still many things missing, however.

.
.
.
XUnity.AutoTranslator-BepInEx-IL2CPP-5.0.0-beta12.zip
XUnity.AutoTranslator-MelonMod-IL2CPP-5.0.0-beta12.zip

XUnity.AutoTranslator-BepInEx-IL2CPP-5.0.0-beta10.zip
XUnity.AutoTranslator-MelonMod-IL2CPP-5.0.0-beta10.zip

XUnity.AutoTranslator-BepInEx-IL2CPP-5.0.0-beta9.zip
XUnity.AutoTranslator-MelonMod-IL2CPP-5.0.0-beta9.zip

XUnity.AutoTranslator-BepInEx-IL2CPP-5.0.0-beta7.zip
XUnity.AutoTranslator-MelonMod-IL2CPP-5.0.0-beta7.zip

XUnity.AutoTranslator-BepInEx-IL2CPP-5.0.0-beta4.zip
XUnity.AutoTranslator-MelonMod-IL2CPP-5.0.0-beta4.zip

XUnity.AutoTranslator-BepInEx-IL2CPP-5.0.0-beta3.zip
XUnity.AutoTranslator-MelonMod-IL2CPP-5.0.0-beta3.zip

XUnity.AutoTranslator-BepInEx-IL2CPP-5.0.0-beta2.zip
XUnity.AutoTranslator-MelonMod-IL2CPP-5.0.0-beta2.zip

XUnity.AutoTranslator-BepInEx-IL2CPP-5.0.0-beta1.zip (For BepInEx Unity IL2CPP for Windows x64/x86 machines)
XUnity.AutoTranslator-MelonMod-5.0.0-beta1.zip (for MelonLoader 0.5.2)

XUnity.AutoTranslator-BepInEx-IL2CPP-4.21.0.zip (For BepInEx Unity IL2CPP for Windows x64/x86 machines)
XUnity.AutoTranslator-MelonMod-4.21.0.zip (for MelonLoader 0.5.2)

XUnity.AutoTranslator-BepInEx-IL2CPP-4.18.0.zip (For BepInEx Unity IL2CPP for Windows x64/x86 machines)
XUnity.AutoTranslator-MelonMod-4.18.0.zip (for MelonLoader 0.4.3)

XUnity.AutoTranslator-BepInEx-IL2CPP-4.13.0.zip (For BepInEx Unity IL2CPP for Windows x64/x86 machines)
XUnity.AutoTranslator-MelonMod-4.13.0.zip (for MelonLoader 0.3.0 ALPHA)

UPDATE (new version for BepInEx):
XUnity.AutoTranslator-BepInEx-IL2CPP-4.18.0.zip

This new version is barely tested. Only seen it working in one game. I am currently working on a lot of refactoring to be able to merge the IL2CPP and main branch, but this will take some time. Most important change: shortcuts should now work if the Input API is not trimmed away from the game in question.

@yanghoxom
Copy link

@gravydevsupreme can you share source ?

@gravydevsupreme
Copy link
Collaborator Author

Latest source for IL2CPP available here:

https://github.com/bbepis/XUnity.AutoTranslator/tree/il2cpp_update

@orangespoons
Copy link

orangespoons commented Feb 9, 2021

@gravydevsupreme
Does it include a function to change the sdf font? It doesn't work for me.
OverrideFont=Arial is doesn't work either.

I've tried translate from Japanese to English / Japanese to Chinese (Simplified). translation works fine.
Game officially supports English, Japanese, Chinese (Simplified), and Chinese (Traditional).
And checked the textures of the sdf font and found that the Korean language was included normally.
I think xunity.autotranslator can't load external sdf fonts.

Is it just a bug, or is it a game problem?
I attached what I set up.

Thanks.

Game unity version: 2019.4.0f1 / il2cpp


[General]
Language=ko
FromLanguage=ja
...
EnableTextMeshPro=True
EnableTextMesh=False
...
OverrideFontTextMeshPro=arialuni_sdf_u2019


https://ibb.co/gzs6WnK
https://ibb.co/tmjSmDG

@gravydevsupreme
Copy link
Collaborator Author

The current version of the IL2CPP plugin does not support changing fonts.

@orangespoons
Copy link

orangespoons commented Feb 9, 2021

The current version of the IL2CPP plugin does not support changing fonts.

@gravydevsupreme Thank you! I hope the font change will be supported soon! :)

@icls1337
Copy link

[Info :XUnity.AutoTranslator] Loaded XUnity.AutoTranslator into Unity [2019.4.22f1] game.
[Warning:XUnity.AutoTranslator] Input API is not available!
System.TypeLoadException: Could not resolve type with token 010000a4 from typeref (expected class 'UnityEngine.Input' in assembly 'UnityEngine.CoreModule, Version=3.7.1.6, Culture=neutral, PublicKeyToken=null')
at XUnity.AutoTranslator.Plugin.Core.AutoTranslationPlugin.HandleInputSafe () [0x00007] in <855e1b6e49cf4dd88249de51e100ff6e>:0
[Info :XUnity.AutoTranslator] Skipping plugin scan because no plugin-specific translations has been registered.

@gravydevsupreme
Copy link
Collaborator Author

That is more of a warning than an error. That being said, it could probably be fixed. But I have not prioritized fixing it and simply fallen back to disabling user interaction.

@cacarasa
Copy link

cacarasa commented Jun 1, 2021

could someone make a tutorial on how to install these tools?

thank you very much and sorry for my ignorance.

@gravydevsupreme
Copy link
Collaborator Author

Seems I missed this comment by about half a month.

Either way, I am not really doing a lot to keep the above versions updated, so I am probably not going to be making a guide either. BepInEx is probably the easier of the two to setup since it is just a matter of copy-paste the correct versions. Also I am not sure the current MelonLoader release supports the latest version. In fact I doubt it.

@dima245
Copy link

dima245 commented Jul 15, 2021

translate.google
But it is impossible, in the program, to add scanning of the entire game and at once translation of all the text in the game?
analogous to the MTool program https://www.patreon.com/AdventCirno
and then, each line to translate, each time, separately, takes a lot of time. especially when the connection to the Internet is not stable, due to the dir-300 router
original text
а нельзя, в програму, добавить сканирование всей игры и разом перевод всего текста в игре?
по аналогу програмы MTool https://www.patreon.com/AdventCirno
а то, каждую строчку переводить, каждый раз, отдельно , много времени занимает. особено когда связь с интернетом, не стабильна, изза роутера dir-300

@djlaser
Copy link

djlaser commented Jul 19, 2021

Hello.
And you can't tell me when the
tehmeh translation and font support for it will be added to translator icc2.

@thesuperfatcat
Copy link

@gravydevsupreme Can you please update the translaslator.dll files? il2cpp targets only work on googletranslate. Watson,bing etc not working.

@gravydevsupreme
Copy link
Collaborator Author

@dima245 - I know the tool by AdventCirno, but that tool, impressive as it is, (probably) works primarily by knowing the resource structures of the games it support (although it is probably more advanced than just that). Doing that with Unity is problematic in many ways.

@djlaser @thesuperfatcat - I have been kinda putting off updating the IL2CPP plugin because of how much it diverges from the original. I may look into getting it updated soonishly.

@gravydevsupreme
Copy link
Collaborator Author

UPDATE: Added highly untested version 4.18.0.

@cacarasa
Copy link

I am also looking forward to the new plugin for melonloader which works better than bepinex. Thanks!!!! Great job!!!!

@gravydevsupreme
Copy link
Collaborator Author

UPDATE: Added 4.18.0 for MelonLoader.

@thesuperfatcat
Copy link

Thanks for the new update! But still only work google translate. Bing, watson etc. get some errors. Same error appears in bepinex and melonloader.
Here error log:
[ERROR] A batch operation failed. Disabling batching and restarting failed jobs.
[ERROR] 5 or more consecutive errors occurred. Shutting down translator endpoint.

@gravydevsupreme
Copy link
Collaborator Author

gravydevsupreme commented Sep 5, 2021

And this is not happening in Non-IL2CPP games for you?

Batch operations sometimes fail, though, and that's okay. Are there other translation related errors?

@baoenzo
Copy link

baoenzo commented Oct 1, 2021

Wow, this work for me. But OverrideFont error.
image
When translated into Vietnamese, it lost "\n"
image
Game: Story of Seasons Pioneers of Olive town
I using MelonLoader because BepInEx not working.
Sorry for my bad english
@gravydevsupreme

@gravydevsupreme
Copy link
Collaborator Author

The function to obtain the possible fonts seems to be missing, which is why OverrideFont does not work. That's just IL2CPP being IL2CPP.

Newlines in translations are generally removed because if it is sent to the translator the translation will be really bad.

@linland-h
Copy link

Hello, when I try to use the plugin with melonMod, these error and warnings occurred:

捕获
捕获1
https://drive.google.com/file/d/1x3rupVzThYEEr3hES1BfltexNEB--hZr/view?usp=sharing

the plugin generates the AutoTranslator folder and the config file, but I'm not able to open Autotranslator UI in game and the game is still in japanese

@dima245
Copy link

dima245 commented Nov 15, 2021

XUnity.AutoTranslator-BepInEx-IL2CPP
does not work "OverrideFont="
game
RJ278044 Snow Brandia
RJ293542 Snow Brandia fairy later

@icls1337
Copy link

sup load external sdf fonts now?

@gravydevsupreme
Copy link
Collaborator Author

gravydevsupreme commented Dec 30, 2021

Well. The code to support it should be included in beta7, but I have not tested it. But custom TextMesh Pro support is shaky even in the Mono version of the plugin due to the strict version requirements.

@icls1337
Copy link

I can't change fonts in Computer Tycoon using the same version of unityfs

@gravydevsupreme
Copy link
Collaborator Author

This updated version should print out the version of TextMesh Pro the game uses. It should also attempt to print out the version of the font asset used. But in my experience that information is often unavailable in IL2CPP.

XUnity.AutoTranslator-BepInEx-IL2CPP-5.0.0-beta8.zip
XUnity.AutoTranslator-MelonMod-IL2CPP-5.0.0-beta8.zip

@gravydevsupreme
Copy link
Collaborator Author

gravydevsupreme commented Dec 31, 2021

This version adds a new option FallbackFontTextMeshPro that can replace OverrideFontTextMeshPro which may be more reliable. Do not use both at the same time.

XUnity.AutoTranslator-BepInEx-IL2CPP-5.0.0-beta9.zip
XUnity.AutoTranslator-MelonMod-IL2CPP-5.0.0-beta9.zip

@orangespoons
Copy link

orangespoons commented Jan 1, 2022

@gravydevsupreme
Hello,
In-game text hook of the il2cpp game does not work, and I ask you about the error.
There seems to be an error in the process of hooking the UGUI.
Error log: https://pastebin.com/pBGRNMXv
Game: HolyKnightRicca (hentai game)
My config.ini: https://pastebin.com/fGLu0NxJ
Using MelonLoader x64 0.5.2 + AutoTrnslator-il2cpp-5.0.0-beta9
Font replacement has already been done manually.

The UI part is often not translated at all.
Some UIs appear when the UI is reloaded without restart game.
( ex)main menu - setting - main menu... maybe a unity scene change? )

And the main dialogue part is not translated at all.
This game can hide or show the dialogue window by right-click button,
I have to turn off and on the dialogue window each time for translation to take place.

What should I do if an error like this appears?
Thanks.

@gravydevsupreme
Copy link
Collaborator Author

These may work better.
XUnity.AutoTranslator-BepInEx-IL2CPP-5.0.0-beta10.zip
XUnity.AutoTranslator-MelonMod-IL2CPP-5.0.0-beta10.zip

You will need to set DisableTextMeshProScrollInEffects=True.

@orangespoons
Copy link

orangespoons commented Jan 4, 2022

hi, I'm having issue with OverrideFontTextMeshPro or FallbackFontTextMeshPro option.
I created an AssetBundle by referring to this link, but it didn't work.
TMP_Font_AssetBundles.zip also failed because the game unity version is 2020.

I opened the log file to find out what the problem was.
[06:32:56.874] Version of TextMesh Pro: 1.4.0.
yaay, I figured this was the problem because I found out that the versions of TextMeshPro were different.
When I install Unity 2020.3.24, the default installed version of TextMeshPro is 3.0.6.
So, referring to this link, I downgraded the version of TextMeshPro to 1.4.0 and tried again. but the error still occurred.

Changing the compression method in the [AssetBundles - Advances Settings] didn't help.

Am I doing something wrong?
If the OverrideFontTextMeshPro option is enabled, the text is broken into squares,
and if the FallbackFontTextMeshPro option is enabled, AutoTranslator does not work.

Game: HolyKnightRicca (hentai game)
Config.ini: https://pastebin.com/dKw6KGi1
Error Log (FallbackFontTextMeshPro): https://pastebin.com/8gEHBZLY
Error Log (OverrideFontTextMeshPro) : https://pastebin.com/cySEUt6K
AssetBundle file I created(contain English, Korean Character): https://mega.nz/file/rhUwVL6S#MkFYtxsmaLmVFkWLgQth8AwaPmTshFM-ZBxq__Nfp8k

Thanks for help.

@gravydevsupreme
Copy link
Collaborator Author

Seems that this game has stripped away the methods to load asset bundles synchronously. Will probably see if I can fallback to asynchronous loading in t his case.

@gravydevsupreme
Copy link
Collaborator Author

gravydevsupreme commented Jan 5, 2022

I managed to load your font file in the newly published beta12 using FallbackFontTextMeshPro.

@orangespoons
Copy link

orangespoons commented Jan 5, 2022

I managed to load your font file in the newly published beta12 using FallbackFontTextMeshPro.

hmm. for me, it still doesn't work with some red error lines. (korean chars are broken into squares)
Is it correct to set the config.ini file like this?
config.ini: https://pastebin.com/0hu4QeJ1
and, log: https://pastebin.com/4wgZ9Jzf
MelonLoader x64 0.5.2 + AutoTranslator 5.0.0 beta 12 + ezTransXP

Oh, and when creating an Font AssetBundle, I should follow the TextMeshPro version of the basegame, right?
And... does it matter whether the compression method is lzma or lz4?

@gravydevsupreme
Copy link
Collaborator Author

gravydevsupreme commented Jan 5, 2022

In general I think you should just use the same version as the game if possible. Some versions are probably cross-compatible, though. But I don't know which.

About compression, as long as the unity engine used supports it, it probably does not matter.

I added a new version, but I have not changed anything that should get it working compared to beta12. Your configuration looks correct as well.

I used BepInEx 6, however. Although I do not believe that would have made the difference given the error you got. To me the error simply looks like you're using the wrong version.

XUnity.AutoTranslator-BepInEx-IL2CPP-5.0.0-beta13.zip
XUnity.AutoTranslator-MelonMod-IL2CPP-5.0.0-beta13.zip

I do not believe you need to generate a new font. The one you uploaded is working with this game.

image

The log should look like so:

image

@orangespoons
Copy link

orangespoons commented Jan 5, 2022

@gravydevsupreme
Jesus, I changed the modloader from MelonLoader to BepinEX and it works fine.
Could it be a MelonLoader problem?
Anyway, thank you so much!
Thank you for your time.

+And, found incompatibility with the BepInEx.MelonLoader.Loader.dll plugin.
If use the BepInEx.MelonLoader.Loader.dll plugin, the translation is not working.

@icls1337
Copy link

icls1337 commented Jan 6, 2022

System.Runtime.Serialization.SerializationException: The constructor to deserialize an object of type 'System.Net.Http.HttpRequestException' was not found. ---> System.Runtime.Serialization.SerializationException: The constructor to deserialize an object of type 'System.Net.Http.HttpRequestException' was not found.
at System.Runtime.Serialization.ObjectManager.GetConstructor (System.RuntimeType t) [0x00029] in <986ed57b9a8f4699a3c59a69eb05944a>:0
at System.Runtime.Serialization.ObjectManager.CompleteISerializableObject (System.Object obj, System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) [0x00034] in <986ed57b9a8f4699a3c59a69eb05944a>:0
--- End of inner exception stack trace ---
at System.Runtime.Serialization.ObjectManager.CompleteISerializableObject (System.Object obj, System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) [0x00058] in <986ed57b9a8f4699a3c59a69eb05944a>:0
at System.Runtime.Serialization.ObjectManager.FixupSpecialObject (System.Runtime.Serialization.ObjectHolder holder) [0x00088] in <986ed57b9a8f4699a3c59a69eb05944a>:0
at System.Runtime.Serialization.ObjectManager.DoFixups () [0x0005a] in <986ed57b9a8f4699a3c59a69eb05944a>:0
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize (System.Runtime.Remoting.Messaging.HeaderHandler handler, System.Runtime.Serialization.Formatters.Binary.__BinaryParser serParser, System.Boolean fCheck, System.Boolean isCrossAppDomain, System.Runtime.Remoting.Messaging.IMethodCallMessage methodCallMessage) [0x00077] in <986ed57b9a8f4699a3c59a69eb05944a>:0
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler, System.Boolean fCheck, System.Boolean isCrossAppDomain, System.Runtime.Remoting.Messaging.IMethodCallMessage methodCallMessage) [0x000a2] in <986ed57b9a8f4699a3c59a69eb05944a>:0
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler, System.Boolean fCheck, System.Runtime.Remoting.Messaging.IMethodCallMessage methodCallMessage) [0x00000] in <986ed57b9a8f4699a3c59a69eb05944a>:0
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler, System.Boolean fCheck) [0x00000] in <986ed57b9a8f4699a3c59a69eb05944a>:0
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler) [0x00000] in <986ed57b9a8f4699a3c59a69eb05944a>:0
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (System.IO.Stream serializationStream) [0x00000] in <986ed57b9a8f4699a3c59a69eb05944a>:0
at System.Runtime.Remoting.RemotingServices.DeserializeCallData (System.Byte[] array) [0x0001c] in <986ed57b9a8f4699a3c59a69eb05944a>:0
at (wrapper xdomain-invoke) BepInEx.IL2CPP.ProxyAssemblyGenerator+AppDomainRunner.GenerateAssembliesInternal(BepInEx.IL2CPP.ProxyAssemblyGenerator/AppDomainListener,string,BepInEx.IL2CPP.ProxyAssemblyGenerator/IL2CPPDumperType)
at (wrapper remoting-invoke-with-check) BepInEx.IL2CPP.ProxyAssemblyGenerator+AppDomainRunner.GenerateAssembliesInternal(BepInEx.IL2CPP.ProxyAssemblyGenerator/AppDomainListener,string,BepInEx.IL2CPP.ProxyAssemblyGenerator/IL2CPPDumperType)
at BepInEx.IL2CPP.ProxyAssemblyGenerator.GenerateAssemblies () [0x000ab] in :0
at BepInEx.IL2CPP.Preloader.Run () [0x002a6] in :0
at BepInEx.IL2CPP.UnityPreloaderRunner.PreloaderMain (System.String[] args) [0x0007e] in :0
at BepInEx.IL2CPP.DoorstopEntrypoint.Main (System.String[] args) [0x00088] in :0

@icls1337
Copy link

icls1337 commented Jan 6, 2022

I can't change fonts in Computer Tycoon using the same version of unityfs

use FallbackFontTextMeshPro can

@gravydevsupreme
Copy link
Collaborator Author

Closing this issue because an IL2CPP version has now been "officially" releases. Will no longer track this issue. Create separate issues to get help resolve problems.

@gravydevsupreme gravydevsupreme changed the title Latest versions targeting IL2CPP Latest versions targeting IL2CPP (Deprecated) Jan 9, 2022
@gravydevsupreme gravydevsupreme unpinned this issue Jan 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

10 participants