Nerketur
Member-
Posts
4 -
Joined
-
Last visited
-
Change color of text [CS:<type>]text[CR] A: Identified Item B: Forbidden Choice C: Caution D: Standard Color E: Bold Text F: Team Pokémon Name G: Money H: Traps (not in scripts, but used in game) I: Item Name J: Effect (of move) K: Poké Species Name L: Title Color (Also in testing) M: Move Name N: Pokémon Name O: (unused?) P: Place Name Q: (unused?) R: Selling Price S: Multiple Items Selected T: Transparent U: Unidentified Item V: Number W: Warning X: Team name Y: Team pokemon? Z: Exclusive items lines A horizontal line width of window [BAR] Pause during text display pause for tap, print the rest after interaction from the user [K] Pause at end, rest in new message [C] Pause for <int> frames, then automatically continue [W:<int>] Name replacers name of player [hero] name of partner [partner] name of player team [team:] [c_kind:<type>] [c_name:<type>] PLAYER: player ATTENDANT1: partner/second on team ATTENDANT2: 3rd person on team (not used in-game) ATTENDANT3: 4th person on team (not used in-game) NPC_HERO: Hero, used when hero is NPC (first time seen hero) NPC_PARTNER: partner, used when partner is NPC or possibility of partner not in second slot NPC_NEW_FRIEND: friend that just joined the team NPC_MANAFI: manaphy --tests-- NPC_TEST006: name of ? NPC_TEST007: name of ? --used in sky only?-- NPC_HERO_REAL: hero(player) name. Same as [player] in main story NPC_PARTNER_REAL: (partner) name. Same as [partner] in main story NPC_HERO_FIRST: hero(player) name. Same as [player] in main story, used in special missions NPC_PARTNER_FIRST: (partner) name. Same as [partner] in main story, used in special missions Alignment following text is centered? [CN] Font [FT:<int>] 0: all following text is normal text 1: all following text is unown text 2: all following text is buttons/same as B on the M format code, where the order in B is 'A-Za-z0-9' and two others. 64 in all. Note: the [FT:?] format code doesn't reset at the end of a string. It stays in effect until a message with another format code is displayed. Objects [M:<type>] -- All of these (except the debug commands) can be accessed with B as well, only the "official" letter-numbers are used. --buttons-- B0: Start B1: Select B2: A B3: B B4: X B5: Y B6: L B7: R B8: d-pad --reg buttons-- B9: - B10: o B11: x B12: ^ B13: v B14: < B15: > B16: << B17: >> B18: (list) B19: (search) B20: dpad updown B21: dpad leftright --gold buttons- (active) B22: - B23: o B24: x B25: ^ B26: v B27: < B28: > B29: << B30: >> B31: (list) B32: (search) --designs-- S0: Poké S1: blank S2: check S3: Star S4: x S5: checkx --hearts-- H0: pink heart 1/4 H1: pink heart 2/4 H2: pink heart 3/4 H3: pink heart 4/4 H4: yellow heart 1/4 H5: yellow heart 2/4 H6: yellow heart 3/4 H7: yellow heart 4/4 --dungeon?-- R0: - R1: halfstar R2: ? golden egg? R3: closed letter R4: open letter R5: design? R6: job post? R7: new story dungeon ?R8: Wifi icon ?R9: email icon --text?-- T0: : T1: ' ' T2: chat balloon T3: japanese chara T4: different japanese chara --items-- I0: TM (T5) I1: Orb (T6) --debug?-- D0: ? turn debug off? D1: Used in wireless and debug mode text D2: used rarely Links [LS:<integer>] integer: which help info to link to Spaces integer determines how many pixels of space to leave. [S:<int>]
-
Table of PMD2 Scripting Commands Color Meaning sky only time only name not formulated everything (mostly) known If a row matches two or more colors, the higher color in the chart takes precedence. Sky Time Short Name Len Description 0 0 NOP 0 Do nothing. Equivilant to nothing there. 1 1 1 ??? 2 2 1 ??? 3 3 2 ??? 4 4 scroll? x x 2 pixels?:%v ?:%v 5 --- 2 ??? 6 --- chaptTitle x x x x num title 6 Same command in both cases, the last two params of each are the chapter number and the string displayed as the chapter title. This is a large black screen with a blue line under the words "Chapter <num>", and the words in the specified title underneath that. --- 5 chaptTitle num title 2 7 6 2 ??? 8 7 loadbottxt A B 2 Loads text to the bottom screen 9 8 loadbotpic A 1 Loads the specified pic 'A' to the bottom screen A --- sky:A 2 ??? B --- sky:B 2 ??? C 9 centerwhite ypos str 2 The string 'str', in white, centered on a black background, where the y position is at 'ypos'. D --- sky:D 2 ??? E A 1 ??? F B 1 ??? 10 C 2 ??? 11 D 2 ??? 12 E 1 ??? 13 F 2 ??? 14 10 2 ??? 15 11 2 ??? 16 12 2 ??? 17 13 loadtoppic pic 1 loads a picture 'pic' to the top screen. Differences between these commands are unknown 18 14 loadtoppic2 pic 1 19 15 3 ??? 1A 16 1 ??? 1B 17 1 ??? 1C 18 2 ??? 1D 19 2 ??? 1E 1A bgmfadeout frames 1 fade out the current BGM playing in 'frames' frames. 1F 1B bgmplay songID 1 play song 'songID' on in BGM 20 1C bgmfadein songID frames vol 3 Fade in song 'songID' in 'frames' frames to volume 'vol'. 21 1D bgmstop 0 Stop the curently playing BGM 22 1E bgmfadetovol frames vol 2 Fade the curent BM playing out to 'vol' in 'frames' frames. 23 1F bgm2fadeout frames 1 Same as the bgm counterpart, but with bgm2. 24 20 bgm2play songID 1 25 21 bgm2fadein songID frames vol 3 26 22 bgm2stop 0 27 23 bgm2fadetovol frames vol 2 28 24 3 ?:%x ?:%x %g 29 25 ifvartrue 3 vargroup?:%x var?:%x %g 2A 26 checkdebug 2 ?:%v %g 2B 27 2 ??? 2C 28 2 ??? 2D 29 3 ??? 2E 2A ifvar1? 4 ?:%x ?:%x ?:%x %g 2F 2B checkstoryvar? 4 kind?:%x sect?:%x val:%x %g 30 2C ifvar3? 4 ?:%x ?:%x ?:%x %g 31 2D ifvar4? 4 ?:%x ?:%x ?:%x %g 32 2E ifvar5? 4 ?:%x ?:%x ?:%x %g 33 2F 4 ??? 34 30 4 ??? 35 31 4 ??? 36 32 2 ?:%x %g 37 33 call 1 %g 38 34 waittap? 1 ?:%x 39 35 1 ??? 3A 36 1 ??? 3B 37 1 ??? 3C --- ff ??? 3D 38 5 ??? 3E 39 1 ??? 3F 3A 1 ??? 40 3B 1 ??? 41 --- ff ??? 42 3C 5 ??? 43 3D 1 ??? 44 3E 1 ??? 45 3F 1 ??? 46 --- ff ??? 47 40 5 ??? 48 41 0 ??? 49 42 3 ??? 4A 43 0 ??? 4B 44 0 ??? 4C 45 charpos 4 X:%v Y:%v X2:%v Y2:%v 4D 46 1 ??? 4E 47 1 ??? 4F 48 1 ??? 50 --- ff ??? 51 49 5 ??? 52 4A 1 ??? 53 4B 1 ??? 54 4C 1 ??? 55 -- ff ??? 56 4D 5 ??? 57 4E 1 ??? 58 4F 1 ??? 59 50 1 ??? 5A --- ff ??? 5B 51 5 ??? 5C 52 0 ??? 5D 53 imageanims? 3 ??? 5E 54 0 ??? 5F 55 0 ??? 60 56 imagepos 4 C:%v R:%v X:%v Y:%v 61 --- sky:61 0 ??? 62 --- sky:62 1 ??? 63 57 case 2 %v %g 64 58 choice 2 '%s' %g 65 --- sky:65 2 ??? 66 59 ifvareq 3 var:%x val:%v %g 67 5A iftype 2 %d disp:'%s' 68 5B ifresult 3 #%x %d %g 69 5C ifresult2? 3 #%x %d %g 6A 5D 1 ??? 6B 5E runscript 1 '%s' 6C 5F runscript2? 2 ?:%x '%s' 6D 60 2 ??? 6E 61 else 1 '%s' 6F 62 diganim? 0 ??? 70 63 ENDSCRIPT 0 ??? 71 --- 0 ??? 72 64 1 ??? 73 65 2 ??? 74 66 setvar 3 vartype?:%x var:%x value:%d 75 67 giveuser? 3 words? 3 ?:%x ?:%x amt:%d 76 68 3 ??? 77 69 1 ??? 78 6A 1 ??? 79 6B partytest 2 position:%x char:%x 7A 6C 0 ??? 7B 6D 1 ??? 7C 6E 1 ??? 7D 6F dungeonmode 2 dungeon:%x, mode:%d 7E 70 2 ??? 7F 71 2 ??? 80 72 setstoryvar 3 kind:%x, sect:%x, val:%x 81 73 0 ??? 82 74 return? 0 ??? 83 --- sky:83 2 ??? 84 --- sky:84 3 ??? 85 --- sky:85 2 ??? 86 --- sky:86 2 ??? 87 75 goto 1 %g 88 76 gotogrp 1 %d 89 77 action 1 for:%x 8A 78 1 ??? 8B 79 1 ??? 8C 7A 2 ??? 8D 7B loadscene 2 scene:%v ?:%x 8E 7C 2 ??? 8F 7D 3 ??? 90 7E 1 ??? 91 7F dojo? 2 ??? 92 80 dojo2? 2 ??? 93 81 clearvar??? 1 var:%x 94 82 1 ??? 95 83 0 ??? 96 84 pausescript? 0 ??? 97 85 0 ??? 98 86 Msg(#86) 1 '%s' 99 87 pokepicpos 2 X:%v, Y:%v 9A 88 Msg(#88) 1 '%s' 9B 89 0 ??? 9C 8A msgmail 1 '%s' 9D 8B special 1 %x 9E 8C msgmonologue 1 '%s' 9F 8D Msgdark 2 frames:%d '%s' A0 8E msgnotice 1 '%s' A1 8F 0 ??? A2 90 deletepicspeak 0 ??? A3 91 speakchar 1 chara:%x A4 92 picspeakchar 3 chara:%x facetype:%x facepos:%x A5 93 3 ??? A6 94 picchar 3 chara:%x facetype:%x facepos:%x A7 95 setfacepos 1 type:%x A8 96 wait? 2 ??? A9 97 1 ??? AA 98 choicemsg 2 ?:%x choices:%d AB --- sky:AB 3 ??? AC 99 msgherosex 1 ??? AD 9A msgpartnertype 1 ??? AE 9B msgtalk 1 '%s' AF 9C 3 ??? B0 9D 2 ??? B1 --- ff ??? B2 9E 5 ??? B3 --- sky:B3 ff does FF mean not used? or really 255? maybe something special like multi-length? This is from the ROM B4 9F move1 3 char:%d X:%v Y:%v B5 A0 3 ??? B6 A1 3 ??? B7 A2 2 ??? B8 --- ff ??? B9 A3 5 ??? BA --- ff ??? BB A4 move2 3 char:%d X:%v Y:%v BC A5 3 ??? BD A6 movesinglebound 3 dist:%v mult:%v dir:%v BE A7 2 ??? BF A8 3 ??? C0 A9 2 ??? C1 AA 3 ??? C2 --- sky:C2 10 (ff) multi-length? C3 AB movedest 5 ?:%x ?:%x ?:%x destX:%v destY:%v C4 AC 6 ??? C5 --- ff ??? C6 AD moverel 3 ?:%x changeX:%v changeY:%v C7 AE moveAE 3 ??? C8 AF moveAF 3 ??? C9 B0 objaction 1 obj:%x CA --- sky:CA 1 ??? CB B1 bgaction 1 bg:%x CC B2 checkitem 3 what:%x item:%x CD --- 4 ??? CE --- 4 ??? CF B3 1 ??? D0 B4 1 ??? D1 B5 1 ??? D2 B6 1 ??? D3 B7 1 ??? D4 D5 B8 0 ??? D6 B9 1 ??? D7 BA fadeyellow 4 block:%d frames:%d from:%d to:%d D8 BB 4 ??? D9 BC fadeinbotbg 2 block:%d frames:%d DA BD fadeinbotbg2? 2 block:%d frames:%d DB BE fadeoutbotbg 2 block:%d frames:%d DC BF fadeinbgm? 2 ??? DD C0 8 ??? DE C1 colorchangebotoff 6 block:%d frames:%d type:%x R:%d G:%d B:%d DF C2 colorchangeboton 6 block:%d frames:%d type:%x R:%d G:%d B:%d E0 C3 4 ??? E1 C4 4 ??? E2 C5 2 ??? E3 C6 2 ??? E4 C7 fadebotwhite 2 block:%d frames:%d E5 C8 2 ??? E6 C9 4 ??? E7 CA 4 ??? E8 CB fadeintopbg 2 block:%d frames:%d E9 CC 2 ??? EA CD fadeouttopbg 2 block:%d frames:%d EB CE 2 ??? EC CF 8 ??? ED D0 colorchangetopoff 6 block:%d frames:%d type:%x R:%d G:%d B:%d EE D1 colorchangetopon 6 block:%d frames:%d type:%x R:%d G:%d B:%d EF D2 4 ??? F0 D3 4 ??? F1 D4 2 ??? F2 D5 2 ??? F3 D6 2 ??? F4 D7 2 ??? F5 --- sepan 3 %x frames:%d pan?:%v F6 --- sevol 3 %x, frames:%d vol:%d F7 D8 sefadeout 2 %x frames:%d F8 D9 seplay 1 %x F9 --- seplayvolpan 3 %x vol:%d pan?:%v FA --- seplay2 2 %x vol:%d FB --- seplay3 2 %x vol:%d FC DA sestop 1 %x FD DB 1 ??? FE DC 1 ??? FF --- 2 ??? 100 DD 1 ??? 101 DE 2 ??? 102 DF emoticon 2 %d ?:%x 103 E0 1 ??? 104 E1 1 ??? 105 E2 1 ??? 106 E3 6 ??? 107 E4 1 ??? 108 E5 2 ??? 109 E6 0 ??? 10A E7 1 ??? 10B E8 4 ??? 10C E9 2 ??? 10D EA 2 ??? 10E EB 1 ??? 10F EC 3 ??? 110 --- 3 ??? 111 ED 2 ??? 112 --- ff ??? 113 EE 5 ??? 114 --- ff ??? 115 EF move5 3 char:%v X:%v Y:%v 116 F0 3 ??? 117 F1 3 ??? 118 F2 2 ??? 119 --- ff ??? 11A F3 5 ??? 11B --- ff ??? 11C F4 move6 3 char:%d X:%v Y:%v 11D F5 3 ??? 11E F6 2 ??? 11F F7 3 ??? 120 F8 2 ??? 121 F9 3 ??? 122 --- ff ??? 123 FA 5 ??? 124 FB 6 ??? 125 --- ff ??? 126 FC 3 ??? 127 FD soundfadeout 1 frames:%d 128 FE soundstop 0 ??? 129 --- sky:129 0 ??? 12A FF sectplace 1 %v 12B --- sky:12B 1 ??? 12C 100 execscript 3 '%f/%s' ?:%x 12D 101 execscript2 3 '%f/%s' ?:%x 12E 102 1 ??? 12F 103 1 ??? 130 104 3 ??? 131 105 addvar 2 var:%x, val:%v 132 106 2 ??? 133 107 3 ?:%x '%s' ?:%x 134 108 1 ??? 135 --- runscript3? 1 '%s' 136 109 2 ??? 137 10A 1 ??? 138 10B sectdel 1 %v 139 10C objdel 1 obj:%x 13A 10D 3 ??? 13B 10E 1 ??? 13C 10F objadd 1 obj:%x 13D 110 1 ??? 13E 111 3 ??? 13F 112 switchvar 1 (%x) 140 113 1 ??? 141 114 1 ??? 142 115 1 ??? 143 116 4 ??? 144 117 1 ??? 145 118 1 ??? 146 119 1 ??? 147 11A 1 ??? 148 11B switchvar2 1 (%x) 149 11C switchparam 0 ??? 14A 11D 3 ??? 14B 11E 3 ??? 14C 11F actfacedir(fast) 3 char:%x dir:%d ?:%x 14D 120 move120 3 char:%x ?:%x ?:%x 14E 121 move121 3 char:%x ?:%x ?:%x 14F 122 8 ??? 150 123 3 ??? 151 --- sky:151 4 ??? 152 124 1 ??? 153 125 2 ??? 154 126 2 ??? 155 127 5 ??? 156 128 toggleextraact? 1 char:%x 157 129 delay 1 frames:%d 158 12A actraisehand 0 ??? 159 12B 0 ??? 15A 12C 0 ??? 15B 12D bgmwait 1 %x 15C 12E bgm2wait 1 %x 15D 12F 0 ??? 15E 130 norep 0 ??? 15F --- sky:15F 0 ??? 160 131 waitanim 1 char:%x 161 132 1 ??? 162 133 1 ??? 163 134 0 ??? 164 135 2 ??? 165 136 2 ??? 166 137 2 ??? 167 138 1 ??? 168 139 1 ??? 169 13A 0 ??? 16A 13B 0 ??? 16B 13C 2 ??? 16C 13D 0 ??? 16D 13E 0 ??? 16E 13F 0 ??? 16F 140 sewait 1 %x 170 141 0 ??? 171 142 mapwaitanim 0 ??? 172 143 0 ??? 173 144 mapmarkflash 1 %x 174 145 clearcloudlev 1 %x 175 146 maparrowclear 0 ??? 176 147 mapcameramove 1 %x 177 148 maplabelclear 0 ??? 178 149 maparrowplace 1 %x 179 14A mapcharaplace 1 %x 17A 14B loadmap 1 %d 17B 14C mapmarkunflash 1 %x 17C 14D 1 ??? 17D 14E maplabelshow 1 %x 17E 14F maptype 1 %x
-
SSB files are always found with an associated .SSA, .SSE, or .SSS file, with the single exception of unionall.ssb, found in the /SCRIPT/COMMON/ folder of the Nitro File System. These files contain the actual scripting code, much like the canon series of Pokémon games. The main differences are the number and format of these commands. SSB files are all 16-bit word-based. Because of this, the file itself must be an even number of bytes, and in fact the string and constant tables have special rules to ensure this. Special cases unionall This file is a very special case for two reasons. It does not have an SSA, SSE, or SSS file connected with it, and it stays in memory for the entire time scripts are being run. This is the master script that is the first to run when the power is turned on, and handles all the scene changes, events, and anything else that can be scripted. The entire titlescreen is run with unionall.ssb, as is the entire game. It is the ONLY script that is called through ASM, and is put in a very special location in memory, staying there until the game is turned off. When scripts end that this script calls, the script continues from where it left off, doing various things depending on the outcome of these scripts. More research needs to be done to find out everything this script does. File Format Header The header format differs slightly depending on the game's region. This is because while the US version stores only 1 language, the European game stores 5, each in its own string table. Header (US) Hex Short Name Description 00 numConst The number of 'constants' in the file 02 numString The number of 'strings' in the file 04 offsetConst First const offset or beginning of string table 06 sizeConst Size of the 'constant' table (in words) 08 sizeString Size of the 'string' table (in words) 0A unknown Unknown 0C data... Script data ... Header (European) Hex Short Name Description 00 numConst The number of 'constants' in the file 02 numString The number of 'strings' in each string table 04 offsetConst First const offset or beginning of string table 06 sizeConst Size of the 'constant' table (in words) 08 sizeEnglish Size of the 'English' table (in words) 0A sizeFrench Size of the 'French' table (in words) 0C sizeGerman Size of the 'German' table (in words) 0E sizeItalian Size of the 'Italian' table (in words) 10 sizeSpanish Size of the 'Spanish' table (in words) 12 data... Script data ... Data Header Hex Short Name Description 00 LEN Length of data, usually first constant offset + 2*numConst 02 numGroups The number of 'groups' in the file 04 entry... (numGroup entries) Group entries 06 08 ... more groups if numGroups > 1 extra groups, up to numGroups ... commands... (LEN words) Script commands area Groups Hex Short Name Description 00 scriptLoc Commands location (will always be at the start of a valid command) 02 type? possibly the type of group? unsure 04 unknown Unknown (char if type=3?) Commands Main article: Table of PMD2 Scripting Commands Time/Darkness Time has 0x150 commands in total in its scripting subsystem. It is currently unknown what every one does, but a lot have been figured out. Sky Sky has 0x180 commands in total in its scripting subsystem. It is currently unknown what every one does, but a lot have been figured out. Also, EVERY command from Time is in these commands as well. This means there are 0x30 new commands introduced in Sky. Some of the old commands are also changed slightly. The introduced commands were inserted into various locations in the time commands, which means the same command in Time/Darkness and Sky usually has two different command numbers. For example, 0x8B in Time is the same as 0x9D in Sky. Constants/strings tables If there is nothing in a particular table, then that table is omitted. The strings table strings are at (offset from string table) + (LEN). The constant table strings have offsets as if they were part of the string table. Therefore, the constants are actually at (offset from const table) + (LEN) - (2 * numStrings). Another way of calculating the constants offset is assume the first offset leads to offsetConst, subtract the first offset from all the others and you will get the offset from offsetConst. Or (offset from const table) - (first offset from const table) + (offsetConst) Regardless of the table, if the size in bytes of the table + offsets is an odd number, then an extra null byte is added to the end of the otherwise complete table before being stored. Constant table entry 0000: (word) start of string + 2* num strings. String table entry 0000: (word) start of string (from the beginning of the string table). Const/String The differences between these two types of strings are unknown. What is known is as follows: Every constant and every string is null-terminated. Constants are always in all-caps Strings can hold special formatting instructions and be any conceivable length Commands that accept strings will also accept constants and display them as if they would a string. Commands that accept constants can conceivably accept strings, but it is unknown if this will work in most cases Notes Constant Locations Constant offsets - 2*numStrings = actual constant locations. It is unclear why this is the case, but it is clear that the script commands act as if constants and strings were all in the same big array.
-
.SSA, .SSE, and .SSS files all use the exact same format, and as far as is currently known all do the same things. The only differences appear to be which links exist. These files and their respectively named .SSB files are effectively linked, as within the script they are not called by extension, but by name. These are never found alone. They are like C/C++ .h files, in that they are connected to a certain file, and therefore useless by themselves. They are used to determine the starting positions of Pokémon, backgrounds, and interactable areas (including ones that you simply move into to interact). There are still some secrets that are unknown, however. All data contained in these files is in groups of words. Word (as defined here) refers to the 16-bit word, or the values between 0x0000 and 0xFFFF inclusive. It is also referred to as a short in most common programming languages (on 32-bit OS's and above), or a 'halfword' as in the ARM processors used in the NDS. Specifics SSE The only known .SSE file is 'enter.sse' All known links from this file go to other enter files, 'enterXX.ssb', and the files are all linked. All the Pokémon, backgrounds, etc. in this file are used as initial positions for all enter files. This file will always exist in every subfolder of /SCRIPT/, that describes an area that can be entered by the player during normal play. (some folders contain visual effects, or only cutscenes) SSS There are two types of .SSS files. The first is 'umXX.sss', and the second is 'usXX.sss'. In both cases, the XX can stand for any decimal number. Differences between the two types are unknown at this time. umXX.sss These are linked to all the umXXYY.ssb files where XX is the same in both files. The links themselves are determined in the .SSS file usXX.sss These are linked to all the usXXYY.ssb files where XX is the same in both files. The links themselves are determined in the .SSS file SSA Every other known .SSB file, with one exception, has this file as a "metafile" of sorts, showing all initial locations, background areas, etc. A file named 'm22a0201.ssb', for example, would have 'm22a0201.ssa' as this file. The sole exception to this rule is unionall.ssb, contained inside the /SCRIPT/COMMON/ folder. It has no .SSA, .SSE, or .SSS file connected with it. File Format Items with question-marks are unknown at this time, but believed. Short names are only to give a simple mnemonic to remember by. These names are not used inside the game Header Hex Short Name Description 0000 numGroups (N) The number of 'groups' in the file (N) 0002 dataOffset (Z) Length of non-groups/start of groups (Z) 0004 unkn (A) Start of something (only enter.sse?) 0006 pokéPos (B) Pokémon posititions 0008 objPos (C) Object positions 000A backPos (D) Default backgrounds (pos?) 000C unknown (E) Start of third non-6 group 000E movements (F) Start of movements (actions) 0010 4wordsLoc (G) start of 4 unknown words (usually 9, -1, -1, -1) A words from start This is apparently usually only used in enter.sse. Hex Short Name Description 00 unknown1 Unknown 02 unknown2 04 unknown3 06 entryNum Number entry (enterXX.ssb if enter.sse) to go to. B words from start: (chara group) Hex Short Name Description 00 pokémon Pokémon to change 02 faceDir Direction to face 04 xPos X coordinate -- 8 pixel increments. -- 0 = half of shadow there 06 yPos Y coordinate -- 0 = Shadow 1 pixel down 08 xOffset x offset? 0-1, 2-3, 4-7 = 0, 4, 16 0A yOffset y offset? 0-1, 2-3, 4-7 = 0, 4, invis 0C entryNum Numbered entry (XX in enterXX.ssb if enter.sse), usually FFFF (means none) 0E unknown Unknown, usually FFFF C words from start: This group works with objects. Each group of 8 words defines a new object, and has the following structure: Hex Short Name Description 00 object Object to change 02 unknown1 Unknown 04 unknown2 06 unknown3 08 xPos X coordinate -- 8 pixel increments. -- 0 = half of shadow there 0A yPos Y coordinate -- 0 = Shadow 1 pixel down 0C xOffset x offset? 0-1, 2-3, 4-7 = 0, 4, ? 0E yOffset y offset? 0-1, 2-3, 4-7 = 0, 4, ? 10 entryNum Numbered entry (XX in enterXX.ssb if enter.sse) to run on interact, usually FFFF (means none) 12 unknown4 Unknown, usually FFFF D words from start Deals with backgrounds. Hex Short Name Description 00 object Spot used in code B1 (EoT/EoD) 02 unknown1 Unknown 04 unknown2 06 unknown3 08 xPos X coordinate -- 8 pixel increments. 0A yPos Y coordinate 0C xOffset x offset? 0-1, 2-3, 4-7 = 0, 4, ? 0E yOffset y offset? 0-1, 2-3, 4-7 = 0, 4, ? 10 entryNum Numbered entry (XX in enterXX.ssb if enter.sse) to run on interact, usually FFFF (means none) 12 unknown4 Unknown, usually FFFF E words from start Hex Short Name Description 00 what? What to change? 02 unknown1 Possibly facing? 04 xPos? X coordinate? 06 yPos? Y coordinate? 08 xOffset? x offset? 0A yOffset? y offset? 0C entryNum? All that is known is this is NOT enterXX.ssb numbers 0E unknown2 Unknown, usually FFFF F words from start Deals with movements. Hex Short Name Description 00 xPos? X coordinate? -- 8 pixel increments. 02 yPos? Y coordinate? 04 xOffset? x offset? 06 yOffset? y offset? 08 unknown1 Unknown 0A unknown2 0C unknown3 0E unknown4 G words from start Hex Short Name Description 00 unknown1 (9) Usually 0009 02 unknown2 (-1) Usually FFFF 04 unknown3 (-1) 06 unknown4 (-1) Z words from start Not much is known about this group, other than the fact it is always 10*N words long. Hex Short Name Description 00 unknown1 All are apparently used, a lot of repeats 02 unknown2 04 unknown3 06 unknown4 08 unknown5 0A unknown6 0C unknown7 0E unknown8 10 unknown9 12 unknown10