Pmd2 SSA: Difference between revisions
(started page for SSA/SSS/SSE files) |
UniqueGeek (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
[[Category:NDS Mystery Dungeon]] | |||
[[Category:Game Data]] | |||
.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 [[Pmd2 SSB|.SSB]] files are effectively linked, as within the script they are not called by extension, but by name. | .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 [[Pmd2 SSB|.SSB]] files are effectively linked, as within the script they are not called by extension, but by name. | ||
Revision as of 00:09, 3 February 2017
.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