Worldmap

From Luma's Workshop
Revision as of 21:51, 23 January 2024 by MTLenz (talk | contribs) (Created page with "Category:Lists {{WIP}} <small>Todo: *What is the difference between the stage types HideGalaxy and MiniGalaxy?</small> All information of the world map like paths, points, galaxies and more are stored in the ''WorldMap0X.arc'' file in the ''ObjectData'' folder, with X being the world number. WorldMap08.arc is the Grand Galaxy Map. Each world map is loaded inside a galaxy stage, which in the original game mainly contains the background. The stage files can be foun...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
This page is in progress and may contain incomplete information or editor's notes.

Todo:

  • What is the difference between the stage types HideGalaxy and MiniGalaxy?


All information of the world map like paths, points, galaxies and more are stored in the WorldMap0X.arc file in the ObjectData folder, with X being the world number. WorldMap08.arc is the Grand Galaxy Map.

Each world map is loaded inside a galaxy stage, which in the original game mainly contains the background. The stage files can be found in StageData/WorldMap0XGalaxy/.

General Notes

  • Paths from point with ID 0 are automatically unlocked when entering the world for the first time.
  • Lubba's talking sequence when first entering the first world, has a hardcoded behavior to show an arrow over the galaxy YosshiHomeGalaxy. If the Galaxy icon with this name does not exist, the game crashes (the galaxy itself does not have to exist).
  • A point with a pipe attached to two paths can confuse the game if you try to pass the pipe by clicking with the pointer on a point; Starship Mario will then erroneously go out and in the pipe several times.
  • Gourmet Lumas cannot eat star pieces if the required number of star pieces is less than 100; the star pieces then simply fly through him.
  • The game remembers various unlock and interaction properties of PointParts objects. If you change and swap them, it can happen that with the old save file the objects are not interactable (e.g. star clusters can no longer be touched).
  • The game crashes on the world map if the scenario file for HomeCenterGalaxy doesn't exist.

Structure

The WorldMap0X.arc files contain several BCSV tables, which can be found in the original game either in the root or in a folder called ActorInfo, it doesn't matter if they are in the root or in this folder. The game reads the files either way.

  • PointPos: Positions and properties of the points
  • PointLink: Paths/connections of the points
  • Galaxy: Galaxies and their properties
  • PointParts: Various objects like star clusters, pipes and world gates
  • SpaceParts: Unknown/Unused. Seems to be a different kind of PointParts.
  • PointStream: Unknown/Unused

PointPos

Field Name Type Description
Index LONG Point ID
Valid STRING_OFFSET Should always be set to valid. Invalid makes the point invisible but still accessible through a path, however, the game crashes when you point to it with the pointer.
x = invalid
o = valid
SubPoint STRING_OFFSET Always false (x).
Marks the point as a subpoint (blue and only accessible after unlocking the path). However, this is useless and unused, because the SubPaths already sets the points as subpoints. (More about this below at PointLink)
x = false
o = true
ColorChange STRING_OFFSET Color of the point. Pink is usually used for Gourmet Luma paths.
x = yellow
o = pink
LayerNo LONG Unknown; Unused
PointPosX FLOAT X Position
PointPosY FLOAT Y Position
PointPoxZ FLOAT Z Position

Notes

  • The Grand Galaxy Map does not feature the ColorChange field.
  • World Map 1, 2 and 6 contain unused, unlinked points which are set as invalid. This suggests that this field may have been used by the developers to temporarily disable points for possible reuse at a later time.


PointLink

Field Name Type Description
PointIndexA LONG Point ID of the first point to link
PointIndexB LONG Point ID of the second point to link
CloseStageName STRING_OFFSET Internal name of the galaxy to be completed to unlock this path.
This is used for paths that are only unlocked from certain galaxy paths that should not be reached from the other side. (e.g. FlowerHighlandGalaxy's path).
CloseStageScenarioNo LONG The scenario number to be completed in the galaxy specified in the previous field to unlock this path.
0 = Any scenario
-1 = Default for normal paths
CloseGameFlag STRING_OFFSET Required Game Flag to unlock this Path.
This field makes the path invisible and inaccessible until the entered game flag is fulfilled. However, this does not unlock the path, it just makes it visible and may need to be unlocked by a galaxy in front of it first.
IsSubRoute STRING_OFFSET Whether the path is displayed as either blue dotted or completely invisible if it has not yet been unlocked.
Invisible is often used for Gourmet Luma paths as well as some stargate paths.
x = normal/dotted
o = invisible
IsColorChange STRING_OFFSET Color of the path. Pink is usually used for Gourmet Luma paths.
x = yellow
o = pink


Galaxy

Field Name Type Description
StageName STRING_OFFSET Internal name of the galaxy (ex. RedBlueExGalaxy)
MiniatureName STRING_OFFSET Model name of the mini model to display (ex. MiniRedBlueExGalaxy)
PointPosIndex LONG ID of the point on which the Galaxy is located
StageType STRING_OFFSET Sets various visibility settings depending on the type:
Galaxy: Normal Galaxy; always visible
MiniGalaxy: Hungry Luma Galaxy; always invisible until the way to it is unlocked
HideGalaxy: Hidden Galaxy; always invisible until the way to it is unlocked
BossGalaxyLv1: Bowser Jr. Galaxy; Adds a Bowser Jr. flag to a specific part of the mini-model.
BossGalaxyLv2: Bowser Galaxy; Adds a Bowser flag to a specific part of the mini model.
BossGalaxyLv3: Final Bowser Galaxy; Mini model does not rotate.

This does not specify what kind of galaxy it is.
ScaleMin FLOAT Normal scale of the mini model
ScaleMax FLOAT Scale of the mini model when pointed to with pointer
PosOffsetX FLOAT X-offset position of the mini-model from the point.
PosOffsetY FLOAT Y-offset position of the mini-model from the point.
PosOffsetZ FLOAT Z-offset position of the mini-model from the point.
NamePlatePosY FLOAT X-offset position of the name plate from mini model.
NamePlatePosZ FLOAT Z-offset position of the name plate from mini model.
IconOffsetX FLOAT Icon X position in the world selection screen (Grand Galaxy Map)
IconOffsetY FLOAT Icon Y position in the world selection screen (Grand Galaxy Map)


PointParts

Field Name Type Description
PartsTypeName STRING_OFFSET Name of the object:
StarPieceMine: Starbit Cluster
StarCheckPoint: Star Gate
TicoRouteCreator: Hungry Luma
EarthenPipe: Warp Pipe
WorldWarpPoint: World Portal
StarRoadWarpPoint: Grand World Portal
PointIndex LONG ID of the point on which the object is located
PartsIndex LONG Index for Stargates.
Each stargate within a world map requires a unique index.
Param00 LONG Parameter 1.
Different usage for each object type.
Param01 LONG Parameter 2.
Different usage for each object type.
Param02 LONG Parameter 3.
Unused.

Parameters

PartsTypeName Param00 Param01
StarCheckPoint Required stars
TicoRouteCreator Required starbits Point ID destination
EarthenPipe Point ID destination
WorldWarpPoint World ID destination Point ID destination
StarRoadWarpPoint World ID destination Point ID destination

SpaceParts

Field Name Type Description
PartsTypeName STRING_OFFSET
[4D6DBDAE] LONG
[433A5DB7] LONG
Param00 LONG
Param01 LONG
[912C1F84] STRING_OFFSET
LayerNo LONG
TransX FLOAT
TransY FLOAT
TransZ FLOAT
RotateX FLOAT
RotateY FLOAT
RotateZ FLOAT
ScaleX FLOAT
ScaleY FLOAT
ScaleZ FLOAT


PointStream

Field Name Type Description
StreamName STRING_OFFSET
StreamIndex LONG
PointNum LONG

Cameras

All cameras for the different views are in ObjectData/WorldMapCamera.arc/ActorInfo/CameraParam.bcam. A few tracking shots for specific sequences, such as when Mario travels to a galaxy, are controlled by the CAMN camera key animation files and can be found in ObjectData/MarioAnim.arc.

There are more specific cameras, which are partly used to link different camera-usages with the cameras from WorldMapCamera.arc and can be found in the map archives of the individual WorldMap0XGalaxy stages in BCAM format, although some camera codes appear to be completely unused.

Tools

There are two programs for editing world maps.

Whitehole

Version 1.5.1 and higher include a powerful world editor that displays the world map within the 3D view. However, the world map cannot be edited by clicking on the objects, but only by using the bar on the left side. In addition, various parameters such as mini-model positions, name plates and by marking the destination points of certain objects such as pipes can be edited very easily and quickly through the 3D display.

This editor also features the very useful QuickActions tab, which displays time-saving options depending on what type of object is currently selected:

  • Add Connected Point Adds a new point to a selected point, complete with connected link.
  • Insert Point Halves a selected link and inserts a new point in the center
  • Load Default Template Loads a template for creating a new world

Note: If you experience any bugs in later versions, use the one from v.1.5.1. This one is known to have none of the glitches. You may only need to click on Help -> Controls to fix a bug that prevents you from selecting the various settings and values.

World Map Editor

An old tool, which like Whitehole only has a bar for editing, but has little functionality for editing. For example, links and points must be added individually. Some text information are also partially wrong.
It has no 3D view, but a 2D view of the points and paths as well as the kind of paths.

This tool can be useful for quick edits like exchanging galaxynames, since it only needs the WorldMap0X.arc file to edit.