patterns: Added Crash Bandicoot - Back in time level format (#110)

* Added Crash Bandicoot - Back in time level format

* Update README.md

* Fix README.md
This commit is contained in:
AdventureT
2023-04-25 21:44:02 +02:00
committed by GitHub
parent 8f1a6bdd75
commit e21063d58b
2 changed files with 74 additions and 0 deletions

View File

@@ -91,6 +91,7 @@ Everything will immediately show up in ImHex's Content Store and gets bundled wi
| UEFI | | [`patterns/uefi.hexpat`](patterns/uefi.hexpat)` | UEFI structs for parsing efivars |
| EVTX | | [`patterns/evtx.hexpat`](patterns/evtx.hexpat) | MS Windows Vista Event Log |
| BSP | | [`patterns/bsp_goldsrc.hexpat`](patterns/bsp_goldsrc.hexpat) | GoldSrc engine maps format (used in Half-Life 1) |
| CrashLvl | | [`patterns/Crashlvl.hexpat`](patterns/Crashlvl.hexpat) | Crash Bandicoot - Back in Time (fan game) User created flashback tapes level format |
### Scripts

73
patterns/Crashlvl.hexpat Normal file
View File

@@ -0,0 +1,73 @@
#include <type/magic.pat>
#include <std/string.pat>
#include <std/array.pat>
// Crash Bandicoot - Back in Time (fan game) user created tapes
// author AdventureT
struct Header {
type::Magic<"CRASHLVL"> magic;
u8 version;
std::string::SizedString<u8> levelName;
std::string::SizedString<u8> author;
};
enum Music : u32 {
None,
BonusBGM,
CrashCreatorBGM,
MainMenuBGM,
WarpRoomBGM,
Level01BGM,
Level02BGM,
Level03BGM,
Level04BGM,
Level05BGM,
SewerBGM,
EgyptBGM,
NBrioBGM
};
enum Type : u32 {
Unset,
Flashback,
Trial
};
enum Time : u32 {
Night,
Day,
Storm,
Dawn
};
enum Terrain : u32 {
None,
Machines,
Trees,
Waterfall,
Snow,
Fortress,
};
struct Options {
Type type;
Time time;
Terrain terrain;
Music music;
};
struct Object {
std::string::SizedString<u8> objName;
u32 x;
u32 y;
};
struct Objects{
u32 objCount;
std::Array<Object, objCount> objArray;
};
Header header @ 0x0;
Options options @ $;
Objects objects @ $;