New Naming scheme for custom objects

General project talk
Post Reply
User avatar
worsas
Project Administrator
Posts: 2678
Joined: Wed Dec 31, 2014 1:23 am

New Naming scheme for custom objects

Post by worsas »

Suggestion:

Houses
Sky_Reach_KgadH1_Chest (a random chest in karthgad interior 1)
Sky_Reach_KwH5_Blabla (a custom object in karthwasten house 5)
Sky_Haafin_DunbH7_Something (custom object in dunbarrow house 7)


Dungeons
Sky_Reach_AldkCave1_Climbingrope (a climbing robe in a cave in Aldkarth lowlands)
Sky_Reach_VorndBarr3_SpecialThing (custom object in a barrow in vorndgad forest)
Sky_Reach_DruadDiren2_Custom (a custom object in a direnni ruin in druadach highlands)


Quest-related
Sky_Reach_KwQ1_Questobject (a quest object in a karthwastenqust)
Sky_Reach_VorndQ2_Custom (a quest object in a wilderness quest in vorndgad forest)
Sky_Reach_UramokQ1_lalala (a quest object in a quest related to the uramok camp)


Npcs
Sky_Reach_Kw_HansFridolin (an npc in karthwasten)
Sky_Reach_FalkF_Someone (a wilderness npc in falkar foothills)


Edit: See the updated naming below.

User avatar
Scamp
Lesser Daedra
Posts: 465
Joined: Sat Jan 03, 2015 2:51 pm
Location: Kilkreath Mountains
Contact:

Post by Scamp »

But it wouldn't it be hard to recognize these when cleaning files? I guess I can still see it's a custom objects, it's just much easier to see when adding an underscore at the beginning.

User avatar
worsas
Project Administrator
Posts: 2678
Joined: Wed Dec 31, 2014 1:23 am

Post by worsas »

After the move to the common data files telling custom objects apart from data objects will be relatively easy. Generally, starting ids with _ is a bit urgh and at best a provisoric thing, if you ask me.

User avatar
Scamp
Lesser Daedra
Posts: 465
Joined: Sat Jan 03, 2015 2:51 pm
Location: Kilkreath Mountains
Contact:

Post by Scamp »

I see. If it's very easy to tell these apart from the new naming schemes it's totally fine with me.

User avatar
berry
PT Modder
Posts: 670
Joined: Fri Jan 16, 2015 4:16 pm

Post by berry »

So we are going to stick with Sky_ for custom objects? That sounds reasonable and should make differentiating easy indeed.

Regarding quest objects, I think that if we use exactly that pattern you proposed, there wouldn't be enough characters available to describe the reference properly. We're limited to 31 letters in ID's length after all. Could we maybe stick with something like SkyQ_vornd or SkyQ_aldk? It think it might actually be a better idea to give an unique identificator to the quest and then assign it to each item that's related to it, for example a "hen", or a "horse", or "Jorhod", or "worms" (boy, we're gonna have lots of animal related quests. :P ). We could then host a topic on our boards with detailed quests list - hosting quest's location, short description, and that identificator too.

And what would exactly fall under the quest reference category? It's easy to tell in most cases, but for example, should Wilbur and his ring belong to it?

Taking all unique objects I added for my chickens quest as an example how this could look like:
Global
Sky_henquest_trollcounter -> SkyQ_global_hen_trollcounter

Scripts
Sky_berry_hen_doorscript -> SkyQ_script_hen_door
Sky_berry_hen_trollcounter -> SkyQ_script_hen_trollcounter
Sky_berry_wilburtstatechecker -> SkyQ_script_hen_wilburstate
Sky_berry_trollsurface -> SkyQ_script_hen_trollsurface
Sky_henquest_scriptmain -> SkyQ_script_hen_main

Creatures
Sky_Farm_Chicken_UNIQUE -> SkyQ_hen_chicken
Sky_Devourer_Black_UNIQ -> SkyQ_hen_troll1
Sky_Devourer_Black_UNI2 -> SkyQ_hen_troll2
Sky_Farm_chicken_02dead -> Sky_Reach_aldk_deadchick [it's just a dead chicken, fine to use anywhere]

Activators
_Sky_chickenmenace_hold -> SkyQ_hen_scriptholder
_Sky_chickenmenace_rock -> SkyQ_hen_rock
_Sky_hen_wilburmarker -> SkyQ_hen_wilburmarker

Leveled items
Sky_Q_random_chickensfortrolls -> SkyQ_random_hen_chickens

NPC
_Sky_aldk_chickenhermit -> SkyQ_hen_wilbur / Sky_reach_aldk_wilbur

Clothing
_Sky_henquest_reward -> SkyQ_hen_ringreward / Sky_reach_aldk_trustywhalersring [the second one is too long actually]

Enchant
_Sky_henquest_enchant -> SkyQ_hen_ringechant

Door
_Sky_henquest_door -> SkyQ_hen_entrance

Journal
SKY_misc_chickenQ -> SKYQ_misc_henjournal

Light
Sky_white_64 - we can leave it as it is I think? It's just an unscripted lightbulb, ok to use everywhere. I used it to highlight the silver veins in trolls' cave On a second thought, maybe "hen" should go before a "global" or a "script"?

User avatar
worsas
Project Administrator
Posts: 2678
Joined: Wed Dec 31, 2014 1:23 am

Post by worsas »

I'm wondering, if we shouldn't just do it like P:C:
PC_Q1-5-Object - a custom object for quest 5 in map 1 (Stirk)
PC_i2-15-Object - a custom object for interior 15 im map 2 (Gold Coast)

TR are using m1, m2 to show in which map it takes place. But they are discussing using a letter for the political area of morrowind it is in, T for telvannis, S for Sacred East and similar.
In any case having custom objects of quests and interiors sorted into a geographical area only makes sense in the long run.

Maybe like this:
Sky_qRe-Kw1_Chicken for a custom item in karthwasten quest 1
Sky_iRe-Kg7_Container for a custom container in karthgad interior 7
Sky_xRe-Dr_ClimbingRope for a custom climbing rope added by an exterior claim in druadach highlands
Sky_xHf-Db_CustomXX for a custom object added to the exterior of Dunbarrow

User avatar
berry
PT Modder
Posts: 670
Joined: Fri Jan 16, 2015 4:16 pm

Post by berry »

That works with me :)

User avatar
worsas
Project Administrator
Posts: 2678
Joined: Wed Dec 31, 2014 1:23 am

Post by worsas »

Probably we should start naming our claim cells accordingly:
Sky_iRe-Ds1 for interior 1 in Dragonstar. Reads a bit clumsy, but follows some kind of system, at least.
Since our exterior claims for the Reach are just numbered through, probably Sky_xRe-15 for exterior claim 15 and for custom objects something like Sky_xRe-15_Object?

If that has everyones approval, I will start renaming our interior- and exterior-claims accordingly and add quest claims for berry.

User avatar
berry
PT Modder
Posts: 670
Joined: Fri Jan 16, 2015 4:16 pm

Post by berry »

Yes, that should work well.

I'm only a little concerned when it comes to scripts and globals, I haven't really tested yet how well would their work with this naming pattern, won't they be too limiting to a modder. I'll try to correct the chickens quest using this outlines and we'll see.

Journal entries should be fine, on the other hand. I'm currently fiddling with the horse quest, using Sky_qR-vornd1_Journal and everything seems to work just fine.

User avatar
worsas
Project Administrator
Posts: 2678
Joined: Wed Dec 31, 2014 1:23 am

Post by worsas »

It would be nice, if the other people here could give their basic OK or disagreement for the naming scheme proposed in my two last posts, so we can start setting up claims accordingly.

User avatar
Luxray
Cat Herder
Posts: 544
Joined: Mon Jan 05, 2015 7:11 pm
Location: South-West England

Post by Luxray »

I'm fine with whatever naming scheme is chosen, as long as it's clear how to use it. Your examples you made seem sensible, and fine to me.
<roerich> woah it's hot in here
<Lord Berandas> it must be Summer.
<Infragris> #hell is meant as a spam and off topic channel. Doing a great job already

User avatar
worsas
Project Administrator
Posts: 2678
Joined: Wed Dec 31, 2014 1:23 am

Post by worsas »

So I went ahead and added all claims in unclaimed and claimed (interior, exterior, quests) to the new naming scheme.

Whenever you add a custom object to your claim, make sure to use this naming for it. Example:
I'm working on Sky_iRe_DH02 and I want to add a custom object to it, I'll make sure to name the id Sky_iRe_DH02_MyCustomObject or however you want to name it.

Now we should also make sure to move custom objects of previous claims into this system, but due to not knowing about claim numbers anymore for sure, I propose to name all customobjects in old karthwasten interiors Sky_iRe_Kw_Customobject, for example. Analogous with custom objects in karthgad interiors Sky_iRe_Kw_lalala, custom object in a Vorndgad Forest cave Sky_iRe_VF_Anothername etc. If you added a custom object in exterior claim 19, you will name the custom object Sky_xRe_19_XXX (exterior claims are simply numbered, without including the region or town with the id so we can stick with the claim number we are already using) and so on.

I hope the basic principle is clear to everyone. Exteriors always use x, Interiors i and quests q.

Darklocq
Forumite
Posts: 5
Joined: Tue Jul 18, 2017 10:30 am

Post by Darklocq »

Speaking of naming, please include a readme with the actual version number. All Nexus says is "02", which appears to be the map number of the P:T project, or perhaps the general release phase (the one for Province: Cyrodiil is "01", but the actual current release is 4.8, which seems independent of the 01, 02 scheme).

These numbered really shouldn't be included in the .ESP's filename, though (I know SHotN doesn't, but the P:C one is "PC_Stirk_v4.8.ESP"); this will cause breakage with any third-party add-on that cites it as a dependency but is actually compatible with later versions. In OpenMW, anyway. OpenMW will just crash on start up with an error message if mod A has mod B as a dependency by name and the filenames don't match. No idea what the Bethesda engine does.

Post Reply

Return to “SHotN General Discussion”