Guest User

RimWorld: Guide to updating a save from A15 to A16

a guest
Dec 22nd, 2016
1,450
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 14.19 KB | None | 0 0
  1. Step 0) Make backup of A15 save, as well as generate a new A16 map using the seed your A15 world used (make sure to select as close to the same tile as you did in A15 as possible for temp/etc), there's a lot of data we'll need from it.
  2.  
  3. Step 1) Copy <visibleMapIndex>0</visibleMapIndex> and paste it below <game>
  4.  
  5. Step 2) Replace <playsettings> to </playsettings> with
  6. <playSettings>
  7. <showLearningHelper>True</showLearningHelper>
  8. <showZones>True</showZones>
  9. <showColonistBar>True</showColonistBar>
  10. <autoHomeArea>True</autoHomeArea>
  11. <lockNorthUp>True</lockNorthUp>
  12. <usePlanetDayNightSystem>True</usePlanetDayNightSystem>
  13. <expandingIcons>True</expandingIcons>
  14. </playSettings>
  15.  
  16. Step 3a) In the <keys> section of <researchManager> replace <keys> to </keys> with
  17. <keys>
  18. <li>Pemmican</li>
  19. <li>PassiveCooler</li>
  20. <li>Devilstrand</li>
  21. <li>Brewing</li>
  22. <li>CarpetMaking</li>
  23. <li>Smithing</li>
  24. <li>Stonecutting</li>
  25. <li>ComplexClothing</li>
  26. <li>DrugProduction</li>
  27. <li>Electricity</li>
  28. <li>PsychiteRefining</li>
  29. <li>WakeUpProduction</li>
  30. <li>GoJuiceProduction</li>
  31. <li>PenoxycylineProduction</li>
  32. <li>Batteries</li>
  33. <li>Refining</li>
  34. <li>NutrientPaste</li>
  35. <li>SolarPanels</li>
  36. <li>AirConditioning</li>
  37. <li>Autodoors</li>
  38. <li>Hydroponics</li>
  39. <li>ElectricSmelting</li>
  40. <li>ElectricCremation</li>
  41. <li>ColoredLights</li>
  42. <li>Machining</li>
  43. <li>IEDBomb</li>
  44. <li>IEDIncendiary</li>
  45. <li>Mortars</li>
  46. <li>MicroelectronicsBasics</li>
  47. <li>TubeTelevision</li>
  48. <li>GunTurrets</li>
  49. <li>Firefoam</li>
  50. <li>MoisturePump</li>
  51. <li>GeothermalPower</li>
  52. <li>HospitalBed</li>
  53. <li>TransportPod</li>
  54. <li>MedicineProduction</li>
  55. <li>MultiAnalyzer</li>
  56. <li>GroundPenetratingScanner</li>
  57. <li>DeepDrilling</li>
  58. <li>VitalsMonitor</li>
  59. <li>ComponentAssembly</li>
  60. <li>MultibarrelWeapons</li>
  61. <li>Cryptosleep</li>
  62. <li>PoweredArmor</li>
  63. <li>ChargedShot</li>
  64. <li>ShipBasics</li>
  65. <li>ShipCryptosleep</li>
  66. <li>ShipReactor</li>
  67. <li>ShipEngine</li>
  68. <li>ShipComputerCore</li>
  69. </keys>
  70.    
  71. Step 3b) Add two more <li>0</li> to <values> -- you'll probably also have to reorder your values to match up with what you had researched prior.
  72.  
  73. Step 3c) Replace All Malariblock with Penoxycyline
  74.  
  75. Step 4a) In <info> within <world> add (But copy them from the A16 save, not this PasteBin)
  76. <planetCoverage>0.3</planetCoverage>
  77. <overallRainfall>Normal</overallRainfall>
  78. <overallTemperature>Normal</overallTemperature>
  79.    
  80. Step 4d) Replace <size> to </size> to with <initialMapSize>(350, 1, 350)</initialMapSize> (But copy it from the A16 save, not this PasteBin)
  81.  
  82. Step 5) Add the following to <uniqueIDsManager> (But copy it from the A16 save, not this PasteBin)
  83. <nextWorldObjectID>98</nextWorldObjectID>
  84. <nextMapID>1</nextMapID>
  85. <nextAreaID>6</nextAreaID>
  86. <nextAncientCryptosleepCasketGroupID>3</nextAncientCryptosleepCasketGroupID>
  87.  
  88. Step 6a) In <factionManager>, need to add <colorFromSpectrum>0.463145</colorFromSpectrum> for each Faction in the list. (The value in it is different depending on the faction, but you'll have to copy from the A16 save if you care)
  89. Step 6b) Replace all of <avoidGridBasic> and <avoidGridSmart> with
  90. <avoidGridsBasic>
  91. <keys />
  92. <values />
  93. </avoidGridsBasic>
  94.  
  95. and
  96.  
  97. <avoidGridsSmart>
  98. <keys />
  99. <values />
  100. </avoidGridsSmart>
  101. respectively.
  102.  
  103. Step 6c) Remove <homeSquare> to </homeSquare> for all the factions.
  104.  
  105. Step 7) In the A16 save, find <worldObjects> and copy all the way to </worldObjects>, then paste that in your A15 save below </worldPawns>
  106.  
  107. Step 8a) Replace <map> and </map> with <maps> and </maps> respectively.
  108. Step 8b) Find <mapInfo> in the A16 save and copy the <tile> and <parent> lines and paste them into the A15 save in the same spot.
  109. Step 8c) Delete the <worldCoords> line in the A15 save, in the <mapInfo> section.
  110. Step 8d) Between <maps> and <mapInfo> add
  111. <li>
  112. <uniqueID>0</uniqueID>
  113.  
  114. Step 8e) Between </things> and </maps> add </li>
  115.  
  116. Step 9) Below </maps> add
  117. <cameraMap>
  118. <camRootPos>(175.9, 21.6, 163.3)</camRootPos>
  119. <desiredSize>17.45855</desiredSize>
  120. </cameraMap>
  121.    
  122. Step 10) Replace All carrier> with carryTracker> and Replace All carrier IsNull with carryTracker IsNull
  123.  
  124. Step 11) Replace All container> with innerContainer> with Match Case enabled.
  125.  
  126. Step 12) Replace All skinWhiteness with melanin
  127.  
  128. Step 13) In every <story> you need to add <bodyType>FeMale/Thin/Etc</bodyType> (If you don't care about the body type, turning on Extended replacing and Replacing All <story> with <story>\n<bodyType>Male</bodyType> is a quick way)
  129.  
  130. Step 14) For every Thing in <things> add <map>0</map> which can be achieved by replacing </thing> with <map>0</map>\n</thing> using Extended replacing.
  131.  
  132. Step 15) For every pawn in <pawnsDead> add <map>-2</map> to below their <li>
  133.  
  134. Step 16 [Regex]) Replace All <corpse>[a-zA-Z0-9_]*?<\/corpse> with nothing. (aka, delete it)
  135.  
  136. Step 17) Replace PackDromedary with Dromedary and PackMuffalo with Muffalo
  137.  
  138. Step 18) Find all <thing Class="Seed"> and delete them from <thing Class="seed"> up to and including </thing>
  139.  
  140. Step 19) Replace All TemperaturePreference with Kind and remove all the <degree>#</degree>'s directly below them (You could go with any trait really, but Kind ensures no overlaps since it's new)
  141. Step 19 [Regex]) Replace (<def>TemperaturePreference<\/def>)..(\t*<degree>-?[0-9]<\/degree>) with <def>Kind<\/def>
  142.  
  143. Step 20) Replace All Megatherium with Megasloth
  144.  
  145. Step 21) Replace All MakeStoneBlocks with MakeStoneBlocksAny
  146.  
  147. Step 22) Replace All temperatureGrid with temperatureCache
  148.  
  149. Step 23a) Replace All cameraMap with rememberedCameraPos
  150. Step 23b) Replace All cameraRootPos with rootPos
  151. Step 23c) Replace All desiredSize with rootSize
  152.  
  153. Step 24) Paste the following below </rememberedCameraPos>
  154. <mineStrikeManager>
  155. <strikeRecords />
  156. </mineStrikeManager>
  157.                
  158. Step 25) Find all <thing Class="Corpse"> and update <innerPawn>*Thing_Mechanoid_Scyther19302837*</innerPawn> (Whatever you have) to:
  159. <innerContainer>
  160. <maxStacks>1</maxStacks>
  161. <contentsLookMode>Reference</contentsLookMode>
  162. <innerList>
  163. <li>*Thing_Mechanoid_Scyther19302837*</li>
  164. </innerList>
  165. </innerContainer>
  166.                        
  167. Step 25 [Regex]) Find: (<innerPawn>)([a-zA-Z0-9_]*)(<\/innerPawn>) Replace with: <innerContainer>\n<maxStacks>1</maxStacks>\n<contentsLookMode>Reference</contentsLookMode>\n<innerList>\n<li>$2</li>\n</innerList>\n</innerContainer>
  168.  
  169. Step 26a) Find <areaManager> and add <id>NUMBER</id> to each area, right under Class="Area_"
  170. Step 26b) For each Area that you added an ID number to, find <areaAllowed>'s corresponding to that areas name and replace Area_Named_ with Area_NUMBER_Named_
  171.  
  172. Step 26c) Below each <innerGrid> add <mapSizeX>YOURMAPSIZE</mapSizeX> and <mapSizeZ>YOURMAPSIZE</mapSizeZ>
  173.  
  174. Step 27a) Replace All <innerThing with <innerContainer>\n<maxStacks>1</maxStacks>\n<innerList>\n<li
  175. Step 27b) Replace All </innerThing> with </li>\n</innerList>\n</innerContainer>
  176.  
  177. Step 28a) Replace All <containedThings> with <innerContainer>\n<innerList>
  178. Step 28b) Replace All </containedThings> with </innerList>\n</innerContainer>
  179. * Step 28 only needs to be done if you saved with DropPods or CryptoPods on your map.
  180.  
  181. Step 29 ) Unneeded step and I can't be bothered to shift the numbers by one.
  182.  
  183. Step 30 [Regex]) Replace <drafter>..\t*<drafter> with <drafter> and <\/drafter>..\t*<\/drafter> with <\/drafter>
  184.  
  185. Step 31) Find any <def>AteInImpressiveDiningRoom</def> and replace the <age>... below with <otherPawn>null</otherPawn>
  186.  
  187. Step 32) Replace <inventory> with <inventory>\n<itemsNotForSale />
  188.  
  189. Step 33) Take a break.
  190.  
  191. Step 34) Paste the following below </deepResourceGrid>
  192. <weatherDecider>
  193. <curWeatherDuration>124018</curWeatherDuration>
  194. </weatherDecider>
  195. <damageWatcher>
  196. <everDamage>378</everDamage>
  197. </damageWatcher>
  198.  
  199.  
  200.  
  201. Step 35 [Regex]) Lastly, you probably really want to keep all pawns with their correct backstories, yeah?
  202.  
  203. Replace <childhood>BACKSTORYHERE[\-0-9]*<\/childhood> with <childhood>NEWBACKSTORYHERE</childhood>, using the matching backstory at BACKSTORYHERE without the numbers and NEWBACKSTORYHERE with the numbers:
  204. AbandonedChild27
  205. Abductee39
  206. AcademyStudent52
  207. AdventuringChild56
  208. AmateurAstronomer76
  209. AmateurBotanist14
  210. ApocalypseChild97
  211. ApprenticeSmith9
  212. Aristocrat7
  213. ArtisanFarmer56
  214. AspiringEngineer42
  215. Athlete75
  216. AwkwardNerd12
  217. BlacksmithsSon72
  218. BlessedChild86
  219. BoneCollector51
  220. Bookworm75
  221. BoyScout19
  222. BoySoldier18
  223. BrothelGofer60
  224. BrutalThief33
  225. Cadet99
  226. CaravanChild53
  227. CaravanTraveler8
  228. CaveChild31
  229. CaveworldTender5
  230. CaveworldTunneler74
  231. ChessMaster23
  232. ChildChemist73
  233. ChildKnave65
  234. ChildOfDrifters15
  235. ChildOfGlass96
  236. ChildProdigy22
  237. ChildSpy95
  238. ChildStar51
  239. CircusPerformer69
  240. ClassClown20
  241. CloneFarmed43
  242. ColonyKid89
  243. ComaChild18
  244. ConstructionGrunt79
  245. ConventChild41
  246. CoreDilettante99
  247. CoreWorldStudent4
  248. CorpBredStudent62
  249. CorpStudent17
  250. CrimeBossChild12
  251. CultChild15
  252. DisasterSurvivor58
  253. Dreamer11
  254. Dreamer99
  255. Drudge47
  256. DrugMule2
  257. EarthColonist29
  258. EnergeticPopIdol4
  259. FactoryWorker58
  260. FallenProdigy22
  261. FarmBoy56
  262. FarmHand94
  263. FarmKid40
  264. FarmMechanic40
  265. Farmhand94
  266. FeralChild73
  267. FeudalFarmBoy31
  268. FireScarredChild32
  269. FireTender4
  270. FoundryApprentice81
  271. FrightenedChild6
  272. FrontierMarshal0
  273. GangMember12
  274. GangMember82
  275. GlitterworldNerd52
  276. GunKid57
  277. HackerProdigy70
  278. HeadjackAddict49
  279. Herder89
  280. HexCellArtist19
  281. HillbillyProdigy33
  282. HistoryStudent52
  283. HiveWorldChild62
  284. IcePlanetChild56
  285. IdealisticCadet35
  286. ImperialStudent92
  287. IndustrialOrphan55
  288. JoywireAddict71
  289. Killer70
  290. LabGrownChild20
  291. MadScientist38
  292. MechanoidHacker35
  293. MechanoidNerd80
  294. MedicalAssistant75
  295. MedicalStudent18
  296. MedievalLordling62
  297. MedievalPlower12
  298. MedievalSlave34
  299. MedievalThief74
  300. MercenaryRecruit12
  301. MercenaryRecruit61
  302. MidworldGeek88
  303. MidworldSketcher21
  304. MilitantChild30
  305. MusicLover26
  306. Naturalist25
  307. NobleWard25
  308. OfficerCadet81
  309. OrganFarm9
  310. Orphan91
  311. OrphanOfWar96
  312. Pickpocket6
  313. PitGladiator18
  314. PowerMadScholar58
  315. ProjectSubject48
  316. PsychologyStudent88
  317. Pyromaniac68 (Except this one, you probably wouldn't mind this one disappearing)
  318. ReclusiveProdigy98
  319. Refugee70
  320. RichBoy51
  321. Scavenger26
  322. Scout67
  323. ShelterChild65
  324. ShipTechnician62
  325. ShootingComa31
  326. Shopkeeper18
  327. ShunnedGirl18
  328. SicklyChild40
  329. SlaveFarmer49
  330. SoleSurvivor85
  331. SonOfAHuntress
  332. SpaceFanboy24
  333. SpaceSmuggler10
  334. SpeederRacer68
  335. SpoiledChild32
  336. Squire51
  337. Stableboy75
  338. StarSquire21
  339. StarforceCadet91
  340. StoryWriter68
  341. Straggler99
  342. StreetChild49
  343. Student1
  344. StudentEngineer40
  345. SuperSoldier19
  346. TechEnthusiast65
  347. TechScholar7
  348. TestSubject75
  349. Tinkerer87
  350. ToxicChild59
  351. TragicTwin21
  352. TraineeAlchemist98
  353. TraumatizedYouth62
  354. TribalThunderer25
  355. TribeChild78
  356. UpperUrbworlder20
  357. UrbworldArmyBrat71
  358. UrbworldCriminal64
  359. UrbworldUrchin46
  360. VRAddict62
  361. VatgrownMedic86
  362. VatgrownSlavegirl4
  363. VatgrownSoldier83
  364. VideoGamer91
  365. VideoGamer94
  366. WarRefugee81
  367. Winerunner96
  368. WolfPackMember79
  369. WorkCampSlave37
  370. YoungPsychologist60
  371. YouthDelinquent81
  372.  
  373.  
  374. And replace <adulthood>BACKSTORYHERE[\-0-9]*<\/adulthood> with <adulthood>NEWBACKSTORYHERE</childhood>, again using the matching backstory at BACKSTORYHERE without the numbers and NEWBACKSTORYHERE with the numbers:
  375. AIProgrammer5
  376. AIResearcher30
  377. AWOLSoldier46
  378. AddictionCounsel61
  379. AerospaceEngineer58
  380. Architect11
  381. ArmyScientist54
  382. ArtificerRampant50
  383. Assassin16
  384. BanishedSoldier4
  385. BattlefieldTech63
  386. BiosphereManager30
  387. Blacksmith19
  388. Bodyguard22
  389. BountyHunter14
  390. BountyHunter28
  391. Brigand23
  392. BusinessGangster83
  393. Caravaneer75
  394. Castaway19
  395. CharityWorker80
  396. ChiefEngineer74
  397. CivilEngineer41
  398. CivilServant75
  399. CloneFarmer72
  400. ColiseumFighter29
  401. ColonySettler43
  402. CombatNegotiator51
  403. ConArtist96
  404. ConceptualArtist7
  405. ConceptualArtist7
  406. ConstructionEngineer77
  407. CoreWorldJeweler59
  408. CorpResearcher37
  409. CorpResearcher9
  410. CosmeticReject89
  411. Courtesean56
  412. CraftShaper11
  413. CrimeLord40
  414. CriminalSurgeon8
  415. CriminalTinker97
  416. Defector59
  417. DefenseLawyer2
  418. Digger58
  419. DischargedSoldier36
  420. DoomsdayPariah26
  421. DreadedDude3
  422. DrugLieutenant88
  423. Engineer9
  424. EnvoyOfTheStars91
  425. EscapedConvict68
  426. Evangelist66
  427. ExecutiveOfficer58
  428. ExiledResearcher36
  429. Explorer36
  430. ExplosivesExpert30
  431. FactionLeader69
  432. FactoryWorker82
  433. FallenOfficial88
  434. FelineScientist25
  435. FerventResearcher44
  436. FighterController64
  437. FrontierMarshal75
  438. GameDeveloper59
  439. GangBoss50
  440. Gardener25
  441. Gatherer34
  442. GeneticEngineer63
  443. GeneticScientist4
  444. Geologist2
  445. GlitterworldEmpath39
  446. Gnomebiologist56
  447. GovernmentAgent80
  448. GraphicDesigner99
  449. Healer46
  450. Herbalist89
  451. Hermit87
  452. HiredAssassin2
  453. HiredGun99
  454. HiveworldDrone29
  455. HouseServant78
  456. HumanComputer63
  457. HumanTrafficker69
  458. Hunter7
  459. InformationBroker88
  460. IntelligenceAgent4
  461. Inventor42
  462. Inventor42
  463. InvoluntaryHermit72
  464. Jailbird93
  465. JoywireArtist62
  466. Knight23
  467. LazyProgrammer84
  468. LoneTraveler73
  469. Loner43
  470. LostMarine68
  471. LowWageWorker94 (Use Low-wageWorker for BACKSTORYHERE)
  472. LudditeRebel42
  473. MachineFixer97
  474. MafiaBoss49
  475. MasterTrader3
  476. MedievalDoctor6
  477. MedievalFarmOaf58
  478. MedievalKnight71
  479. MedievalLord20
  480. MentalPatient64
  481. MercenaryLeader48
  482. MercenaryPilot69
  483. Mercencary75
  484. MessageCarrier61
  485. MilitaryEngineer44
  486. MilitaryInventor44
  487. MindwipedAssassin80
  488. Minister38
  489. Missionary23
  490. MobHenchman44
  491. Model51
  492. MuffaloShaman94
  493. NavyScientist96
  494. NeuroScientist84
  495. NinjaAssassin4
  496. Novelist96
  497. Nurse0
  498. ParticlePhysicist6
  499. Pirate65
  500. PirateCaptain0
  501. PirateKing62
  502. PirateTrooper88
  503. PoisonGardener85
  504. PoliticalAssassin87
  505. PopIdolPirate25
  506. PsychiatricPatient28
  507. RaiderKing70
  508. Ranger8
  509. Recruiter51
  510. RenegadeEngineer33
  511. Reporter51
  512. Roboticist87
  513. Roboticist87
  514. RugbyPlayer15
  515. SelflessHunter57
  516. SerialMurderer52
  517. ShamanOfShadows30
  518. Sheriff37
  519. SlaveChemist35
  520. SpaceExplorer81
  521. SpaceHumanitarian98
  522. SpaceHunter67
  523. SpaceMarine10
  524. SpaceMarine27
  525. SpaceMarine90
  526. SpaceMerchant61
  527. SpacePirate69
  528. SpaceRaider65
  529. SpaceStationCook63
  530. SpaceTraveler4
  531. SpaceshipChef34
  532. SpaceshipSalesman6
  533. SpecialForces72
  534. Spiceminer98
  535. Spy40
  536. StalwartFarmer89
  537. StalwartFarmer91
  538. StarKnight78
  539. StarshipJanitor15
  540. StateEngineer74
  541. Storyteller68
  542. SystemLord49
  543. SystemsEngineer27
  544. Tactician22
  545. Teacher24
  546. TechnologyDoctor90
  547. TestSubject1
  548. TestSubject82
  549. TunnelworldIlluminator50
  550. UnstableButcher98
  551. UrbworldEnforcer55
  552. UrbworldEntrepreneur55
  553. UrbworldSexSlave3
  554. VRDesigner15
  555. VengefulExplorer48
  556. VeteranSoldier2
  557. Villain66
  558. WanderingCrafter28
  559. WanderingCrafter28
  560. WarChief54
  561. Warrior37
  562. WastelandRuffian93
  563. WhiteHatHacker49
  564.  
  565.  
  566. Step 99) Depending on how large your save is, it'll take anywhere from 1-5 minutes for it to load the first time, so don't fret. Though if you suspect you messed up somewhere, you can check the output_log.txt in SteamApps/Common/RimWorld/RimWorldWin_Data to see if it's saying it can't find references.
Advertisement
Add Comment
Please, Sign In to add comment