News:

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

Main Menu

Project Base 0.7.3 release

Started by begrimed, August 31, 2009, 06:03:10 AM

Previous topic - Next topic

Cloud20

Finally I finished to work on this, my really special playthrough of PB 0.7.2 with musics of Metconsnauts and mine.

https://youtu.be/BDpfANqOYGE

Looking forward for the next versions of Project Base  :^_^:

C-Dude

Are you taking feature requests?

If so...
Would it be possible to make the Gravity Suit and the Varia suit independently stack, so that turning Varia off (or getting the Gravity Suit early) halves damage resistance and reactivates the heated room damage?

As in
>Varia suit cancels heat room script, and reduces damage by 25%
>Gravity suit cancels water physics, and reduces damage by 25%
>Both equipped cancel heat AND water physics, and reduce damage by 50%

It would also make the Gravity Suit less powerful in randomizers of your hack.


If not...
kindly disregard this post!

mccad

Quote from: C-Dude on May 23, 2018, 12:50:42 AM
Are you taking feature requests?

If so...
Would it be possible to make the Gravity Suit and the Varia suit independently stack, so that turning Varia off (or getting the Gravity Suit early) halves damage resistance and reactivates the heated room damage?

As in
>Varia suit cancels heat room script, and reduces damage by 25%
>Gravity suit cancels water physics, and reduces damage by 25%
>Both equipped cancel heat AND water physics, and reduce damage by 50%

It would also make the Gravity Suit less powerful in randomizers of your hack.


If not...
kindly disregard this post!

This would be a pretty great idea, considering how open the sequence becomes with all the tricks at your disposal in PBase

C-Dude

#728
So after I asked, I went searching through the Metroid Construction resources.  Apparently somebody (with the user name SMILEuser96) already wrote an .ASM code for this.

http://metroidconstruction.com//resource.php?id=79

It patches successfully on top of Project Base because it works within the original coding space of the two suits, so if you're interested then incorporating it in a future release would just be a matter of applying the code.

====
EDIT: I just finished a playthrough of 0.7.3, and I have a question.

But first, high praise.  You've really opened up the Zebes map for exploration and I never felt like I was stuck or heading in the wrong direction.  I imagine this map will be very fun to play randomized.

Anyway, the question.  I noticed that the Wrecked Ship Chozo statue did not work until the power was back on (Phantoon Defeated).  Also, I noticed the Maridia backdoor escape was not open to boss-plundering without an exploit (Life Cocoon to force standing).  Were those roadblocks intentional?  I ask because it was possible to plunder Kraid's and Ridley's treasure rooms without fighting them, but it was not for Phantoon and Draygon.

Smiley

The chozo statue not working until the main boss of the area is defeated is a feature present in the vanilla game, even though you can't reach the statue without defeating Phantoon first anyway.

Moonsludge350

Project base is one of the best things to happen to SM. :cool:


samsamcmoi

#732
Quote from: begrimed on January 29, 2018, 06:06:46 PM
@FPzero I'd just keep working from the 0.7.2 ROM if you've already started on that. 0.7.2 / 0.7.3 aren't easy to re-hack because of how full bank 8F is, lots of broken/disused rooms sitting around in the room list with broken pointers, and level/tile data shoved anywhere that I saw lots of free space, lol. The changes made to 0.7.3 could be manually applied to your hack fairly easily, though. Almost all of the new patches used for it work from a single ASM file, and the rest is mainly small hex edits to various things. The level_entries.txt file for 0.7.2 should also still work for 0.7.3 because I don't think any of the level edits that I made required repoints.

Hi,

Thank you for the best hack of SM !

Is it possible to release newer 0.7.3 alt version "Gameplay_Only" and "Vanilla_Gameplay" instead of 0.7.2 only ?
it's for updating controlfreak project base mod.
I know it's a lot of work, so if not possible, asm file (or hex, or patch) of changes of gameplay only for 0.7.3, especially followings changes :

-patch: hold down to make bombs explode instantly with no jump (only works on the ground)
-patch: charge beam attracts energy/ammo drops from enemies much faster and smoother than before
-patch: each main beam has its own unique 'spark' animation while charging
-hex edit: undid changes to how fast Samus turns left/right
-hex edit: adjusted the energy and ammo drop rates for most enemies to be less stingy
-hex edit: restored invulnerability flicker after taking damage
-patch: Samus's bombs will match the color of currently equipped beam

Thank you !
- - - - - - - - - - - - - - - - - - - - -

Edit :
Found the location of the code for :
-patch: hold down to make bombs explode instantly with no jump (only works on the ground)
-patch: charge beam attracts energy/ammo drops from enemies much faster and smoother than before

IPS patchs on attachments.

Freespace used (PC adress) :
bombHoldDownInstantExplode.ips : 87750 to 87767
tractorBeamBetterAttract.ips : 4EA0 to 4F06


darkrid12


Mod-troid

How can I revert to the vanilla palettes?

Quietus

If you go to Grime's Project Base homepage (see OP), you can grab the '+Extras' version, which should have what you're looking for. :^_^:


Mod-troid

I ended up soft-locking myself in Brinstar's easternmost elevator room. I haven't beaten Crocomire yet, and I have no Power Bombs. What can I do?

Quote58

Can you provide a screenshot? If it's the elevator at the top and to the right of the red brinstar tower, then I'm not sure how you can get stuck. You can get a power bomb tank from the bottom room, you can farm power bomb pickups from the cactus enemies, and if they somehow aren't dropping pb pickups, you can go into maridia and get out that way because there's no gate there in PB

Mod-troid

Holy Kraid, I didn't even realize that there was a room below that tower! Thanks a lot!

K4yr4h

is it possible to get modular patches. im mainly interested in faster doors and elevators.

but i dont like the whole mod, especially the backflipjump breakes too much for me.

Sapphron

Quote from: K4yr4h on January 20, 2020, 01:41:08 PM
is it possible to get modular patches. im mainly interested in faster doors and elevators.

but i dont like the whole mod, especially the backflipjump breakes too much for me.
http://metroidconstruction.com/hack.php?id=513
change the download from "ForumAttachment.thing" to "ForumAttachment.zip" and go inside the "Optionnal" folder. RegularDoorsSpeedUp and RegularElevatorSpeedUp are what you're looking for.

K4yr4h

#742
it seems the patch breaks the game though. i get stuck in the last door when escaping the station.

got a savestate. get stuck in every door

ShadowOne333

#743
Hi!
Sorry to bump this thread.

I am currently working on implementing DC's Map patch for drawing new tiles for the Super Metroid maps.
So far, it has been quite a bumpy ride, but thanks to some debugging and SMILE's map editor, I've been able to make a successful re-edit for the whole Super Metroid maps to take into account doors and hidden areas in the following manner:



However, there is still a couple of things that I need to fix:

  • The Item Percentage Counter implemented by Project Base. Applying DC's patch over it borks the tilemap used for the item percentage "." dot
  • The Time Counter from Project Base is borked as well, as applying DC's patch changes the tilemap from the ":" used in the Timer.
  • The Reserve Tanks energy counter is also screwed-up.



From the changes I have done to the tiles for both the in-game map and the Pause map, I think that the proper tile address for the dot and the two dots (with the current changes I've done) are $28DA (originally $28A3) and $2ABC (originally $284A), respectively.

Now my questions are:

  • Could someone please help me out on locating the exact part of Project Base (or was it from @PHOSPHOTiDYL 's work?) that prints the new counters for both Items and Time? So that I can determine what part of the code grabs the tile, and change it accordingly.
  • Can someone help me out as well on locating the counter code for the Reserve Tanks? As the counter for those ones seem to be borked as well with DC's Map patch.

So far, I think those are the only remaining things to properly implement DC's Map patch with Project Base that I can think of.
Outside of that, I think the only other remaining thing would be to try to implement coloured doors on the map (which I'm unsure if it's possible given how the in-game map is 2bpp), and implementing Scyzer's map item circles into the hack as well.

Any kind of help would be greatly appreciated!

Quote58

if you have the code for both the percentage and timer, we can point out what to change, but for now if you're using phosphotidyl's item percentage on equipment screen patch, it would be this:

;//[basic drawing]
LDX #$0000
LDA #$0C4A : STA $7E39CE ;//decimal icon
LDA #$0C02 : STA $7E39D2 ;//percent icon


you would want to change the 4A and 02 to whatever new index you put the tiles at.

ShadowOne333

#745
Quote from: Quote58 on February 11, 2020, 11:20:48 PM
if you have the code for both the percentage and timer, we can point out what to change, but for now if you're using phosphotidyl's item percentage on equipment screen patch, it would be this:

;//[basic drawing]
LDX #$0000
LDA #$0C4A : STA $7E39CE ;//decimal icon
LDA #$0C02 : STA $7E39D2 ;//percent icon


you would want to change the 4A and 02 to whatever new index you put the tiles at.

Oh neat! Thanks for that!
I did some digging and ended up finding both that code, and the code for the timer, all that starting at 0x017A6A and ending at 0x017BBF. :)
This is what I have now:



All I'm missing now is just the routine that handles the Reserve Tanks counter.
If anyone knows where that code is located, please let me know, it's the only thing left to successfully implement DC's Map patch with a redesigned map with Project Base in its entirety :D

------------------------------------------------------------------------------------------------------

EDIT:
Nevermind, I managed to find the routine in charge of the Reserve Tanks counter :)
It's actually two routines, one which sets the initial counter digits, and one that keeps it stored to the Pause Screen.
The first is at 0x010FB2 and the second is at 0x0133B7. The specific portion that determines what tiles will be used for the digits is the bunch of ADC #$0804. With DC's Map Patch, these ones are set to ADC #$0800, since it uses the default numbers from vanilla Super Metroid, but with the new Item and Time counters added, these are shifted $04 bytes ahead, so it should be $0804:


$82:8FB2 AD 16 42    LDA $4216  [$7E:4216]
$82:8FB5 18          CLC
$82:8FB6 69 04 08    ADC #$0804
$82:8FB9 8F 14 3B 7E STA $7E3B14[$7E:3B14]
$82:8FBD AD 14 42    LDA $4214  [$7E:4214]
$82:8FC0 18          CLC
$82:8FC1 69 04 08    ADC #$0804
$82:8FC4 8F 12 3B 7E STA $7E3B12[$7E:3B12]
$82:8FC8 A5 2A       LDA $2A    [$7E:002A]
$82:8FCA 18          CLC
$82:8FCB 69 04 08    ADC #$0804
$82:8FCE 8F 10 3B 7E STA $7E3B10[$7E:3B10]


I have included the Patch below, in case anyone is interested :P
The patch should implement DC's Map Patch properly with any Project Base ROM (I assume).
It also includes all of my changes to the Super Metroid maps, to have proper connecting rooms, and also hides the rooms that should be hidden and all.

Now, is it possible to implement coloured doors into the maps at all?
I'll also go ahead and see if I can make Scyzer's item circles patch work with this as well.

Moehr

You can kinda depending on your level of effort? I believe the doorcap colors are part of the HUD/pause screen palettes. Could end up with issues when hitting explored/unexplored though, and also, the HUD minimap is gonna be limited to much less variety.

ShadowOne333

#747
Quote from: Moehr on February 12, 2020, 05:26:15 PM
You can kinda depending on your level of effort? I believe the doorcap colors are part of the HUD/pause screen palettes. Could end up with issues when hitting explored/unexplored though, and also, the HUD minimap is gonna be limited to much less variety.

For the coloured doors, I was thinking of using something similar to what the Map icons do (Samus, Ship, Missile, Map Station, etc.).

Seeing how Scyzer's Item Circles work, we can surely make it work somehow. The Map Item Circles don't show up until you have visited the room, so if we rework this to make use of four new 8x8 tiles within the icons palette, they can be shown with no issue. It's just a matter of knowing how to rework Scyzer's code to work for doors.

With that said, take a look at this:



Managed to modify Scyzer's code to point to my new custom tiles for the items ;)
Now all I have to do is load up a 100% save file, and re-position the misaligned item symbols (you can see two misaligned items at the right of Crateria, near the entrance to the Wrecked Ship).

After this, only the coloured doors should remain.
If anyone knows how to properly rework Scyzer's code to make use of doors, let me know.
I already have the tiles and all in place just for testing them out in-game.

Quote58

You could certainly make coloured doors but those + item circle sprites + map markers + button sprites would be a huge number of sprites and would not scale well. Add 1 large room, you could be adding like 10 sprites and the SNES can only show so many sprites at once. It's certainly possible but it would also probably be a mess.

If you make the doors just new tiles it wouldn't be too bad, you would just need a lot of space for them and the palette would need to match.

Moehr

Yeah I've only done doors with tiles before myself. What you could do is edit the map itself to update the map tile at map coordinate x,y if you are in a room with a door, to change the tile number from a closed door of color X to a standard open door.

Could do it by modifying the doorcap plm routine to update map array at room X,Y and overwrite the SRAM map with the new tile.