KMP Editing/Cameras

From Custom Mario Kart
< KMP Editing
Revision as of 14:57, 28 August 2011 by Wiimm (Talk | contribs)

Jump to: navigation, search

Everything about camera's should come here.

MrBean35000vr's analysis

While testing the updated SZS Modifier due for release very soon, me and Chadderz decided to have a look into the camera pans and how they work (useful since we plan to incorporate File --> New). Up till now, camera edits have been a bit random on CTs/not done at all, but hopefully now this should shed some light on how everything works.

You'll be pleased to know most of this can be done in the KMP editor

All screen shots below come from the current version of SZS Modifier, not the new one.

First and foremost. In the CAME section of each track (see the KMP) are all the cameras each track uses. They are organised like this: CAME firstbox bean.png

The first Settings column defines everything about the camera. As labeled in the picture, the first two bytes dictate camera type, the next two point to the next camera if the camera is in a sequence (opening pans typically), the next two are 00 and the two that follow indicate what Route the camera is on.

A full list of camera types according to beta data:

  • 00 = Camera immediately after finishing (the one that looks at you. Yeah, you can change it )
  • 01 = ObjClip
  • 02 = PathSearch
  • 03 = KartFollow
  • 04 = KartPathFollow
  • 05 = Opening Pans
  • 06 = OP_PathMoveAt
  • 07 = MiniGame
  • 08 = MissionSuccess (left over from MKDS?)

Secondly, AREA has plenty to do with the cameras too.

AREA camera bean.png

AREA also has a ton of types, like CAME, but the one we're interested in is 00, which refers to a camera.

Basically, what happens is when a kart/bike gets near an AREA point with a type 00 in replay mode (or after race), it calls upon the camera that is assigned to that AREA point. By altering the camera ID it points at, you can reorganize the cameras or make different cameras trigger at certain times. The scaling values are useful for making an AREA encompass more of a track.

Finally, if you're feeling particularly creative and want to mess even more with opening pans...

CAMEHEX bean.png

The digit shown there indicates what camera the SZS file looks for first, for the first member of the opening pans. Change this value and you can assign a different starting camera completely. Of course, for that, you need to use a hex editor, as this is part of the CAME header and the KMP editor doesn't show it.

With that, you should be able to mess around with the cameras and create some interesting effects and pans Juggling the other settings not shown in the screen shots will affect where the camera points, etc. And of course, reorganizing the Routes data will make the cameras fly around all over the place at your will.

Now, here's a bit of trivia Despite there being only three opening pans, in each SZS file, there are 5 cameras with the type labeled "05". The reason for this? The other two ones are the ones that are shown in the menu screens when you're hovering over a track name. They are never actually used for anything (as the menu screens employ video files) but they are left over. Sometimes interesting to put them into the opening sequence and have a look at them properly

Have fun, CT makers and texture hackers...

More info



First Settings box

Second Settings box



First Settings box

Second Settings box

Third Settings box

Scale The point of this part is trying to find how big an AREA point is ingame, so you can scale it perfectly instead of guessing.

Opening Pan

Each MKW track support 2 opening pans. The first hat two scenes of 5+5 seconds (time values 2*300.00) and the second one three scenes of 3.67+4.28+4.90 seconds (time values 220+257+294). The second one is used for offline versus races. As example see the following video with 4 different modifications of the opening pan of SNES Ghost Valley 2:

4x Opening Pan
Original opening pan. The 2 cuts are synchronized to the sound. Therefor all tracks uses identical timings.
The length has been modified to 3*8.33 seconds (value 500.00). The intro sound will stop after 12 seconds, but the video will go until the end.
The length has been modified to 3*1.66 seconds (value 100.00). The complete intro pan will be stopped after 5 seconds.
Same as T3, but the the third scene is looped to the first one. The opening pan will continue until the player terminates it.

Listing of the Opening Pans

#idx  type           ________position   (x,y,z)________     zoom_beg
#     next     4x    ________unknown    (x,y,z)________     zoom_end
#   unknown settings ________view point (x,y,z)________         -
#    route           ________view dest  (x,y,z)________        time
 c11     5       0   -15356.597   11416.276    1959.135       45.000
   >   c12     0x5        0.000       0.000       0.000       60.000
   >     0    0x96     1300.000    3180.000  -13260.000
   >   r13       0     1300.000    4180.000  -13260.000      220.000
 c12     5       0   -14650.420   11416.276    1959.135       60.000
   >   c13     0x5        0.000       0.000       0.000       40.000
   >     0     0x1   -12250.000    3250.000   20935.000
   >   r14       0   -12250.000    3250.000   20935.000      257.000
 c13     5       0   -13944.244   11416.276    2023.456       55.000
   >    -1     0xa        0.000       0.000       0.000       25.000
   >     0     0x1   -28800.000    2800.000   -7000.000
   >   r15       0   -28800.000    2800.000   -7000.000      294.000

#      _____________position_____________   __settings__
#idx         x           y           z         #1     #2

 $ROUTE r13, settings:  0x101
   # CAME reference: 11

   1    -3300.000    3425.000   -9715.000    0x41      0
   2    -3167.503    3802.622  -11586.739    0x41      0
   3    -2850.021    4147.562  -13296.482    0x41      0
   4    -2170.477    4512.062  -15020.681    0x41      0
   5    -1353.422    4853.018  -16558.229    0x41      0
   6       67.820    5254.155  -17889.562    0x41      0
   7     1633.572    5624.124  -18893.162    0x41      0
   8     3373.454    6026.505  -19765.127    0x41      0
   9     5160.000    6425.000  -20470.000       0      0

 $ROUTE r14, settings:    0x1
   # CAME reference: 12

   1    -4770.000    3300.000    1800.000    0x1e      0
   2    -8800.000    3300.000   12400.000    0x1e      0

 $ROUTE r15, settings:    0x1
   # CAME reference: 13

   1   -28800.000    7740.000   15500.000    0x8c      0
   2   -28800.000    2960.000   -2000.000       0      0