Difference between revisions of "Minty Ramblings"
Minty Meeo (talk | contribs) |
Minty Meeo (talk | contribs) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 24: | Line 24: | ||
cam_pos_y 4 1 0 | cam_pos_y 4 1 0 | ||
− | In the <SCENE_KEY_ANM_INFO> section, I've | + | In the <SCENE_KEY_ANM_INFO> section, I've only observed the numcameras argument actually functioning at all. Removing everything else is fine. |
+ | |||
+ | In the <KEY_CAMERA_TABLE> section, cam_pos values are the position of the camera in a scene, and the cam_lat values are the point in space that the camera is focusing on. | ||
{|class="wikitable sortable mw-collapsible" | {|class="wikitable sortable mw-collapsible" | ||
Line 156: | Line 158: | ||
If you ever need to find a file opened in RAM, just search for the filename. It's usually right next to the data. | If you ever need to find a file opened in RAM, just search for the filename. It's usually right next to the data. | ||
When parameter files are not opened to replace parameter values, the memory address with the parameters stays roughly the same, minus the string with the filepath. This is how I determined the DOL embedded parameter values. | When parameter files are not opened to replace parameter values, the memory address with the parameters stays roughly the same, minus the string with the filepath. This is how I determined the DOL embedded parameter values. | ||
+ | |||
+ | ==Summary of DataDir folders== | ||
+ | I found this old post of mine in the Hocotate Hacker chat history, and thought it'd be good to preserve it. | ||
+ | <source> | ||
+ | 2d_data Contains several unused image files. TXE files are very rare. | ||
+ | archives Contains Paired ARC+DIR Files archives. It's best to disable them | ||
+ | bosses Contains parameters, models, animations, and animation managers for every boss | ||
+ | camera Contains three versions of the camera parameters. camepara.bin is used. | ||
+ | cinemas Contains resources used in in-game cutscenes, from models, to animations, to file pointers. | ||
+ | courses Contains the 3D models for every area of the game. Some testing maps, too. | ||
+ | effects Contains particle effects, Onion stuff, and mysterious PCR files | ||
+ | ghost Contains a file we don't understand, but the game frequently loads | ||
+ | intro Contains Nintendo logo image and course name images | ||
+ | MovieData Contains pre-rendered video in a format we can't really decompile. Maybe someday. | ||
+ | objects Contains models, animations, animation managers for miscellaneous objects. Pellets, weeds, ship parts, etc. | ||
+ | parms Contains general parameter files. Largely understood and documented in The Spreadsheet | ||
+ | pikis Contains models, animations, and animation managers for pikmin, olimar, and stages of maturity of pikmin. | ||
+ | savedata Contains a file we don't understand. Suspected to be unused. Editing gives no results. | ||
+ | screen Contains textures and layouts for 2D menus. Available in many languages. | ||
+ | Shapes Contains miscellaneous 3D models like the cursor and some stuff used in debugger | ||
+ | SndData Contains both sequenced and streamed audio. | ||
+ | Stages Contains GEN files, lighting files, stage resource pointers, and the all important "stages.ini" | ||
+ | tekikeys Contains animation managers for all enemies | ||
+ | tekipara Contains parameters for all enemies. Mostly understood and documented in The Spreadsheet | ||
+ | tekis Contains animations and models for all enemies | ||
+ | testdata Contains some leftover files. Early models for a few ship parts/enemies, along with a mysterious "1.act" file. | ||
+ | </source> | ||
+ | |||
+ | ==Pikmin Entities in Pikmin 2== | ||
+ | When located in RAM, the entities for the Pikmin are 0x2C8 bytes long. You can find stuff like the Pikmin color, happa level, and lots of pointers presumably to stuff like the model, animations, n' stuff. | ||
[[Category:Notes]] | [[Category:Notes]] | ||
[[Category:Pikmin]] | [[Category:Pikmin]] |
Latest revision as of 17:09, 9 January 2019
The ramblings and ravings of a madman
Contents
Cutscenes[edit]
Despite CIN files requiring an Animation Manager to be loaded alongside an Animation Bundle, they are not actually used.
Cutscenes will always load the first DCA or DCK file in an Animation Bundle. They use the File Content Indicator to tell what type of animation is being loaded. An improper File Content Indicator results in a crash. This is the only observed usage of the File Content Indicator.
Models can load without animations and animation managers in a CIN file.
DSK files are pretty easy to understand
There are "ANM" sections, and "TABLE" sections
"ANM" sections contain really finnicky float declarations that often don't cooperate when added to or removed from.
"TABLE" sections point specific parameters to indexes of the ANM section
- The first value has an unknown purpose
- The second value is the index value
- The third value has an unknown purpose
cam_pos_y 4 1 0
In the <SCENE_KEY_ANM_INFO> section, I've only observed the numcameras argument actually functioning at all. Removing everything else is fine.
In the <KEY_CAMERA_TABLE> section, cam_pos values are the position of the camera in a scene, and the cam_lat values are the point in space that the camera is focusing on.
pb_wait1.dsk
<SCENE_KEY_ANM_INFO>
{
version 1.00
filename d:/data/デモシーン/demo9/p_wait1
toolname soft3D
source 'SOFTIMAGE3D_SDKv1.93.0 / 3Dv3.93.0'
date 2001/08/28
time 13:52:00
host MAKITAS-ZPRO
magnify 1.000000
numframes 210
numcameras 1
numAmbLights 0
numDifLights 0
numfogs 0
numLayerFogs 0
playmode loop
si_key nouse
}
<KEY_CAMERA_ANM>
{
size 42
float 0.020000 0.000000 32.000000 -1.431141 181.000000 22.114449 -0.329876 209.000000
float 22.000000 0.000000 210.000000 32.000000 0.000000 0.000000 170.464081 -9.969177
float 170.000000 102.745132 -3.994102 209.000000 100.807358 0.000000 210.000000 170.464081
float 0.000000 0.000000 8.000000 -1.660000 0.000000 21.340012 0.742654 161.000000
float 26.721846 0.592940 209.000000 27.139997 0.012388 210.000000 27.139997 0.000000
float 0.100000 32768.000000
}
<KEY_CAMERA_TABLE>
{
index 0
name cam_int1
cam_pos_x 1 0 0
cam_pos_y 4 1 0
cam_pos_z 4 13 0
cam_lat_x 1 25 0
cam_lat_y 1 26 0
cam_lat_z 1 27 0
cam_twist 1 25 0
cam_fovy 4 28 0
cam_near 1 40 0
cam_far 1 41 0
}
<EX_SI_KEY_CAMERA_ANM>
{
size 0
}
<EX_SI_KEY_CAMERA_TABLE>
{
index 0
name cam_int1
si_cam_aspect_ratio 1.333300
si_cam_auto_fovy false
si_cam_dof_type off
} |
---|
Cutscene Translation Index[edit]
There's a table inside the game somewhere that controls how cutscenes are loaded based on a few factors. The debugger, specifically JPN v1.01, details it a bunch. Notable examples include how every landing cutscene has the same "cutscene ID", but the Cutscene Translation Index takes that ID and the current stage ID, then loads a files form a specific demo folder in the cinemas folder.
record.gst and test.card[edit]
I have no bloody clue what this thing does. It is loaded from the filesystem every time you land in a stage. I think it has something to do with cutscenes, but it's beyond me. I've tried deleting it. I've tried filling it with garbage data. Nothing. It does bloody nothing every time. WHAT ARE YOU??? -Note by Ambrosia- The first 6 bytes spell out pikmin. If you jump 26 bytes ahead it then says `A game by EAD (c) 2001`
Everything I just said for record.gst mostly applies to test.card. The only difference being I've literally never seen test.card used. I can't find any strings to load it in the DOL, so it's probably unused. The weird thing is, I thought it would look similar to the savedata for Pikmin 1. However, I've looked at it and they're just about nothing alike. Could this be an old version of the save data?? :thinking:
Parameters[edit]
The function of parameters is to replace default values. As such, there are default values stored somewhere in the primordial soup of values stored in the DOL. It's much easier to find them in RAM during gameplay. If a parameter file is loaded, it's filepath is found near its values in RAM. If not, the filepath is gone. :thinking:
prefs.bin
and wave.bin
are more than likely unused parameter files.
I think prefs.bin might be an early version of either key.bin
or aiconst.bin
wave.bin I have no clue.
Courses vs Stages[edit]
A COURSE is a 3D model with routes and collision.
A STAGE is a combination of a course, GEN Files, and a Stage INI file which contains dynamic GEN definitions, lighting, and navi start positions.
STAGES are defined in the stages.ini
file in the stages folder.
PCR files[edit]
Ask the Luigi's Mansion dudes I dunno about these yet. Apparently they're parameters for particle effects.
H4M Files[edit]
Hudson Soft made this. Frick you Hudson Soft.
"Yet Another Gamecube Documentation" has this to say about it
"a proprietary Movie Format found on some Gamecube Game DVDs. Probably related to the HVQ (Hirarchical Vector Quantization) format developed by Hudson. "
I looked at H4M files once and regretted it. Here's my guess at the header
H4M Header
0x10 Data File Magic (HVQM4 1.3 )
0x04 Int ?
0x04 String ?
0x04 Int Video length in seconds
0x04 Int ?
0x04 Int One less than Video Length?
</div>
There's a tool online that can apparently decode the audio of H4M files.
Cool Animations[edit]
All Pikmin and Olimar use the same animation bundle called bluModel.anm.anm
.H files[edit]
There are a few .H files left around the disc. All of them are leftovers from development. Half of them are plaintext BTI files, while the other half are enumerated bone joints for MOD files.
Finding things in RAM[edit]
If you ever need to find a file opened in RAM, just search for the filename. It's usually right next to the data. When parameter files are not opened to replace parameter values, the memory address with the parameters stays roughly the same, minus the string with the filepath. This is how I determined the DOL embedded parameter values.
Summary of DataDir folders[edit]
I found this old post of mine in the Hocotate Hacker chat history, and thought it'd be good to preserve it.
2d_data Contains several unused image files. TXE files are very rare.
archives Contains Paired ARC+DIR Files archives. It's best to disable them
bosses Contains parameters, models, animations, and animation managers for every boss
camera Contains three versions of the camera parameters. camepara.bin is used.
cinemas Contains resources used in in-game cutscenes, from models, to animations, to file pointers.
courses Contains the 3D models for every area of the game. Some testing maps, too.
effects Contains particle effects, Onion stuff, and mysterious PCR files
ghost Contains a file we don't understand, but the game frequently loads
intro Contains Nintendo logo image and course name images
MovieData Contains pre-rendered video in a format we can't really decompile. Maybe someday.
objects Contains models, animations, animation managers for miscellaneous objects. Pellets, weeds, ship parts, etc.
parms Contains general parameter files. Largely understood and documented in The Spreadsheet
pikis Contains models, animations, and animation managers for pikmin, olimar, and stages of maturity of pikmin.
savedata Contains a file we don't understand. Suspected to be unused. Editing gives no results.
screen Contains textures and layouts for 2D menus. Available in many languages.
Shapes Contains miscellaneous 3D models like the cursor and some stuff used in debugger
SndData Contains both sequenced and streamed audio.
Stages Contains GEN files, lighting files, stage resource pointers, and the all important "stages.ini"
tekikeys Contains animation managers for all enemies
tekipara Contains parameters for all enemies. Mostly understood and documented in The Spreadsheet
tekis Contains animations and models for all enemies
testdata Contains some leftover files. Early models for a few ship parts/enemies, along with a mysterious "1.act" file.
Pikmin Entities in Pikmin 2[edit]
When located in RAM, the entities for the Pikmin are 0x2C8 bytes long. You can find stuff like the Pikmin color, happa level, and lots of pointers presumably to stuff like the model, animations, n' stuff.