Data Shenanigans - The programming blog at its finest!
  • About me
  • Applications
Reverse engineering

KIWI GPS – VOICE001.ME sound file specification

October 1, 2022 by Tomalla No Comments

KIWI GPS is a navigation system built in many cars. In order to use a particular map you have to put the map DVD into the DVD drive in your car and the GPS system will load it up and use it. Besides map data the DVD also includes sound data used for voice directions. Many car manufactures also augment the data with other extensions.

The contents of the DVD can be viewed and explored using a program named Kiwi Format Explorer, or KFE for short. Here’s how KFE looks like:

It just so happened that I wanted to replace standard voice-overs with … Gruntz monologues! I’d love to hear those little buggers tell me to turn left or to take a second exit on a roundabout up ahead. So basically … it was solely for shit and giggles. Unfortunately with KFE you may only preview the saved voice-overs – it won’t allow you to edit or replace them. In that moment I thought to myself – surely in order to playback those voice-overs KFE has to decode them first. And if I manage to reverse the decoding algorithm perhaps I will be able to design an encoder and encode my own samples as well.

The following specification of sound data in the KIWI GPS was reversed for the system used in Volvo cars specifically. It may or may not work in other car brands. In the case of Volvo all the sound data is stored in the DVD in the file named VOICE001.ME. In order to provide the specification KFE was reversed to see how it exactly reads the archive and how it decodes the sound data before playing it back.

Continue reading
Reverse engineering

Gruntz – WWD specification

June 21, 2020 by Tomalla 2 Comments

Files with WWD extension (Wap World Document) are designed to store level data in games based on the WAP32 engine. Depending on the actual game in order to edit these files you’d use: Gruntz Level Editor (GLE) in the game Gruntz or Wap World in the case of the game Claw. Implementation-wise these editors don’t differ much, only GLE incorporates a few additional new features. For this very reason this article will be dedicated to WWD files produced by GLE, which are technically a functional superset of WWD files produced by the Wap World editor.

Below is the formal WWD file specification, taking into account all the subtle differences between Gruntz and Claw level editors.

A few basic definitions are required to get things started:

  • plane – every level is comprised of planes. One of them is required to be marked as “main” – that’s where all the action takes place. Other planes are purely optional and are for decorational purposes only.
  • tiles – every plane is a rectangular board comprised of tiles.
  • tile properties – every tile in the main plane may have a different functionality. Tile properties describe how the tile interacts with other objects in its vicinity and what it’s responsible for.
Continue reading

Other languages

  • PolskiPolski

Recent Posts

  • KIWI GPS – VOICE001.ME sound file specification October 1, 2022
  • Gruntz – WWD specification June 21, 2020
  • Gruntz Decryptor 1.1.0 – decoding cheat codes November 15, 2018
  • Gruntz – deciphering the CHEATZ.TXT file November 11, 2018
  • Gruntz Decryptor August 18, 2018

Recent Comments

  • Tomalla on Gruntz – WWD specification
  • Gunay on Gruntz – WWD specification
  • Quagmind on Gruntz REZ Patcher 1.0.0
  • slap slap slap clap clap clap on Gruntz REZ Patcher 1.0.0

Categories

Program (3) Reverse engineering (5) Uncategorized (2)

Tags

Announcements (1) ATTRIBUTEZ.TXT & CHEATZ.TXT (3) Gruntz (8) KIWI (1) PID (1) REZ (3) Specifications (2) WWD (2)

Meta

  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.org

© 2011 All rights reserved.