News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Ness

Pages: [1]
ROM Hacking Discussion / Mega Man 5 - Protoman Edition
« on: August 25, 2017, 07:52:17 am »

Mega Man 5: Protoman Edition is now available on this site.

This thread is dedicated to keeping track of feedback and potential future updates.

The hack:

Video trailer:

Two hacks in one:
- The "MM5ProtomanEdition" patch to play the original MM5 as Protoman
- The "MM5SSPE" patch to play Second Strike, my previous MM5 hack, as Protoman

More info about the hack:

Changes related to Protoman:
- Protoman can use his shield to deflect/destroy projectiles.

- Beat was replaced by the Proto Dash. Collect all 8 "Protoman" letters to unlock it.
The Proto Dash is a very powerful move which drains a lot of weapon energy. You can damage
enemies with it, but also destroy projectiles.
It can not be cancelled by pressing the opposite direction on the d-pad, but it can cancelled
by performing a Dash Jump.
Dash Jumps offer a speed boost which allows for longer jumps, similar to Bass's Dash Jumps
in MM&B and MM10, or to the X series. However, unlike in those games, the speed boost given
by a P.Dash jump will only last as long as you're pressing the direction you were initially going to.

- In MM9/10, enemies deal 100% more damage to Protoman than to Mega Man. In this hack you can turn on/off
this setting in the main menu: "Damage x1" will keep the original damage values of the game,
and with "Damage x2" Protoman will recieve double the damage.
If you want to resume a "Damage x2" playthrough using a password, SET DAMAGE TO "x2" BEFORE

- Protoman's knockback when taking a hit is twice longer as MM's, like in MM9.

- The charge shot has a smaller hit detection size than the original MM5 charge shot.
It also takes a bit longer to charge up, and its movement speed is slightly faster.

- Protoman can fire a 2nd regular P.Buster shot when a "half-charge" shot is on screen,
which MM originally couldn't in MM5.

- Protoman can only shoot 2 P.Busters shots at the same time.

- R.Coil and R.Jet are replaced by P.Coil and P.Jet

- Protoman starts the game with his P.Jet, like in MM9/10.

- The story, intro and cutscenes were altered

Other changes:
- The charge shot charging sound now fades out
- Charging up a charge shot now works during a slide and during the "360° rotation" animation (on moving platforms)
- Underwater slide-jumps are now possible
- During a slide, you can't jump if holding "down" on the d-pad. In reverse gravity this remained the same, while it should be when holding "up". Fixed.
- Charge shots go through destructible blocks and can destroy several blocks in a row (like in MM4)
- While charging, if the player would release the B button during a slide or during the "360° rotation" animation, the palette could freeze with one of the charging palettes. Fixed.
- When dying in a pit while charging the charge shot, palette gets reset to default to avoid items on the screen (1up, tanks, etc) being 'frozen' with the wrong palette.
- M tanks now always appear, even if the player already has one. You can still only carry 1 at a time though.
- Picking an E/M Tank or a 1up when they're already full no longer makes a sound, like in later games in the series
- Falling crystals gimmick in Crystal Man stage: when 'destroying' a crystal with Star Shield, the following crystals falling from the same tube would go through the player. Fixed.
- Crystal Man's orbs: they no longer disappear if hitting the player during invicibility frame time. I also added a small visual explosion when they disappear when their timer runs out. This change of code also makes them less laggy when there are 3-4 of them at the same time.
- Fixed the possibility to skip most of the boss rush by sliding through the wall (at least I think I fixed it)
- Jetski segment: fixed the possibility to "miss" the jetski during the cutscene and play the segment without the jetski, glitching the entire part. (At least I fixed the easiest way there was to pull that glitch, it might still be possible to do it with the S.Arrow but since I can't pull it off, I can't check)
- Title screen: Slightly shortened the time it takes to loop back to the intro, so that you can no longer hear the title screen song start again for a split second.
- Boss intro screen: fixed the Y-axis location of the bottom flickering light of the teleporter (the lights flickering before bosses appear)
- Wily cutscene at the end of Protoman fortress stage 4: made the text flow faster.
- Slightly reduced Darkman 1 and Darkman 3's hit detection size, so that it matches their art better and jumping above them is a bit easier.
- Getting frozen by Darkman 3's onion rings during a Charge Kick will nullify the charge kick (turn the animation into regular sliding), to avoid C.Kick working while being frozen.
- The B button now works to select things everywhere it didn't (weapons menu, stage select screen, password/continue screen)
- The drop rate of 1ups was reduced
- [not in Second Strike version] Protoman Fortress stage 1: When dying and loading either checkpoint, a colour of the foreground would change. Fixed.
- [not in Second Strike version] Napalm Man stage: Fixed a wall that was set as "foreground", that the player could slide into.
- ... and more !

- Steambull for his work on the art, betatesting and ideas
- Rock5easily, Matrixz and Kuja Killer for their tools and documentations


Programming / Mega Man V gameplay hack, ASM advice needed
« on: March 22, 2017, 11:43:34 am »

I'm working on a gameplay hack for Mega Man V and I need advice from MM and ASM experts.

I'm trying to make a 'weapon' that can deflect some enemy bullets, and those bullets should be able to hit enemies after deflection. Think of Protoman's shield in MM9/10, same thing.

I've tried to turn enemy bullets into the object ID and attributes of buster shot upon deflection.

However that doesn't work because the EFF8 routine which determines contact between MM's shots and enemies, only checks indexes 1 to 3, and the deflected shots which I turn into buster shots remain in their original address indexes (8 to 17). For instance for object ID: ram addresses 301->303 is for MM's shots, 308->317 for enemies and their shots.

AFAIK there is no way to change the address indexes upon deflection (?).

So I tried to change the EFF8 (shots->enemies hit detection) routine so that it checks all object ID addresses rather than just the first 3, so I changed LDY 03 to LDY 17 (at ram address F010, rom address 3F020). That did work and the deflected shots would hurt enemies, however, on top of being a solution that should increases lag, I also got glitches like enemies disappearing on spawn.

I couldn't figure out the enemy disappearing thing. It looks like SOME enemy types (and some only...) would basically detect that they are in contact with themselves. What I don't understand is why it happens to some enemies only, and why it happens at all since onl MM's shots are programmed to dmg enemies (although it looks like it skips HP altogether and jumps directly to the 'delete enemy' part).

BTW - I also thought of a completly different solution: upon deflection the enemy shot would disappear and I'd make a buster shot appear instead (rather than giving the enemy shots buster shot attributes); however I'm afraid that this would have impact on other things such as the "3 shots per screen" limit, meaning that the player couldn't fire 3 times if there is a deflected shot on screen...

So, does anyone have an idea, any clue, on how to achieve this?

Thank you

ROM Hacking Discussion / Mega Man 5 - Second Strike
« on: March 01, 2017, 07:10:43 am »

My Mega Man 5 hack called Second Strike is now up on the site:

It intends to offer classic style Mega Man gameplay by drawing into what I consider to be MM5's untapped potential.



Gameplay changes:
a) Stages:
- All new stage layouts.
4 of them include MM6 style forking paths (Stone Man, Charge Man, Wily Fortress 1 and 2).

b) Enemies:
- Altered bosses behaviour. All of them, at varying degrees.
- A few other enemies also got their behaviour slightly altered.

c) Weapons:
Altered weapon behaviour for:
- Power Stone
- Napalm Bomb
- Crystal Eye, which was also renamed to Crystal Orb.

d) Other:
- The hit detection of the charge shot was slightly reduced, and its art changed accordingly.
- Reduced invicibily frame time of bosses after they get hit.
Both of these changes aim at making the regular buster shot a more viable solution in combat.
- Reduced item drop rate of enemies, making it more on par with previous MM games.
- Weaknesses of bosses were changed.
- Rush Jet and Super Arrow are acquired in different stages. Passwords were changed accordingly.

- Steambull: Beta testing, ideas
- Anons of /vr/: Hacking help

Built using:
- The "rock5_bossroomjump" patch by Rock5easily
- MM5 hex editing documentation by Rock5easily
- MegaFLE X by Matrixz and Kuja Killer
- FCEU X emulator

Very special thanks to Matrixz, Kuja Killer and Rock5easily. Without their initial work this hack wouldn't exist.

I also decided to play my humble part and share my hex editing notes:

They are not much really, this was my first step into hacking. They only aim at being an addition to rock5easily's documentation, documenting a few things not present in his documentation.
Again it's not much but maybe it can help a future new hacker like I was not long ago.

Feedback always welcome.


Newcomer's Board / Megaman 5 romhack palette swap
« on: January 02, 2013, 06:00:09 am »
Hi, I'm having a bit of a trouble with the mandatory palette swap in Megaman V. Indeed, you have to switch palettes in order to access the 2nd part of the structure table.

However, I'm using MegaFLE X, and I keep getting glitches such as this one (see how some of the stuff is giltched out in the middle) :

If I fix it on this set on screens, then it will glitch out in the following ones. I just can't get ALL of it to work at the same time.

What am I doing wrong? Is there some mandatory logic to it I have to follow I'm unaware of? Like, are you limited in the number of times you can swap between the 2 parts of the structure table? Or is there something that has to be done for it to work that I'm missing out on?

I also tried using Rockman 5 Edit but in that editor I couldn't even figure out how to access the 2nd part of the structure table...

thanks alot

Pages: [1]