Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - akisute

#1
Help / Re: Mono x86-32 JIT machine code hooks
January 17, 2016, 04:06:06 AM
Well, as a Mac player, I sometimes want you guys to remember other platforms :'(

https://github.com/RimWorldCCLTeam/CommunityCoreLibrary/issues/54

The current implementation in CCL inspired by code here doesn't work in Mac (most likely Linux too). This is not a matter of your code but CLL, but...

I'm not a hardcore C# developer but I still understand you have to do some real black magic to detour (or hook) the function calls without touching the prebuilt code of Core Rimworld. If you could happen to find out the black magic that works in all platforms that would be awesome...
#2
Outdated / Re: [A12d][ModPack] The ModVarietyPack
January 17, 2016, 03:46:05 AM
Quote from: TLHeart on January 16, 2016, 06:42:44 PM
Quote from: Fluffy (l2032) on January 16, 2016, 05:47:00 PM


Thanks, that helps quite a bit. I'm afraid there might be some issues with the CCL detour methods on non-windows platforms. I personally have neither the expertise nor access to a mac to get to the bottom of this, but I'll see what I can do.

In the mean time, you should be able to safely delete the allowmoddedheads mod (or just disable) in the latest version of MVP, the only noticeable difference will be that you won't get the new facial hair and scarred heads.

Sorry to say there is no allow modded heads mod, simon put it inside the MVP mod...Will need to delete the dll from the assemblies folder, and from the xml files manually.

Oh good! I'm all for trying this. And don't worry, Mac gamers has to handle things by ourselves 8) But I think you might want to add a quick installation note about this in your github wiki page (Mac Installation Guide). That's a good idea isn't it?

Also, I've checked the newly-added CCL detour method you've mentioned (https://github.com/RimWorldCCLTeam/CommunityCoreLibrary/compare/v0.12.4...master) and... it's just gross. No wonder it doesn't work at all in Mac or even in Linux. Perhaps I'm going to talk about this in CCL forum...  :'(

Edit: Confirmed that 1.24 works in Mac if you remove Mods/ModVarietyPack/Assemblies/AllowModdedHeads.dll and Mods/ModVarietyPack/Defs/ThingDefs/Bootstrap.xml. Thank you so much! And also I've reported the issue about this to CCL guys... but I believe this detour thing can't be fixed to run in other platforms like Mac as far as I've learned so far. Grim.
#3
Outdated / Re: [A12d][ModPack] The ModVarietyPack
January 17, 2016, 03:33:35 AM
Quote from: Torchwood2002 on January 16, 2016, 08:01:17 PM
When I'm using the 1.22 version, I cannot place a grow zone. When I try, the measurements show up but the squares do not 'light up' and set.

You actually can. The trick is, you need to first cultivate the ground by "Architecture -> Food -> Soil(or something, I can't remember the exact name)". After you plowed the ground, you can place grow zones upon it. It's a feature of this mod pack, not a bug.
#4
Outdated / Re: [A12d][ModPack] The ModVarietyPack
January 16, 2016, 04:00:54 AM
Quote from: Fluffy (l2032) on January 16, 2016, 03:00:12 AM
A null reference error can happen anywhere, can you guys give some more info? This error seems to be in a part of CCL I'm responsible for.

Are you using win, linux or mac?
Can you please attach the output_log.txt (found in RimWorldxxx_Data folder)?

Sure. I'm running the game on Mac(Yosemite, 10.10.5, iMac Late 2012). It sounds like a serious one than I thought so here's an exact Player.log that Rimworld spitted out. I believe the folloing line is the source of the problem:


Caught exception while loading play data but there are active mods other than Core. Resetting mods config and trying again.
The exception was: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object
  at CommunityCoreLibrary.Detours.TryDetourFromTo (System.Reflection.MethodInfo source, System.Reflection.MethodInfo destination) [0x00000] in <filename unknown>:0
  at AllowModdedHeads.Bootstrap..ctor () [0x00000] in <filename unknown>:0
  at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (object,object[],System.Exception&)
  at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
  --- End of inner exception stack trace ---
  at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
  at System.Reflection.MonoCMethod.Invoke (BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
  at System.Reflection.ConstructorInfo.Invoke (System.Object[] parameters) [0x00000] in <filename unknown>:0
  at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00000] in <filename unknown>:0
  at System.Activator.CreateInstance (System.Type type) [0x00000] in <filename unknown>:0
  at Verse.ITabManager.GetSharedInstance (System.Type tabType) [0x00000] in <filename unknown>:0
  at Verse.ThingDef.PostLoad () [0x00000] in <filename unknown>:0
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
  --- End of inner exception stack trace ---
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0
  at Verse.XmlToObject.TryDoPostLoad (System.Object obj) [0x00000] in <filename unknown>:0
  at Verse.XmlToObject.ObjectFromXml[ThingDef] (System.Xml.XmlNode xmlRoot, Boolean doPostLoad) [0x00000] in <filename unknown>:0
  at Verse.XmlLoader+<AllGameItemsFromAsset>c__Iterator147`1[Verse.ThingDef].MoveNext () [0x00000] in <filename unknown>:0
  at Verse.ModDefSet`1[Verse.ThingDef].ReloadAllFromFiles () [0x00000] in <filename unknown>:0
  at Verse.LoadedMod.ReloadAllContent () [0x00000] in <filename unknown>:0
  at Verse.LoadedModManager.LoadAllActiveMods () [0x00000] in <filename unknown>:0
  at Verse.PlayDataLoader.DoPlayLoad () [0x00000] in <filename unknown>:0
  at Verse.PlayDataLoader.LoadAllPlayData (Boolean recovering) [0x00000] in <filename unknown>:0

(Filename: /Users/builduser/buildslave/unity/build/artifacts/MacStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 56)

Tried to load Biomes.xml while loading Bootstrap.xml. This will corrupt the internal state of DataLoader.

(Filename: /Users/builduser/buildslave/unity/build/artifacts/MacStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 56)

Successfully recovered from errors and loaded play data.

(Filename: /Users/builduser/buildslave/unity/build/artifacts/MacStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 56)


I'm also downloading the older versions (like 1.23b or 1.22) to see I can run them or not. I'll post the result once I've finished.

Edit: Oh, I found the log says AllowModdedHeads.Bootstrap..ctor () is causing the problem. So I guess I can run the version 1.22 but not 1.23 or later because AllowModdedHeads.dll has been updated in 1.23. Let's see...
Edit 2: Bullseye! I CAN launch and play in version 1.22 without any problems. It has to be the issue of AllowModdedHeads.dll. So I've done my part, good luck bug hunting  ;D

[attachment deleted due to age]
#5
Outdated / Re: [A12d][ModPack] The ModVarietyPack
January 16, 2016, 01:35:50 AM
Quote from: Torchwood2002 on January 15, 2016, 08:34:19 PM
I am experiencing a weird bug when installing this modpack. (I'm using a mac)
After installing the mods and modconfig, the game says that the mods are incompatible.
The weird part is this: when I open the modconfig AFTER launching and getting the error, the modconfig only contains the "Core" mod. BEFORE launching, the modconfig lists all of the mods and their order.

I've got a same issue here. I've looked into the console log and found that the something is wrong with Community Core Library. I don't know much about CCL but it looks like the function named CCL.detour() or something like that is failing due to the stupid null reference exception...

I also tried to enable mods one by one following the provided ModsConfig.xml order and found out when I enabled the MVP (which is obviously Mod Variety Pack Core) the error occurs. Hope this helps.
#6
Summary:
The game doesn't start running, just keep displaying a black screen at launch.

Cause of bug:
If you're using Mac OS X, open up Console.app and search for ~/Library/Logs/Unity/Player.log This is where Rimworld puts all logs like this
http://t.co/EKlQBg77Lr

So it turns out the game is freaked out since there are no appropriate translation files, in my case Japanese. Some others might be other languages.

How to fix:
Just simply remove the translation from your installation by...
1. Open your Rimworld.app by right-clicking it and choose "Show contents of package" or something like that
2. Navigate to Mods/Core/Languages
3. Remove or rename the folder that is causing the problem. You can check which folder is causing the problem by investigating the log file I've mentioned before. If you're not sure, just remove all folders other than English might do the job.

Hope this helps! :)