[1.3] Children and Pregnancy - v4.1.0

Started by GhostData, March 22, 2020, 04:32:51 PM

Previous topic - Next topic

Meester


GhostData

Quote from: NeonTheCoder on June 10, 2020, 07:52:15 PM
Quote from: Tragix on June 10, 2020, 07:34:25 PM
3.0.1 released: https://gitlab.com/Tragix/children-and-pregnancy-collab/-/tags/v3.0.1

Includes some def validation for enabled races. Basically the assumptions we make about modder-made defs are now enforced. Also includes a few fixes to how body addon offsets and scales work, including the east-west flip problem. Twileks will still need a patch for now to deal with the actual offsets, since it looks like the default scales don't work. The race also has a custom head graphic used to connect the head tentacle things, which isn't present on the toddler graphics, so some graphic work would be needed.

I have defaulted the child stage for unsupported races to use the adult head graphic scaled. We'll see how well it works.

awesome thanks man, I really appreciate it. Going to start making patches for the races in SWR, as well as the Outpost 21 outer rim races now, been wanting to do this all day.
Might even make a patch for Naga if I have the time.

Let me know what issues you run into. I tried to give enough levers for folks to handle most races, but I really have no idea what's out there.

Quote from: Meester on June 10, 2020, 08:31:48 PM
Any update to the Steam version?
'Fraid not, I don't support the steam release.

Meester

#212
Quote from: Tragix on June 10, 2020, 08:35:45 PM

'Fraid not, I don't support the steam release.

Does this mean you will make your own Steam version?

Im unsure if it will work with Children and Learning too.

Chezzprinn


TheBadiator

After the Update, all of my infants immediately grew up, and all of them glitched, so that even though they have 100 manipulation, they can't interact with objects. I had roughly 3 children old enough to hold pistols that they can't use now, and I had 5 more on the way that I don't have a bed or room for.

NeonTheCoder

Quote from: Tragix on June 10, 2020, 08:35:45 PM
Let me know what issues you run into. I tried to give enough levers for folks to handle most races, but I really have no idea what's out there.
I got most of it setup and going pretty well, but for some reason they skip toddler phase straight to toddler upright phase, it wouldn't be too much of an issue I guess? Not sure if it's my code (I used the default one as a template and only replaced what I needed, made new body types for newborn, toddler, toddler upright, but not child bc head code line) but it was just disappointing because I made a texture for the toddler phase. Also this may be because of that but the alignment tool didn't seem to work in that toddler stage either, even if the body is forcibly changed with character edit. Speaking of, it seems that the child stage head doesn't render well with certain colors, pictured is a twilek child with same color as an adult but the colors look if it has been posterized, not sure if this is an issue with my textures but the other body textures I made don't do this.

Not sure if these issues are due to something with the mod or a conflict or what. Another thing that is a bit of an annoyance is that the body parts get a random direction for newborns so sometimes infant twi'leks can look fine, but other times the lekku are on left or right. I'm guessing because the infant is a torso texture it doesn't display the rotation, so I would have to try to fix that by adding directional graphics (just one more I don't think it would be that big of an issue) I just went off the example of the default textures, seemed like their rotation was locked.

But these problems are probably just me not understanding everything completely, sorry for being such a nuisance haha


Morrneyo

#217
Bug list :
1. When a baby is born, they appear as a adult torso without head
2. Toddlers try to escape when they are fed, crawling toward to a food source
3. "RimWorldChildren.AcquirableTrait" is missing, keep popping up as red text
4. Cannot access to a debug action menu because of a thing I copied under

Exception filling window for Verse.ImmediateWindow: System.TypeLoadException: Could not resolve type with token 01000096 (from typeref, class/assembly AlienRace.AlienPartGenerator, AlienRace, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null)

5. Tons of crashes while loading a game

Shydragon

Some glitches popped up this morning.

- The infant in my current save looked like a headless naked torso. When she started crawling at 2 quadrums she looked normal, but her clothes don't appear on her sprite.
- Childcarers take other adults to their beds to feed them.
- I have a colonist that I recruited as a 12 year old. His child sprite looked completely normal even after the update, but the moment he turned 13 his sprite became a headless naked child torso (unless he's in bed, then it only shows his head like normal).

I loaded up my other save where there's like 10 babies and all the sprites are messed up, but differently than my current save.
- The age 2 quadrum to 2 year old babies look either like headless naked adults or like walking sausages with onesies (in the crawling pose) stuck on them. This doesn't seem to correlate with age, since I have 2 year olds, 1 year olds, and >1 year olds with both versions of the glitched sprite.
- The 3 kids aged 3-5 look like headless adults. Their clothes appear normally.
- Teenagers look like adults but with child sized heads and clothes.

Unit501


Unit501

Quote from: Unit501 on June 11, 2020, 02:49:47 PM
Updated to the new version, am now unable to generate a world.

https://gist.github.com/cccbeccbd75c38ad8e32d008c0939bf0
so in my explorations with playing with the modlist just to bug test it, the mods that I have that were being trouble with the world gen were,
Racc:https://steamcommunity.com/sharedfiles/filedetails/?id=2018388533
Thrumbkin: https://steamcommunity.com/sharedfiles/filedetails/?id=2017359567
Avali by Eriss

GhostData

#221
Quote from: TheBadiator on June 10, 2020, 11:31:01 PM
After the Update, all of my infants immediately grew up, and all of them glitched, so that even though they have 100 manipulation, they can't interact with objects. I had roughly 3 children old enough to hold pistols that they can't use now, and I had 5 more on the way that I don't have a bed or room for.
I'm not sure what part of  "This is incompatible with previous saves" wasn't clear.

Quote from: NeonTheCoder on June 11, 2020, 02:20:04 AM
Quote from: Tragix on June 10, 2020, 08:35:45 PM
Let me know what issues you run into. I tried to give enough levers for folks to handle most races, but I really have no idea what's out there.
I got most of it setup and going pretty well, but for some reason they skip toddler phase straight to toddler upright phase, it wouldn't be too much of an issue I guess? Not sure if it's my code (I used the default one as a template and only replaced what I needed, made new body types for newborn, toddler, toddler upright, but not child bc head code line) but it was just disappointing because I made a texture for the toddler phase. Also this may be because of that but the alignment tool didn't seem to work in that toddler stage either, even if the body is forcibly changed with character edit. Speaking of, it seems that the child stage head doesn't render well with certain colors, pictured is a twilek child with same color as an adult but the colors look if it has been posterized, not sure if this is an issue with my textures but the other body textures I made don't do this.

Not sure if these issues are due to something with the mod or a conflict or what. Another thing that is a bit of an annoyance is that the body parts get a random direction for newborns so sometimes infant twi'leks can look fine, but other times the lekku are on left or right. I'm guessing because the infant is a torso texture it doesn't display the rotation, so I would have to try to fix that by adding directional graphics (just one more I don't think it would be that big of an issue) I just went off the example of the default textures, seemed like their rotation was locked.

But these problems are probably just me not understanding everything completely, sorry for being such a nuisance haha
Lot's to unravel here.
The lifestages in CNPs def are mapped to a pawn using the pawn's LifeStage as well as age if minAge is provided. CNP alters the human baby lifestage to end at .5 years instead of 1.2 years that vanilla uses. Most other races probably use the same scale, so it's probable that your pawn is actually reaching stage 3 (toddler upright) before they even qualify for stage 2 - This happened a lot in testing because the birthday tool jumps from 0 years to 1 years, skipping the human toddler stage. Take a look at the XML patch in the root folder, as it's adjusting the human lifestage ages.

The child head color is another thing I notice with the Orassan children. Right now, I don't really know enough about how colors are applied to pawn bodies and faces to say what's going on here. Definitely on the todo list, however.

The infant lifestage currently uses a non-directional graphic. I've been working around these limitations up to now as I don't have the ability to modify or create graphics myself. The random direction on infant body addons is due the pawn technically facing in some other direction when downed, but still being forced to use the south facing graphic. For this reason, the current defs actually disable body addons for infants.

I appreciate you working on a patch, as your learnings will certainly help make CNP more accessible to others who want to support their own races.

Quote from: zbysiek12345 on June 11, 2020, 06:03:09 AM
I came from steam to post my bug reports after update.

https://gist.github.com/HugsLibRecordKeeper/e665507509c7230cf373fa260d47ae9d
Unfortunately, this tells me where a problem is occurring, but not with enough context to fix it. I will need to know more about the pawns that are throwing this errors - age, race, faction, etc.
There are also some unrelated errors to do with minified vents.

Quote from: Morrneyo on June 11, 2020, 10:50:14 AM
Bug list :
1. When a baby is born, they appear as a adult torso without head
2. Toddlers try to escape when they are fed, crawling toward to a food source
3. "RimWorldChildren.AcquirableTrait" is missing, keep popping up as red text
4. Cannot access to a debug action menu because of a thing I copied under

Exception filling window for Verse.ImmediateWindow: System.TypeLoadException: Could not resolve type with token 01000096 (from typeref, class/assembly AlienRace.AlienPartGenerator, AlienRace, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null)

5. Tons of crashes while loading a game
Please provide actual log files. A mod list wouldn't hurt either, as the typeload exception can occur when we reference AlienRaces without it installed - I may need patch out some more direct references.
As with any other report, I will need to know the ages and races of the pawns involved - parents and children.

Quote from: Shydragon on June 11, 2020, 02:13:12 PM
Some glitches popped up this morning.

- The infant in my current save looked like a headless naked torso. When she started crawling at 2 quadrums she looked normal, but her clothes don't appear on her sprite.
- Childcarers take other adults to their beds to feed them.
- I have a colonist that I recruited as a 12 year old. His child sprite looked completely normal even after the update, but the moment he turned 13 his sprite became a headless naked child torso (unless he's in bed, then it only shows his head like normal).

I loaded up my other save where there's like 10 babies and all the sprites are messed up, but differently than my current save.
- The age 2 quadrum to 2 year old babies look either like headless naked adults or like walking sausages with onesies (in the crawling pose) stuck on them. This doesn't seem to correlate with age, since I have 2 year olds, 1 year olds, and >1 year olds with both versions of the glitched sprite.
- The 3 kids aged 3-5 look like headless adults. Their clothes appear normally.
- Teenagers look like adults but with child sized heads and clothes.
Sounds like you installed over a previous save. 3.0.0 is a save breaking change - It is wholly incompatible with a game that started when using 2.x.x.

Quote from: Unit501 on June 11, 2020, 02:49:47 PM
Updated to the new version, am now unable to generate a world.

https://gist.github.com/cccbeccbd75c38ad8e32d008c0939bf0

Good Lord, your logs are like a treasure trove of alien races I didn't even know existed. So far I am unable to replicate the problem, but I am downloading some of races I see in your logs to test with.

Quote from: Unit501 on June 11, 2020, 03:39:14 PM
Quote from: Unit501 on June 11, 2020, 02:49:47 PM
Updated to the new version, am now unable to generate a world.

https://gist.github.com/cccbeccbd75c38ad8e32d008c0939bf0
so in my explorations with playing with the modlist just to bug test it, the mods that I have that were being trouble with the world gen were,
Racc:https://steamcommunity.com/sharedfiles/filedetails/?id=2018388533
Thrumbkin: https://steamcommunity.com/sharedfiles/filedetails/?id=2017359567
Avali by Eriss
Very helpful, thank you. Will get back once I figure it out.
edit: Do you have any mods that effect world gen or factions? A mod load order may also be helpful.

Unit501

#222
Quote from: Tragix on June 11, 2020, 03:45:12 PM
Quote from: TheBadiator on June 10, 2020, 11:31:01 PM
After the Update, all of my infants immediately grew up, and all of them glitched, so that even though they have 100 manipulation, they can't interact with objects. I had roughly 3 children old enough to hold pistols that they can't use now, and I had 5 more on the way that I don't have a bed or room for.
I'm not sure what part of  "This is incompatible with previous saves" wasn't clear.

Quote from: NeonTheCoder on June 11, 2020, 02:20:04 AM
Quote from: Tragix on June 10, 2020, 08:35:45 PM
Let me know what issues you run into. I tried to give enough levers for folks to handle most races, but I really have no idea what's out there.
I got most of it setup and going pretty well, but for some reason they skip toddler phase straight to toddler upright phase, it wouldn't be too much of an issue I guess? Not sure if it's my code (I used the default one as a template and only replaced what I needed, made new body types for newborn, toddler, toddler upright, but not child bc head code line) but it was just disappointing because I made a texture for the toddler phase. Also this may be because of that but the alignment tool didn't seem to work in that toddler stage either, even if the body is forcibly changed with character edit. Speaking of, it seems that the child stage head doesn't render well with certain colors, pictured is a twilek child with same color as an adult but the colors look if it has been posterized, not sure if this is an issue with my textures but the other body textures I made don't do this.

Not sure if these issues are due to something with the mod or a conflict or what. Another thing that is a bit of an annoyance is that the body parts get a random direction for newborns so sometimes infant twi'leks can look fine, but other times the lekku are on left or right. I'm guessing because the infant is a torso texture it doesn't display the rotation, so I would have to try to fix that by adding directional graphics (just one more I don't think it would be that big of an issue) I just went off the example of the default textures, seemed like their rotation was locked.

But these problems are probably just me not understanding everything completely, sorry for being such a nuisance haha
Lot's to unravel here.
The lifestages in CNPs def are mapped to a pawn using the pawn's LifeStage as well as age if minAge is provided. CNP alters the human baby lifestage to end at .5 years instead of 1.2 years that vanilla uses. Most other races probably use the same scale, so it's probable that your pawn is actually reaching stage 3 (toddler upright) before they even qualify for stage 2 - This happened a lot in testing because the birthday tool jumps from 0 years to 1 years, skipping the human toddler stage. Take a look at the XML patch in the root folder, as it's adjusting the human lifestage ages.

The child head color is another thing I notice with the Orassan children. Right now, I don't really know enough about how colors are applied to pawn bodies and faces to say what's going on here. Definitely on the todo list, however.

The infant lifestage currently uses a non-directional graphic. I've been working around these limitations up to now as I don't have the ability to modify or create graphics myself. The random direction on infant body addons is due the pawn technically facing in some other direction when downed, but still being forced to use the south facing graphic. For this reason, the current defs actually disable body addons for infants.

I appreciate you working on a patch, as your learnings will certainly help make CNP more accessible to others who want to support their own races.

Quote from: zbysiek12345 on June 11, 2020, 06:03:09 AM
I came from steam to post my bug reports after update.

https://gist.github.com/HugsLibRecordKeeper/e665507509c7230cf373fa260d47ae9d
Unfortunately, this tells me where a problem is occurring, but not with enough context to fix it. I will need to know more about the pawns that are throwing this errors - age, race, faction, etc.
There are also some unrelated errors to do with minified vents.

Quote from: Morrneyo on June 11, 2020, 10:50:14 AM
Bug list :
1. When a baby is born, they appear as a adult torso without head
2. Toddlers try to escape when they are fed, crawling toward to a food source
3. "RimWorldChildren.AcquirableTrait" is missing, keep popping up as red text
4. Cannot access to a debug action menu because of a thing I copied under

Exception filling window for Verse.ImmediateWindow: System.TypeLoadException: Could not resolve type with token 01000096 (from typeref, class/assembly AlienRace.AlienPartGenerator, AlienRace, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null)

5. Tons of crashes while loading a game
Please provide actual log files. A mod list wouldn't hurt either, as the typeload exception can occur when we reference AlienRaces without it installed - I may need patch out some more direct references.
As with any other report, I will need to know the ages and races of the pawns involved - parents and children.

Quote from: Shydragon on June 11, 2020, 02:13:12 PM
Some glitches popped up this morning.

- The infant in my current save looked like a headless naked torso. When she started crawling at 2 quadrums she looked normal, but her clothes don't appear on her sprite.
- Childcarers take other adults to their beds to feed them.
- I have a colonist that I recruited as a 12 year old. His child sprite looked completely normal even after the update, but the moment he turned 13 his sprite became a headless naked child torso (unless he's in bed, then it only shows his head like normal).

I loaded up my other save where there's like 10 babies and all the sprites are messed up, but differently than my current save.
- The age 2 quadrum to 2 year old babies look either like headless naked adults or like walking sausages with onesies (in the crawling pose) stuck on them. This doesn't seem to correlate with age, since I have 2 year olds, 1 year olds, and >1 year olds with both versions of the glitched sprite.
- The 3 kids aged 3-5 look like headless adults. Their clothes appear normally.
- Teenagers look like adults but with child sized heads and clothes.
Sounds like you installed over a previous save. 3.0.0 is a save breaking change - It is wholly incompatible with a game that started when using 2.x.x.

Quote from: Unit501 on June 11, 2020, 02:49:47 PM
Updated to the new version, am now unable to generate a world.

https://gist.github.com/cccbeccbd75c38ad8e32d008c0939bf0

Good Lord, your logs are like a treasure trove of alien races I didn't even know existed. So far I am unable to replicate the problem, but I am downloading some of races I see in your logs to test with.

Quote from: Unit501 on June 11, 2020, 03:39:14 PM
Quote from: Unit501 on June 11, 2020, 02:49:47 PM
Updated to the new version, am now unable to generate a world.

https://gist.github.com/cccbeccbd75c38ad8e32d008c0939bf0
so in my explorations with playing with the modlist just to bug test it, the mods that I have that were being trouble with the world gen were,
Racc:https://steamcommunity.com/sharedfiles/filedetails/?id=2018388533
Thrumbkin: https://steamcommunity.com/sharedfiles/filedetails/?id=2017359567
Avali by Eriss
Very helpful, thank you. Will get back once I figure it out.
edit: Do you have any mods that effect world gen or factions? A mod load order may also be helpful.
I'm not entirely sure, where the modlist note is but,
The only WorldGen, Faction, changes come from the Race mods, and their own factions.
I loaded CnP at the end of the modlist, and CharGen and  World gen occured properly this time and I was able to enter a map, (with the Pregnancy and Lifespan settings for all Races turned off,).
Seeing that it was functional, decided to work through the races turning on the settings for the humanoid races. (Human, Fersian, Orassan, Thrumbkin, etc.) Execption errors began to float in.
Exception drawing Saski: System.NullReferenceException: Object reference not set to an instance of an object
  at RimWorldChildren.Children_Drawing.ModifyClothingForChild (UnityEngine.Material origMat, Verse.Pawn pawn, Verse.Rot4 bodyFacing) [0x0006f] in <4bb0865954144f9390712108e62e96fc>:0
  at (wrapper dynamic-method) Verse.PawnRenderer.DMD<DMD<RenderPawnInternal_Patch2>?800333056::RenderPawnInternal_Patch2>(Verse.PawnRenderer,UnityEngine.Vector3,single,bool,Verse.Rot4,Verse.Rot4,Verse.RotDrawMode,bool,bool,bool)
  at Verse.PawnRenderer.RenderPawnInternal (UnityEngine.Vector3 rootLoc, System.Single angle, System.Boolean renderBody, Verse.RotDrawMode draw, System.Boolean headStump, System.Boolean invisible) [0x0001a] in <0ee2c524c4be441e9b7f8bfcb20aca6f>:0
  at (wrapper dynamic-method) Verse.PawnRenderer.DMD<DMD<RenderPawnAt_Patch0>?540681344::RenderPawnAt_Patch0>(Verse.PawnRenderer,UnityEngine.Vector3,Verse.RotDrawMode,bool,bool)
  at Verse.PawnRenderer.RenderPawnAt (UnityEngine.Vector3 drawLoc) [0x0002b] in <0ee2c524c4be441e9b7f8bfcb20aca6f>:0
  at Verse.Pawn_DrawTracker.DrawAt (UnityEngine.Vector3 loc) [0x00000] in <0ee2c524c4be441e9b7f8bfcb20aca6f>:0
  at Verse.Pawn.DrawAt (UnityEngine.Vector3 drawLoc, System.Boolean flip) [0x00006] in <0ee2c524c4be441e9b7f8bfcb20aca6f>:0
  at Verse.Thing.Draw () [0x00007] in <0ee2c524c4be441e9b7f8bfcb20aca6f>:0
  at Verse.ThingWithComps.Draw () [0x00000] in <0ee2c524c4be441e9b7f8bfcb20aca6f>:0
  at Verse.DynamicDrawManager.DrawDynamicThings () [0x000d8] in <0ee2c524c4be441e9b7f8bfcb20aca6f>:0

(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

So in summary, I'm not sure what is different this time execept the organization of the mod list.


GhostData

Quote from: Unit501 on June 11, 2020, 04:41:00 PM
I'm not entirely sure, where the modlist note is but,
The only WorldGen, Faction, changes come from the Race mods, and their own factions.
I loaded CnP at the end of the modlist, and CharGen and  World gen occured properly this time and I was able to enter a map, (with the Pregnancy and Lifespan settings for all Races turned off,).
Seeing that it was functional, decided to work through the races turning on the settings for the humanoid races. (Human, Fersian, Orassan, Thrumbkin, etc.) Execption errors began to float in.
Exception drawing Saski: System.NullReferenceException: Object reference not set to an instance of an object
  at RimWorldChildren.Children_Drawing.ModifyClothingForChild (UnityEngine.Material origMat, Verse.Pawn pawn, Verse.Rot4 bodyFacing) [0x0006f] in <4bb0865954144f9390712108e62e96fc>:0
  at (wrapper dynamic-method) Verse.PawnRenderer.DMD<DMD<RenderPawnInternal_Patch2>?800333056::RenderPawnInternal_Patch2>(Verse.PawnRenderer,UnityEngine.Vector3,single,bool,Verse.Rot4,Verse.Rot4,Verse.RotDrawMode,bool,bool,bool)
  at Verse.PawnRenderer.RenderPawnInternal (UnityEngine.Vector3 rootLoc, System.Single angle, System.Boolean renderBody, Verse.RotDrawMode draw, System.Boolean headStump, System.Boolean invisible) [0x0001a] in <0ee2c524c4be441e9b7f8bfcb20aca6f>:0
  at (wrapper dynamic-method) Verse.PawnRenderer.DMD<DMD<RenderPawnAt_Patch0>?540681344::RenderPawnAt_Patch0>(Verse.PawnRenderer,UnityEngine.Vector3,Verse.RotDrawMode,bool,bool)
  at Verse.PawnRenderer.RenderPawnAt (UnityEngine.Vector3 drawLoc) [0x0002b] in <0ee2c524c4be441e9b7f8bfcb20aca6f>:0
  at Verse.Pawn_DrawTracker.DrawAt (UnityEngine.Vector3 loc) [0x00000] in <0ee2c524c4be441e9b7f8bfcb20aca6f>:0
  at Verse.Pawn.DrawAt (UnityEngine.Vector3 drawLoc, System.Boolean flip) [0x00006] in <0ee2c524c4be441e9b7f8bfcb20aca6f>:0
  at Verse.Thing.Draw () [0x00007] in <0ee2c524c4be441e9b7f8bfcb20aca6f>:0
  at Verse.ThingWithComps.Draw () [0x00000] in <0ee2c524c4be441e9b7f8bfcb20aca6f>:0
  at Verse.DynamicDrawManager.DrawDynamicThings () [0x000d8] in <0ee2c524c4be441e9b7f8bfcb20aca6f>:0

(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

So in summary, I'm not sure what is different this time execept the organization of the mod list.
Couple of things:
You have a ton of unsupported races - races that don't meet the native support criteria and will need patches at the moment. Ultimate goal would be to support all races natively, but the current setup can't handle that. Maybe if we changed offsets/scales from direct values to multipliers, we could get a better result for unpatched races? After all, changing the scale of a head and all body addons by 50% ought to keep the alignments closer than reducing them by 0.5 points. I'll have to think on this.

Second, if you DO enable a race in the configs, be sure to reboot the game. I should probably add a notice or automatically reboot when they player leaves that menu. We setup some required component changes at start up, as well as perform def checks. We perform a few checks that should warn you on startup if a race absolutely will not work.

Unit501

Copy that, if you'd like I'll see what I can do to put these other races through the system and see what kinda of trouble I can find?

And just to confirm, the unsupported races are the Ferisans and the Racc correct?