News:

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

Main Menu

GBA Style with Project Base Levels?

Started by kcghost, April 09, 2017, 01:46:46 AM

Previous topic - Next topic

kcghost

Is there a way to get "GBA Style" working with Project Base level design? https://www.romhacking.net/hacks/3211/

Just attempting "Project_Base_0.7.2_Vanilla_Gameplay.ips, Super Metroid - GBA Style.ips" does not work.

I tried every patch order I could think of, including using the original projectcontrolfreakbase.asm from the "Show me your moves" thread with ControlFreak and differing Project Base patches etc.
They seem to always result in either:
1. Can control, and level design is there, but all the textures are bad once on Zebes.
2. Looks good but can't control anything


PHOSPHOTiDYL

From control freak, the modified routine at $9181A9, there is an instruction LDY $8000,x.

This needs to be $A000, else level data will be overwritten in bank $B8.
The animation table will also need to be org $B8A000.



kcghost

#2
Thanks PHOSPHOTiDYL, it seems that worked very well.

Here are the details of the patch order that worked for me.
Grab the ControlFreak source (Includes ControlFreak2.asm, CMenu1/2/3.bin): https://m2k2.taigaforum.com/post/sm_control_freak.html
Grab the GBA Style asm source projectcontrolfreakbase.asm: http://forum.metroidconstruction.com/index.php/topic,4115.msg56634.html#msg56634
Grab Project Base Project_Base_0.7.2_Gameplay_Only.ips, Project_Base_0.7.2_Vanilla_Gameplay.ips, and Heavier_Physics.ips. (Available in 'All Versions' or separate zips): http://www.begrimed.com/pb_extracontent.php
"Vanilla Gameplay" is essentially "Level Mods only". You will start noticing once on Zebes, the research station seems the same as original (it blows up).

Modify ControlFreak2.asm, name it ControlFreak2-mod.asm:

357c357
<       LDY $8000, X
---
>       LDY $A000, X
632c632
< org $B88000
---
> org $B8A000


Modify projectcontrolfreakbase.asm, name it projectcontrolfreakbase-mod.asm:

40c40
< org $B88000   ;is $919EE2 in probably every other rom
---
> org $B8A000   ;is $919EE2 in probably every other rom


I used the SNESStuff tool. Make sure your base ROM is unheadered.
Make a copy named "Super Metroid (JU) (Project Base Gameplay Only ControlFreakMod BaseMod Vanilla Gameplay Heavy).sfc".
1. Apply Project_Base_0.7.2_Gameplay_Only.ips
2. Insert ASM patch ControlFreak2-mod.asm (Just overwrite the same ROM).
3. Insert ASM patch projectcontrolfreakbase-mod.asm (Just overwrite the same ROM).
4. Apply Project_Base_0.7.2_Vanilla_Gameplay.ips
5. Apply Heavier_Physics.ips (optional, but it seems like the GBA Style IPS patch has this applied(?), and makes gameplay much faster)

And it seems to work!

Of note I also tried:
1. Apply Project_Base_0.7.2_Vanilla_Palettes.ips
2. Insert ASM patch ControlFreak2-mod.asm (Just overwrite the same ROM).
3. Insert ASM patch projectcontrolfreakbase-mod.asm (Just overwrite the same ROM).
In order to get more Project Base changes like the research station not blowing up etc. That seems to *almost* work but for some reason you can't crouch easily.
But I don't care enough about that, just levels is fine.

kcghost

Additional note to those that want to play this.
In-game saves seem broken...but only sometimes?
For example loading a save from the save station near Kraid's lair seems to magically transport you into the original levels, glitchily and with an inaccurate map.
Pretty sure most points near the starting area are fine.
I don't know if this is a bug in Project Base or due to to this patchset.
Be sure to use emulator save states, perhaps one each time you do a 'save'.