STROOP: Difference between revisions

5 bytes removed ,  15 April 2021
m
Feel free to revert this edit in case the older version was better, just contributing to Ukikipedia :)
m (Feel free to revert this edit in case the older version was better, just contributing to Ukikipedia :))
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''S'''uperMario64 '''T'''echnical '''R'''untime '''O'''bserver and '''O'''bject '''P'''rocessor, 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|camera]] + [[HUD]] values, an overhead map display, and many more. An up-to-date version of STROOP can be downloaded from [https://github.com/SM64-TAS-ABC/STROOP/releases/download/vDev/STROOP.zip here].
'''S'''uperMario64 '''T'''echnical '''R'''untime '''O'''bserver and '''O'''bject '''P'''rocessor, 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|camera]] + [[HUD]] values, an overhead map display, and many more. An up-to-date version of STROOP can be downloaded from [https://bit.ly/DownloadSTROOPRelease here].
[[File:STROOP.jpg|350px|thumb|STROOP on [https://en.wikipedia.org/wiki/Windows_10 Windows 10]]]  
[[File:STROOP.jpg|350px|thumb|STROOP on [https://en.wikipedia.org/wiki/Windows_10 Windows 10]]]  
[[File:ObjectSlotHack.png|350px|thumb|Tyler's ROM hack that displayed the object slots in text form]]  
[[File:ObjectSlotHack.png|350px|thumb|Tyler's ROM hack that displayed the object slots in text form]]  
Line 261: Line 261:
* '''Simple Controller''': A Simple Controller is in charge of manipulating one variable. It consists of 2 buttons and a textbox. The buttons are used for subtracting from and adding to the variable using the value that's in the textbox. Right clicking on one of the buttons shows the option to toggle whether the buttons are inverted, i.e. swapping whether subtraction is on the left and addition is on the right or vice versa. Simple Controllers are found on the left panel of several tabs of STROOP.
* '''Simple Controller''': A Simple Controller is in charge of manipulating one variable. It consists of 2 buttons and a textbox. The buttons are used for subtracting from and adding to the variable using the value that's in the textbox. Right clicking on one of the buttons shows the option to toggle whether the buttons are inverted, i.e. swapping whether subtraction is on the left and addition is on the right or vice versa. Simple Controllers are found on the left panel of several tabs of STROOP.


* '''Triplet Controller''': A Triplet Controller is in charge of manipulating a triplet of variables, usually a set of (x,y,z) Euler (Cartesian) coordinates or (theta,phi,radius) spherical coordinates. It consists of 2 sets of controls:
* '''Triplet Controller''': A Triplet Controller is in charge of manipulating a triplet of variables, usually a set of (x,y,z) Euler coordinates or (theta,phi,radius) spherical coordinates. It consists of 2 sets of controls:
** '''Square Controls''': On the left are the Square Controls, consisting of 8 buttons and a textbox arranged in square formation. For Euler coordinates, these controls manipulate the x and z coordinates. For spherical coordinates, these controls manipulate the theta and phi coordinates. In both cases, the buttons will add to or subtract from the corresponding variable(s) by the amount in the textbox. Note that you can right click on the buttons for more options so that you can customize the orientation of the buttons. Specifically, this allows you to rotate the buttons any one of eight ways, as well as invert the orientation (i.e. flip it).
** '''Square Controls''': On the left are the Square Controls, consisting of 8 buttons and a textbox arranged in square formation. For Euler coordinates, these controls manipulate the x and z coordinates. For spherical coordinates, these controls manipulate the theta and phi coordinates. In both cases, the buttons will add to or subtract from the corresponding variable(s) by the amount in the textbox. Note that you can right click on the buttons for more options so that you can customize the orientation of the buttons. Specifically, this allows you to rotate the buttons any one of eight ways, as well as invert the orientation (i.e. flip it).
** '''Line Controls''': One the right are the Line Controls, consisting of 2 buttons and a textbox arranged in a vertical line formation. For Euler coordinates, these controls manipulate the y coordinate. For spherical coordinates, these controls manipulate the radius coordinate. In both cases, the buttons will add to or subtract from the corresponding variable by the amount in the textbox. Note that you can right click on the buttons for options to invert the buttons.
** '''Line Controls''': One the right are the Line Controls, consisting of 2 buttons and a textbox arranged in a vertical line formation. For Euler coordinates, these controls manipulate the y coordinate. For spherical coordinates, these controls manipulate the radius coordinate. In both cases, the buttons will add to or subtract from the corresponding variable by the amount in the textbox. Note that you can right click on the buttons for options to invert the buttons.
Line 290: Line 290:
** '''Value Table''': This shows various representations of the bytes of the variable, including the decimal representation, hex representation, and binary representation. It also provides a set of checkboxes that can be used to toggle each bit of the variable. For floats, these checkboxes are colored according to the bits' role in the float, as blue represents sign, red represents exponent, and green represents mantissa.
** '''Value Table''': This shows various representations of the bytes of the variable, including the decimal representation, hex representation, and binary representation. It also provides a set of checkboxes that can be used to toggle each bit of the variable. For floats, these checkboxes are colored according to the bits' role in the float, as blue represents sign, red represents exponent, and green represents mantissa.
: Note that for floats, you can right click on the empty space of the controller, and change what the textboxes display. Specifically, they can be set to display the sign, exponent, and mantissa values of the float. You can create a Bit Controller for a variable by clicking on the variable while holding B.
: Note that for floats, you can right click on the empty space of the controller, and change what the textboxes display. Specifically, they can be set to display the sign, exponent, and mantissa values of the float. You can create a Bit Controller for a variable by clicking on the variable while holding B.
''Todo: finish the rest of this article''


== Object Tab ==
== Object Tab ==
106

edits