SVE File Format - OpenSMSG/OpenSMSG GitHub Wiki
NOTE: This page is a WIP and is in constant update. This note will be removed when everything is sorted out.
This is the file format dedicated to SMSG save games. from a cursory look there does not appear to be any sort of compression applied to these files.
Blocks
The save format is split into various parts which I refer to as "blocks".
Title Block (0x00..0x64)
This block is the home of the basic information about the course in text. It has a length of 100 bits and there are two parts to this which are outlined below.
Note: There is a hard cutoff at 100 bits (0x64
) for this space. As a result the 'Generic Save Text` is often cut off at the end of the block.
Course Save File Name
The format for this is [course name] + [save date]
. This does not appear to be the name you entered when saving the course but the system generated default name of the course. The file name can be different from this without affecting the save. Any text after this appears to be padding which .
Course Information Block (0x65..0x2A8)
This Block contains information similar to that found in the SRF File Format. This is the first block found in .SVE files and is seen when loading the course from the loading screen.
Data Name | Location (h) | Data Type |
---|---|---|
Total Yards | 0x6C..0x6D |
Int32 |
Total Par | 0x70..0x73 |
Int32 |
Total Holes | 0x74..0x78 |
Int32 |
Fun Rating | 0x75..0x76 |
Int |
Length Skill | 0x7D |
1 |
Accuracy Skill | 0x81 |
1 |
Imagination | 0x85 |
1 |
Cash | 0x99..0x9C |
Int32 |
Course type | ||
Theme used | ||
Designer name | ||
Record holder | ||
Skill rating |
##Hole Data (0x2A9..0x?) This clock contains a few pieces of info regarding each hole on the course. It seems that you cant just copy a "hole info block" of data and erroneously append fake holes to the save.
Parameter | Offset (Hex) | Size (Bytes) | Min Value (Dec/Hex) | Max Value (Dec/Hex) |
---|---|---|---|---|
Hole Par | 0x0 | 1 | 0 (0x0) | 127 (0x7F) |
Hole Length | 0x4..0x5 | 2 | 0 (0x0) | 32768 (0x7FFF) |
Course Tiles Block (0x2941..0x?)
Texture Name | Hex | Dec |
---|---|---|
Tee Box | 0x00 | 0 |
Hole/Green | 0x01 | 1 |
Fairway | 0x02 | 2 |
Firm Fairway | 0x03 | 3 |
Rough | 0x04 | 4 |
Deep Rough | 0x05 | 5 |
??? | 0x06 | 6 |
Bunker | 0x07 | 7 |
Waste Bunker | 0x08 | 8 |
Pot Bunker | 0x09 | 9 |
Stream | 0x0A | 10 |
Brush | 0x0B | 11 |
Rocks | 0x0C | 12 |
Tree #1 | 0x0D | 13 |
Tree #2 | 0x0E | 14 |
Tree #3 | 0x0F | 15 |
Scenic Tree | 0x10 | 16 |
Water | 0x11 | 17 |
Wetlands[1] | 0x12 | 18 |
Alt. Stream? | 0x13 | 19 |
Blank* | 0x14 | 20 |
??? | 0x15 | 21 |
Building Base | 0x16 | 22 |
Course Data Name | Location |
---|---|
Tiles | 0x2941..0x3304 |
Unknown | 0x5051..?????? |
Unknown | 0x44445..0x44E08 |
Unknown | 0x46BC1..0x47584 |
Tiles Block (0x2941..0x3304)
The ordering for the course data in this block starts on the west most tile and then lists each of the 32 tiles south-west of that until you reach the southern most tile in that row. Each consecutive row is to the north-east of the prior row and starts at the north-west most tile and goes 32 tiles south-west of that. Each row is listed one after See the image below for a far better visual representation of this.
Clubhouse Players
These are the players which are currently in the clubhouse or
Players Block
This block seems to hold all players That will play on the course initially. Included in this is the player's:
- Profession
- Name
Misc. Block
The theme used in the course and the
Data Name | Location | Notes |
---|---|---|
Theme | 0x45923 |
The length of this segment is as long as the string is. |
Top 10 Golfers | 0x4598b |
The Length of this is the top 10 names with an empty bit between each. |