nstbayless / CV1-controls

Improved Controls ROMhack for Castlevania 1
6 stars 1 forks source link

Castlevania Improved Controls

This hack for Castlevania modernizes the control scheme to make it more like Symphony of the Night and Mega Man, allowing the player more control while in the air.

Compatability with the following romhacks is confirmed. Please see the instructions below under "Base ROM" listing which versions of this patch are compatible with which other romhacks.

These romhacks seem to be compatible, but have not been carefully verified. When stair landing (catch or latch) is enabled, invisible stairs may be encountered on some screens. (Invisible stairs are caused by stray normally-inaccessible stair objects in the map data; they must be patched out manually.)

Most other level hacks are likely to be compatible, though the invisible stairs glitch is likely to be encountered -- but should be fixable just by editing the levels with Stake to remove the invisible stairs.

Source code and build instructions available at https://github.com/nstbayless/CV1-controls. Feel free to combine this hack with any other hack, but please credit the author (NaOH) if distributed. It's recommended to use the other-hacks configuration (rather than standard).

Complete list of changes

Some or all of these options can be disabled by selecting a particular patch. See "How to apply" below for more information.

How to apply

Use an ips patcher, such as flips or Lunar IPS. A variety of .ips files are provided depending on what you want, and whether you're patching an already-hacked ROM.

If you're not use what you want, and you're not combining this hack with another hack such as Ultimate Castlevania, use cv1-controls-catch-vcancel.ips to start with.

The following sections explain the different options available.

Stair Behaviour

Air control

Inertia

This option adds a bit of inertia to the player's air movement. Players fond of extremely tight controls might prefer not to use this option; on the other hand, some players feel that without this option the player feels jarringly light.

When combined with The Holy Relics, due to a lack of ROM space in bank 6, a different version of the inertia code is used which has a bit less impact on the horizontal axis.

The inertia data is stored in the same byte as the current subweapon (but using the high bits instead of the low bits). As a result, romhacks which have custom asm relating to the current subweapon are likely to be incompatible with this hack. If you are determined to add compatability yourself, please look at weight.asm to understand how subweapon code in the standard version was modified to be compatbile.

PRG0 and PRG1

prg0 and prg1 only matters if inertia is enabled. Some ROMs are PRG0, and some are PRG1. If you are unsure which version your ROM is, you can check the hash of your ROM and compare it with the ROM information below. The ROM Hasher tool is useful for this.

Base ROM

If you intending to use this hack with a standard Castlevania game which has no modifications, use the standard configurations. (e.g. standard/cv1-controls-catch-vcancel.ips).

Compatability with other hacks:

Credits

ASM hacking: NaOH.

Tools: fceux and asm6f.

Special thanks to revility and OmegaJP for input.

ROM information

These hashes are for some of the base roms that cv1-controls can be applied to.

PRG0 (U):

File SHA-1: A31B8BD5B370A9103343C866F3C2B2998E889341
ROM SHA-1: EE09B857C90916EDD92A20C463485A610B0A76FD

PRG1 (U):

File SHA-1: D1A247025B6256D4BF2187B137CF554AFFFFD616
ROM SHA-1: 1ABB2838CFA0F74510CC818F462B1AD1908D162E

PRG1 (U) [!]:

File SHA-1: 7A20C44F302FB2F1B7ADFFA6B619E3E1CAE7B546
ROM SHA-1: 3DCB69A8C861C041AEB56C04E39ADF6D332EDA3A

Ultimate Castlevania:

File SHA-1: 8CDAE6284056949DF993F8AD35C9105CCB7305B6
ROM SHA-1: A3982C0881E55920928E8B8AA42577E60E54F5B0

The Holy Relics

File SHA-1: F7F2AC72C5A5343D81F0959AADC6271EDB824269
ROM SHA-1: 6387E2C908E63BBA086C9AFE8B5F4E6D9EDE1ED2

Castlevania Blood Moon:

File SHA-1: AF27FF849208FBAEF36476C6E52BE9C285A64CD5
ROM SHA-1: FF4C3D61E96B677B73F4EC8ADC40BF81C7C16541

Castlevania Retold (PRG1):

File SHA-1: 1AD4A450D94498B34AE4D2D0F40EA102F1E762B3
ROM SHA-1: C3A1DC516E54BBDFA8A17B70AAE218249F0E0685