KMP Editing/Cameras

From Custom Mario Kart
Jump to: navigation, search
Under Construction
This article is not finished. Help improve it by adding accurate information or correcting grammar and spelling.


Improperly configured camera settings can cause game crashes during opening pans, replays and post-match winning laps. Back up your KMP before you start editing.

Good cameras will make your level look much more professional, but editing them can be difficult to master.

CAME entry data structure (0x48 bytes)
Offset Type Description Box name in
SZS Modifier
Names in
Wiimms Tools
Column name in
KMP Modifier
Box name in
KMP Cloud
0x00 Byte Camera type. Settings
(box 1, first 2 digits)
type Type Type
0x01 Byte Next camera entry index. Value 0xFF means: no next camera. Settings
(box 1, second 2 digits)
next Next Next
0x02 Byte Camshake. Exact meanings unknown (always 0). Settings
(box 1, third 2 digits)
unknown Shake Shake
0x03 Byte Route used by the camera. This is index link into the POTI section. The value 0xFF means "no route". Settings
(box 1, last 2 digits)
route Route Route
0x04 UInt16 Velocity of the camera point in units per 100/60 sec (=distance/1.67 sec). Settings
(box 2, first 4 digits)
v(came) V(Cam) Pointspeed
0x06 UInt16 Velocity of zooming in units per 100/60 sec (=units/1.67 sec) (tested with camera type 5). Settings
(box 2, last 4 digits)
v(zoom) V(Zoom) Zoomspeed
0x08 UInt16 Velocity of the view point in distance per 100/60 sec (=distance/1.67 sec) (tested with camera type 5). Settings
(box 3, first 4 digits)
v( V(View) Viewspeed
0x0A Byte Start flag. Exact meanings unknown. Settings
(box 3, third 2 digits)
unknown Flag
(First 2 digits)
0x0B Byte Movie flag. Exact meanings unknown. Settings
(box 3, last 2 digits)
unknown Flag
(Second 2 digits)
0x0C Float[3] A 3D position vector of the camera. X, Y and Z position (x,y,z) X, Y and Z PositionX, PositionY and PositionZ
0x18 Float[3] A rotation 3D vector. Almost always 0,0,0. X2, Y2 and Z2 rotation (x,y,z) Roll, Yaw and Pitch RotationX, RotationY and RotationZ
0x24 Float Zoom start: The angle of view (field of view). Angles >180 create curious effects. X3 zoom beg Zoom Zoomstart
0x28 Float Zoom end. The camera changes the zoom to this value. Offset 0x06 (Velocity) controls the speed of zooming. Y3 zoom end Zoom2 Zoomend.
0x2C Float[3] Start vector of the view point (camera type 5) or the relative camera position (camera type 3). Z3, X4 and Y4 view point beg (x,y,z) View(x), View(y) and View(z) ViewStartX, ViewStartY and ViewStartZ
0x38 Float[3] (Destination) vector of the view point. Z4, X5 and Y5 view point end (x,y,z) View2(x), View2(y) and View2(z) ViewEndX, ViewEndY and ViewEndZ
0x44 Float The time how long this Camera is active. (in units of 1/60 seconds). Z5 sec*60 Time Time

Camera Editing

Cameras can be placed like any normal object. The position only matters when using certain camera settings. Cameras are found in the CAME section of the KMP Editor.

Opening Pans


The first two digits in the first settings box indicate the type of camera. Opening pans have the setting 05. The length of time each camera is displayed is set in z5. Their values will be 220, 257 and 294; this is to synch the camera transitions with the opening music.

On VS races a sequence of cameras is shown. The u8 value at offset 0x06 in the CAME section header is the index of the first camera. The next cameras are linked by the u8 value at offset 0x01. Normally 3 cameras are used, but any number can be used. For testing it is good to link the last opening camera to the first to have an unlimited view. For Wimm's analysis go to Wiimms Opening Pan Analysis.

File:CAME2 LuigiM.png

The last two numbers in the first settings box control the Route used. A value of FF means the camera does not use a route. You can find the Opening Route Sections so:

As example in the pic I used SNES Ghost Valley 2. Take the first CAME with the z5 as 220, here it is CAME ID 11. Take the Route Settings, here it is "0D", or only D.

And now use Hex Calculator: D+1=E
Now convert it to Decimal: E=14
Finally: The first Opening Route Section is Route Section 14.
It also works for Object.

Do it with the other two numbers and you have the Opening Routes for your Opening CAMEs.

File:CAME4 LuigiM.png

Now we define the points where the Cameras watch. The Start View Point shows where the Camera watch at the begin and the End View Point at the end of the Camera Intros. x3 and y3 controlls the zoom.

CAME Types

File:CAME3 LuigiM.png

  • 00 = Camera immediately after finishing (the one that looks at you)
  • 01 = ObjClip: Stays in one position but always points to the player. Used during replays.
  • 02 = PathSearch
  • 03 = KartFollow
  • 04 = KartPathFollow
  • 05 = Opening Pans
  • 06 = OP_PathMoveAt
  • 07 = MiniGame
  • 08 = MissionSuccess (left over from MKDS)

this list can be found in /race/course/koopa_course.szs/course.0

See also CAME for the description of Settings and other Values.



File:AREA LuigiM 2.png

	menu      AREAtype  7
	item      Camera  0
	item      ObjClip  1
	item      EfControl  2
	item      FogControl  3
	item      PullControl  4
	item      EnemyFall  5
	item      2DmapArea  6

The list of the types can be found in the XML file /Race/Course/koopa_course.szs/course.0

AREA with Type Camera 00 are the acctivators for the CAMEs after the race. If you drive in the near of one AREA after the race, it will acctivate the CAME that is written in the Settings (watch at the pics).

See also Cameras/Reference

See also AREA.

Camera Analysis by MrBean35000vr and Wiimm

Go here Cameras/Reference