From 5b59768dc2b5aad86f43bfa47786c5d96e55779b Mon Sep 17 00:00:00 2001 From: Dexrn ZacAttack Date: Thu, 2 Jan 2025 19:47:38 -0800 Subject: [PATCH] ESavePlatform --- LCE/Basic Info.md | 48 ++++++++++++++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 15 deletions(-) diff --git a/LCE/Basic Info.md b/LCE/Basic Info.md index 7ba4095..4b05945 100644 --- a/LCE/Basic Info.md +++ b/LCE/Basic Info.md @@ -1,21 +1,39 @@ ### Endianness -| Console | Endianness | -| :-:|:-:| -| Xbox 360, PS3, Wii U | Big | -| Xbox One, PS Vita, Switch, PS4, 3DS | Little | +| Console | Endian | +|:-----------------------------------------------------|:------:| +| Xbox 360, PS3, Wii U | Big | +| Xbox One, PS Vita, Switch, PS4, 3DS, Windows, "NONE" | Little | ### LCE compression -| Platform | SAVEGAME | REGION | CHUNK/GRF | -| :-:|:-:|:-:|:-:| -| Switch | Zlib | Split Save RLE/None (MCS) | Zlib (+ RLE) -| PS4 | Zlib | Split Save RLE/None (MCS) | Zlib (+ RLE?) -| XboxOne | Zlib | Split Save RLE/None (MCS) | Zlib (+ RLE?) -| Xbox360 | XMemcompress/LZX | None | XMemcompress/LZX (+ RLE) -| PS3 | [Deflate(Algorithm)](https://en.wikipedia.org/wiki/Deflate) or None | None | Deflate(Algorithm) (+ RLE) -| WiiU | Zlib | None | Zlib (+ RLE) -| PSVita | Vita RLE | None | Zlib (+ RLE) -| 3DS | Zlib | None | Zlib (no RLE) -| Windows | Unknown | Unknown | Unknown +| Platform | SAVEGAME | REGION | CHUNK/GRF | +|----------|---------------------------------------------------------------------|-----------------------|----------------------------------------------------------------| +| Switch | Zlib | Split Save RLE/None | Zlib (+ RLE) | +| PS4 | Zlib | Split Save RLE/None | Zlib (+ RLE?) | +| Xbox One | Zlib | Split Save RLE/None | Zlib (+ RLE?) | +| Xbox 360 | XMemcompress/LZX | None | XMemcompress/LZX (+ RLE) | +| PS3 | [Deflate(Algorithm)](https://en.wikipedia.org/wiki/Deflate) or None | None | Deflate(Algorithm) (+ RLE) | +| Wii U | Zlib | None | Zlib (+ RLE) | +| PS Vita | Vita RLE | None | Zlib (+ RLE) | +| 3DS | Zlib | None | Zlib (no RLE) | +| Windows | Unknown | Unknown | Unknown | + +### ESavePlatform +Enum type (assumed by the name starting with E) that exists in Wii U Edition, which seems to hold all the platforms that LCE was compiled for. +Various checks for a value inside this enum tells us a few things, namely support for certain features. (such as Split Saves) + +It seems these values got inlined by the compiler, so the enum has to be reconstructed manually. + +| Assumed Name | Value | As String | As String (reversed) | +|------------------|------------|-----------|----------------------| +| Xbox 360 | 0x30363358 | 063X | X360 | +| Xbox One | 0x5f314258 | _1BX | XB1_ | +| PlayStation 3 | 0x5f335350 | _3SP | PS3_ | +| PlayStation 4 | 0x5f345350 | _4SP | PS4_ | +| PlayStation Vita | 0x5f565350 | _VSP | PSV_ | +| Wii U | 0x55494957 | UIIW | WIIU | +| Nintendo Switch | 0x584e584e | XNXN | NXNX | +| Windows | 0x5f4e4957 | _NIW | WIN_ | +| None | 0x454e4f4e | ENON | NONE | #### note: Xbox One may be inaccurate. -Dexrn ### note: 3DS is not LCE so documentation will be off for it. -Cracko298