16Changes - Vanilla-Expanded/VanillaExpandedFramework GitHub Wiki
The 1.6 version of the game brought a lot of interesting changes to the game, and we took the opportunity to take a good look at all the code we had and improve it significantly. We also listened to performance complaints and adjusted a lot of things.
If you had a project using the VE Framework, this list of changes will help you make the transition!
PANIC! What do I do as a modder??
- Step 1, relax. We changed a lot, but removed very little. Most of the changes were internal
- Majority of the changes were namespaces, so if you had a mod using VanillaGenesExpanded.WhateverExtension you'll need to change it to VEF.Genes.WhateverExtension in your XML. We have documented all the relevant changes here!
General changes:
- VFECore namespace changed to VEF. Individual namespaces created for all of the libraries included in the Framework, as specified below, and they all follow the same naming convention, VEF.Library
- Performance improvements on the more impactful patches
- All Harmony patches are now called "VanillaExpandedFramework_Class_Method" (why? This way if one of the patches fails it will point to the Framework, not to a namespace that might confuse people, such as VanillaGenesExpanded, a non-existent mod)
Included libraries:
If not mentioned, the code was previously under VFECore.WhateverClass
Abilities:
- Namespace is VEF.Abilities, renamed from VFECore.Abilities
Aesthetic scaling:
- Namespace is VEF.AestheticScaling, previously just in VFECore
AI:
- Namespace is VEF.AI, previously just in VFECore
- Moved DraftedJobs here
Animal Behaviours:
- Namespace is VEF.AnimalBehaviours, renamed from AnimalBehaviours
- NocturnalAnimals namespace moved to VEF.AnimalBehaviours
- Removed salamander code (from the old, now removed VAE Caves)
Apparels:
- Namespace is VEF.Apparels, previously just in VFECore
- Apparel_Shield moved here
- Moved CompApparelHediffs here
- Moved CompShield, CompShieldField and CompShieldBubble here
- Merged the two existing ApparelExtension, as they were a duplicate
Buildings:
- Namespace is VEF.Buildings, renamed from VanillaFurnitureExpanded
- Moved RecipeInheritance here, extension now called RecipeInheritanceExtension instead of just ThingDefExtension
- Moved DoorTeleporter here
- Moved Building_AutoDoorLockable here
- Moved FacilityExtension here
- Moved CompBouncingArrow here
- Moved CompCustomizableGraphic here
- Moved CompCustomCauseHediff_AoE here
- Moved PlaceWorker_CompCustomCauseHediff_AoE
- Moved CompScheduleExtended here
- Moved CompStatsWhenPowered here
- Moved CompThrowMote here
- Moved PlaceWorker_DeepDrillLimitation here
- Moved PlaceWorker_AttachedToWallMultiCell here
- Moved CompHediffGiver here
Cooking:
- Namespace is VEF.Cooking, instead of VanillaCookingExpanded
- Moved CompIngestedThoughtFromQuality here
- Moved IngredientValueGetter_NutritionWithExtraIngredient from VE Cooking here
ExcludeFromQuestsExtension
- Gone, reduced to atoms. It has been deprecated for a long time. Use FactionDefExtension's excludeFromQuests field.
Factions:
- Namespace is VEF.Factions, previously just in VFECore
- Moved ScenPart_ForcedFactionGoodwill here
- Moved StockGenerator_ThingSetMakerTags here
- Moved FactionDefExtension here
Genes:
- Namespace is VEF.Genes, instead of VanillaGenesExpanded (this one caused a lot of confusion!)
- Moved HediffCompProperties_CustomBlood and HediffComp_CustomBlood here
Graphics:
- Namespace is VEF.Graphics, previously just in VFECore
- Moved GraphicCustomization here
- Moved Graphic_Animated, Graphic_AnimatedMote, Graphic_DarklightMulti, Graphic_DarklightSingle, Graphic_Fleck_Animated, Graphic_FleckCollection and Graphic_StackCountByIngredient all here
- Moved GraphicOffsets here
- Moved CompGlower_DirtyMapMesh here
- Moved ThingWithFloorGraphic and FloorGraphicExtension here
- Moved HeadExtension here
- Moved ConditionalGraphics, DynamicGraphics and TaggedGraphics here
Hediffs
- Namespace is VEF.Hediffs, previously just in VFECore
- Moved Hediff shields here, HediffComp_DamageAura, HediffComp_Draw, HediffComp_Shield and ShieldsSystem
ItemProcessor
- Gone, reduced to atoms. The automation of machines now uses the PipeSystem library, which is SO MUCH BETTER! Guide to swap here
Maps:
- Namespace is VEF.Maps, previously just in VFECore
- Moved ActiveTerrain here
- Moved LordJob_DefendShip here
- Moved ObjectSpawnsDef here
Memes:
- Namespace is VEF.Memes, instead of VanillaMemesExpanded
OptionalFeatures
- Namespace is VEF.OptionalFeatures, previously just in VFECore
- Externalized creation of new features using XML
Pawns
- Namespace is VEF.Pawns, previously just in VFECore
- Moved PawnKindDefExtension here
- Moved ThoughtExtensions here
- Moved TraitExtension here
- Moved PawnShieldGenerator here
- Moved CompProperties_DependsOnBuilding here
- Moved CompProperties_PawnDependsOn here
- Moved BackstoryDef here
- Moved PregnancyApproaches here
- Moved WorkGiver_ConstructWithSkill here
- Moved MoteAttached_TargetingLock here
- Moved ApparelDrawPosExtension here
Planet
- Namespace is VEF.Planet, previously just in VFECore
- MovingBases moved here
- HireableSystem moved here
- Moved LordToil_SiegeCustom here
- Moved LordToilData_SiegeCustom here
- Moved LordJob_SiegeCustom here
- Moved ScenPart_ArriveAtEdge here
Plants
- Namespace is VEF.Plants, renamed from VanillaPlantsExpanded
- A bunch of the plants classes in Vanilla Plants Expanded and More Plants moved here
Research
- Namespace is VEF.Research, previously just in VFECore
- Moved ResearchProjectUtility here
Storyteller
- Namespace is VEF.Storyteller, previously just in VFECore
- Moved ExcludeFromQuestsExtension here
- Moved IncidentWorker_RaidEnemySpecial here
- Moved IncidentDefOf here
- Moved IncidentDefExtension here
- Moved VanillaStorytellersExpanded here
Sounds
- Namespace is VEF.Sounds, previously just in VFECore
- Moved ForcedMusicManager here
- Moved SoundTest here
- Moved CompAmbientSound here
Things
- Namespace is VEF.Things, previously just in VFECore
- Moved CompLabelByIngredients here
- Moved StuffExtension here
- Moved ThingDefExtension here
- Moved RandomOutcomeComp here
Weapons
- Namespace is VEF.Weapons, previously just in VFECore, or under the specific external assembly (VanillaWeaponsExpandedLaser, HeavyWeapons, etc)
- Moved ExplosiveTrailsEffect here
- Moved HeavyWeapons here
- Moved NoCamShakeExplosions here
- Moved SmokingGun here
- Moved VWEMakeshift here
- Changed Grimworld_FlintlockSmoke to VEF_FlintlockSmoke
- In ExplosiveTrailsEffect, renamed GasGrenade to Projectile_GasGrenade
- In ExplosiveTrailsEffect, renamed SmokeGrenadeto Projectile_SmokeGrenade
- In SmokingGun, renamed Verb_ShootWithSmoke to Verb_ShootWithFlintlockSmoke
- Moved DamageWorker_PushBackAttackMelee here
- Moved ExpandableProjectile here
- Moved BeamProjectile here
- Moved TeslaProjectile here
- Moved VerbProps_ShootCone here
- Moved DamageExtension here
- Moved ProjectileExtension here
- Moved CompExplosive_Shells here
- Moved CompHomingProjectile here
- Moved CompWeaponHediffs here
- Moved StatPart_Ammo here
- Moved VanillaWeaponsExpandedLaser here
- Changed MoteLaserDectoration to MoteLaserDecoration
- Moved DamageWorker_OPToxic here
Weathers, previously just in VFECore
- Namespace is VEF.Weathers
- Moved WeatherOverlays here
- Moved WeatherEffectsExtension here
- Moved WeatherExtension here
- Moved WeatherLetterExtensions here
Other assemblies
KCSG, MVCF, PipeSystem, Outposts, Mod Settings Framework
- No changes made to any of these
ExplosiveTrailsEffect
- Moved to Core, under VEF.Weapons
GraphicCustomization
- Moved to Core, under VEF.Graphics
HeavyWeapons
- Moved to Core, under VEF.Weapons
NoCamShakeExplosions
- Moved to Core, under VEF.Weapons
OpToxic
- Removed, it was already unused since 1.5. Except DamageWorker_OPToxic, moved to VEF.Weapons
RRO
- Moved to Core, under VEF.Things
RecipeInheritance
- Moved to Core, under VEF.Furniture
SmokingGun
- Moved to Core, under VEF.Weapons
VanillaWeaponsExpandedLaser
- Moved to Core, under VEF.Weapons
VanillaStorytellersExpanded
- Moved to Core, under VEF.Storyteller
VWEMakeshift
- Moved to Core, under VEF.Weapons