Difference between revisions of "Thwimp"
m (Updated YouTube video with latest (Thwimp GUI v1.2). CLI video incoming) |
|||
Line 101: | Line 101: | ||
== Media == | == Media == | ||
− | {{youtube-box|tutorial| | + | {{youtube-box|tutorial|h2WtU3SD1Wc|v1.2 Update (GUI)|height=300}} |
− | + | ||
<gallery> | <gallery> | ||
File:Thwimp_TabTHP.jpg|Main tab of program (THP) | File:Thwimp_TabTHP.jpg|Main tab of program (THP) |
Revision as of 04:49, 9 August 2020
Author: | MrTamkis |
---|---|
Operating system: | Windows |
Programming language: | Visual Basic |
Software type: | Decoder/Encoder |
File formats: |
|
Version: | v1.2 |
Date of latest version: | 2020-08-03 |
Website: | EagleSoft Ltd |
Source code: | GitHub |
User's manual: | GitHub Manual |
Download: | MediaFire |
Overview
Thwimp is a program created by MrTamkis. This is a Windows utility which allows users to easily view, rip and encode Nintendo THP video files for Mario Kart Wii and other GCN/Wii games, to an extent. Written in Visual Basic, the application calls some FOSS and other command line tools (not included) "from arms length" via the Command Prompt to perform its tasks.
Specifically, Thwimp uses:
- FFMPEG
- Video processing
- FFPlay
- THP playback
- IrfanView
- Image conversion
- BMP to JPG conversion
- Custom JPG Quality setting applied
- Standard, non-progressive JPG files
- THPConv
- Encoding JPG frames and WAV file into THP videos
Thwimp can show the hard-coded information about how each THP file is formatted in Mario Kart Wii. Thwimp can also view Mario Kart Wii's THP files, as well as convert them to regular video files. It can crop the THP video files to a particular subvideo cell and time period, and then convert them to MP4 (H.264 codec) video files, to WAV files (for videos with audio) and padding to BMP files.
The THP video files for menus in Mario Kart Wii tend to be an array of multiple subvideo cells inside, with each cell playing back several other videos in multiple time chunks ("multiplicities"). As required by the file format specification, THP video files must have their dimensions be a multiple of 16px. Often times, the size of the subvideo array will not be enough to meet the specification, so padding is added to the bottom of the THP video. This padding is not only used to meet the specification, but is sometimes also used for control information. For example, some of the videos shown during menus will have a white rectangle move at integral positions at each multiplicity within this padding area. This white rectangle controls which row in a menu is highlighted during THP playback, for synchronization purposes.
Thwimp can intelligently handle audio, the subvideo array, multiplicity, and padding/control information when encoding THP files to replace the ones in-game. It does this by accepting appropriately named, input MP4 video files for each subvideo cell in the array and for each multiplicity. Where applicable, it will also accept a WAV audio file, and BMP image frames for each multiplicity's padding/control signal as needed. After reading the input files, Thwimp will intelligently process and compose all of the files together appropriately, in order to create a high-quality, properly formatted THP video replacement file.
Main Features
- Hybrid GUI/CLI application
- View the hard-coded stat information for each THP file in the original Mario Kart Wii game
- Playback THP files from the original game
- Convert THP files into normal video files
- Rip a particular subvideo/multiplicity within the THP file:
- Crop video to a particular size relative to a particular position.
- Clip video to a particular frame range/multiplicity.
- Rip each unique frame for padding from the multiplicities as BMP image files.
- Convert video stream in THP file to MP4 (H.264 encoded).
- Convert audio stream in THP file to WAV file.
- Rip a particular subvideo/multiplicity within the THP file:
- Encode new, replacement THP files
- Transform input files into a final THP video:
- Select individual MP4 input video files for each subvideo cell/multiplicity.
- Input a WAV input file for sound.
- Input unique BMP frames for each multiplicity for padding.
- Adjust the JPG compression quality for frames in the final THP file:
- Use this to create a balance between quality and bandwidth speed, to prevent stuttering for THP playback on real hardware.
- Limit each subvideo cell for all multiplicities to an exact frame count:
- Used to truncate the subvideo length to an exact frame count, if some of the subvideos' length > target limit.
- Transform input files into a final THP video:
- Ability to load different Thwimp data filesets
- Used to allow Thwimp to handle THPs from other games.
- Detailed documentation on the fileset formats.
- Ability to save/load settings to/from a settings INI file
- Progress bars to detail current progress and task being worked on
- Playback
- Ripping
- Encoding
- Built-in logger for debugging and error-reporting
- Ability to save log to a file.
Usage
Please read the manual for full usage of the application.
Media
Version History
Version | Date of release | Information |
---|---|---|
v1.0 | 2018-10-24 | First release |
v1.1 | 2019-01-07 |
|
v1.2 | 2020-08-03 |
|
Distributions:
Hover! Pack
Battle Arenas:
Hover! Maze 1 –
Hover! Maze 2 –
Hover! Maze 3 –
Hover! Credits –
MTM64 Arena Rumble
Software:
Thwimp