Difference between revisions of "Mischief Makers v1.0 (U)/GameShark"
m (Mischief Makers v1.0 (GameShark) moved to Mischief Makers v1.0) |
|||
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 | ||
+ | < 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 ;D<br>0x181C - Merco's lance ;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 :D*<br>0x0018 - Clan pot :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 :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 :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 :D<br><br> | ||
[[Category:Nintendo 64 GameShark|{{PAGENAME}}]] | [[Category:Nintendo 64 GameShark|{{PAGENAME}}]] |
Revision as of 00:42, 13 October 2008
Contents
Hextator
Weapon Adding Code Suite
can be found at this link:
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