Castlevania II (Simon's Quest) - Multilingual enhancement

Started by Bisqwit, December 19, 2012, 01:38:36 PM

Previous topic - Next topic

Bisqwit

Thank you Da_GPer.

As an aside, I now added the feature list, requested by mr. Mathuser, on the page at: http://bisqwit.iki.fi/cv2fin/#features . Did I forget anything?
If someone wants to update the RHDN patch page with this information, then please go ahead.

No feedback yet on the usability of the status screen updates I did in version 2.5.0?

Turambar

I would like to double the amount of hearts I get from enemies so that I can better test your updates and also speedrun through the game without grinding.
Do you know the address in the rom where that data is?
(I could just change memory addresses 48/49 for my hearts, but that's no fun!)

Bisqwit

Quote from: Turambar on March 13, 2013, 04:10:05 AMI would like to double the amount of hearts I get from enemies so that I can better test your updates and also speedrun through the game without grinding.
Do you know the address in the rom where that data is?
(I could just change memory addresses 48/49 for my hearts, but that's no fun!)

You will be looking at these three pieces of code in bank 1. (Subtract $3FF0 to get a ROM file offset.)
PickupSmallHeart
        $873E  A9 02:       lda #$02
        $8740  A0 01:       ldy #$01
        $8742  D0 18:       bne IncreaseHeartsCounter
<snip>
PickupHalfHeart
        $874B  A9 04:       lda #$04
        $874D  A0 03:       ldy #$03
        $874F  D0 0B:       bne IncreaseHeartsCounter
<snip>
PickupFullHeart
        $8758  A9 06:       lda #$06
        $875A  A0 05:       ldy #$05

A = number of hearts to give, Y = number of experience points to give.

EDIT: In case you don't know 6502 ASM, here is an alternative answer:
ROM file offset 474F = hearts increment given by small heart
ROM file offset 475D = hearts increment given by half heart
ROM file offset 476A = hearts increment given by full heart.
Add +2 to each file offset to get the location of the corresponding exp. increment.
The increments are expressed in BCD, I think.

Turambar

So I had the Holy Water and the Sacred Flame, I ran and jumped and pressed Up + B twice (using the subweapon twice) and this happened.
http://i.imgur.com/ACFHUh8.gif

Bisqwit

Quote from: Turambar on March 13, 2013, 06:16:52 AM
So I had the Holy Water and the Sacred Flame, I ran and jumped and pressed Up + B twice (using the subweapon twice) and this happened. http://i.imgur.com/ACFHUh8.gif

How did you use two subweapons at the same time?

And as for using the same subweapon multiple times, for the water, there is a limit of 1 object at the same time. For the flame, the limit is 3.
I tried using both, but I could not reproduce this incident. Is this with the ROM that you patched the hearts increment into?
Did you enter this scene by loading a saved game? Any cheatcodes that were active?
Which patch version did you use? The last download from an IP address that might be yours is to a version 2.4.0.2, but I could not reproduce the problem with 2.4.0.2 either.

Turambar

I had a dagger, holy water, and the sacred flame. I simply used the Holy Water twice.
The patch I used is called "cv2eng-2_5_0-ntsc-stm10mwmrp4.ups"
I did not alter the rom myself. I will see if I can reproduce it.

Vanya

Quote from: Turambar on March 12, 2013, 09:02:25 AM
Some characters say very little and the dialogue box is mostly empty anyway.
The box being half empty wouldn't bother me a bit, in fact, the consistency would please me indeed, like a good back rub.

I agree. More uniform dialogue looks nicer.

Bisqwit

Very well. I will change it.

Also, I have confirmed the bug reported by Turambar (though not in its exact form). I am investigating its cause now.
It seems to be related to the whip update. Somehow certain vendors have the power to replace and substitute Simon's whip with an error.

Turambar

I now know what I did. I bought garlic from the dude that sells it and that is what screwed everything up for me.
Now there is something else that I noticed. When you screen transition from a higher up place to a screen with only a lower place it dumps you out in mid-air.
Is that supposed to happen?

Bisqwit

Quote from: Turambar on March 13, 2013, 09:39:50 AMWhen you screen transition from a higher up place to a screen with only a lower place it dumps you out in mid-air.
Is that supposed to happen?
Yes, it is. In fact, there is actually a bug in the game where if your screen is vertically scrolled far enough and you transition to the next screen, you may be teleported into a wall or under the ground. Fixing these is not high on my priority list, as I have not created these bugs in the first place...

hossbags2

Can you remove the false floors from the game so we don't need to use holy water all the time in the middle of fighting enemies. Also, can you have the box that pops up that says "Horrible Night" either only come up the first time you play then is removed from the duration of the game or have it removed completely.

Turambar

Quote from: hossbags2 on March 13, 2013, 11:08:18 AM
Can you remove the false floors from the game so we don't need to use holy water all the time in the middle of fighting enemies.
I wouldn't be interested in that, personally.

Quote from: hossbags2 on March 13, 2013, 11:08:18 AM
Also, can you have the box that pops up that says "Horrible Night" either only come up the first time you play then is removed from the duration of the game or have it removed completely.
I would be interested in doing that though. I wouldn't expect it from Bisqwit's hack, but I may do it myself for my own enjoyment. I guess one could alter the routine that causes the text box to pop up and make it jump directly to the color fading sequence.

Bisqwit

Quote from: hossbags2 on March 13, 2013, 11:08:18 AM
Can you remove the false floors from the game so we don't need to use holy water all the time in the middle of fighting enemies.

Sorry, in my books that would count as changing the nature of the game (changing the level design). Not in the scope of this hack.


QuoteAlso, can you have the box that pops up that says "Horrible Night" either only come up the first time you play then is removed from the duration of the game or have it removed completely.

Since version 2.5.0, you can now turbo through the text by holding A button, somewhat mitigating the problem.
But one thing I have been planning to do, is making a smooth crossfade between the two palettes.
You can see an example of my plans from May 2012 here:


It is algorithmically a bit difficult. Three algorithms shown above. There is a reason why the game does the fades through black. It is so much simpler.
This plan has not much progressed though.

EDIT: There is another benefit to doing it through black. In towns, the townspeople disappear at night and zombies disappear at morning. Making them disappear without blanking the screen would involve some rather awkward solutions.

EDIT: Released version 2.5.1. This fixes the garlic & laurel vendors (bug reported by Turambar), and also changes the dialog line spacing to a consistent tight spacing. (Status windows, such as "you now possess" or the night message, still use 2-line spacing.)

Turambar

Wow, that looks really fantastic, Bisqwit. It would add so much to the atmosphere of the game if it just silently turned to night like that without a text box.
And it would be even better if you could make it do that without even pausing the game. So awesome.
If you were to use a fading system like that, I suppose the solution for the townsfolk would be to make them fade to black and disappear, and if one of them happened to share the same palette as Simon you would probably have to alter that person's palette, because you wouldn't want Simon to fade to black or a townsperson not fade to black.
The first picture is probably the best overall algorithm, but the ground stones look psychedelic when they change, so for that particular scene I think the second picture is best.

Vanya

They all look a little wierd with the NES's limited palette. But then again the game's original palettes also suck which doesn't make your job any easier. However a more gradual palette transition with the dialogue only showing up when the enemies actually appear would be a big improvement.
Oh, and if you do go through with this I will definitely be making changes to the palettes for my personal version. Those green high lights on the blocks at night have to go. Totally screws up the transition.

ChronoMoogle

Quote from: Bisqwit on March 13, 2013, 12:07:55 PM
EDIT: There is another benefit to doing it through black. In towns, the townspeople disappear at night and zombies disappear at morning. Making them disappear without blanking the screen would involve some rather awkward solutions.

You can use the "Ocarina of Time-solution" for this. Time doesn't change in towns

Bisqwit

Personally I think in that particular scene the green highlight works rather nicely.
Whatever little light there is, it mostly comes reflected from surrounding scene, which is the trees, and is thus green. The effect is called radiosity.

The algorithms shown above:
1. Simple angular interpolation. Works nicely for most cases, but not when white/gray tones are involved. The transition of the ground from red to blue through violet is also disputable.
2. Precalculated table of 64x32x8 tones. The table would take up 16 kilobytes of ROM space. The table is precalculated according to sophisticated color-distance formulas taking NTSC color encoding into account. It works for all cases, including where grayscale tones are involved. It also determined that the violet was indeed disputable and chose an alternative route through gray.
3. In method 2, the transitions between some colors are rather sudden, because there are no intermediate colors. For example, the transition between the blue and the green of the tree leaves. Method 3 mitigates this problem by calculating an optimal pair of colors for each transition phase, and flashes them at 60 FPS. Though it does not look very nice in GIF due to many browser issues, it might look better on the real console and vsynced emulators. I think this uses 32 kilobytes of ROM space (two pages) for the lookup tables.

And yes, I would also like this to happen without pausing the gameplay. Music fadeout would occur synced to the palette fade, and new music would come in (possibly faded, don't know if the engine can support it).
But like I said, this has been in the planning for almost a year and not much progress has happened. It is a bit difficult to do, in different ways than the other extensions I have done so far.

Turambar

I've been playing this hack and while the re-translation is excellent and I know that the dialogue is supposed to be intentionally silly and unhelpful at times, I feel that some of the dialogue is a little bit unnatural sounding at times. I have made a list of changes to the dialogue that I think improve the flow of it while still remaining faithful to the original. I suggest that anybody else who is interested in this re-translation check out my changes and see if you think I've done well.
http://pastebin.com/5GpZiYMz
Also, I'm wondering about the use of the word "rosary" instead of "crucifix" or "cross." In order for something to be a rosary, doesn't it have to have beads and a string in addition to a crucifix? When a rosary is mentioned in the text, does it not refer to a simple crucifix and not a rosary?

MathUser2929

Some of those are good changes. Some of them seem to change the meaning a little bit. Such as adding Luxurious to the silk bag description.

Bisqwit

The Japanese original calls it rosary, and the name rosary appears frequently in Castlevania franchise. Somehow, the North American localization of Castlevania II was hit with weird rules that religion was bad, but magic was O.K. Thus, there were weird lines such as "Believe in magic, and you'll be saved" (Japanese original spoke explicitly of a God), and the rosary became a magic cross.

It is for these reasons that I called the item a rosary.

I appreciate your review of the dialog text, Turambar, especially if English is your native language.* These are very well welcome ideas, and I will see which ones I will use. The English re-translation was created in just a few hours based on my notes for the Finnish translation (which was months of work), and I have since been doing fixes to it, but most of the English lines still come from that rushed job.

*) There is a user at TASVideos called Turambar, and he is from Finland. I initially assumed you to be him, but that does not seem to be the case.