Oregon Trail dialogue format

From ModdingWiki
Jump to navigation Jump to search
Oregon Trail dialogue format
Format typeText
Text purposeStory
Line endingsNone
Character setCode Page 437
Games

Dialogue from The Oregon Trail at cities, rivers, and outposts is stored in the DIALOGS.REC file. Each record has two values, the name of the person speaking and their dialogue with a fixed with of 29 and 254 bytes respectively. Both the name and dialogue are prefixed with a single-byte for the length of the data. Each of the 17 stops on the trail has a total of three dialogues, so there are a total of 51 records in the file.

Data type Description
UINT8 Name length The number of characters to read for the Name.
char[29] Name The title and name of the person speaking.
UINT8 Dialogue length The number of characters to read for the Dialogue.
char[255] Dialogue What the person says.
51 records

When displayed in the game, " tells you:" is concatenated to the end, and the dialogue is wrapped in double quotes.

Source Code

Exporter

This FreeBASIC program will print each of the game's dialogues.

Dim As UByte StringLength
Dim As Integer I, Record
Dim As String Character, Title, Dialogue

Open "DIALOGS.REC" For Binary As #1

For Record = 1 To 51
	Title = ""
	Get #1, , StringLength
	For I = 0 To 28
		Character = " "
		Get #1, , Character
		Title = Title + Character
	Next I
	Print Str(Record) + ".) " + Left(Title, StringLength) + " tells you:"

	Dialogue = ""
	Get #1, , StringLength
	For I = 0 To 254
		Character = " "
		Get #1, , Character
		Dialogue = Dialogue + Character
	Next I
	Print Chr(34) + Left(Dialogue, StringLength) + Chr(34)
	
	Print
Next Record
Sleep

Credits

This format was reverse engineered by TheAlmightyGuru. If you find this information helpful in a project you're working on, please give credit where credit is due. (A link back to this wiki would be nice too!)