Skip to content

update mother brain room barrier patch for expanded objectives#157

Merged
blkerby merged 3 commits intoblkerby:mainfrom
jeboo:main
Feb 17, 2025
Merged

update mother brain room barrier patch for expanded objectives#157
blkerby merged 3 commits intoblkerby:mainfrom
jeboo:main

Conversation

@jeboo
Copy link
Copy Markdown
Contributor

@jeboo jeboo commented Feb 16, 2025

No description provided.

org !objectives_addrs
ObjectiveAddrs:
dw $D829, $D82A, $D82B, $D82C
dw $D829, $D82A, $D82B, $D82C, $D82D
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section will get overwritten by the randomizer, so it doesn't really matter what data is put here by the patch. The addresses $D829, $D82A, $D82B, $D82C were for the Bosses objectives, Kraid, Ridley, Phantoon, and Draygon (it looks like I had them in the wrong order), just to make the patch usable without running the randomizer. If we still want that to work, then the patch should probably also set objectives_num ($82FFFC) to a default value of 4.

The other values $D82D, $D82E, etc., won't point to valid objective bits, so I think it would be better to just put $0000 or $FFFF here, to avoid causing confusion. You could also just put $0000 or $FFFF for the whole thing (including the first 4 entries) if we don't care about running the patch on its own.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, that was just for easy testing. Sounds good

; obj_num = 4, stock behavior
; obj_num > 4, maintain all 4 until all obj's cleared
lda !objectives_num : and $7FFF
beq clear_all ; None ?
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the zero-objective case doesn't need special handling? It should work being handled the same as <=4 objectives? With zero objectives, X would get initialized to 0-4 = -4, which is the same as what is being done manually?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you remove the clear_all segment, just be sure to update patch.rs too

@blkerby blkerby merged commit cfab15d into blkerby:main Feb 17, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants