News:

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

Main Menu

setting up new message plms and 'item collected fanfare' alternatives

Started by Moehr, July 05, 2017, 07:03:14 PM

Previous topic - Next topic

Moehr

Next couple of things I need to get the hang of are related to item PLMs.

I would like to be able to add a set of PLMs that, when collected, show a message on the screen, then go away. Samus acquires nothing new from collecting the item aside from the message itself. Each message PLM needs its own unique message to display. As a byproduct of adding these messages, the item fanfare music isn't just stale, it's inappropriate :D I would be happy if I can even swap the sound with something provided in the original game - right now I am using the loading theme but that's not quite right, either. The snippet from approaching Ceres, minus the rocket sounds, could work pretty well...

If there's a guide for this that I missed (i've searched a bunch) links would suffice. Otherwise I just need to know what hex to manipulate in the hex editor and where it needs to go, and possibly if I would need to update smile rf .txt files for them to show up in smile rf.

My original plan, since I am rolling a bunch of items together anyhow, was to hijack the PLM messages from items that were rolled into bundled items. So Samus gets spring ball and morph ball from the same one item, I can use the other item to show a message but set the bitflag so Samus doesn't acquire anything new. Turns out I may end up needing those original item PLM later in the hack anyhow, so getting some additional items would prevent that issue down the road.

On a sort of related note, for some reason if I make any changes to what smile rf gives me as the PLM main variable when I drop one in the room, it seems to cause the rom to crash in quickmet or in emulator. I know the high byte on Samus PLMs tends to be whether or not the PLM comes back, but the index plm on the low byte baffles me. Do these need to match index values already present in the unmodified ROM? For example, if I add a missile to a room, does it require that I take its index from some other missile expansion, or do I need to give it some new random index value? And if I'm giving them new values, where are these indexes kept/getting written to?

In the example room in Smile it seemed like the index values were arbitrary, but as I've been building rooms, I have been learning the hard way that none of the values are ever arbitrary :D

Thanks in advance! I'm sure I'll have more questions as I keep going.

Quote58

http://old.metroidconstruction.com/patches.php?x=top

Under JAM you'll find a patch called 'messenger v1.1' which does exactly what you want.

Not trying to criticise, but I wish people would look through the giant list of existing patches before they post a question. The new main site requires users to reupload their old patches to it, so that won't happen for a long time. For now, check old.metroidconstruction.com, the wiki, the collab thread, and engine works before asking a question because chances are the answer is already here.

As for the plm index question, all the items in the game have an index which is the low byte in the plm editor, so if two plms use the same index, they will both disappear once either of them is collected.

Moehr

Thanks! I did look at that patch earlier on but for some reason, the description intimidated me. I've got a bit more practice now so I can give it a better look. Believe me, I am spending at least a week on here, google, and whatever I can find before posting questions!

As for the PLM indexes, that's how I figured they were supposed to work, but for some reason, when I modify the variable I overwrite data somewhere in 20000-27000 and cause the PLM to crash the room it's in. My current fix has been taking a string of uncorrupted data from earlier backups and overwriting that whole section with clean data when the error occurs, so I'm not sure what's happening, but I found a workaround... My only thought is that I maybe am not supposed to click update PLM instructions after changing the main variable, and instead, just click 'save'

dewhi100

Quote from: Quote58 on July 05, 2017, 07:55:42 PM
Not trying to criticise, but I wish people would look through the giant list of existing patches before they post a question. The new main site requires users to reupload their old patches to it, so that won't happen for a long time. For now, check old.metroidconstruction.com, the wiki, the collab thread, and engine works before asking a question because chances are the answer is already here.

I just do a search on the forum and scan the results. Hopefully not too many repeat questions that way. A lot of times though, I'll recall seeing something I didn't need at the time and forget where it is. Then I have to make a post to ask, "where is such-and-such"... Consolidating all the various info from about  a decade's worth of research is no mean feat though. For the time being, the community does a good job filling in the gaps.