Notes:Mini-Cutscenes
From CloudModding MM Wiki
Playtendo's notes on mini-cutscenes. Feel free to add-on information and properly organize the content currently displayed.
Below is a demonstration of the 0x1B comand in action
Contents
Formats
cutscene entries xxxxxxxx yyyyuutt xx = location of cutscene yy = Entrance of next scene uu = Entrance cutscene activates at tt = Event flag cutscene headers aaaaaaaa bbbbbbbb cccccccc dddddddd aa = number of chunks bb = number of frames cc = unknown (always 0000005A?) dd = pointer to actor animation/movement/misc effects (add 0xC) CAMERA CHUNK HEADER uuuussss llllllll uu = unknown (number of entries?) ss = size ll = length (frames) CAMERA CHUNK ENTRIES 0xC bytes? (first half of data appears to be focus, second half position) bbaauuuu xxxxyyyy zzzz0000 bb = camera behaviour (use 05 if you don't know what to use) aa = factor (?) uu = unknown xx = x position yy = y position zz = z position values after camera chunk entries deal with the angle of view for each entry xxxx0000 yyyy0000 xx = time (?) yy = angle of view 0xc in the cutscene data is a pointer to actor animation/movement/misc effects -always starts with FFFF0004? -CHUNK HEADER 0000xxxx 000000yy xx = chunk type yy = number of entries
801EF672 current scene value 02E8A590 intro cutscene (MM US ROM) change exit to 6403 or d202 for unused cutscenes Japanese rom only here down 801EF462 current scene value 803FFE6C Link's Rotation in RAM 8038290C Link's Coordinates in RAM (breakpoint for cutscene values - register F18, F6, F10) 801f4d80 cutscene camera info 800ED084 00000096 marker breakpoint 801DD750 96-9f marker asm 803E8C64 Cutscene entries pointer (J) 0x2d291e8 link animation 0x2D28c14 start of cutscene data clocktown inn scene (J) 0x0D10 Cutscene 1 0x2430 cutscene 2 0xAC14 Cutscene 3 Clocktown South Scene (J) 0x0B4C Going back in time for the first time 0x20ec Seeing clocktown for the first time 0x5678 intro cutscene last part 0x727C intro cutscene first part
MM (J) addresses: Camera assembly stuff
80755CC0 asm to write bow/arrow camera value 80761568 asm to set bowarrowz camera 803E7050 current camera types 800E0C1C asm to load camera data variable table 801B2264 camera data variable table Camera type values: 00 NORMAL 01 JUMP 02 GORONDASH 03 NUTSSHOT 04 BOWARROWZ 05 NUTSFLY 06 SUBJECT 07 BOOKEEPON 08 ZORAFIN 09 KEEPON 0A PARALLEL 0B TALK 0C PACHINCO 0D BOWARROW 0E BATTLE 0F NUTSHIDE 10 STILL 11 CHARGE 12 CLIMB 13 CLIMBZ 14 FOOKSHOT 15 FREEFALL 16 HANG 17 HANGZ 18 PUSHPULL 19 NUTSFLYZ 1A GORONJUMP 1B BOOMERANG 1C CHARGEZ 1D ZORAFINZ
80247250 custom cutscene fov info (debug) 80246F50 custom cutscene camera focus info (debug) 802470D0 custom cutscene camera position info (debug) 0x2d291e8 link animation (J) 0x2D28c14 start of cutscene data (J) 006FD720 001b9cb0 001bd8b0 001d0d60 3ff2bc 006FD6e0
0x1B Command - Mini-cutscene
Used by actors to decide what camera to use/cutscene to play.
803E7000 current mini cutscene playing 803E71D0 (J) 80448BE0 debug rom 803FF2B0 something to do with the second unknown 803FF460 (J) 80460E90 (debug) 801BD8B1 current entry 801B8740 (J) 802067C0 (Debug) uuuutttt bbbbcccc nnnnssuu uuuuddee tt = length (FFFF = constantly playing) bb = camera to use FFF0 = Entering warp after defeating boss FFF5 = Mask Transformation FFF6 = opening a large chest FFF7 = ??? FFF8 = ??? FFF9 = ??? FFFA = Song of Soaring FFFB = using event item FFFC = drinking bottle FFFD = playing ocarina FFFE = opening a small chest FFFF = null 0000+= additional cameras (see 0x02 command) cc = cutscene to play FFFF = null nn = next entry? ss = puzzle sound effect to play after dd = camera position after 00 = keep current position 01 = place behind link 02 = rotate until behind link ee = size of black bars 80 = max uu = unknown Default Order: FFFD FFFE FFFC FFFB FFF9 FFF5 FFF8 FFF7 FFFA
0x02
0x02 - Cameras used for the 0x1B command. 02xx0000 yyyyyyyy xx = number of entries yy = offset xxxxyyyy zzzzzzzz xx = camera type yy = unknown zz = offset (see below) xxxxyyyy zzzzpppp qqqqrrrr FFFFFFFF FFFF xx = x position yy = y position zz = z position pp = x rotation qq = y rotation rr = z rotation Camera type values: 00 NONE 01 NORMAL0 02 NORMAL3 03 CIRCLE5 04 HORSE0 05 ZORA0 06 PREREND0 07 PREREND1 08 DOORC 09 DEMO0 0A FREE0 0B FUKAN0 0C NORMAL1 0D NANAME 0E CIRCLE0 0F FIXED0 10 SPIRAL 11 DUNGEON0 12 ITEM0 13 ITEM1 14 ITEM2 15 ITEM3 16 NAVI 17 WARP0 18 DEATH 19 REBIRTH 1A TREASURE 1B TRANSFORM 1C ATTENTION 1D WARP1 1E DUNGEON1 1F FIXED1 20 FIXED2 21 MAZE 22 REMOTEBOMB 23 CIRCLE1 24 CIRCLE2 25 CIRCLE3 26 CIRCLE4 27 FIXED3 28 TOWER0 29 PARALLEL0 2A NORMALD 2B SUBJECTD 2C START0 2D START2 2E STOP0 2F JCRUISING 30 CLIMEMAZE 31 SIDED 32 DUNGEON2 33 BOSS_SHIGE 34 KEEPBACK 35 CIRCLE6 36 CIRCLE7 37 CHUBOSS 38 RFIXED1 39 TRESURE1 3A BOMBBASKET 3B CIRCLE8 3C FUKAN1 3D DUNGEON3 3E TELESCOPE 3F ROOM0 40 RCIRC0 41 CIRCLE9 42 ONTHEPOLE 43 INBUSH 44 BOSS_LAST 45 BOSS_INI 46 BOSS_HAK 47 BOSS_KON 48 CONNECT0 49 MORAY 4A NORMAL2 4B BOMBBOWL 4C CIRCLEa 4D WHIRLPOOL 4E KOKKOGAME 4F GIANT 50 SCENE0 51 ROOM1 52 WATER2 53 SOKONASI 54 FORCEKEEP 55 PARALLEL1 56 START1 57 ROOM2 58 NORMAL4 59 SHELL 5A DUNGEON4
Actor's Marker
HOW TO FIND ACTOR'S MARKER ctrl+f 8010B11C or 8010B080 in the src file li a1,xx data_80B36518 giants 00000064 En_Elfgrp (Broken Great Fairy) 00000065 En_Dnp (Deku Princess) 00000066 Dm_Zl (Zelda) 00000067 Bg_Dy_Yoseizo 00000068 Bg_Ctower_Gear 00000069 En_Dnq (Deku King) 0000006B Dm_Stk (Skullkid) 0000006C En_Ge3 0000006D Dm_Char05 00000070 En_Horse (Epona) 00000071 Dm_Char00 (var 0000, Tatl) 00000072 Dm_Char00 (var 0001, Tael) 00000073 Dm_Opstage 00000077 En_Gg 00000078 En_Ma_Yts, En_Ma4 (Romani) 00000079 En_Ge1 0000007C Bg_Open_Shutter 0000007D Bg_Open_Spot 0000007E En_Dnk 0000007F En_Mk (Professor) 00000082 En_Osn (Happy Mask Man) 00000083 Dm_Char02 00000084 Obj_Tokeidai 00000086 Obj_Tokei_Step 00000087 Dm_Char01 00000088 Dm_Char03 (Happy Mask Man) 000000C8 Player (Link) 000000C9 En_Elf (Tatl) 000001C5 En_Giant 000001C6 En_Giant 000001C7 En_Giant 000001C8 En_Giant 000001C9 En_Zoraegg 000001CF Dm_Char06 000001D5 Bg_Haka_Curtain 000001D6 En_Jg 000001D7 En_Zog 000001D8 En_Dai 000001D9 Dm_Char05 000001DA Dm_Char08 000001DB En_Dno 000001DC En_Ge2 000001DF En_Gk 000001E0 Eff_Kamejima_Wave 000001E2 En_Po_Composer 000001E3 Obj_Hgdoor 000001E4 En_Hg 000001E5 En_Pamera 000001E6 En_Hgo 000001F4 En_Zob 000001F5 En_Zos 000001F6 Eff_Kamejima_Wave 000001F7 Dm_Char09 000001F8 En_Zov 000001F9 En_Test6 000001FA En_Test3 (Kafei) 000001FF Obj_Boat 00000200 Eff_Stk 00000201 Dm_Stk (Skullkid) 00000202 Dm_Tsg 00000203 En_Zod 00000206 Dm_Char05 0000020D En_Toto 0000020E En_Gm 0000020F Eff_Zoraband 00000214 En_Bsb 00000228 Obj_Usiyane 0000022C En_Ma_Yto (Cremia) 0000022D En_An, Dm_An, Dm_Gm 0000022F Dm_Char05 (var 0003, Majora's Mask) 00000232 Dm_Al, Dm_Ah, Dm_Nb 00000235 En_And 00000238 Dm_Bal 00000239 Door_Warp1 000002C8 En_Dns (Deku Palace Scrub) 00000085 En_Fall - unsure 00000146 Demo_Getitem - unsure 000001C2 En_Fall - unsure 000001C3 En_Fall - unsure 00000205 En_Fall - unsure 00000237 En_Weather_Tag - unsure 0000024A En_Giant - unsure -ENTRY TYPE 1 <--used for actors (Link, Tatl, etc.) (0x30 bytes long) aaaabbbb eeeeqqqq rrrrssss ffffffff gggggggg hhhhhhhh iiiiiiii jjjjjjjj kkkkkkkk uuuuuuuu uuuuuuuu uuuuuuuu aa = animation number bb = animation start (frame) ee = animation end (frame) qq = direction link is looking (up and down) rr = rotation ss = unknown ff = starting point (x axis) gg = starting point (y axis) hh = starting point (z axis) ii = ending point (x axis) jj = ending point (y axis) kk = ending point (Z axis) * give link a walking animation (0x01 or 0x02) if you want him to walk from one point to the next -ENTRY TYPE 2 <--- used for text aaaabbbb ccccdddd FFFFFFFF aa = message ID bb = message start (frame) cc = message end (frame) dd = unknown