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 - Brrainz

#16
Now we're making progress. Thanks Tynan!
I still want to know if we can have multiple version tags on steam. Not necessarily directly from RimWorlds Upload Mod function but more as a policy that allows us to have them so that Ramsis does not clean them away. There is an advanced release script for us modders with many mods that can easily provide multiple version tags on a steam release.
#17
Hi everyone,

while you guys were busy discussing things back and forth, I decided to actually do something and create a third option: have your mods work with 0.19 and 1.0 at the same time.

I made a gist for a class that you simply add to your mod and it will allow you to continue to use the old Translator.Translate() method plus you can already mark your mod as 1.0 version in the About.xml so that the new Rimworld will not show is as incompatible. At the same time, it contains a patch to let the old Rimworld believe it is compatible too.

This does not solve ALL problems you might have with your code working with both Rimworld versions but it did work for my more complex mods like Achtung or Zombieland. I will continue testing them on both code bases and it is not very hard to build dynamic workarounds like the one I made for Translate.

Here is the gist: https://gist.github.com/pardeike/ba995510a468c00ce54091183a2f4aca

One thing is missing and it some kind of request from me to you Tynan: allow us to have both, 0.19 and 1.0 tags in steam workshop for such mods. It is the least you can do for all the work I put into this.

My 2 cents
Andreas Pardeike aka Brrainz


[EDIT] I just converted all my 10 mods to this system and got the to start on 1.0 without errors. Does not mean they run without errors but all the Harmony patches and init code ran without problems.

#18
Tools / Re: [LIB] Harmony v1.2.0.1
September 30, 2018, 04:49:37 PM
I'd love to help you but I don't have the time right now. I need it to keep on working on the Harmony documentation. Maybe someone at the modder discord can help you.
#19
Tools / Re: [LIB] Harmony v1.2.0.1
September 28, 2018, 12:34:51 PM
Join the Harmony discord, there are lot of ppl there willing to help and guide you through your process.
Discord: https://discord.gg/xXgghXR
#20
Tools / Re: [LIB] Harmony v1.2.0.1
September 14, 2018, 12:58:46 PM
Try to put at least one Harmony 1.2.0.1 enabled mod up highest in the mod list (above even HugsLib). Maybe one that does not need Hugslib (like any of my mods, i.e Camera+) and see if running Harmony 1.2.0.1 FIRST solves all the mod problems later with any Harmony 1.1 enabled mod.

No guarantees but worth a try to learn more about the problem.
#21
Tools / Re: [LIB] Harmony v1.2.0.1
September 01, 2018, 01:24:13 PM
I don't have my disassembler in front of me, but could it be that Kill() was overloaded and has extra argument and/or multiple versions in b19?
#22
I am watching this thread so I am listening to your Harmony feedback too.
#23
Tools / Re: [LIB] Harmony v1.2.0.1
August 08, 2018, 03:54:53 PM
HARMONY v1.2.0.1 RELEASE
_______________________


This new release of Harmony combines all the small changes and improvements made and found while testing v1.1:

       
  • logging ldstr with format strings no longer corrupts the output
  • Traverse has direct value manipulation with .Value property
  • fixed a casting error in inlineswitch
  • make MethodInvoker call restricted methods
  • the project got updated to the new package format
  • fix for RuntimeMethodHandle/IRuntimeMethodInfo error
  • better error reporting for exceptions during patching
  • AccessTools can now return declared methods, properties and constructors
  • improvements in removal of patches
  • creation of a nuget package for several .NET frameworks
  • make Type[].Description null reference safe
  • Transpilers.MethodReplacer now adapts to call types dynamically
  • patch attributes got a better API while keeping backwards compatibility
  • fixed access control on getters and setters
  • new super cool read-write access to private instance fields
  • specify arguments and injected fields by naming them with index
  • much improved self patching
It is strongly recommened to upgrade to this version.

GitHub:
https://github.com/pardeike/Harmony/releases/tag/v1.2.0.1
nuget: https://www.nuget.org/packages/Lib.Harmony/1.2.0.1

My patreon page: https://www.patreon.com/pardeike

Enjoy!
#24
Releases / Re: [1.0] [KV] ModSync RW
August 06, 2018, 02:46:27 PM
Much better concept than before. All my 9 mods will support it as soon as 1.0 comes out and my rw1 branches get merged into master.
#25
Tools / Re: [LIB] Harmony v1.2
August 06, 2018, 08:41:57 AM
After a serious bug was found in 1.2 I am planing to release it again today or tomorrow. So stay tuned and if you want you can try the branch that will become the release candidate:

https://github.com/pardeike/Harmony/tree/DeepCopy

Stay tuned!
#26
Tools / Re: [LIB] Harmony v1.2
July 30, 2018, 01:01:43 PM
HARMONY v1.2 RELEASE
https://github.com/pardeike/Harmony
Now with less bugs and a nuget package "Lib.Harmony"
ENJOY

As always, support me at https://www.patreon.com/pardeike
#27
Oops. Small bug in Harmony that makes this Update bogus. Sorry for that. It will be fixed on Monday.
#28
Tools / Re: [LIB] Harmony v1.1.1b
July 24, 2018, 05:26:01 PM
Those of you who value my work: please consider supporting me as a Patreon:
https://www.patreon.com/pardeike
#29
Tools / Re: [LIB] Harmony v1.1
July 24, 2018, 04:26:48 PM


I made a new Harmony version and release it as beta. Please use, report problems and enjoy:
https://github.com/pardeike/Harmony/releases/tag/v1.1.1b

The plan is to stress test this before RimWorld 1.0 comes out. Hopefully it just works but usually suggestions and bug reports come in and I will put them into the final 1.1.1 that will be release at the same time as Rimworld 1.0.


ENJOY
#30
Tools / Re: [LIB] Harmony v1.1
July 24, 2018, 02:21:53 PM
I see that typeof(RPP.HarmonyPatches).GetMethod("SetBoundUft_Prefix") clearly returns NULL. Either use AccessTools.Method or add the flags for non public methods.