Week 9

This week I have been reversing action and inventory systems.

 

Action system

There are 7 action types:

  • LOOK
  • WALK
  • USE
  • TAKE
  • TALK
  • OBJUSE(HERO 1)
  • OBJUSE(HERO 2)

All of them are processed using opcodes.

Inventory in this engine is array of item IDs.

There are 3 opcodes for inventory:

  • ADDINV – adds new item
  • DELINV – deletes item
  • SETINV – replaces the current item with another

The item id is then used to show the item sprite and used in OBJUSE handler.

This screenshot shows the fixed font rendering along with star object, which is used for choosing action type.

There is only left to reverse InterfaceSequence(don’t know for what it is used) and walking system.

Considering code I need to clean it, end what hasn’t been transfered from disassembly and prepare engine for merging.