Language…
6 users online: Aeon, Cape, figuiDOS,  Losoall, Naturalking, NovaDelta - Guests: 603 - Bots: 145
Users: 70,894 (2,286 active)
Latest user: Bettyfelony

MrRean's Interesting Stuff (hopefully) (there's a lot in here, are you sure??)

Here is a thread about my random things that I've made over the past year ever since the last C3.

New Super Mario Bros. U Sprite Database


Original a script created by Treeki, I took the script and made general improvements. The script is pretty much a database of all of the New Super Mario Bros. U sprites in the game. The databases uses PHP, MySQL, and some JavaScript for toggling a menu.

What's new in this database that the old didn't have? Well...

  • No longer defines the DB credentials in the file, does it through the Blargboard interface
  • New IRC system that allows reporting for sprite edits.
  • Integrated with Blargboard to use Blargboard functions, such as the MySQL function Query(), Fetch(), FetchResult(), etc
  • A category xml is generated from sprites having a list of themes that the sprite fits in, which goes into Reggie NSMBU or Satoru.
  • Editable actor and files loaded list
  • New nybbles added to the database now actually are loaded in numerical order by nybble, the old database just added it to the bottom of the list making it look ugly.
  • Support for filters of sprites, Unknown, Known, Complete, and Unused.
  • Feature that randomly gives you a sprite to reverse engineer if you're feeling bored.
  • The ability to fetch the login information, so banned users & guests cannot edit the database
  • Revisions page
  • XML output automatically puts [UNUSED] for sprites that are unused

This database has allowed us to document the sprites 100 times easier than manually exchanging XMLs. Satoru has a batch file I made that automatically downloads the categories and the sprite data XMLs if the user chooses to.

CafeBot


A bot named CafeBot also uses this SpriteDB for doing multiple tasks. This bot is an IRC bot I originally made when the RHCafe was originally opened. RoadrunnerWMC and I have actually helped each other on the IRC features, but all of the board ones I have coded.

One command is !sprite. It has this syntax:
Code
!sprite <id>

and will return the sprite information on the sprite chosen.
Quote
<MrRean> !sprite 483
<CafeBot> Multi-bar Fire Bar (483): http://rhcafe.us.to/spriteDB.php?e=483

It also has filters to know if it isn't a number being inputted to avoid bugs.
Quote
<MrRean> !sprite asdf
<CafeBot> Invalid input. Try using a number between 0 and 723.

Not that special, but eh.

Another command I made was a sprite searching command. It would search the sprite database for any possible match for the name that was given.
Code
!spritesearch search term

and it will return any sprite it finds, if any.
Quote
<MrRean> !spritesearch Fire
<CafeBot> - Pipe Venus Fire Trap - Up (6): http://rhcafe.us.to/spriteDB.php?e=6
<CafeBot> - Pipe Venus Fire Trap - Down (7): http://rhcafe.us.to/spriteDB.php?e=7
<CafeBot> - Pipe Venus Fire Trap - Left (8): http://rhcafe.us.to/spriteDB.php?e=8
<CafeBot> - Pipe Venus Fire Trap - Right (9): http://rhcafe.us.to/spriteDB.php?e=9
<CafeBot> - Grounded Venus Fire Trap (15): http://rhcafe.us.to/spriteDB.php?e=15
<CafeBot> and 11 more.

It limits the return to avoid spam.

and of course, returns something if it can't find results.
Quote
<MrRean>!spritesearch balls
<CafeBot>Sprite not found.


Another feature that is really useful is the !randsprite command. It does exactly what it says, picks a random sprite and queries it to the user. It does exactly what "TAKE ME SOMEWHERE RANDOM" does, but on IRC.
Code
!randsprite

It has no arguments.
Quote
<MrRean> !randsprite
(In query)
<CafeBot> Big Snowy Floating Box(es) (444): http://rhcafe.us.to/spriteDB.php?e=444


oh and each of those outputs is color-coded to fit with all IRC clients, hopefully. I haven't had complaints yet so :P

The last feature I am going to show of CafeBot's IRC functions is reporting WiiU game updates. There is a script that is ran every 5 minutes through cron on my server that launches a PHP file. The original person who made the method was soneek, but I edited it to support more things, such as reporting to twitter.

Syntax:
Code
function reportGame($url, $version, $gameName, $region, $txtName)

$url is the URL to look out for
$version is the version for the TMD to look out for
$gameName is the game's name
$region is the region -- sometimes regions get the update before others
$txtName is the .txt file to write to my /home directory

Code
$splatUSA = 'http://nus.cdn.wup.shop.nintendo.net/ccs/download/0005000E10192900/tmd.192';
reportGame($splatUSA, 'v192', 'Splatoon', 'USA', 'splat192.txt');

For example, this would try to see if v192 of the game Splatoon existed on Nintendo's update servers. Then it would create splat192.txt in my /home directory with information about how big it is and whatnot.

The bot only has 1 function coded by me on the board; Newer U application processing.

The process beings with the application page: a way to submit without taking database space. This was the easy part of figuring out. I created the layout, made a few adjustments, and added filters to keep people from keeping stuff blank and submitting. It checks for the following:
  • A username
  • A way to contact the user
  • At least 1 desired position
  • A message


Then it submits a query to make a thread in a separate forum with the information. Then it just gets accepted or declined.

Splat3D


Splat3D was an editor that I had made from the 3D World Editor. This was shown last year but this time it's back with more stabilization and more features!

What's new?



One of the first changes I made for the new version was this loading screen. I changed it so it will give you more information.
It now follows this:
1st Line: The object being loaded
2nd Line: Loaded / Need To Load Percent(%)
3rd Line: Address of the node being loaded



Another new feature is the reset camera button. This is for the people that the program sends them to a random location because of the sensitivity of the camera and pan controls. It will reset back to it's original loading spot.

Code
    def resetCamera(self):
        self.rotx = 45
        self.roty = -45
        self.rotz = 0
        self.posx = self.posy = 0
        self.posz = -10

This will reset it at the pitch of 45, yaw of -45, and roll of 0. The coordinate it will reset at is 0, 0, -10.

New Super Mario Bros. U Unused Settings & Sprites


Throughout my time I reverse engineered the game, I uncovered many unused settings. When I did that, I documented them on a place named The Cutting Room Floor, the home of many unused game features.

My page for unused NSMBU Sprites and Settings. I wrote everything in there except for a few grammar fixes and Jap translations.


Unused Areas and Zones




WiiU Energy Saving Features


I had also reverse engineered 2 of the energy saving features of the WiiU; the Auto Power-Down features, and the dimming features. I wrote a really early library to be able to read these functions. My example doesn't put them to use, but I will still post the code to show my progress.

C Source


C Header



will edit with more info later
Good job, that bot is gonna make NSMBU hacking easier.
Splat3D is very interesting and also intriguing, didn't know you could edit a game as complicated as SM3DW
Originally posted by Eminus
Good job, that bot is gonna make NSMBU hacking easier.
Splat3D is very interesting and also intriguing, didn't know you could edit a game as complicated as SM3DW

Mario Kart 8, Splatoon, and 3DW actually use very similar formats. If I remember correctly, Mario Kart 8 just has a path node array and the rest don't.
Originally posted by MrRean

BOOYAH! C'MON!
This looks awesome! I wish I would use it for hacking/modding Splatoon rather than SMW.

Stay fresh!
Check out these awesome new English translations released this year!
🌸 Sakura Wars 2: Thou Shalt Not Die 🌸 / 🏰 Waku Waku Puyo Puyo Dungeon 🏰 / 🌌 Phantasy Star generation:1 🌌
『いけいけ団長、頑張れ頑張れ団長!』

Help us raise funds for the Armed Forces of Ukraine. #ДопомагаємоРазом / #HelpTogether
“Even if you personally are so dissatisfied with life that you want the world to end, surely the cruel reality is that it will continue on, unchanging. All the better for someone perfectly content, like me.”
Aya Shameimaru, Touhou Suzunaan ~ Forbidden Scrollery
It does mod Splatoon. :P
osh
I'm excited for the possibilities that can come from your splatoon editor. Just the possible maps that can be made from it gets me very excited! I'm glad to see you've had had progress on it. I recall you posting on irc once.
Originally posted by Frost
osh
I'm excited for the possibilities that can come from your splatoon editor. Just the possible maps that can be made from it gets me very excited! I'm glad to see you've had had progress on it. I recall you posting on irc once.

I have, but not recently. I've actually veered to Mario Kart 8 for a while with collision testing.