STROOP

Revision as of 19:13, 31 March 2019 by Pannenkoek2012 (talk | contribs)

SuperMario64 Technical Runtime Observer and Object Processor, or STROOP for short, is a diagnostic tool for Super Mario 64 which displays and allows for simple editing of various game values and information. It can connect to a running emulator and update values in real time. Some core features include views of loaded/unloaded objects, Mario structure variables, camera + HUD values, an overhead map display, and many more.

STROOP on Windows 10
Tyler's ROM hack that displayed the object slots in text form
A blueprint of what Pannenkoek2012 suggested the program should look like
The SM64 Diagnostic

History

After Pannenkoek2012 discussed object slots in his Science of Cloning video, there had been a desire to view the object slots of the game in real time. Pannenkoek2012 discussed this desire with Tyler Kehne. Tyler then proceeded to make a ROM hack that could display the object slot behaviors in text form, overlaid onto the screen. Pannenkoek2012 was not pleased with this implementation, as he wanted a separate program that would show the slots visually with images of the objects. Thus, Tyler then proceeded to make a program that would do just that, which he named the SM64 Diagnostic. Tyler wrote the code for it, and Pannenkoek2012 provided the object images and names. The SM64 Diagnostic was a major breakthrough, as it showed the object slots, the process groups, the held object, object variables, and Mario variables. However, it also had some annoyances, such as it couldn't connect to an already open Mupen (it had to open Mupen itself), it would occasionally crash Mupen, the angle variables (yaw/pitch/roll) had confusing names, the variables couldn't be edited, and the checkbox variables used a confusing system.

Some time later, Dane Bouchie created a new program called STROOP, which was based on the SM64 Diagnostic, but with many more features and improved functionality. Later, Pannenkoek2012 also began coding for STROOP, adding even more features and functionality. As of today, STROOP has object slots, object variables, Mario variables, HUD variables, camera variables, triangle variables, water variables, an input display, a file display, a map that can display objects in real time, an M64 editor, and savable options so that the user can customize their experience.