Korman:Relto Pages

This tutorial will show you how to use Korman to create your own Relto Pages for Uru Path of the Shell / Complete Chronicles.

Required software

You will obviously need Korman. Also install the ZLZ Age Importer, since you will use it to know where to position your new objects.

On CC/PotS, fanmade Relto Pages are loaded by the Offline KI. Make sure you have it installed as well.

Creating a fake Uru folder

Since you are going to export a piece of Relto, Korman will end up overwriting existing Relto files. We don't want that, as this would break not only your installation, but maybe even your savegame ! So instead we will tell Korman to export to a fake folder, where there is no risk of messing up. You will then have to manually copy some of the generated files to your main Uru install.

Create a folder somewhere on your computer. Name it "KormanCC", or any other name that makes sense to you. Inside it, copy and paste the UruExplorer.exe from your main CC/PotS install. Next to it, create the following folders: "dat", "python", "sdl", "sfx". You don't need to copy any other file inside of those.

Korreltopage 0 fake uru folder.png

Open Blender. Make sure the Korman addon is active, and that the current render engine is set to "Korman". Go in the Properties → World panel → Plasma Games, and click the button next to your games list.

Korreltopage 1 korman game prefs.png

Add the folder we just created to the game list. Set it as Path of the Shell. You don't need to enter a player name - it's not a real install anyway. Also, click the "Save User Settings" button so it doesn't reset when you quit Blender.

Korreltopage 2 game folders.png

Importing Relto in Blender

Now is the time to use ZLZ to import the Relto (the "Personal" age) into Blender. This can be done using File → Import → ZLZ Uru Importer. Select "dat/Personal.age" from your main Uru folder. If you also want to import the MOUL objects or other Relto Pages, repeat the process for individual PRPs of the Personal Age - but untick "Clear scene" in the import options !

Korreltopage 3 import personal.jpg

First things first - in World → Plasma Games, click the fake Uru install to make it active. This way there is no risk of overwriting the Relto in our main folder. Also, save the Blender file somewhere.

Korreltopage 4 select correct game.png

The good thing about ZLZ, is that it already configured many options like Age name and sequence prefix for us. But we still have a bit more to do before we can start adding new stuff to the Age...

In World → Plasma Age, untick the checkbox next to all pages (such as psnlMYSTII). This tells Korman to not export the existing Relto objects, which will be faster. Also disable "Age Global SDL" and "Use Textures Page". Now add a new page, which you name "UamPage-Something" (UamPage-MoreTrees, UamPage-RewardForMyAge, whichever you want). Also give it a page ID, as explained in the next section.

Korreltopage 5 world settings.png

Reserving a page ID

Just like Age files have a unique sequence prefix, PRPs themselves have a unique page ID. It mustn't conflict with another PRP from the same Age. When creating your new Relto page, choose a number that is NOT already in use in the table below. Please prefer an ID over 100, to keep things tidy. The range 0-100 should be kept free for future use.

A few things should also be noted:

  • Once you release your page on UAM (or are close to doing so), please ensure that it is added to this list (and possibly also to the gallery). If you can't/don't want to edit the Wiki, please ask in the forums so someone can do it for you.
  • Only reserve page IDs if you are sure to release the corresponding page soon. The available range of IDs is fairly short, so we don't want builders reserving IDs and never release anything.
  • Prefixes above 127 will appear negative in tools like PrpShop - this is normal and has no negative impact.

Full list of all Relto Page IDs

Page ID Name Description Author
0 Start of reserved range
1 psnlMYSTII Main Relto island Cyan
80 psnlDustAdditions MOUL Relto additions (converted by Drizzle) Cyan
99 End of reserved range
110 CorvusMailBoxReltoPage Reltopage by Corvus and H'Uru.info Team - www.huru.info/Forum Corvus and H'Uru.info Team
111 CorvusReltoPage Reltopage by Corvus and H'Uru.info Team - www.huru.info/Forum Corvus and H'Uru.info Team
113 RuinPage Ruin Page Nobby
117 Kohdalan Reltopage by Fruti and H'Uru.info Team - www.huru.info/Forum Fruti and H'Uru.info Team
119 cones Karkadann
120 MushroomsReltoPage Karkadann
121 TardisReltoPage Tardis Karkadann
122 JackOLantern Jack'O'Lantern Karkadann
123 KegReltoPage Keg of D'ni Lake Water Karkadann
124 YeOldPrivy Ye Old Privy Karkadann
126 TLSTrilithon Trilithon Stones Karkadann
146/-110 BoundlessSky Boundless sky Sirius
177/-79 RKRivenDagger R'Oshanhnin Korvahkhn Riven Dagger Dustin
180/-76 Fountain Fountain Dulcamara
184/-72 LivingRoom Living Room Dulcamara
185/-71 Christmastree Christmas Tree Dulcamara
253/-3 End of possible UAM Relto Pages Page Num range
254/-2 BuiltIn Relto SDL loader Cyan
255/-1 Textures Main Relto textures file Cyan

Adding stuff to your Relto page !

Now that everything is setup, you can just build any stuff you want in this file. Remember to enable "Plasma Object" for each new object, and assign it to your new page !

Later on, you will also be able to hide existing Cyan objects if required. Make a list with the name of those objects for later. Note that ZLZ may sometime divide Cyan objects into multiple Blender objects, like "CyanObject" and "CyanObject_DRAW". In that case, only take note of the first object.

If you're familiar with Korman already, two warnings:

  • You can't use anything based on SDL variables. The Relto SDL is a critical part of a player's save file, and thus shouldn't be modified, period.
  • In your Node Trees, avoid referencing Cyan's objects. While doing so can be made to work, it's usually going to be too tricky to be worth it.
  • You can still use Python scripts that don't rely on SDLs.

Exporting your page and copying it to your main install

Once you're done, make sure you're targeting your fake Uru folder (again, this is important). Then click the "Export Age" button. Don't bother with "Test Age" - since our fake Uru folder is selected, this won't work at all.

Go to your fake Uru folder. You'll see in the "dat" folder that Korman exported the "Personal" age, along with your new "UamPage-Something" PRP. Copy that PRP file into your real Uru folder. Additionally, if your page requires its own Python script, go look into the "python" folder of your fake install. Rename "Personal.pak" to "psnlUamPage-YourPageName.pak" (replace YourPageName as appropriate), and copy it to the "python" folder in your real Uru install.

Almost done ! Inside your real Uru folder, go to "img/UamRelto". You probably have a few files here already. Those tell the Relto Book that your page exists. Create a new file (or duplicate an existing one), name it appropriately ("UamRelto--YourPageName.txt"), and write in it:

default=off;
pagenum=222;
text--en=My test page;
hide=CyansObjectName1,CyansObjectName2;
  • default is "off" if you want the player to get the page immediately. If you want the player to obtain the page in your Age, use "unattained" instead.
  • pagenum is the page number which you decided earlier in Blender. (NOT the negative number reported by PrpShop !)
  • text-en is a name or short description of what your page does. It will be visible in the Relto book. The "-en" suffix is for English, so you can also add "text-fr" and "text-de" lines for translations.
  • hide allows you to hide existing objects from the Relto when your page is enabled. This is where you put the name of objects made by Cyan that you want to hide, comma-separated (don't add an extra space after the comma). Delete the line if you don't need it.

Also, make sure you don't forget the semicolon at the end of each line.

Making the Relto page collectable in your Age

(Upcoming, needs Offline-KI script)

Releasing your page to the community

This is similar to releasing an Age.