[VM] EXE : Useful Alphanumeric Data Segments

Librarian: HexCode
Post Reply
User avatar
HexCode
First Lieutenant
First Lieutenant
Posts: 926
Joined: 2019-09-30 18:54, Monday

[VM] EXE : Useful Alphanumeric Data Segments

Post by HexCode » 2021-04-05 16:05, Monday

CONTENT LINKS
==============

Introduction
Absolute Prerequisites
viewtopic.php?f=100&t=552#p9053

Folder & File Descriptors
viewtopic.php?f=100&t=552#p9054

Files: Root & Extension Descriptors
viewtopic.php?f=100&t=552#p9055

Side Descriptors
viewtopic.php?f=100&t=552#p9056

New Half-Turn Descriptors
viewtopic.php?f=100&t=552#p9057

Unit Target Descriptors
viewtopic.php?f=100&t=552#p9058

Unit Class Descriptors
viewtopic.php?f=100&t=552#p9061

Unit Movement Type Descriptors
viewtopic.php?f=100&t=552#p9062

Flash Message Descriptors
viewtopic.php?f=100&t=552#p9063


===================================================================

The topic's contents may be modified or progressively added upon as time goes by.

===================================================================

INTRODUCTION
==============

Kindly review:

Introduction
viewtopic.php?f=100&t=536#p8929

PGF's "heart" beats inside its one and only executable file, PGFOREVER.EXE. This is a binary file which is often referred to as PGF's "engine". The executable file's most recently released version is 1.02 (May 28, 2012); it is 753,664 bytes long. The file is located at the root of PGF's "nested" folder structure (together with file HTMLAYOUT.DLL).

In a perfect coding world, content data would have no place residing inside an executable. Well, codewise, PGF's executable is far from being perfect; it contains oodles of "concealed" content data...

When it comes to embedded Alphanumeric data, their coding is sloppy, even primitive. Worse, Alphanumeric values are "restrictively anchored and asphyxiatingly packed" to the point of binary... sclerosis ! All in all, this is "seat-of-the-pants, pre-alpha" coding ! :2cents

ABSOLUTE PREREQUISITES
=======================

Engine Hexadecimal Character Strings
viewtopic.php?f=100&t=536#p8935

Hexadecimal Code... Surgery (Part I)
viewtopic.php?f=100&t=536#p8933
Last edited by HexCode on 2021-04-07 16:48, Wednesday, edited 2 times in total.

User avatar
HexCode
First Lieutenant
First Lieutenant
Posts: 926
Joined: 2019-09-30 18:54, Monday

FOLDER & FILE DESCRIPTORS

Post by HexCode » 2021-04-05 16:09, Monday

FOLDER & FILE DESCRIPTORS
=========================

Location

The null-terminated, 16-bit Alphanumeric descriptors are lodged in various code locations.

Modder Interface Functionality

PGF's files and folders are an integral part of the wargame's Modder Interface (MI).

Content

Folder Descriptors

LOG Folder Descriptor
Commences at decimal offset 531088.

Code: Select all

4C 00 6F 00 67 00
00 00
Maximum allowable characters: THREE (3). Programmer's choice was "Log".

REPLAY Folder Descriptor
Commences at decimal offset 531096.

Code: Select all

52 00 65 00 70 00 6C 00 61 00 79 00 00 00
00 00
Maximum allowable characters: SEVEN (7). Programmer's choice was "Replay".

SAVE Folder Descriptor
Commences at decimal offset 531112.

Code: Select all

53 00 61 00 76 00 65 00 00 00
00 00
Maximum allowable characters: FIVE (5). Programmer's choice was "Save".

SOUND Folder Descriptor
Commences at decimal offset 531124.

Code: Select all

53 00 6F 00 75 00 6E 00 64 00
00 00
Maximum allowable characters: FIVE (5). Programmer's choice was "Sound".

UI Folder Descriptor
Commences at decimal offset 531136.

Code: Select all

55 00 49 00 00 00
00 00
Maximum allowable characters: THREE (3). Programmer's choice was "UI".

GRAPHICS Folder Descriptor
Commences at decimal offset 531144.

Code: Select all

47 00 72 00 61 00 70 00 68 00 69 00 63 00 73 00 00 00
00 00
Maximum allowable characters: NINE (9). Programmer's choice was "Graphics".

SCENARIO Folder Descriptor
Commences at decimal offset 531164.

Code: Select all

53 00 63 00 65 00 6E 00 61 00 72 00 69 00 6F 00 00 00
00 00
Maximum allowable characters: NINE (9). Programmer's choice was "Scenario".

DEFAULT Folder Descriptor
Commences at decimal offset 531228.

Code: Select all

5C 00 64 00 65 00 66 00 61 00 75 00 6C 00 74 00 5C 00
00 00
Maximum allowable folder characters: SEVEN (7). Programmer's choice was "\Default\".

DEFAULT Folder Descriptor
Commences at decimal offset 531228.

Code: Select all

5C 00 64 00 65 00 66 00 61 00 75 00 6C 00 74 00 5C 00
00 00
Maximum allowable folder characters: SEVEN (7). Programmer's choice was "\Default\".

Alternate LOG Folder Descriptor
Commences at decimal offset 531184.

Code: Select all

5C 00 00 00 5C 00 4C 00 6F 00 67 00 00 00
00 00
Maximum allowable folder characters: FOUR (4). Programmer's choice was "\ \Log".

Selected File Descriptors

LOG.TXT File Descriptor
Commences at decimal offset 531256.

Code: Select all

5C 00 6C 00 6F 00 67 00 2E 00 74 00 78 00 74 00 00 00
00 00
Maximum allowable file characters: EIGHT (8). Programmer's choice was "\Log.txt".

AUTOSAVE Side-0 File Descriptor
Commences at decimal offset 541040.

Code: Select all

41 00 75 00 74 00 6F 00 73 00 61 00 76 00 65 00 20 00 28 00 41 00 78 00 69 00 73 00 29 00 2E 00 70 00 67 00 73 00 61 00 76 00 00 00 00 00
00 00
Maximum allowable characters: TWENTY THREE (23). Programmer's choice was "Autosave (Axis).pgsav".

AUTOSAVE Side-1 File Descriptor
Commences at decimal offset 540992.

Code: Select all

41 00 75 00 74 00 6F 00 73 00 61 00 76 00 65 00 20 00 28 00 41 00 6C 00 6C 00 69 00 65 00 73 00 29 00 2E 00 70 00 67 00 73 00 61 00 76 00
00 00
Maximum allowable characters: TWENTY THREE (23). Programmer's choice was "Autosave (Allies).pgsav".

User avatar
HexCode
First Lieutenant
First Lieutenant
Posts: 926
Joined: 2019-09-30 18:54, Monday

FILES: ROOT & EXTENSION DESCRIPTORS

Post by HexCode » 2021-04-05 16:16, Monday

FILES: ROOT & EXTENSION DESCRIPTORS
====================================

Location

The null-terminated, 16-bit Alphanumeric descriptors are lodged in various code locations.

Modder Interface Functionality

A file descriptor generally consists of two parts separated by a period. The part to the immediate left of the period is the file root. The part to the immediate right of the period is the file extension.

PGF files' roots and extensions are an integral part of the wargame's Modder Interface (MI).

Content

File Extension Descriptors

WAV File Extension Descriptor
Commences at decimal offset 532144.

Code: Select all

2E 00 77 00 61 00 76 00 00 00
00 00
Maximum allowable extension characters: FOUR (4). Programmer's choice was ".wav".

MP3 File Extension Descriptor
Commences at decimal offset 532156.

Code: Select all

2E 00 4D 00 50 00 33 00 00 00
00 00
Maximum allowable extension characters: FOUR (4). Programmer's choice was ".mp3".

File Root Descriptors

Multimedia Files

Absolute Prerequisite:

Multimedia Files
viewtopic.php?f=100&t=546

AIR (Propeller Driven) Movement File Root Descriptor
File Extension: "WAV"
Commences at decimal offset 531876.

Code: Select all

61 00 69 00 72 00
00 00
Maximum allowable characters: THREE (3). Programmer's choice was "air".

AIR (Jet Engine Driven) Movement File Root Descriptor
File Extension: "WAV"
Commences at decimal offset 533436.

Code: Select all

4A 00 45 00 54 00
00 00
Maximum allowable characters: THREE (3). Programmer's choice was "jet".

LEG Movement File Root Descriptor
File Extension: "WAV"
Commences at decimal offset 533488.

Code: Select all

4C 00 45 00 47 00
00 00
Maximum allowable characters: THREE (3). Programmer's choice was "leg".

NAVAL Movement File Root Descriptor
File Extension: "WAV"
Commences at decimal offset 533444.

Code: Select all

6E 00 61 00 76 00 61 00 6C 00
00 00
Maximum allowable characters: FIVE (5). Programmer's choice was "naval".

TRACKED Movement File Root Descriptor
File Extension: "WAV"
Commences at decimal offset 533456.

Code: Select all

74 00 72 00 61 00 63 00 6B 00 65 00 64 00
00 00
Maximum allowable characters: SEVEN (7). Programmer's choice was "tracked".

WHEELED Movement File Root Descriptor
File Extension: "WAV"
Commences at decimal offset 533472.

Code: Select all

77 00 68 00 65 00 65 00 6C 00 65 00 64 00
00 00
Maximum allowable characters: SEVEN (7). Programmer's choice was "wheeled".

EXPLOSION Sound File Root Descriptor
File Extension: "WAV"
Commences at decimal offset 533420.

Code: Select all

65 00 78 00 70 00 6C 00 6F 00 64 00 65 00
00 00
Maximum allowable characters: SEVEN (7). Programmer's choice was "explode".

INTRO Music Track File Root Descriptor
File Extension: "MP3"
Commences at decimal offset 577744.

Code: Select all

54 00 72 00 61 00 63 00 6B 00 30 00 00 00
00 00
Maximum allowable characters: SEVEN (7). Programmer's choice was "Track0".

IN-GAME Music Track File Root Descriptor
File Extension: "MP3"
Commences at decimal offset 533404.

Code: Select all

54 00 72 00 61 00 63 00 6B 00 32 00 00 00
00 00
Maximum allowable characters: SEVEN (7). Programmer's choice was "Track2".

User avatar
HexCode
First Lieutenant
First Lieutenant
Posts: 926
Joined: 2019-09-30 18:54, Monday

SIDE DESCRIPTORS

Post by HexCode » 2021-04-05 16:21, Monday

SIDE DESCRIPTORS
================

Location

The null-terminated, 16-bit Alphanumeric descriptors span decimal offsets 531464 - 531491. Their code segment is 28 bytes long. It comprises TWO (2) descriptor values.

User Interface Functionality

Unfortunately, the embedded Side descriptor values appear in the context of PGF's User Interface (UI). They are visually present in white letters on the screen with the black background ("NEW HALF-TURN") which displays some introductory information regarding the half-turn that is about to start. They also immediately precede in-game, flash messages regarding "Side Commanders".

Content

Side 0 Descriptor
Commences at decimal offset 531464.

Code: Select all

41 00 78 00 69 00 73 00 00 00
00 00
Maximum allowable characters: FIVE (5). Programmer's choice was "Axis".

Side 1 Descriptor
Commences at decimal offset 531476.

Code: Select all

41 00 6C 00 6C 00 69 00 65 00 64 00 00 00
00 00
Maximum allowable characters: SEVEN (7). Programmer's choice was "Allied".

User avatar
HexCode
First Lieutenant
First Lieutenant
Posts: 926
Joined: 2019-09-30 18:54, Monday

NEW HALF-TURN DESCRIPTORS

Post by HexCode » 2021-04-05 16:26, Monday

NEW HALF-TURN DESCRIPTORS
===========================

Location

The null-terminated, 16-bit Alphanumeric descriptors are encountered in THREE (3) separate code locations:

a) Calendar Month descriptors span decimal offsets 530804-530987. Their code segment is 184 bytes long. It comprises TWELVE (12) descriptor values. The values appear in reverse "canonical" order.

b) Weather Conditions descriptors span decimal offsets 530988-531087. Their code segment is 100 bytes long. It comprises SEVEN (12) descriptor values. The values appear in reverse "canonical" order.

c) Additional descriptors span decimal offsets 531784 - 531843. Their code segment is 60 bytes long. It comprises TWO (2) descriptor values.

User Interface Functionality

Unfortunately, the embedded New Half-Turn descriptor values appear in the context of PGF's User Interface (UI). They are visually present in white letters on the screen with the black background ("NEW HALF-TURN") which displays some introductory information regarding the half-turn that is about to start. The Weather Conditions descriptor values are also displayed in-game on the upper-right portion of the screen.

Content

Proactively presented as per the "Appropriate Canonical Order":

Calendar Month Descriptors

JANUARY Descriptor
Commences at decimal offset 530972.

Code: Select all

4A 00 61 00 6E 00 75 00 61 00 72 00 79 00
00 00
Maximum allowable characters: SEVEN (7). Programmer's choice was "January".

FEBRUARY Descriptor
Commences at decimal offset 530952.

Code: Select all

46 00 65 00 62 00 72 00 75 00 61 00 72 00 79 00 00 00
00 00
Maximum allowable characters: NINE (9). Programmer's choice was "February".

MARCH Descriptor
Commences at decimal offset 530940.

Code: Select all

4D 00 61 00 72 00 63 00 68 00
00 00
Maximum allowable characters: FIVE (5). Programmer's choice was "March".

APRIL Descriptor
Commences at decimal offset 530928.

Code: Select all

41 00 70 00 72 00 69 00 6C 00
00 00
Maximum allowable characters: FIVE (5). Programmer's choice was "April".

MAY Descriptor
Commences at decimal offset 530920.

Code: Select all

4D 00 61 00 79 00
00 00
Maximum allowable characters: THREE (3). Programmer's choice was "May".

JUNE Descriptor
Commences at decimal offset 530908.

Code: Select all

4A 00 75 00 6E 00 65 00 00 00
00 00
Maximum allowable characters: FIVE (5). Programmer's choice was "June".

JULY Descriptor
Commences at decimal offset 530896.

Code: Select all

4A 00 75 00 6C 00 79 00 00 00
00 00
Maximum allowable characters: FIVE (5). Programmer's choice was "July".

AUGUST Descriptor
Commences at decimal offset 530880.

Code: Select all

41 00 75 00 67 00 75 00 73 00 74 00 00 00
00 00
Maximum allowable characters: SEVEN (7). Programmer's choice was "August".

SEPTEMBER Descriptor
Commences at decimal offset 530860.

Code: Select all

53 00 65 00 70 00 74 00 65 00 6D 00 62 00 65 00 72 00
00 00
Maximum allowable characters: NINE (9). Programmer's choice was "September".

OCTOBER Descriptor
Commences at decimal offset 530844.

Code: Select all

4F 00 63 00 74 00 6F 00 62 00 65 00 72 00
00 00
Maximum allowable characters: SEVEN (7). Programmer's choice was "October".

NOVEMBER Descriptor
Commences at decimal offset 530824.

Code: Select all

4E 00 6F 00 76 00 65 00 6D 00 62 00 65 00 72 00 00 00
00 00
Maximum allowable characters: NINE (9). Programmer's choice was "November".

DECEMBER Descriptor
Commences at decimal offset 530804.

Code: Select all

44 00 65 00 63 00 65 00 6D 00 62 00 65 00 72 00 00 00
00 00
Maximum allowable characters: NINE (9). Programmer's choice was "December".

Weather Conditions Descriptors

CLEAR SKIES Descriptor
Commences at decimal offset 531076.

Code: Select all

43 00 6C 00 65 00 61 00 72 00
00 00
Maximum allowable characters: FIVE (5). Programmer's choice was "Clear".

OVERCAST SKIES Descriptor
Commences at decimal offset 531056.

Code: Select all

4F 00 76 00 65 00 72 00 63 00 61 00 73 00 74 00 00 00
00 00
Maximum allowable characters: NINE (9). Programmer's choice was "Overcast".

RAIN Descriptor
Commences at decimal offset 531040.

Code: Select all

52 00 61 00 69 00 6E 00 69 00 6E 00 67 00
00 00
Maximum allowable characters: SEVEN (7). Programmer's choice was "Raining".

SNOW Descriptor
Commences at decimal offset 531024.

Code: Select all

53 00 6E 00 6F 00 77 00 69 00 6E 00 67 00
00 00
Maximum allowable characters: SEVEN (7). Programmer's choice was "Snowing".

DRY GROUND Descriptor
Commences at decimal offset 531016.

Code: Select all

44 00 72 00 79 00
00 00
Maximum allowable characters: THREE (3). Programmer's choice was "Dry".

MUDDY GROUND Descriptor
Commences at decimal offset 531004.

Code: Select all

4D 00 75 00 64 00 64 00 79 00
00 00
Maximum allowable characters: FIVE (5). Programmer's choice was "Muddy".

FROZEN GROUND Descriptor
Commences at decimal offset 530988.

Code: Select all

46 00 72 00 6F 00 7A 00 65 00 6E 00 00 00
00 00
Maximum allowable characters: SEVEN (7). Programmer's choice was "Frozen".

Additional Descriptors

Last Turn Descriptor
Commences at decimal offset 531784.

Code: Select all

4C 00 61 00 73 00 74 00 20 00 54 00 75 00 72 00 6E 00
00 00
Maximum allowable characters: NINE (9). Programmer's choice was "Last Turn".

Turns Remaining Descriptor
Commences at decimal offset 531810.

Code: Select all

74 00 75 00 72 00 6E 00 73 00 20 00 72 00 65 00 6D 00 61 00 69 00 6E 00 69 00 6E 00 67 00 00 00
00 00
Maximum allowable characters: SIXTEEN (16). Programmer's choice was "turns remaining".

User avatar
HexCode
First Lieutenant
First Lieutenant
Posts: 926
Joined: 2019-09-30 18:54, Monday

UNIT TARGET DESCRIPTORS

Post by HexCode » 2021-04-05 16:31, Monday

UNIT TARGET DESCRIPTORS
========================

Absolute Prerequisite

Unit Target Types
viewtopic.php?f=100&t=547#p8994

Location

The null-terminated, 16-bit Alphanumeric descriptors span decimal offsets 524924 - 524967. Their code segment is 44 bytes long. It comprises FOUR (4) descriptor values.

User Interface Functionality

Unfortunately, the embedded Unit Target Type descriptor values appear in the context of PGF's User Interface (UI). They are visually present to the immediate right of a unit's "Target Type" caption displayed on both Unit Stats and Unit Purchase screens.

Content

Proactively presented as per the "Unit Target Type Canonical Order":

Soft Target Descriptor
Commences at decimal offset 524956.

Code: Select all

53 00 6F 00 66 00 74 00 00 00
00 00
Maximum allowable characters: FIVE (5). Programmer's choice was "Soft".

Hard Target Descriptor
Commences at decimal offset 524944.

Code: Select all

48 00 61 00 72 00 64 00 00 00
00 00
Maximum allowable characters: FIVE (5). Programmer's choice was "Hard".

Air Target Descriptor
Commences at decimal offset 524944.

Code: Select all

41 00 69 00 72 00
00 00
Maximum allowable characters: THREE (3). Programmer's choice was "Air".

Naval Target Descriptor
Commences at decimal offset 524924.

Code: Select all

4E 00 61 00 76 00 61 00 6C 00
00 00
Maximum allowable characters: FIVE (5). Programmer's choice was "Naval".

Brief Commentary

Code neatly observing the "Unit Target Type Canonical Order" ? Well, I guess it would have been too much to ask...

User avatar
HexCode
First Lieutenant
First Lieutenant
Posts: 926
Joined: 2019-09-30 18:54, Monday

UNIT CLASS DESCRIPTORS

Post by HexCode » 2021-04-05 16:36, Monday

UNIT CLASS DESCRIPTORS
=======================

Absolute Prerequisite

Unit Classes
viewtopic.php?f=100&t=547#p8995

Location

The null-terminated, 16-bit Alphanumeric descriptors do not occupy some contiguous code space. There are EIGHTEEN (18) descriptor values.

User Interface Functionality

Unfortunately, the embedded Unit Class descriptor values appear in the context of PGF's User Interface (UI). They are visually present immediately below a unit's "Type Descriptor" caption which is located just below the unit's image displayed on the Unit Information screen.

Content

Proactively presented as per the "Unit Class Canonical Order":

Infantry Class Descriptor
Commences at decimal offset 525488.

Code: Select all

49 00 6E 00 66 00 61 00 6E 00 74 00 72 00 79 00
00 00
Maximum allowable characters: EIGHT (8). Programmer's choice was "Infantry".

Tank Class Descriptor
Commences at decimal offset 525476.

Code: Select all

54 00 61 00 6E 00 6B 00 00 00
00 00
Maximum allowable characters: FIVE (5). Programmer's choice was "Tank".

Recon Class Descriptor
Commences at decimal offset 525464.

Code: Select all

52 00 65 00 63 00 6F 00 6E 00
00 00
Maximum allowable characters: FIVE (5). Programmer's choice was "Recon".

Anti-Tank Class Descriptor
Commences at decimal offset 525172.

Code: Select all

41 00 6E 00 74 00 69 00 20 00 54 00 61 00 6E 00 6B 00
00 00
Maximum allowable characters: NINE (9). Programmer's choice was "Anti Tank".

Artillery Class Descriptor
Commences at decimal offset 525436.

Code: Select all

41 00 72 00 74 00 69 00 6C 00 6C 00 65 00 72 00 79 00
00 00
Maximum allowable characters: NINE (9). Programmer's choice was "Artillery".

Anti-Air Class Descriptor
Commences at decimal offset 525144.

Code: Select all

41 00 6E 00 74 00 69 00 20 00 41 00 69 00 72 00 63 00 72 00 61 00 66 00 74 00
00 00
Maximum allowable characters: THIRTEEN (13). Programmer's choice was "Anti Aircraft".

Air Defense Class Descriptor
Commences at decimal offset 525120.

Code: Select all

41 00 69 00 72 00 20 00 44 00 65 00 66 00 65 00 6E 00 73 00 65 00
00 00
Maximum allowable characters: ELEVEN (11). Programmer's choice was "Air Defense".

Structure Class Descriptor
Commences at decimal offset 525092.

Code: Select all

46 00 6F 00 72 00 74 00 69 00 66 00 69 00 63 00 61 00 74 00 69 00 6F 00 6E 00
00 00
Maximum allowable characters: THIRTEEN (13). Programmer's choice was "Fortification".

Fighter Class Descriptor
Commences at decimal offset 525392.

Code: Select all

46 00 69 00 67 00 68 00 74 00 65 00 72 00
00 00
Maximum allowable characters: SEVEN (7). Programmer's choice was "Fighter".

Tactical Bomber Class Descriptor
Commences at decimal offset 525060.

Code: Select all

54 00 61 00 63 00 74 00 69 00 63 00 61 00 6C 00 20 00 42 00 6F 00 6D 00 62 00 65 00 72 00
00 00
Maximum allowable characters: FIFTEEN (15). Programmer's choice was "Tactical Bomber".

Level Bomber Class Descriptor
Commences at decimal offset 525032.

Code: Select all

4C 00 65 00 76 00 65 00 6C 00 20 00 42 00 6F 00 6D 00 62 00 65 00 72 00 00 00
00 00
Maximum allowable characters: THIRTEEN (13). Programmer's choice was "Level Bomber".

Submarine Class Descriptor
Commences at decimal offset 525332.

Code: Select all

53 00 75 00 62 00 6D 00 61 00 72 00 69 00 6E 00 65 00
00 00
Maximum allowable characters: NINE (9). Programmer's choice was "Submarine".

Destroyer Class Descriptor
Commences at decimal offset 525312.

Code: Select all

44 00 65 00 73 00 74 00 72 00 6F 00 79 00 65 00 72 00
00 00
Maximum allowable characters: NINE (9). Programmer's choice was "Destroyer".

Capital Ship Class Descriptor
Commences at decimal offset 525004.

Code: Select all

43 00 61 00 70 00 69 00 74 00 61 00 6C 00 20 00 53 00 68 00 69 00 70 00 00
00 00
Maximum allowable characters: THIRTEEN (13). Programmer's choice was "Capital Ship".

Aircraft Carrier Class Descriptor
Commences at decimal offset 524968.

Code: Select all

41 00 69 00 72 00 63 00 72 00 61 00 66 00 74 00 20 00 43 00 61 00 72 00 72 00 69 00 65 00 72 00 00 00
00 00
Maximum allowable characters: SEVENTEEN (17). Programmer's choice was "Aircraft Carrier".

Land Transport Class Descriptor
Commences at decimal offset 525248.

Code: Select all

4C 00 61 00 6E 00 64 00 20 00 54 00 72 00 61 00 6E 00 73 00 70 00 6F 00 72 00 74 00 00 00
00 00
Maximum allowable characters: FIFTEEN (15). Programmer's choice was "Land Transport".

Air Transport Class Descriptor
Commences at decimal offset 525220.

Code: Select all

41 00 69 00 72 00 20 00 54 00 72 00 61 00 6E 00 73 00 70 00 6F 00 72 00 74 00
00 00
Maximum allowable characters: THIRTEEN (13). Programmer's choice was "Air Transport".

Naval Transport Class Descriptor
Commences at decimal offset 525192.

Code: Select all

53 00 65 00 61 00 20 00 54 00 72 00 61 00 6E 00 73 00 70 00 6F 00 72 00 74 00
00 00
Maximum allowable characters: THIRTEEN (13). Programmer's choice was "Sea Transport".

Brief Commentary

Code neatly observing the "Unit Class Canonical Order" ? Well, I guess it would have been too much to ask...

User avatar
HexCode
First Lieutenant
First Lieutenant
Posts: 926
Joined: 2019-09-30 18:54, Monday

UNIT MOVEMENT TYPE DESCRIPTORS

Post by HexCode » 2021-04-05 16:42, Monday

UNIT MOVEMENT TYPE DESCRIPTORS
=================================

Absolute Prerequisite

Unit Movement Types
viewtopic.php?f=100&t=547#p8998

Location

The null-terminated, 16-bit Alphanumeric descriptors span decimal offsets 524804 - 524943. Their code segment is 140 bytes long. It comprises ELEVEN (11) descriptor values.

User Interface Functionality

Unfortunately, the embedded Unit Movement Type descriptor values appear in the context of PGF's User Interface (UI). They are visually present to the immediate right of a unit's "Movement" value caption displayed on both Unit Information and Unit Purchase screens. These descriptors are always enclosed in parentheses.

Content

Proactively presented as per the "Unit Movement Type Canonical Order":

Tracked MT Descriptor
Commences at decimal offset 524912.

Code: Select all

54 00 72 00 61 00 63 00 6B 00
00 00
Maximum allowable characters: FIVE (5). Programmer's choice was "Track".

Half-Tracked MT Descriptor
Commences at decimal offset 524892.

Code: Select all

48 00 61 00 6C 00 66 00 2D 00 74 00 72 00 6B 00 00 00
00 00
Maximum allowable characters: NINE (11). Programmer's choice was "Half-trk".

Wheeled MT Descriptor
Commences at decimal offset 524880.

Code: Select all

57 00 68 00 65 00 65 00 6C 00
00 00
Maximum allowable characters: FIVE (5). Programmer's choice was "Wheel".

Leg MT Descriptor
Commences at decimal offset 524880.

Code: Select all

4C 00 65 00 67 00
00 00
Maximum allowable characters: THREE (3). Programmer's choice was "Leg".

Towed MT Descriptor
Commences at decimal offset 524860.

Code: Select all

54 00 6F 00 77 00 65 00 64 00
00 00
Maximum allowable characters: FIVE (5). Programmer's choice was "Towed".

Air MT Descriptor
Commences at decimal offset 524936.

Code: Select all

41 00 69 00 72 00
00 00
Maximum allowable characters: THREE (3). Programmer's choice was "Air".

Naval MT Descriptor
Commences at decimal offset 524924.

Code: Select all

4E 00 61 00 76 00 61 00 6C 00
00 00
Maximum allowable characters: FIVE (5). Programmer's choice was "Naval".

All-Terrain MT Descriptor
Commences at decimal offset 524844.

Code: Select all

41 00 6C 00 6C 00 2D 00 54 00 72 00 6E 00
00 00
Maximum allowable characters: SEVEN (7). Programmer's choice was "All-trn".

Tracked Amphibious MT Descriptor
Commences at decimal offset 524844.

Code: Select all

41 00 6D 00 74 00 72 00 61 00 63 00 00 00
00 00
Maximum allowable characters: SEVEN (7). Programmer's choice was "Amtrac".

All-Terrain Amphibious MT Descriptor
Commences at decimal offset 524816.

Code: Select all

53 00 65 00 65 00 70 00 00 00
00 00
Maximum allowable characters: FIVE (5). Programmer's choice was "Seep".

Mountaineer MT Descriptor
Commences at decimal offset 524804.

Code: Select all

4D 00 6F 00 75 00 6E 00 74 00
00 00
Maximum allowable characters: FIVE (5). Programmer's choice was "Mount".

Brief Commentary

Code neatly observing the "Unit Movement Type Canonical Order" ? Well, I guess it would have been too much to ask...

User avatar
HexCode
First Lieutenant
First Lieutenant
Posts: 926
Joined: 2019-09-30 18:54, Monday

FLASH MESSAGE DESCRIPTORS

Post by HexCode » 2021-04-05 16:46, Monday

FLASH MESSAGE DESCRIPTORS
===========================

Location

The null-terminated, 16-bit Alphanumeric descriptors are lodged in various code locations. There are TWELVE (12) descriptor values.

User Interface Functionality

Unfortunately, the embedded Flash Message descriptor values appear in the context of PGF's User Interface (UI). They are visually displayed on the Tactical Map screen momentarily (i.e., flash messages), right on the heels of certain combat outcomes.

Content

Neutralization Descriptor
Commences at decimal offset 537304.

Code: Select all

4F 00 42 00 4A 00 45 00 43 00 54 00 20 00 4E 00 45 00 55 00 54 00 52 00 41 00 4C 00 49 00 5A 00 45 00 44 00 00 00
00 00
Maximum allowable characters: NINETEEN (19). Programmer's choice was "OBJECT NEUTRALIZED!".

Prestige Loss Descriptor
Commences at decimal offset 537184.

Code: Select all

25 00 73 00 20 00 63 00 6F 00 6D 00 6D 00 61 00 6E 00 64 00 65 00 72 00 20 00 6C 00 6F 00 73 00 65 00 73 00 20 00 25 00 64 00 20 00 70 00 72 00 65 00 73 00 74 00 69 00 67 00 65 00 00 00
00 00
Maximum allowable characters: THIRTY ONE (31). Programmer's choice was "%s commander loses %d prestige".

Thwarted Attack Descriptor
Commences at decimal offset 539456.

Code: Select all

41 00 74 00 74 00 61 00 63 00 6B 00 20 00 42 00 72 00 6F 00 6B 00 65 00 6E 00 20 00 4F 00 66 00 66 00 21 00 00 00
00 00
Maximum allowable characters: NINETEEN (19). Programmer's choice was "Attack Broken Off!".

Thwarted Attack Descriptor
Commences at decimal offset 539496.

Code: Select all

41 00 74 00 74 00 61 00 63 00 6B 00 20 00 42 00 72 00 6F 00 6B 00 65 00 6E 00 20 00 55 00 70 00 21 00
00 00
Maximum allowable characters: SEVENTEEN (17). Programmer's choice was "Attack Broken Up!".

Surrender Descriptor
Commences at decimal offset 539532.

Code: Select all

53 00 55 00 52 00 52 00 45 00 4E 00 44 00 45 00 52 00 53 00 21 00 00 00 00 00
00 00
Maximum allowable characters: THIRTEEN (13). Programmer's choice was "SURRENDERS!".

Rugged Defense Descriptor
Commences at decimal offset 539268.

Code: Select all

52 00 55 00 47 00 47 00 45 00 44 00 20 00 44 00 45 00 46 00 45 00 4E 00 53 00 45 00 21 00
00 00
Maximum allowable characters: FIFTEEN (15). Programmer's choice was "RUGGED DEFENSE!".

Surprise Air Combat Descriptor
Commences at decimal offset 539200.

Code: Select all

4F 00 55 00 54 00 20 00 4F 00 46 00 20 00 54 00 48 00 45 00 20 00 53 00 55 00 4E 00 21 00
00 00
Maximum allowable characters: FIFTEEN (15). Programmer's choice was "OUT OF THE SUN!".

Surprise Naval Combat Descriptor
Commences at decimal offset 539232.

Code: Select all

53 00 55 00 52 00 50 00 52 00 49 00 53 00 45 00 20 00 43 00 4F 00 4E 00 54 00 41 00 43 00 54 00 21 00
00 00
Maximum allowable characters: SEVENTEEN (17). Programmer's choice was "SURPRISE CONTACT!".

Dislodged Naval Unit Descriptor
Commences at decimal offset 536704.

Code: Select all

46 00 4C 00 45 00 45 00 49 00 4E 00 47 00 20 00 50 00 4F 00 52 00 54 00 21 00
00 00
Maximum allowable characters: THIRTEEN (13). Programmer's choice was "FLEEING PORT!".

Scuttled Naval Unit Descriptor
Commences at decimal offset 536732.

Code: Select all

53 00 48 00 49 00 50 00 20 00 49 00 53 00 20 00 53 00 43 00 55 00 54 00 54 00 4C 00 45 00 44 00 21 00
00 00
Maximum allowable characters: SEVENTEEN (17). Programmer's choice was "SHIP IS SCUTTLED!".

Diving Submarine Descriptor
Commences at decimal offset 536632.

Code: Select all

53 00 55 00 42 00 4D 00 41 00 52 00 49 00 4E 00 45 00 20 00 44 00 49 00 56 00 45 00 53 00 21 00 00 00
00 00
Maximum allowable characters: SEVENTEEN (17). Programmer's choice was "SUBMARINE DIVES!".

Evading Submarine Descriptor
Commences at decimal offset 536668.

Code: Select all

53 00 55 00 42 00 4D 00 41 00 52 00 49 00 4E 00 45 00 20 00 45 00 56 00 41 00 44 00 45 00 53 00 21 00
00 00
Maximum allowable characters: SEVENTEEN (17). Programmer's choice was "SUBMARINE EVADES!".

Post Reply