Grindel: Difference between revisions

From Ukikipedia
Jump to navigation Jump to search
m (added tidbit about beta Grindel)
(behav+ init + ref)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{object_infobox_2
{{object_infobox_2
|title= Cube Thwomp
|title= Grindel
|image= STROOP- Grindel.png
|image= STROOP- Grindel.png
|group=Surface
|group=Surface
|group2 = N/A
|group2 = N/A
|modelID=0x36
|tangibility=
|tangibility=
|draw=4000
|draw=4000
Line 18: Line 19:
|offset=
|offset=
|coins=
|coins=
|related=[[Thwomp]], [[Spindel]], [[Tox Box]]
|foundIn=[[Shifting Sand Land]]
|behaviorScript=[https://github.com/n64decomp/sm64/blob/master/data/behavior_data.c#L5836 Horizontal Grindel Initialization Script]
|behaviorCode=[https://github.com/n64decomp/sm64/blob/master/src/game/behaviors/horizontal_grindel.inc.c Horizontal Grindel Behavior File]
}}
}}
'''Cube Thwomp''' is an enemy appearing inside the Pyramid in [[Shifting Sand Land]]. It has two varieties: a vertically moving one which is identical to [[Thwomp]] in behavior and a horizontally moving one which jumps back and forth over a distance.
'''Grindel''' is an enemy appearing inside the Pyramid in [[Shifting Sand Land]]. It has two varieties: a vertically moving one which is identical to [[Thwomp]] in behavior and a horizontally moving one which jumps back and forth over a distance.
 
Cube Thwomp is not real, therefore you have no reason to fear it. Cube Thwomp is, on the other hand, incredibly racist. This is a bug. This was patched in the Japanese-exclusive Shindou release.  


==Behavior==
==Behavior==
The vertically moving Cube Thwomp shares the same behavior as the [[Thwomp]], moving up, staying in the air, moving down again and repeating. The horizontally moving Cube Thwomp uses different behavior. It moves forward as well as upward and turns around after jumping several times. This is done using the following procedure.
The vertically moving Grindel shares the same behavior as the [[Thwomp]], moving up, staying in the air, moving down again and repeating. The horizontally moving Grindel uses different behavior. It moves forward as well as upward and turns around after jumping several times. This is done using the following procedure.


The horizontal Cube Thwomp is initialized with its target yaw set to its moving angle yaw. If Cube Thwomp is not in the air, and Cube Thwomp attributes have not already been updated to reflect that it is on the ground, then code is run to reflect that Cube Thwomp has just landed. In this code, a sound effect plays, Cube Thwomp attributes are updated to reflect that it is on the ground, the camera shakes, Cube Thwomp distance to its home is updated, and its forward velocity and timer are set to equal 0.
The horizontal Grindel is initialized with its target yaw set to its moving angle yaw. If Grindel is not in the air, and Grindel’s attributes have not already been updated to reflect that it is on the ground, then code is run to reflect that Grindel has just landed. In this code, a sound effect plays, Grindel’s attributes are updated to reflect that it is on the ground, the camera shakes, Grindel’s distance to its home is updated, and its forward velocity and timer are set to equal 0.
If Cube Thwomp target yaw is not equal to its current yaw, Cube Thwomp will rotate at 5.625 degrees per frame until it reaches its target yaw. During this process, Cube Thwomp timer attribute is set to 0 continuously. This is what is run to turn Cube Thwomp around over the course of 32 frames. 60 frames after the target yaw has been reached, if Cube Thwomp is more than 300 units from its home, Cube Thwomp target yaw is increased by 180 degrees, and Cube Thwomp distance to its home is set to 0, changing its home to its current position and causing it to begin turning toward its target yaw again. If Cube Thwomp is not more than 300 units from its home, Cube Thwomp jumping action begins. In this action, a sound effect is played, Cube Thwomp forward velocity is set to 11 units/frame, Gindel’s Y-velocity is set to 70 units/frame, Cube Thwomp gravity is set to -4, and Cube Thwomp move flags attribute is set to 0. When Cube Thwomp is in the air, Cube Thwomp attributes are updated to reflect that it has left the ground, and if Cube Thwomp Y-velocity is less than 0, its gravity is set to -16. Overall, it takes 28 frames for Cube Thwomp to complete a full jump, its jump peaks at 648 units off the ground, and it moves forward a total of 308 units.
If Grindel’s target yaw is not equal to its current yaw, Grindel will rotate at 5.625 degrees per frame until it reaches its target yaw. During this process, Grindel’s timer attribute is set to 0 continuously. This is what is run to turn Grindel around over the course of 32 frames. 60 frames after the target yaw has been reached, if Grindel is more than 300 units from its home, Grindel’s target yaw is increased by 180 degrees, and Grindel’s distance to its home is set to 0, changing its home to its current position and causing it to begin turning toward its target yaw again. If Grindel is not more than 300 units from its home, Grindel’s jumping action begins. In this action, a sound effect is played, Grindel’s forward velocity is set to 11 units/frame, Gindel’s Y-velocity is set to 70 units/frame, Grindel’s gravity is set to -4, and Grindel’s move flags attribute is set to 0. When Grindel is in the air, Grindel’s attributes are updated to reflect that it has left the ground, and if Grindel’s Y-velocity is less than 0, its gravity is set to -16. Overall, it takes 28 frames for Grindel to complete a full jump, its jump peaks at 648 units off the ground, and it moves forward a total of 308 units.


==See Also==
[[Thwomp]]


[[Spindel]]
==References==
<references/>


[[Tox Box]]
[[Category:Enemies]]
[[Category:Enemies]]
{{objects}}

Latest revision as of 14:28, 12 October 2023

Grindel
STROOP- Grindel.png
Technical Constants
Object Group Surface
Actor Group N/A
Model ID 0x36
Draw Distance 4000
Physical Constants
Gravity -400
Friction 1000
Buoyancy 200
Code
Initialization Behavior Script [1]
Behavior Code [2]
Found in
Shifting Sand Land
Related Articles
Thwomp, Spindel, Tox Box

Grindel is an enemy appearing inside the Pyramid in Shifting Sand Land. It has two varieties: a vertically moving one which is identical to Thwomp in behavior and a horizontally moving one which jumps back and forth over a distance.

Behavior

The vertically moving Grindel shares the same behavior as the Thwomp, moving up, staying in the air, moving down again and repeating. The horizontally moving Grindel uses different behavior. It moves forward as well as upward and turns around after jumping several times. This is done using the following procedure.

The horizontal Grindel is initialized with its target yaw set to its moving angle yaw. If Grindel is not in the air, and Grindel’s attributes have not already been updated to reflect that it is on the ground, then code is run to reflect that Grindel has just landed. In this code, a sound effect plays, Grindel’s attributes are updated to reflect that it is on the ground, the camera shakes, Grindel’s distance to its home is updated, and its forward velocity and timer are set to equal 0. If Grindel’s target yaw is not equal to its current yaw, Grindel will rotate at 5.625 degrees per frame until it reaches its target yaw. During this process, Grindel’s timer attribute is set to 0 continuously. This is what is run to turn Grindel around over the course of 32 frames. 60 frames after the target yaw has been reached, if Grindel is more than 300 units from its home, Grindel’s target yaw is increased by 180 degrees, and Grindel’s distance to its home is set to 0, changing its home to its current position and causing it to begin turning toward its target yaw again. If Grindel is not more than 300 units from its home, Grindel’s jumping action begins. In this action, a sound effect is played, Grindel’s forward velocity is set to 11 units/frame, Gindel’s Y-velocity is set to 70 units/frame, Grindel’s gravity is set to -4, and Grindel’s move flags attribute is set to 0. When Grindel is in the air, Grindel’s attributes are updated to reflect that it has left the ground, and if Grindel’s Y-velocity is less than 0, its gravity is set to -16. Overall, it takes 28 frames for Grindel to complete a full jump, its jump peaks at 648 units off the ground, and it moves forward a total of 308 units.


References