This repository contains hex patterns that can be used with ImHex and are specific to various file formats used by the Flipnic PlayStation 2 game.
This is a part of the Flipnic extraction project, where we try to understand as much of the game's file formats as possible.
- binfile.hexpat - Virtual filesystem for .BIN blob files [VFS support]
- folder.hexpat - Subfolders in .BIN blob files [VFS support]
- fpc.hexpat - Camera sequences (.FPC)
- hd.hexpat - Soundbank (VAB) header file
- ipu.hexpat - Flipnic uses IPU video streams, which can be extracted by demuxing the .PSS file
- msg.hexpat - JA.MSG file (strings used by the game)
- pss.hexpat - Custom .PSS container, which contains audio/video streams
- savefile.hexpat - Save file format
- scc.hexpat - Microsoft SourceSafe Source Code Control files (VSSVER.SCC)
- sst.hexpat - Stage definition files (.SST)
- tim2.hexpat - Texture files (.TM2)
- saveicon.hexpat - Save file icon (FICON.ICO)
- vsd.hexpat - Vibration strength data (.VSD)
Incomplete patterns:
- col.hexpat - Collision maps (.COL)
- fpd.hexpat - Object movement data (.FPD)
- ftl.hexpat - Texture list (.FTL)
- mlb.hexpat - Layout for various in-game menus (.MLB)
- lay.hexpat - The game uses these files to find where things are on the stage, as well as scaling and skew effects (.LAY)
- lp4.hexpat - Game resource file (usually 3D models and 2D text animations)
- Clone this repository
- Open ImHex
- Go to Extras > Settings > Folders
- Add a folder that points to this repository (IMPORTANT: choose the root directory, not patterns folder)
- Close the Settings window
- You can now apply a pattern if you go to File > Import > Pattern file
If you open a file with a known header, ImHex will automatically prompt you to apply a pattern:
| Extension | Description | Decode | Generate | Notes | Tool(s) |
|---|---|---|---|---|---|
| BIN | Blob files | ✅ | ✅ | Can generate, but making a RES.BIN from scratch causes the game to crash | FBE/FFS/FFT |
| COL | Collision maps | ✅ | ❌ | Appears to have similar structure to LP4 files | FFT |
| CSV | Comma seperated values | ✅ | ✅ | Development left-overs, unused by the game | Text editor/spreadsheet |
| FPC | Camera sequences | ✅ | ❌ | Can also contain camera animations | FFT |
| FPD | Model movement sequences | ❌ | Partial decoding in a pre-release version of FFT | FFT | |
| FTL | (Font?) texture lists | ❌ | ❌ | Stores a list of textures for fonts, similar to FTEXLIST.TXT, but in a binary format | N/A |
| HD/BD | VAB soundbank files | ❌ | Proprietary soundbank format (JAM) used by some first-party PS1/PS2 games. SFX decoding not possible yet. | FFT | |
| ICO | Save file icon | ✅ | ✅ | Apparently a standard format | PS2 Save Builder/ps2iconsys |
| LAY | Layout files | ❌ | Defines where the various objects on the stage are located. Some decoding is possible, but unreliable. | FFT | |
| LIT | Light tables | ❌ | ❌ | Controls how the stage is lit | N/A |
| LP4 | Flipnic resources | ❌ | Can be 2D or 3D and sometimes animated, a bizarre format. Not fully reverse engineered. | FFT | |
| MID | MIDI sequences | ✅ | ✅ | Just general MIDI played on specific channels specified by .HD/.BD files | FFT/Midi sequencers |
| MLB | Menu layout (binary?) | ✅ | ❌ | Used to stitch various textures together to create a menu interface | FFT |
| MSG | Message tables | ✅ | ✅ | Strings used by the game | FFT/FSE/Private tools |
| PSS | Interleaved audio/video | ✅ | Generation is only possible with a donor file and audio stutters | FBE/FFS/FFT | |
| PSS.INT | Audio stream | ✅ | ✅ | Stereo Sony ADPCM compressed audio stream (interleave 0x400) | FFT/MFAudio |
| PSS.IPU | IPU video | ✅ | ✅ | Modified version of M2V for PlayStation 2 | FFT/FFmpeg/ps2str |
| SCC | Source Code Control files | ❌ | ❌ | Development left-overs, unused by the game. Supposedly has timestamps, but those use an unknown encoding. | Microsoft Visual SourceSafe |
| SST | Stage (special?) table | ❌ | Contains stuff like gimmicks, list of files and event system | FFT | |
| SVAG | Mono audio stream | ✅ | ✅ | Sony ADPCM compressed again, but single audio channel this time | FFT/MFAudio |
| TM2 | Texture image map 2 (TIM2) | ✅ | ✅ | Standard texture file for PlayStation 2 games | FFT/XnViewMP/etc. |
| VSD | Vibration data | ✅ | ❌ | Controls when the controller should vibrate, maybe has relations to gimmicks | FFT |
| XML | eXtensible Markup Language | ✅ | ✅ | Developer left-overs, unused by the game | Text editor |
| GAME_ID | Save file format | ✅ | ✅ | Checksums are just CRC-32/JAMCRC, primary at 0xC, secondary at 0x8 | FSE |
| GAME_ID | Game executable (footer) | 🚫 | 🚫 | Some strings and memory addresses can be modified to change menu actions | N/A |
✅ Working ❌ Not working
