News:

Don't forget to visit the main site! There's lots of helpful docs, patches, and more!

Main Menu

Project: Removing the infamous Event System

Started by P.JBoy, March 03, 2010, 11:09:32 AM

Previous topic - Next topic

Malpercio

that'll need asm or something, i think the only thing in the way is that some piece of code drops doors in period, even if you remove the normal shells

Phazar

Quote from: metruler1990 on May 08, 2010, 11:00:45 PM
that'll need asm or something, i think the only thing in the way is that some piece of code drops doors in period, even if you remove the normal shells
Yes, it's ASM, removing the nav room doors doesn't do anything except replace them with level 0 doors that, despite their appearance, act the same as nav room doors.  That is very old knowledge.

Malpercio

i found that the hard way. wouldnt mind the "time wasting adam talks" so long as there's complete freedom of item collection order/boss order
true RBO's for fusion, not to mention a shit ton of other stuff, can be done with the game the second there's no event system locking us down to graphical/room/expansion location/puzzle edits.

Strokend

Has anybody taken over this project? I'd like to be able to play through the game without having to wait for events to grab items and such, but I don't think I'd be able to get around to anything myself.

Quietus

As far as I know, PJ is still around, so if there's been no update here, I'd assume not.  And, no, I haven't heard about anybody else taking over.

Also, Super Metroid is 20 this year, and it's now getting some major new stuff done to it, so as long as we get that sort of thing for Fusion before 2022, then technically it's still 'early'. :^_^:

Zhs2

Well, it's technically been 'removed'. The problem is still the increasing bits set for each event, even if you pick up the items out of order (these are the bits that specify what Adam says when you use a navigation room, by the way.) The other way around the problem is making a hack that removes Adam entirely...!

P.JBoy

#31
What Zhs2 said is exactly correct. You may do some experimenting with what I achieved if you like, the change required is a simple hex edit:
060B10->E016, 60B30->E006
...

Kitsune_Phoenix

#32
*deleted post*

Strokend

Quote from: Zhs2 on March 16, 2014, 04:10:34 PM
Well, it's technically been 'removed'. The problem is still the increasing bits set for each event, even if you pick up the items out of order (these are the bits that specify what Adam says when you use a navigation room, by the way.) The other way around the problem is making a hack that removes Adam entirely...!
That does sound incredibly complicated... Well, no Adam is better than Broken Adam.
Otherwise, the only fix I could think of would be representing a number to each event, such as 1, 2, 5; where 1 and 2 done would either be 3 or 4 depending on the order, hence skipping the third thing to five, but that would give a ton of extra lines that are effectively just duplicates.
Unless it's possible to store one line of code that gets overwritten each time you grab a new powerup, such as 0 for "already read," and then 1 to N for each powerup. If missile expansions try to p ose a problem, then you can use one of the now empty lines as an indicator of whether or not you actually got the first one, which will set that first line to the missile's number, and itself to 1, unless it's already 1 in which case it just ignores it.

How do you solve that problem, anyways? I'm fairly certain there are some missile expansions that can be obtained without missiles, though it may require missiles to get the items that are required, I don't know.

biospark

Having no Adam is the best solution. It probably wouldn't be hard to make a free exploration mode, where you can grab any items you want and the doors are always open, but the game probably wouldn't be beatable unless you coded in a new trigger for the escape sequence.

I've considered messing with the event system, but I'd rather wait until I'm capable of making a full hack without adam, which may or may not happen.

knuckles

Quote from: Strokend on August 12, 2014, 09:12:08 PM
How do you solve that problem, anyways? I'm fairly certain there are some missile expansions that can be obtained without missiles, though it may require missiles to get the items that are required, I don't know.
There's a patch the gives you missiles whenever you get a missile expansion... there's also one for powerbombs as well.

Kte

What's the progress on this?   Will we ever get a patch for removing the event system entirely, or is this project over?


Kte

We can only hope that someone (smarter than I) takes on this project.  Without Adam and the event system, there is nearly unlimited potential for Fusion hacks.

Strokend

Quote from: Kte on August 18, 2014, 07:08:09 PM
We can only hope that someone (smarter than I) takes on this project.  Without Adam and the event system, there is nearly unlimited potential for Fusion hacks.
It's not so much that we need to remove the event system, we just need to fine-tune it to have fewer needs. For example, we still want it to trigger the caterpillar's metamorphosis after a certain point.

biospark

I think a good solution (for both the original game or eventual rom hacks) is to have a zm style event system. You could repurpose the event variable and perhaps a couple others to track non-linear events, such as which items have been obtained, which bosses are dead, and which doors are unlocked. It would be a lot of manual work to change what conditions are checked for, but I think it could be done.

Jiffy

Quote from: biospark on August 24, 2014, 05:13:55 PM
I think a good solution (for both the original game or eventual rom hacks) is to have a zm style event system. You could repurpose the event variable and perhaps a couple others to track non-linear events, such as which items have been obtained, which bosses are dead, and which doors are unlocked. It would be a lot of manual work to change what conditions are checked for, but I think it could be done.

And how do you expect to do that?

Quote58

Lots of GBA asm. Sounds like fun, too bad I've only done SM asm.

FelixWright

Quote from: knuckles on August 16, 2014, 06:01:06 PM
There's a patch the gives you missiles whenever you get a missile expansion... there's also one for powerbombs as well.

I can't find these in this forum, are they on somewhere like m2k2?

[jesus christ I hate myself. next time i'm just going to make a new topic.]


PhoenixKing22

Quote from: P.JBoy on March 03, 2010, 11:09:32 AM
EDIT: Clearly I've stopped working on this, but I found a hex tweak to allow out of order event sequencing:

$08060B10 = E016h
$08060B30 = E006h


See this video:
Event++ hack



ORIGINAL POST:
I'm hoping to start trying to crack down that Event++ system once and for all.  Will be posting progress and logs here, that way anyone who's up to GBA ASM can do their part.

If anyone's up for learning GBA ASM, they can always come onto the Metconst Discord server.  I myself, learnt ASM from these two resources while learning to make cheat codes: Basic stuff, actual ASM stuff.  In fact, everything on that site is useful.
I have a symbolic debug file for no$gba as well, helps a lot, it replaces known RAM and ROM addresses to the names in the file.  The file name needs to have the
same name as the ROM you're using.
how do I do that?