Difference between revisions of "Mischief Makers v1.0 (U)/GameShark"

From Kodewerx
Jump to: navigation, search
Line 1: Line 1:
 
== '''[[:User:Hextator|Hextator]]''' ==
 
== '''[[:User:Hextator|Hextator]]''' ==
 +
 +
==== Weapon Adding Code Suite  ====
 +
 +
can be found at this link:
 +
 +
[http://pastebin.com/f1084a9f6 http://pastebin.com/f1084a9f6]<br>
 +
 +
===== Video of the above code suite in action  =====
 +
 +
can be found at this link:
 +
 +
[http://www.youtube.com/watch?v=EBg00832C4w http://www.youtube.com/watch?v=EBg00832C4w]
 +
 +
==== Codes created in the process of making the weapon suite  ====
  
 
{{Code
 
{{Code
Line 26: Line 40:
 
| Description = Guns will never expire. Eliminates original timer update write.
 
| Description = Guns will never expire. Eliminates original timer update write.
 
}}
 
}}
 +
 +
==== Data collected in the process of making the weapon suite  ====
 +
 +
===== Sprite Struct Map<br>  =====
 +
<pre>Base = Sprite ID * 0x198 + 0x800ED000
 +
 +
Marina is sprite 0
 +
 +
Projectiles are loaded into sprite 1 through about 16
 +
 +
+0x080 Mode bits 3
 +
AND 0x02: True if holding something
 +
+0x082 Mode bits 1
 +
AND 0x01: True if can be damaged/able to talk
 +
AND 0x08: True grabbing something
 +
AND 0x80: True if invincible?
 +
+0x083 Mode bits 0
 +
AND 0x20: True = facing left
 +
Writes have no effect
 +
AND 0x02: False = Can't move
 +
AND 0x01: False = Invisible
 +
+0x084 Halfword of what the sprite looks like
 +
See ***List 1
 +
+0x088 Word of horizontal offset from center of screen
 +
0xFF880000 to 0x980000 to be on screen
 +
+0x08C Word of vertical offset from center of screen
 +
0xFF880000 to 0x680000 to be on screen
 +
+0x098 Another flag word:
 +
AND 0x00000002: True to use splash collision animation
 +
+0x09C Byte of red overlay
 +
+0x09D Byte of green overlay
 +
+0x09E Byte of blue overlay
 +
+0x09F Byte of opacity of sprite
 +
Sniper laser (Item 0x22 in ***List 3) uses 0x60
 +
+0x0B4 Float of width scalar
 +
+0x0B8 Float of heigth scalar
 +
+0x0CC Flag word
 +
AND 0x00000004 and AND 0x00000001 must be set for
 +
Ninja stars to work properly
 +
+0x0D0 Byte of mode
 +
3 to shoot a gun
 +
4 to drop it
 +
+0x0D2 Halfword of sprite routine to use
 +
See ***List 3
 +
+0x0D4 Halfword of hit stun remaining
 +
+0x0D6 Halfword of last sprite held
 +
Can telegrab with 0xA in 0x080
 +
+0x0E0 Halfword of remaining health
 +
+0x0E2 Halfword of damage to receive
 +
+0x0E4 Halfword of damage to incur
 +
+0x0EC Word of horizontal speed
 +
+0x0F0 Word of vertical speed
 +
+0x150 For weapons:
 +
Word of fire delay
 +
Signed
 +
Firing resets to gun specific delay
 +
Guns will fire only if the timer counts down past 0
 +
For characters:
 +
Word of damage handling flags
 +
AND 0x00000080: True if health is to reset to 0x4000 upon death
 +
False to kill
 +
+0x154 Word of red gem amount to give or receive
 +
+0x158 Byte of direction facing
 +
AND 0x03:
 +
00b Right
 +
01b Up
 +
10b Left
 +
11b Down
 +
+0x159 Byte of angle of counter clockwise deviation
 +
0-90 degrees
 +
+0x16C Halfword of angle facing of held sprite
 +
0x380-0xFF (0x400 loops to 0) for -45-90
 +
+0x170 Halfword of position in animation cycle
 +
+0x17C Word of life remaining timer
 +
Signed
 +
&lt; 0 = explode
 +
+0x180 Word of how the sprite shoots
 +
See ***List 2</pre>
 +
===== Value Lists<br>  =====
 +
 +
====== ***List 1 (Graphic IDs):  ======
 +
 +
Note: Odd values look reversed and stupid
 +
 +
0x00D8 - Vash Clancer Laser<br>0x024A - Ninja Star<br>0x027A - Clan bomb<br>0x02C2 - Regular bullet (for some reason spawning sniper lasers uses this incorrect value)<br>0x1812 - Lunar's gun&nbsp;;D<br>0x181C - Merco's lance&nbsp;;D<br>0x3012 - Robot gun<br>0x3034 - Giant green jet pack clancer<br>0x305A - Machine gun<br>0x305C - One of those kick ass gatlings the robots use<br>0x305E - Another gat<br>0x3060 - Another gat<br>0x3062 - Missile pod<br>0x3064 - Homing missile<br>0x3066 - Looks like a rifle or a pole of some sort.<br>0x3068 - Some tiny claw thing.<br>0x306A - Umbrella<br>0x306C - Another umbrella. This time it isn't slanted.<br>0x306E - Looks like an unused rocket launcher.<br>0x3070 - A spring of some sort.<br>0x30B6 - Red grenade<br>0x30C6 - Spike bomb<br>0x30D8 - Sniper laser<br>
 +
 +
====== ***List 2 (Fire Types):  ======
 +
 +
0x00 - Same as below. Not standard.<br>0x01 - Fires regular missiles.<br>0x02 - Fires machine gun shells.<br>0x03 - Fires triple burst machine gun shells.<br>0x04 - Same as previous, but a bit slower. Not standard.<br>0x05 - Fires homing missiles.<br>0x06 - Here and beyond does nothing.
 +
 +
====== ***List 3 (Projectile Types):  ======
 +
 +
0x0016 - Marina clones&nbsp;:D*<br>0x0018 - Clan pot&nbsp;:D*<br>0x001C - Clan ball*<br>0x001D - PHOENIX Gamma<br>0x0021 - THE Beastector<br>0x0022 - Sniper laser; always faces right?<br>0x0023 - Trip mines<br>0x0024 - Rifle laser<br>0x003C - Orb formed by catching opponent's laser; doesn't work outside of levels where this can't be done normally<br>0x003D - CERBERUS Alpha's small green blast; fires collectable red gems in other levels XD*<br>0x003F - Teran clan ball - won't transform outside of the Blockman level*<br>0x0040 - Super clan balls*<br>0x0043 - Red flower*<br>0x0045 - Clan bomb<br>0x0049 - Purple spike balls that move in a straight line*<br>0x004C - Purple spike balls that circle in place*<br>0x004E - Purple spike balls that bounce up and down*<br>0x004F - Purple cyclone spike balls*<br>0x0050 - Purple spike balls that bounce*<br>0x0062 - Small red laser shells fired by aerial clancers; same issue as with 0x22<br>0x0077 - Mute clancer<br>0x007B - Circling objects<br>0x007C - Unusable red gem*<br>0x0600 - Spike bomb<br>0x0903 - Armed robot<br>0x090C - This value makes you fire objects that fire objects. Kinky...<br>0x090D - Regular missiles; shoot too fast with fire type 2 and blow themselves up<br>0x090E - Regular machine gun shells<br>0x0A01 - Merco's lance<br>0x0F06 - CERBERUS Alpha's biggest beam; fires stupid statues in other levels&nbsp;:P<br>0x0F07 - CERBERUS Alpha's normal shells from Lunar's gun; fires useless machine parts in other levels<br>0x0F08 - CERBERUS Alpha's large orange blast; fires even more useless machine parts in other levels<br>0x0F13 - Lunar's gun<br>0x1603 - Boomerang; becomes left hand missile from THE Beastector<br>0x1604 - Shoots FIRE. YAY. Becomes right hand laser from THE Beastector*<br>0x1B07 - Small red laser fired by missiles in Missile Surf<br>0x1C07 - Jet pack clancer; bevavior pattern 0x0061 to ride<br>0x2000 - Clancer that throws red grenades<br>0x2600 - Spike bomb<br>0x2601 - Red grenade<br>0x2602 - Ninja star&nbsp;:D<br>0x2603 - Boomerang*<br>0x2604 - Fire*; standard value<br>0x2606 - Damn little statues again<br>0x2607 - More robot crap<br>0x9BAB - Missiles from CERBERUS Alpha that get bigger when shaken
 +
 +
"*" - Will overflow sprite gen buffer and disallow projectile spawning
 +
 +
====== ***List 3a (Projectile Types Condensed): ======
 +
 +
0022 - Sniper laser; always faces right?<br>0024 - Rifle laser<br>0045 - Clan bomb<br>004C - Purple spike balls that circle in place<br>0062 - Small red laser shells fired by aerial clancers; same issue as with 0x22<br>090D - Regular missiles; shoot too fast with fire type 2 and blow themselves up<br>090E - Regular machine gun shells<br>1603 - Boomerang<br>1604 - Shoots FIRE<br>2600 - Spike bomb<br>2601 - Red grenade<br>2602 - Ninja star&nbsp;:D<br><br>
  
 
[[Category:Nintendo 64 GameShark|{{PAGENAME}}]]
 
[[Category:Nintendo 64 GameShark|{{PAGENAME}}]]

Revision as of 00:42, 13 October 2008

Hextator

Weapon Adding Code Suite

can be found at this link:

http://pastebin.com/f1084a9f6

Video of the above code suite in action

can be found at this link:

http://www.youtube.com/watch?v=EBg00832C4w

Codes created in the process of making the weapon suite

{{{name}}}
{{{1}}}
{{{2}}}
{{{name}}}
{{{1}}}
{{{2}}}
{{{name}}}
{{{1}}}
{{{2}}}
{{{name}}}
{{{1}}}
{{{2}}}
{{{name}}}
{{{1}}}
{{{2}}}

Data collected in the process of making the weapon suite

Sprite Struct Map
Base = Sprite ID * 0x198 + 0x800ED000

Marina is sprite 0

Projectiles are loaded into sprite 1 through about 16

+0x080	Mode bits 3
		AND 0x02: True if holding something
+0x082	Mode bits 1
		AND 0x01: True if can be damaged/able to talk
		AND 0x08: True grabbing something
		AND 0x80: True if invincible?
+0x083	Mode bits 0
		AND 0x20: True = facing left
			Writes have no effect
		AND 0x02: False = Can't move
		AND 0x01: False = Invisible
+0x084	Halfword of what the sprite looks like
		See ***List 1
+0x088	Word of horizontal offset from center of screen
		0xFF880000 to 0x980000 to be on screen
+0x08C	Word of vertical offset from center of screen
		0xFF880000 to 0x680000 to be on screen
+0x098	Another flag word:
		AND 0x00000002: True to use splash collision animation
+0x09C	Byte of red overlay
+0x09D	Byte of green overlay
+0x09E	Byte of blue overlay
+0x09F	Byte of opacity of sprite
		Sniper laser (Item 0x22 in ***List 3) uses 0x60
+0x0B4	Float of width scalar
+0x0B8	Float of heigth scalar
+0x0CC	Flag word
		AND 0x00000004 and AND 0x00000001 must be set for
			Ninja stars to work properly
+0x0D0	Byte of mode
		3 to shoot a gun
		4 to drop it
+0x0D2	Halfword of sprite routine to use
		See ***List 3
+0x0D4	Halfword of hit stun remaining
+0x0D6	Halfword of last sprite held
		Can telegrab with 0xA in 0x080
+0x0E0	Halfword of remaining health
+0x0E2	Halfword of damage to receive
+0x0E4	Halfword of damage to incur
+0x0EC	Word of horizontal speed
+0x0F0	Word of vertical speed
+0x150	For weapons:
		Word of fire delay
			Signed
			Firing resets to gun specific delay
			Guns will fire only if the timer counts down past 0
	For characters:
		Word of damage handling flags
			AND 0x00000080: True if health is to reset to 0x4000 upon death
					False to kill
+0x154	Word of red gem amount to give or receive
+0x158	Byte of direction facing
		AND 0x03:
			00b Right
			01b Up
			10b Left
			11b Down
+0x159	Byte of angle of counter clockwise deviation
		0-90 degrees
+0x16C	Halfword of angle facing of held sprite
		0x380-0xFF (0x400 loops to 0) for -45-90
+0x170	Halfword of position in animation cycle
+0x17C	Word of life remaining timer
		Signed
		< 0 = explode
+0x180	Word of how the sprite shoots
		See ***List 2
Value Lists
***List 1 (Graphic IDs):

Note: Odd values look reversed and stupid

0x00D8 - Vash Clancer Laser
0x024A - Ninja Star
0x027A - Clan bomb
0x02C2 - Regular bullet (for some reason spawning sniper lasers uses this incorrect value)
0x1812 - Lunar's gun ;D
0x181C - Merco's lance ;D
0x3012 - Robot gun
0x3034 - Giant green jet pack clancer
0x305A - Machine gun
0x305C - One of those kick ass gatlings the robots use
0x305E - Another gat
0x3060 - Another gat
0x3062 - Missile pod
0x3064 - Homing missile
0x3066 - Looks like a rifle or a pole of some sort.
0x3068 - Some tiny claw thing.
0x306A - Umbrella
0x306C - Another umbrella. This time it isn't slanted.
0x306E - Looks like an unused rocket launcher.
0x3070 - A spring of some sort.
0x30B6 - Red grenade
0x30C6 - Spike bomb
0x30D8 - Sniper laser

***List 2 (Fire Types):

0x00 - Same as below. Not standard.
0x01 - Fires regular missiles.
0x02 - Fires machine gun shells.
0x03 - Fires triple burst machine gun shells.
0x04 - Same as previous, but a bit slower. Not standard.
0x05 - Fires homing missiles.
0x06 - Here and beyond does nothing.

***List 3 (Projectile Types):

0x0016 - Marina clones :D*
0x0018 - Clan pot :D*
0x001C - Clan ball*
0x001D - PHOENIX Gamma
0x0021 - THE Beastector
0x0022 - Sniper laser; always faces right?
0x0023 - Trip mines
0x0024 - Rifle laser
0x003C - Orb formed by catching opponent's laser; doesn't work outside of levels where this can't be done normally
0x003D - CERBERUS Alpha's small green blast; fires collectable red gems in other levels XD*
0x003F - Teran clan ball - won't transform outside of the Blockman level*
0x0040 - Super clan balls*
0x0043 - Red flower*
0x0045 - Clan bomb
0x0049 - Purple spike balls that move in a straight line*
0x004C - Purple spike balls that circle in place*
0x004E - Purple spike balls that bounce up and down*
0x004F - Purple cyclone spike balls*
0x0050 - Purple spike balls that bounce*
0x0062 - Small red laser shells fired by aerial clancers; same issue as with 0x22
0x0077 - Mute clancer
0x007B - Circling objects
0x007C - Unusable red gem*
0x0600 - Spike bomb
0x0903 - Armed robot
0x090C - This value makes you fire objects that fire objects. Kinky...
0x090D - Regular missiles; shoot too fast with fire type 2 and blow themselves up
0x090E - Regular machine gun shells
0x0A01 - Merco's lance
0x0F06 - CERBERUS Alpha's biggest beam; fires stupid statues in other levels :P
0x0F07 - CERBERUS Alpha's normal shells from Lunar's gun; fires useless machine parts in other levels
0x0F08 - CERBERUS Alpha's large orange blast; fires even more useless machine parts in other levels
0x0F13 - Lunar's gun
0x1603 - Boomerang; becomes left hand missile from THE Beastector
0x1604 - Shoots FIRE. YAY. Becomes right hand laser from THE Beastector*
0x1B07 - Small red laser fired by missiles in Missile Surf
0x1C07 - Jet pack clancer; bevavior pattern 0x0061 to ride
0x2000 - Clancer that throws red grenades
0x2600 - Spike bomb
0x2601 - Red grenade
0x2602 - Ninja star :D
0x2603 - Boomerang*
0x2604 - Fire*; standard value
0x2606 - Damn little statues again
0x2607 - More robot crap
0x9BAB - Missiles from CERBERUS Alpha that get bigger when shaken

"*" - Will overflow sprite gen buffer and disallow projectile spawning

***List 3a (Projectile Types Condensed):

0022 - Sniper laser; always faces right?
0024 - Rifle laser
0045 - Clan bomb
004C - Purple spike balls that circle in place
0062 - Small red laser shells fired by aerial clancers; same issue as with 0x22
090D - Regular missiles; shoot too fast with fire type 2 and blow themselves up
090E - Regular machine gun shells
1603 - Boomerang
1604 - Shoots FIRE
2600 - Spike bomb
2601 - Red grenade
2602 - Ninja star :D