Warlords: Battlecry ARM: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Ikskoks
imported>Ikskoks
(No difference)

Revision as of 14:27, 18 December 2020

ARM

  • Game : Warlords: Battlecry
  • Format Type : Misc
  • Endian Order : Little Endian


Format Specifications

// Warlords: Battlecry 
// ARM file format

// little endian

4 bytes (char) - unit ID // "ATHX", "AHHX", "AHBX" etc.
1 byte (uint8) - reserved // always "1"
1 byte (uint8) - unit movement type //  0= Grounded 
                                    //  1= Flyer 
                                    //  2= Boat 
                                    //  3= Floater (crosses water)
20 bytes (char) - unit name         //  e.g. "Peasant" or "Human Hero"
2 bytes (uint16) - unknown

MultiEx BMS Script

Not written yet.

Notes and Comments

  • ARM files are encrypted with custom algorithm. Special 256-bytes key is needed for decryption. Key starts with string "mr8".

Decryption algorithm

Below is Python implementation of decryption algorithm:

arm_size = os.path.getsize(in_file_path)
    
for i in range(arm_size):
    arm_byte = struct.unpack("B", arm_file.read(1))[0]
    key_file.seek(arm_byte)
    out_byte = key_file.read(1)
    out_file.write(out_byte)

Compatible Programs