A sprite ripper and converter for Com2uS' 2007 game Music World.

Overview

Music World Sprite Dumper

This repository contains a python script reads an UNCOMPRESSED Music World pxo file and attempts to dump sprites from it. The tool is not 100% correct, but I think it rips everything out correctly...

I had to make some assumptions about the data itself (specifically SPRITE_MAXW/H) because of the fact that data is not packed how I think it is. There's some stray bytes that I haven't been able to figure out what they are yet, probably because I haven't correctly figured out the sprite headers. This might be fixed in a future date.

Prerequisites

First, you need to have Python 3 installed, there's online guides for doing that if you don't know how.

Next, you'll need a copy of the Music World PXO. You can either rip this from your own phone, or find one online. I won't provide those for you.

Finally, you will need to uncompress the PXO. This can be done using a tool such as LGUI.

Once you have all of those steps done, you can start ripping out sprites.

Program usage

The program has three modes of operation:

Rip from PXO

This will rip all sprites that it finds from an uncompressed Music World PXO. The ripped sprites will be dumped to a folder called "Ripped", which will contain the sprite headers and the sprites themselves in the proprietary format used by Music World.

python mwsripper.py 
   

   
Convert sprite to PNG

This mode will take a single sprite and its header and convert it to a PNG. The PNG will be dumped to a folder called "Converted", and the PNG itself will have the same name as the data file.

python mwsripper.py 
    
    

    
   
Convert folder of rips to PNG

This mode will read an entire folder of sprite rips and convert them to PNG. The outputted PNGs will be dumped to a folder called "Converted". This mode does no error checking, it assumes everything inside a folder is a sprite+header file combo. This is best used with a folder that was ripped using the Rip from PXO mode.

python mwsripper.py 
   

   

Problems

Besides what was outlined in the very top of the README, I am not aware of any major bugs with the script. If any arise, please open an issue.

Future work

Currently this script only rips sprites. It can probably be extended in the future to rip out music MIDI's, WAVs, and possibly any other data which can be found (which I have already ripped out manually since they weren't in any proprietary format). Maybe I could potentially expand it to also decompress a given PXO.

Owner
Buu342
I make Garry's Mod complain about Lua errors, Doom forcefully terminate my runaway scripts, my N64 lockup, and my laptop's stack overflow.
Buu342
PyGame-Tutorial - Refrence for building games in pygame

PyGame-Tutorial How to build games using the python library PyGame End result Ho

St. Mark's Computer Science Club 2 Jan 09, 2022
A chess engine with basic AI capabilities (search for best move using MinMax algorithm)

A chess engine with basic AI capabilities (search for best move using MinMax algorithm)

Ken Wu 1 Feb 02, 2022
Rock-Paper-Scissors - Rock Paper Scissors With Python

Rock-Paper-Scissors The familiar game of Rock, Paper, Scissors is played like th

Lateefah Ajadi 0 Jan 15, 2022
A solution program of 24. game.

A solution program of 24. game.

1 Dec 12, 2022
For the Exapunk minigame, ПАСЬЯНС

Exapunks Automation This repository solves Exapunk's Solitaire minigame, ПАСЬЯНС. This repository is useable, but only with specific display condition

Will C 5 Jul 29, 2022
This is simple minesweeper-like Telegram game

This is simple minesweeper-like Telegram game. You need to open all "free" squares and put flags on squares with bombs on them. If you open a cell with a bomb, the game is over.

Aleksandr 32 Dec 31, 2022
A stat tracker for the bedwars hypixel game in python

A hypixel bedwars stat tracker. Features Get stats in your current lobby Get stats in a guild Installation & Configuration git clone https://github.co

Le_Grand_Mannitout 3 Dec 25, 2021
Minesweeper clone with 3 modes of difficulty, UI scaling and custom games feature.

Insect Sweeper Minesweeper clone with 3 modes of difficulty, UI scaling and custom games feature. Mines are replaced with random insects that a player

Piotr Data 1 Nov 05, 2021
Jogo da velha escrito em python para 1 ou 2 jogadores

O Jogo da Velha Esse jogo da velha foi desenvolvido por mim em python, como um desafio de programar um jogo da velha em menos de 24 horas, no qual o c

Gabriel Castelo Branco 5 Jun 18, 2021
Gamelib is a pure-Python single-file library/framework for writing simple games.

Gamelib is a pure-Python single-file library/framework for writing simple games. It is intended for educational purposes (e.g. to be used in b

Diego Essaya 15 Dec 22, 2022
Simple wordle clone + solver + backtesting

Wordle clone + solver + backtesting I created something. Or rather, I found about this game last week and decided that one challenge a day wasn't goin

1 Feb 08, 2022
Minecraft-Bedrock-Modpack-Maker - Simple tool to combine multiple addons into one. Not finished

Minecraft-Bedrock-Modpack-Maker Simple tool to combine multiple addons into one. Not finished! Any contributing is welcome. How to use: Move all .mcpa

MivianCoin 1 Jan 06, 2022
This a Chess PGN saver which allows you to save your game pgns, in a .pgn file

PGN Saver This a Chess PGN saver which allows you to save your game pgns, in a .pgn file This can be a very useful tool for the people using chessbase

3 Jan 06, 2022
Termordle - a terminal based wordle clone in python

Termordle - a terminal based wordle clone in python

2 Feb 08, 2022
Simple program to play Metamon automatically

Getting Started Radio Caca Important disclaimer This software is intended for use by individuals familiar with Python programming language. It uses se

Metamon Island 35 Dec 28, 2022
シューティングゲームぽい?未完成ですけど

シューティングゲームぽい?未完成ですけど

kawamineka 64 Jun 25, 2022
j-chess implementation in python

j-chess-client-python This repository aims to be a starting point for implementing a chess ai for the j-chess-server in python. To start, you can copy

Jonas 1 Dec 25, 2021
Trio Assembly Snakemake Workflow

Trio Assembly Snakemake Workflow Input HiFi reads for child in bam format Either

Juniper A. Lake 1 Jan 28, 2022
Game Boy emulator written in Python

If you have any questions, or just want to chat, join us on Discord. It is highly recommended to read the report to get a light introduction to Game B

Mads Ynddal 3.7k Dec 30, 2022
DOTD - A murder mystery game made in Python

DOTD This repo holds the files for my video game project from ENG101, Disaster o

Ben Bruzewski 1 Jan 13, 2022