DKCLB: Defining a Universal Level Identification CodeI'm going to be working on various aspects of the DKCLB at some point, and I came to the realization that we need a system designed to have level ID's that are sortable (so that things appear nice and neat in the DELTA editor).
Let us define a four-character code that defines:
--Game
--World
--Level
--SubRoom
Now ordinarily you wouldn't think about this much but I want to standardize the use of particular letters and numbers for various purposes. So here we go...
Game: This defines which game we are talking about. Zero is a reserved value for DKCLB debugging levels. Values 1 to 3 are the respective games in the trilogy, and custom DKC games carry a value of 4 or above. Values A to Z are free for whatever use.
World: This defines the world that the level is in, given a number 1 to 9 and A to Z. The value 0 indicates that we are talking about the overworld map itself.
Level: If the world digit is zero, this is the submap we are talking about, with 0 meaning the overworld itself ala DKC3's overworld map. If we are talking about a playable level, the number specifies which level, with values ranging from 1 to 9 and for shops or save points A to Z.
SubRoom: For the overworld map this value is always zero. Otherwise the value 0 is the level itself, with 1-9 inidicating bonus rooms and A-Z for other rooms (so W for warp rooms in DKC2, etc).
So for example Haunted Hall from DKC2 would have a code of
#2520 with its first bonus room being
#2521.
When I get around to coding the part of DELTA that lets you select a level, these codes will be a level property that will act as a sorting code.
Hopefully this will make referring to levels in DKCLB just a tad cleaner.
EDIT: I suppose that Animal Antics would use the A-Z range to encode level subrooms, eg. #285A.