diff --git a/.github/workflows/build_ps1.yml b/.github/workflows/build_ps1.yml index b48d5fad8..2ab3f1b4e 100644 --- a/.github/workflows/build_ps1.yml +++ b/.github/workflows/build_ps1.yml @@ -13,13 +13,12 @@ jobs: image: ghcr.io/classicube/minimal-psn00b:latest steps: - uses: actions/checkout@v4 - - name: Compile PS3 build + - name: Compile PS1 build id: compile run: | apt-get update apt-get install -y curl export PSNOOB=/usr/local/psnoob - export PSL1GHT=/usr/local/ps3dev export PATH=$PATH:$PSNOOB/bin export PSN00BSDK_LIBS=$PSNOOB/lib/libpsn00b make ps1 diff --git a/src/Deflate.c b/src/Deflate.c index c4171c1e2..c38c22556 100644 --- a/src/Deflate.c +++ b/src/Deflate.c @@ -33,22 +33,26 @@ cc_result GZipHeader_Read(struct Stream* s, struct GZipHeader* header) { Header_ReadU8(tmp); if (tmp != 0x1F) return GZIP_ERR_HEADER1; header->state++; + /* FALLTHRU */ case GZIP_STATE_HEADER2: Header_ReadU8(tmp); if (tmp != 0x8B) return GZIP_ERR_HEADER2; header->state++; + /* FALLTHRU */ case GZIP_STATE_COMPRESSIONMETHOD: Header_ReadU8(tmp); if (tmp != 0x08) return GZIP_ERR_METHOD; header->state++; + /* FALLTHRU */ case GZIP_STATE_FLAGS: Header_ReadU8(tmp); header->flags = tmp; if (header->flags & 0x04) return GZIP_ERR_FLAGS; header->state++; + /* FALLTHRU */ case GZIP_STATE_LASTMODIFIED: for (; header->partsRead < 4; header->partsRead++) { @@ -56,15 +60,18 @@ cc_result GZipHeader_Read(struct Stream* s, struct GZipHeader* header) { } header->state++; header->partsRead = 0; - + /* FALLTHRU */ + case GZIP_STATE_COMPRESSIONFLAGS: Header_ReadU8(tmp); header->state++; - + /* FALLTHRU */ + case GZIP_STATE_OPERATINGSYSTEM: Header_ReadU8(tmp); header->state++; - + /* FALLTHRU */ + case GZIP_STATE_FILENAME: if (header->flags & 0x08) { for (; ;) { @@ -73,6 +80,7 @@ cc_result GZipHeader_Read(struct Stream* s, struct GZipHeader* header) { } } header->state++; + /* FALLTHRU */ case GZIP_STATE_COMMENT: if (header->flags & 0x10) { @@ -82,6 +90,7 @@ cc_result GZipHeader_Read(struct Stream* s, struct GZipHeader* header) { } } header->state++; + /* FALLTHRU */ case GZIP_STATE_HEADERCHECKSUM: if (header->flags & 0x02) { @@ -117,6 +126,7 @@ cc_result ZLibHeader_Read(struct Stream* s, struct ZLibHeader* header) { if ((tmp & 0x0F) != 0x08) return ZLIB_ERR_METHOD; /* Upper 4 bits are window size (ignored) */ header->state++; + /* FALLTHRU */ case ZLIB_STATE_FLAGS: Header_ReadU8(tmp); @@ -523,6 +533,7 @@ void Inflate_Process(struct InflateState* s) { s->Index = len; /* Reuse for 'uncompressed length' */ s->State = INFLATE_STATE_UNCOMPRESSED_DATA; } + /* FALLTHRU */ case INFLATE_STATE_UNCOMPRESSED_DATA: { /* read bits left in bit buffer (slow way) */ @@ -565,7 +576,8 @@ void Inflate_Process(struct InflateState* s) { s->Index = 0; s->State = INFLATE_STATE_DYNAMIC_CODELENS; } - + /* FALLTHRU */ + case INFLATE_STATE_DYNAMIC_CODELENS: { while (s->Index < s->NumCodeLens) { Inflate_EnsureBits(s, 3); @@ -582,6 +594,7 @@ void Inflate_Process(struct InflateState* s) { res = Huffman_Build(&s->Table.CodeLens, s->Buffer, INFLATE_MAX_CODELENS); if (res) { Inflate_Fail(s, res); return; } } + /* FALLTHRU */ case INFLATE_STATE_DYNAMIC_LITSDISTS: { count = s->NumLits + s->NumDists; @@ -670,13 +683,15 @@ void Inflate_Process(struct InflateState* s) { s->TmpLit = len_base[lenIdx] + Inflate_ReadBits(s, bits); s->State = INFLATE_STATE_COMPRESSED_DIST; } - + /* FALLTHRU */ + case INFLATE_STATE_COMPRESSED_DIST: { s->TmpDist = Huffman_Decode(s, &s->TableDists); if (s->TmpDist == -1) return; s->State = INFLATE_STATE_COMPRESSED_DISTEXTRA; } - + /* FALLTHRU */ + case INFLATE_STATE_COMPRESSED_DISTEXTRA: { distIdx = s->TmpDist; bits = dist_bits[distIdx]; @@ -684,7 +699,8 @@ void Inflate_Process(struct InflateState* s) { s->TmpDist = dist_base[distIdx] + Inflate_ReadBits(s, bits); s->State = INFLATE_STATE_COMPRESSED_DATA; } - + /* FALLTHRU */ + case INFLATE_STATE_COMPRESSED_DATA: { if (!s->AvailOut) return; len = s->TmpLit; dist = s->TmpDist; diff --git a/src/Window.h b/src/Window.h index 7cc33fb1d..78fe6b5bd 100644 --- a/src/Window.h +++ b/src/Window.h @@ -94,6 +94,8 @@ CC_VAR extern struct _WindowData WindowInfo; /* Named WindowInfo for backwards c /* Data for alternate game window (e.g. 3DS) */ extern struct _WindowData Window_Alt; +/* Initialises necessary state before initing platform and loading options */ +void Window_PreInit(void); /* Initialises state for window, input, and display. */ void Window_Init(void); /* Potentially frees/resets state for window, input, and display. */