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

#1
Not sure if I'm being stupid or not but I think HugsLibChecker might be broken for 1.1. I haven't actually played or programmed for Rimworld for a while now so, again, could just be me being stupid. Still, getting the following on startup (when purposely excluding HugsLib - required for my mod):

RimWorld 1.1.2551 rev1075
Verse.Log:Message(String, Boolean)
RimWorld.VersionControl:LogVersionNumber()
Verse.Root:CheckGlobalInit()
Verse.Root:Start()
Verse.Root_Entry:Start()

ReflectionTypeLoadException getting types in assembly UseYourGun: System.Reflection.ReflectionTypeLoadException: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
  at (wrapper managed-to-native) System.Reflection.Assembly.GetTypes(System.Reflection.Assembly,bool)
  at System.Reflection.Assembly.GetTypes () [0x00000] in <567df3e0919241ba98db88bec4c6696f>:0
  at Verse.ModAssemblyHandler.AssemblyIsUsable (System.Reflection.Assembly asm) [0x00000] in <b8131242147c4f5bbc580697f7726377>:0

Loader exceptions:
   => System.TypeLoadException: Could not resolve type with token 01000018 (from typeref, class/assembly HugsLib.Settings.SettingHandleConvertible, HugsLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null)
   => System.TypeLoadException: Could not resolve type with token 0100001f (from typeref, class/assembly HugsLib.ModBase, HugsLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null)

Verse.Log:Error(String, Boolean)
Verse.ModAssemblyHandler:AssemblyIsUsable(Assembly)
Verse.ModAssemblyHandler:ReloadAll()
Verse.ModContentPack:ReloadContent()
Verse.LoadedModManager:LoadModContent()
Verse.LoadedModManager:LoadAllActiveMods()
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.<>c:<Start>b__6_1()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.<>c:<UpdateCurrentAsynchronousEvent>b__27_0()
System.Threading.ThreadHelper:ThreadStart_Context(Object)
System.Threading.ExecutionContext:RunInternal(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object)
System.Threading.ThreadHelper:ThreadStart()

An exception was caused by the HugsLibChecker assembly. Exception was: System.MissingMethodException: void Verse.LongEventHandler.QueueLongEvent(System.Action,string,bool,System.Action`1<System.Exception>)
  at HugsLibChecker.HugsLibChecker.RunAllChecks () [0x00056] in <17e0364003f64863ad8732cb22ef5516>:0
Verse.Log:Error(String, Boolean)
HugsLibChecker.HugsLibChecker:RunAllChecks()
HugsLibChecker.HugsLibChecker:.ctor(ModContentPack)
System.Reflection.MonoCMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoCMethod:InternalInvoke(Object, Object[])
System.Reflection.MonoCMethod:DoInvoke(Object, BindingFlags, Binder, Object[], CultureInfo)
System.Reflection.MonoCMethod:Invoke(BindingFlags, Binder, Object[], CultureInfo)
System.RuntimeType:CreateInstanceImpl(BindingFlags, Binder, Object[], CultureInfo, Object[], StackCrawlMark&)
System.Activator:CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[])
System.Activator:CreateInstance(Type, Object[])
Verse.LoadedModManager:CreateModClasses()
Verse.LoadedModManager:LoadAllActiveMods()
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.<>c:<Start>b__6_1()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.<>c:<UpdateCurrentAsynchronousEvent>b__27_0()
System.Threading.ThreadHelper:ThreadStart_Context(Object)
System.Threading.ExecutionContext:RunInternal(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object)
System.Threading.ThreadHelper:ThreadStart()
#2
Help / Re: XML Auto-Documentation
February 21, 2020, 09:59:33 AM
RimWorld AutoDocs for 1.1.2551 rev106


I've run the tool the OP provided for documentation on v1.1. It's on MEGA because it's 3041KB and the maximum attachment size here is 1000KB.

https://mega.nz/#!9vw3mCZT!KZnzu5MsuNSouOv3LMK4DnJ7-zbrMnR05JjD7YLVSQg

Edit: Sorry, wrong link. Fixed now.
#3
I briefly looked into this not too long ago and what I gathered from it is that it's not as easy as you'd think. I'm pretty sure all colonists are stuck with the default carry weight (35kg IIRC) because of their bodysize (which is 1.0 IIRC). A few forum posts I read on here said this anyway... I could be mistaken or the posts could've been old though.
#4
Releases / Re: [1.0] Medical IV's - Update 1.4.1
June 10, 2019, 06:17:20 AM
QuoteBut could you please provide a download ability ?

Sure. Just added it now. I forgot since I was mid-bug fixing.
#5
Releases / [1.0] Medical IV's - Update 1.4.1
June 09, 2019, 10:46:08 PM

[Description]
Medical IV's aims to further improve your healthcare quality by adding IV drips (Intraveneous Therapy).
So far the mod adds 6 different IV's; a blood transfusion that reduces the bleed rate of a colonist, a nutritional drip which provides an immobile colonist with constant food,
a painkiller drip which reduces a colonist's pain significantly, an antibiotic drip which improves a colonist's blood filtration/immunity gain speed,
an anesthetic drip which keeps a pawn in a medically induced coma and finally a glitterworld drip that combines the functionality of the painkiller, antibiotic and blood drip.
Additionally, each drip will provide boosts to both medical tend quality and surgery success chance when placed adjacent to a hospital bed.


- Powered by Harmony and HugsLib

https://steamcommunity.com/sharedfiles/filedetails/?id=1424438685

[How to Use]
All of the IV's will function when placed adjacent to any bed or sleeping spot. They will provide the health benefits to all pawns that are in a bed and directly above, below, left or right of the IV but not if they're diagonal from it. The 6 drips are based on the Vitals Monitor and as such each machine should be placed adjacent to any hospital bed for the medical offsets to work - this means that tend quality and other bed quality benefits will only work for hospital beds.

[Medical IV's](The Big Update)
Medical IV's introduces a new, key piece of technology from the modern era of medicine - intravaneous therapy or "medical drips". In real life, these drips contain fluids such as antibiotics, painkillers or any other medication and make use of tubes to directly inject the fluid into a person's bloodstream. This update for Medical IV's sees the majority of code rewritten, the addition of 2 extra machines and dozens of bug fixes or general QoL improvements or balancing. Minor changes include a new logo (Made by me, Knight) and implementation of coveted features/suggestions put forward by others.

[Features]
Currently includes 6 machines:
- A blood IV for reducing blood loss by 75%
- A painkiller IV to block all pain
- An antibiotic IV to speed up recovery from infection and disease
- A nutritional IV to keep bed ridden colonist's fed
- An anesthetic IV to induce a medical coma in a pawn
- A glitterworld IV that combines the functions of the painkiller, blood and antibiotic IV

[Additional Features]
Other features are bundled with the drips to add to the level of realism and improve gameplay. These include:
- Addition of craftable/consumable painkillers
- Addition of craftable/consumable antibiotics
- Addition of blood bags
- A new plant with interesting qualities
- An overhauled refill system
- Ability to upgrade to more convenient machines requiring no refill through research
- The ability to draw blood from colonists / bleed a prisoner to death
- An updated research tab for the mod

[Credits]
Knight: Code & XML ; Minor graphics and Logo
Kotobuki Mugi: Graphics & Large assets
ilikegoodfood: For his BleedRate hediff code

Common FAQ

  • Can I make suggestions? Sure. As a matter of fact, I encourage it! I'd like to push my abilities whilst making the game as fun as possible.
  • Is there an impact on performance? It's highly unlikely you'll experience performance problems with my mod! It only updates every 60 ticks and should absolutely be fine as long as you don't have thousands of the IV drips on the map :)
  • Is it safe to add to existing saves? Yes, it should be absolutely fine to add to existing saves. Nothing has been edited, removed or changed that's related to Rimworld or any other mod.
  • How about removing it? I imagine it wouldn't cause significant issues but obviously be cautious of the fact that placing down objects and then removing the mod associated with those objects could be problematic. It's always best to remove the objects first before uninstalling.
  • Permissions? Don't reupload it anywhere and don't blatantly copy the code - feel free to make patches and compatibility edits (if needed).
  • How do I get blood bags? You can get blood bags by either drawing blood from colonists/prisoners or by growing bloodleaf, crushing it into a powder and then synthesising it into blood bags at a drug lab. You'll require Penyoxycilin production and bloodstem infusion research unlocked though.



Support
If you like or use my mods, consider buying me a coffee on ko-fi. It'll speed up the delivery of updates, any future mods I've got planned and generally motivate me to make more!


https://ko-fi.com/knight_#


[attachment deleted due to age]
#6
With the About.xml file within a mod you can use <![CDATA[ ..... ]]> to implement tags such as <size=23> and <color=#fffffff>, etc. I tried doing this with a LanguageData file within Language/English/Keyed when an incident pops up / letter is received. Unfortunately, it seems like Rimworld only uses the basic 'string' datatype with these dialogue boxes and nothing more unlike the About.xml which uses, correct me if I'm wrong, Rich Text Format.

Any way around this? Or, rather, anything I can do about it? A brief search here got me to a comment saying that most of the text in-game can actually be altered and stylised through 'control codes' and that images can actually be inserted too. Outside of the about.xml, I just can't see where.

Cheers
#7
I use 64Bit but it doesn't matter, the RAM usage doesn't go above 500MB. Also, this wasn't an issue back in B19 and B18 - the 32bit versions of the game.
#8
My startup programs are meticulous and I never have more than 6 background apps. Also, I've got 16GB of RAM - this is neither a hardware nor software issue. It's exclusively Rimworld.

I think I'm just gonna have to test each of my mods individually until I find a resolution. Thanks for the response though.
#9
Okay, I've found my issue by using RuntimeGC and setting the memory update speed to 0.03 seconds. Once the RAM exceeds 480MB it resets (garbage collection) and stutters -- badly. My new problem is: how do I stop it from severely stuttering during garbage collection?
#10
Is there a technical way of seeing which mod is causing lag spikes? I don't want to have to manually go through each of my mods and check, surely there's a mod tool or even another mod altogether that can help here? From what I've briefly tested, no Dev setting is capable of this.

Any help? Thanks.
#11
Help / Re: Harmony Itab Question
October 19, 2018, 10:50:39 AM
I'm a month late but I've ran into the same issue. Did you manage to fix this? Or does anyone else have an idea on how to replace 'this' or 'base' to reference the instance's Pawn?
#12
Bump.

This issue is still unsolved and is pretty vital to something I'm currently working on. Any suggestions at all would be greatly appreciated.
#13
Help / Re: pulling live data from game to outside
September 16, 2018, 09:06:52 AM
Quoteafter saving stuff to a text its easy to do rest. My strugle is reading stats then saving it to something out of the game.
Im just an ameteur in c# but i couldn't find it.

Try this - https://stackoverflow.com/questions/9907682/create-a-txt-file-if-doesnt-exist-and-if-it-does-append-a-new-line

Again, not 100% sure how Rimworld will react trying to save to an external file but it doesn't hurt to try.
#14
Help / Re: pulling live data from game to outside
September 15, 2018, 08:17:50 AM
I'm not an expert at C# but I would assume that you could call the stats of the pawn like normal and then integrate the ability to create a text file into the mod. From here you'd just format it and then use another program or script to read the text file and manipulate that as you will. If you're advanced enough at using C# then you could probably setup some sort of external application with a GUI that displays the information read from the text file made by the Rimworld mod.

It'd take a while and would be quite complex but it sounds reasonable and possible. You might be able to make a suggestion on here for it depending on how nice people are feeling.

Generally, though, you wouldn't be able to make the game itself display on your second screen. It'd almost certainly need to be done by another application altogether.
#15
I'm trying to make a script run the instant a pawn wears a specific piece of apparel. I've written the script but there's nothing inside the Apparel class that can be overridden that allows for scripts to be run when worn. I tried to create a constructor but this just returns the following error once being spawned into the world:

Root level exception in OnGUI(): 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

Any suggestions? Does "ExposeData()" run once an item is worn? Maybe I could call upon a method there?

Thanks.