PDA

View Full Version : Minesweeper Reversed Classes



Mr. Hasselhoff
03-28-2011, 05:07 PM
I'm working on reversing the game struct of Minesweeper (XP version 1.6 Build 7600).

Here's what I got so far. I'll add more later.


//Generated using ReClass by DrUnKeN ChEeTaH



class gameClass;
class GameBoard;
class GameTileRow;

class gameClass
{
public:
BYTE gameStarted; //0x0000
char unknown1[47]; //0x0001
__int32 bombsLeft; //0x0030
char unknown52[408]; //0x0034
__int32 totalMines-MATRIX PROPERTIES; //0x01CC
__int32 gameTileRows -MATRIX PROPERTIES; //0x01D0
__int32 gameTileColumns - MATRIX PROPERTIES; //0x01D4
char unknown472[36]; //0x01D8
GameBoard ID0391FA38; //0x01FC
char unknown1276[64]; //0x04FC
__int32 gameDifficulty; //0x053C 0=beginner, 1=intermediate, 2=expert, 3=custom
__int32 gridTotalMines; //0x0540
__int32 gridHeight; //0x0544
__int32 gridWidth; //0x0548
char unknown1356[28]; //0x054C
__int32 highScore1; //0x0568
__int32 highScore2; //0x056C
__int32 highScore3; //0x0570
char highScoreName1[64]; //0x0574
char highScoreName2[64]; //0x05B4
char highScoreName3[64]; //0x05F4
char unknown1588[4]; //0x0634
__int32 gameTime; //0x0638
char unknown1596[4]; //0x063C
__int32 tilesCleared; //0x0640
char unknown1604[1096]; //0x0644
}//Size=0x0A8C(2700)

class GameBoard : public GameTileRow
{
public:
GameTileRow row[24]; //0x000
}//Size=0x0300(768)

class GameTileRow
{
public:
BYTE startPadding; //0x0000
BYTE tile[30]; //0x0001
BYTE endPadding; //0x001F
}//Size=0x0020(32)



gameClass offset = 0x1005164

Tile values:

143=bomb
15=untouched
66=2 clear
65=1 clear
64=empty clear

DaDominator
03-31-2011, 12:27 AM
any progress?

Mr. Hasselhoff
03-31-2011, 08:37 AM
lol what do you want more?

Caik
10-18-2012, 08:33 PM
Well, This is simple but awesome, Good job :)