Cover Girl Strip Poker Text

From ModdingWiki
Jump to navigation Jump to search
Cover Girl Strip Poker Text
Format typeText
Text purposeStory
Line endingsNone
Character setDOS-865 (Nordic)
Games

The text inside the game Cover Girl Strip Poker is stored in a compressed format, and contains entries which have to be read in sequential order. It has a separate file for each language, and an additional file contains the looping credits shown on the game's title screen.

The actual way the game determines which entry to use is unknown; entries starting with an asterisk seem to imply section divisions, but it is unknown whether the text in these section names is interpreted, or if the game simply uses entry indices for accessing specific lines. Some parts use ini-like semicolons for prefixing comments as well, though these always seem to be behind asterisk-lines.

The files are:

Name Description
FRENCH.PPP French strings.
GERMAN.PPP German strings.
ENGLISH.PPP English strings.
ITALIAN.PPP Italian strings.
SCROLL.PPP Game credits looping on the game's main title page.

File format

The file is compressed with a flag-based RLE. After decompression, it follows a structure where every string is prefixed by a byte indicating its length. Finally, the strings themselves are "encrypted" by applying a circular bit shift.

All comments in the text appear to be made in Danish, with occasional accented characters in it. Because of this, the files should be interpreted with the Nordic DOS-865 character set.

Compression

Like all .PPP files, the file is compressed with a flag-based run-length encoding algorithm. This is described on the Nova Format page. The file should be uncompressed before being interpreted.

Format

The strings are repeating blocks of the following structure:

Data type Name Description
BYTE Length Length of the following string
BYTE[Length] String String value, encrypted with circular bit shift.

Encryption

The strings are "encrypted" by applying a circular bit shift, where each string is right-shifted by one bit. To reconstruct the text, apply a circular shift that shifts the value one bit to the left.

Example

A portion of the decrypted ENGLISH.PPP, shown as one entry per line:

*******************************
* Num lock
*******************************
Turn Numlock on
*************************
*      Hand start	*
*************************
Okay handsome ... here's the deal.
YOUR five cards ... from me to you.
The cards are out ... what's it gonna be?
*************************
*	Girl bets	*
*************************
I bet
*************************
*	Girl Change	*
*************************
I change
cards.
card.
*************************
*	Girl calls	*
*************************
I call.
*************************
*	Girl drops	*
*************************
You are too good. I give up.
*************************
*      Girl raises	*
*************************
I raise
*************************	;pigen har vundet en enkelt haand
*	Girl wins	*
*************************
I won.
************************* ;spilleren er falit. pigen har vundet hele spillet
*     Girl won all	*
*************************
I have got the money AND my clothes...YOU on the other hand, will catch a cold if you don't get your clothes on.
As I always say...it's a GREAT game with a GREAT prize to win.
Was it as good for you as it was for me? ... Let's play it again.

Code

This code will decode a single string from the decompressed data dump:

for (i = 0; i < text_size; i++) {
  // STRIP.EXE:00009218: rol al, 1
  text_data[i] = ((text_data[i] << 1) | (text_data[i] >> 7));
}

Tools

The following tools are able to work with files in this format.

Name PlatformView? Modify? Access hidden data? Edit metadata? Notes
Westwood Strings Editor WindowsYesYesN/AN/A