Skip to content

Instantly share code, notes, and snippets.

@ogarvey
ogarvey / Decompress.c
Created March 22, 2024 13:30
CD-i Lords Of The Rising Sun decompress method
byte * FUN_0001bea4(undefined4 param_1,undefined4 param_2,byte *param_3,
uint param_4,ushort param_5)
{
byte bVar1;
byte bVar2;
byte *pbVar3;
int iVar4;
ushort uVar5;
short sVar6;
@ogarvey
ogarvey / BodySlamSpriteExtraction.cs
Created March 12, 2024 15:25
Small c# script to extract all sprites from Mutant Rampage - BodySlam (CD-i) -- Requires OGCDiLib
var mainDataFile = @"C:\Dev\Projects\Gaming\CD-i\Disc Images\Extracted\BODYSLAM\data.rtr";
var mainCdiFile = new CdiFile(mainDataFile);
var dataSectors = mainCdiFile.Sectors.Where(x => x.SubMode.IsData).OrderBy(x => x.Channel)
.ThenBy(x => x.SectorIndex).Select(x => x.GetSectorData()).ToList();
var mainData = dataSectors.SelectMany(x => x).ToArray();
File.WriteAllBytes(@"C:\Dev\Projects\Gaming\CD-i\Disc Images\Extracted\BODYSLAM\Output\mainData.bin", mainData);
var offsets = FileHelpers.FindSequenceOffsets(mainData, [0x43, 0x50, 0x4c, 0x32]);
@ogarvey
ogarvey / Decompress.cpp
Created March 6, 2024 11:16
Decompiled Tetris Decompress method
byte * Decompress(undefined4 param_1,undefined4 param_2,byte *param_3,
uint param_4,ushort param_5)
{
ushort uVar2;
uint uVar1;
int iVar3;
byte bVar4;
uint uVar5;