Sample Game 1 PAK: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
No edit summary
imported>Ikskoks
No edit summary
 
(25 intermediate revisions by 5 users not shown)
Line 4: Line 4:


== PAK ==
== PAK ==
{{GRAFPageMisc|date_posted=20:45, 26 Apr 2006 (EDT)}}<!--
{{GRAFPageMisc}}
 
If your format is non-archive, add the parameter format_type= to it. You then choose from one of the following: {{FormatAudio}}, {{FormatMiscellaneous}}, or {{FormatVideo}}. For example, if my format is a picture format (video), I would place on the format page: {{GRAFPageMisc|format_type={{FormatVideo}}|date_posted=XXX}}.
If your format is not Little Endian (and thus Big Endian), add the text endian_order={{EndianBig}} to it. For example, this would be placed on the format page: {{GRAFPageMisc|endian_order={{EndianBig}}|date_posted=XXX}}.
You can also use these together. For example, if my above examples were for the same format: {{GRAFPageMisc|format_type={{FormatVideo}}|endian_order={{EndianBig}}|date_posted=XXX}}
Lastly, note that the exact order of the parameters isn't important. For example, {{GRAFPageMisc|date_posted=XXX|endian_order={{EndianBig}}|format_type={{FormatVideo}}}} will display just the same as {{GRAFPageMisc|format_type={{FormatVideo}}|date_posted=XXX|endian_order={{EndianBig}}}} or {{GRAFPageMisc|format_type={{FormatVideo}}|endian_order={{EndianBig}}|date_posted=XXX}}.
-->


=== Format Specifications ===
=== Format Specifications ===
{{GRAFPageFormat|1=char {15} &nbsp;&nbsp; - Header {{Purple|(Sample Game PAK)}}<br>
{{GRAFPageFormat|1=char {15} &nbsp;&nbsp; - Header {{Constant|(Sample Game PAK)}}<br>
byte {1} &nbsp;&nbsp;&nbsp; - null Padding<br>
byte {1} &nbsp;&nbsp;&nbsp; - null Padding<br>


{{Blue|// For each file}}<br>
{{BlockDescription|// For each file}}<br>
:char {16} &nbsp;&nbsp; - File name (null padded)
:char {16} &nbsp;&nbsp; - File name {{InlineComment|(null padded)}}
:uint32 {4} &nbsp; - File size
:uint32 {4} &nbsp; - File size
:byte {x} &nbsp;&nbsp;&nbsp; - File data}}<!--
:byte {x} &nbsp;&nbsp;&nbsp; - File data}}


Note that when you use the {{GRAFPageFormat}} template, if you use any other templates within it, such as {{Green}} or {{Unknown}}, you need to place a 1= right after the pipe character (|). For instance, {{GRAFPageFormat|{{Blue|This is blue}}}} will display as '''None written yet'''. However, {{GRAFPageFormat|1={{Blue|This is blue}}}} will display as '''This is blue''', in blue text.
==== [[wikipedia:Microformat|Microformat]] sandbox ====


Block section descriptions should be blue, like in the example above.
<div class="file-format">
 
  <div class="header-block">
Field tags can be one of the following:
    <div class="field"><!--
uint16 {2} for 2-byte-long unsigned integers
      --><span class="data-type">char</span> {<span class="field-size">15</span>} - <span class="field-description">Header</span> (<span class="field-value">Sample Game PAK</span>)
uint32 {4} for 4-byte-long unsigned integers
    </div>
char {x} for character data x bytes long
    <div class="field"><!--
byte {x} for hexadecimal data x bytes long
      --><span class="data-type">byte</span> {<span class="field-size">1</span>} - <span class="field-description">null Padding</span>
int16 {2} for 2-byte-long signed integers
    </div>
int32 {4} for 4-byte-long signed integers
  </div>
char {1} or byte {1} should be used for any 1-byte-long fields, and if you need a tag for fields 3 bytes long, or 5 bytes or longer, you can use char {x} or something like uint48 {6}. If you use uintx {x} or intx {x}, note that the first number in the tag is equal to the field's length * 8, so if a field is 4 bytes long, the first number would be 32. Field tags themselves should be thirteen characters long from the beginning to the dash, with multiple spaces using &nbsp;, as seen in the above example.
  <div class="data-block">
 
    <div class="block-description">For each file</div>
Unknown values should use the {{Unknown}} template. If you have an educated guess for what an unknown value might be, you should instead use {{Red| '' Educated guess '' }}, where Educated guess is, of course, your educated guess.
    <div class="field"><!--
 
      --><span class="data-type">char</span> {<span class="field-size">16</span>} - <span class="field-description">File name</span> (<span class="field-note">null padded</span>)
Literal strings, such as "Hello world" or "Wuzup?" should be purple and enclosed within parenthesis following the field description. Non-printable characters (NPC's), such as nulls, can be written as just the character's ASCII code, e.g. 00 for a null, or they can be prefixed with "0x", e.g. 0x00. Nulls themselves can also be represented by the word "null". Multiple NPC's should be seperated from each other and any literal  strings with commas or spaces. For instance, {{Purple|(Hello world,00,21)}} There may be another method or two used here, I've got to do some digging.
    </div>
 
    <div class="field"><!--
Any short notes should be in green after the field description. Longer notes should go in the "Notes and Comments" section.
      --><span class="data-type">uint32</span> {<span class="field-size">4</span>} - <span class="field-description">File size</span>
-->
    </div>
    <div class="field"><!--
      --><span class="data-type">byte</span> {<span class="field-size">x</span>} - <span class="field-description">File data</span>
    </div>
  </div>
</div>


=== Notes and Comments ===
=== Notes and Comments ===
Line 45: Line 44:


=== MultiEx BMS Script ===
=== MultiEx BMS Script ===
{{NoBMSScript}}<!--
{{NoBMSScript}}
 
IMPORTANT: DO NOT USE TEMPLATES WITH THE BMS SCRIPT TAG!!!
The current BMS plugin doesn't work with templates, and as a result, it cannot be put on a page partially contaied in a template. Therefore, assuming an oversimplified version of the BMS plugin, using something like
 
{{Script|author=someguy|ext=abc|script=foobar}}
 
with Template:Script containing
 
<bms author="{{author}}" ext="{{ext}}">
{{script}}
</bms>
 
the plugin returns an error, and you see lots of brackets. Templates can still be used outside of the <bms> tag with no consequense, though. Therefore,
 
{{template1}} <bms tag here> {{template2}}
 
will work perfectly fine.
-->


=== Supported by Programs ===
=== Supported by Programs ===
{{NoProgramSupport}}<!--
{{NoProgramSupport}}
 
If your format is supported by any programs, you should list each program on its own line, and each line should start with an asterisk (*). This will automatically make a list.
If your format is supported by MultiEx Commander, replace the line {{NoProgramSupport}} with {{ProgramSupportMexcom}}. Note that if MexCom supports a given format, its tag should always be the first program on the list.
If your format is supported by Game Extracter, replace the line {{NoProgramSupport}} with {{ProgramSupportGameExtracter}}.  Note that if Game Extracter supports a given format, its tag should always be either directly below MexCom's tag, if MexCom also supports that format, or it should be at the top of the list.
If your format is supported by any other programs, list them in alphabetical order, and if they have pages on the WIKI, link the name to the corresponding page. For example, if my format is supported by a program called FooBar3000, and there is a page on the WIKI for that program, the link would look like [[FooBar3000]] (if the page name was the same as the name of the program).
 
For example:
* {{ProgramSupportMexcom}}
* {{ProgramSupportGameExtracter}}
* AnotherGenericFileExtracter
* [[FooBar3000]]
* SomeOtherProgram
 
Without MexCom support:
* {{ProgramSupportGameExtracter}}
* [[FooBar3000]]
 
Without Game Extracter support:
* {{ProgramSupportMexcom}}
* [[FooBar3000]]
 
Without either:
* [[FooBar3000]]
-->


=== Links ===
=== Links ===
Line 101: Line 58:


[[Category:Complete Complete| ]] [[Category:Platform PC| ]]
[[Category:Complete Complete| ]] [[Category:Platform PC| ]]
[[Category:File Format]]

Latest revision as of 11:40, 21 January 2021

Back to index | Edit this page

NOTE: This is only an example of a GRAF page. As far as I know, there is no game called "Sample Game 1", and no game uses the exact archive format given below.

PAK

Format Specifications

char {15}    - Header (Sample Game PAK)

byte {1}     - null Padding

// For each file

char {16}    - File name (null padded)
uint32 {4}   - File size
byte {x}     - File data

Microformat sandbox

char {15} - Header (Sample Game PAK)
byte {1} - null Padding
For each file
char {16} - File name (null padded)
uint32 {4} - File size
byte {x} - File data

Notes and Comments

None

MultiEx BMS Script

None written yet.

Supported by Programs

Unknown

Links

None

Games

Navigation

Jump to a listing by...
All Formats - Common Formats - Standard Formats - Malformed Pages
Platforms
Microsoft:
Xbox
Xbox 360
Nintendo:
GameCube
DS
Desktop:
PC
Sega:
Dreamcast
Sony:
PlayStation
PlayStation 2
PlayStation 3
PlayStation Portable
Type
Animation - Archive - Audio - Image - Mesh - Miscellaneous - Model - Video
Endianness
Little-endian - Big-endian
BMS Scripts
Pages Without a BMS Script

All Pages with Scripts:
Recently Added Scripts

Program Support
No Known Support

MultiEx Commander - Game Extractor

Format Specification Completion
Work in Progress - Almost Done - Completed
Compression and Encryption
No Compression or Encryption Used - Unknown Compression or Encryption Used

One or Both Used:
Compression Used - Both Compression and Encryption Used