Week 11

At the eleventh week I have done:

 

  1. added finding similar colors in the palette to represent ActionText’s RGB colors, which aren’t located in the palette.
  2. bugfixes

Now the colors are implemented, only text is left. Text which is used in text files was written using Windows codepages(1250, 1251, 1252, 1255), depending on the language. To use text in ScummVM I need to convert it to UTF-32 and add unicode support for MacText.

Probably I will hardcode conversion tables, as I don’t see another way how to do it.

Week 10

At the tenth week I have done:

 

  1. added unicode support for MacMenu
  2. implemented menu parser from win32 executable. It is more simple to get a menu from exe than hardcoding it for each language.
  3. implemented menu commands
  4. hidden debug output under debug levels and channels
  5. bugfixes

What’s left:

  1. finish ActionText

This is a really hard task as in original colors were in RGB, despite engine uses 8-bit color.

To solve this problem, I will try to build the HSV model and find similar colors in the palette.

Week 9

At the ninth week I have done:

  • partial implementation of ActionText. The code will be pushed when the main problems will be fixed.

A big thanks to Eugene Sandulenko for implementing the menu.

Problems with menu:

  1. Sounds and sprite timers don’t pause.
  2. No support for a multi-level menu.
  3. Menu content is hardcoded. To solve this a menu parser from exe will be written.

Problems with ActionText:

  1. no text because MacText doesn’t support unicode strings;
  2. no support for non-scrollable action text.

ActionText

Week 8

Nothing to show this week, besides some bugfixes.

 

Implementing menu and ActionText requires changes to ScummVm’s macgui class, as it is not suitable for Pink Panther games.

Beside this, I have started reverse engineering Pilot Brothers games. github

The engine of those games is bytecode interpreter with its own memory allocator and buffer for the file.  Compared to Panther engine, this hasn’t any additional info in exe. The only advantage is that it is much smaller.

Week 7

At the seventh week I have done:

 

  1. implemented Peril’s PDA commands
  2. implemented Peril’s PDA hardcode(thumb moving)
  3. code cleanup
  4. bugfixes

Finally the engine brach was merged with ScummVm’s main repository. Testers are welcome to download ScummVm from buildbot and test Pink Panther games.

Advantages over original engine:

1) Very low CPU usage even with scaling. The original engine doesn’t have a delay after each frame, so it consumes whole core.

2) Passport To Peril supports sound balance.

3) All advantages which ScummVm offers(scaling, cross-platform, etc)

So what’s left:

  1. Game menu.
  2. ActionText

These features don’t affect gameplay because ActionText is used only in PDA and menu is just needed to quickly navigate through PDA.