Romhacking.net

Romhacking => Personal Projects => Topic started by: Chicken Knife on September 02, 2018, 04:17:10 pm

Title: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on September 02, 2018, 04:17:10 pm
***** FYI ******

The below post is going to be continuously updated with current versions of patches and their details

****************

I've had a long kindled desire to restore censored and altered elements of the Japanese Dragon Quest releases back into the US Dragon Warrior games. After my efforts in the last couple years to find an experienced rom hacker to take on this project have failed, I decided to try to fumble my way through the process myself and hopefully accomplish all my objectives eventually.

The below patches are what I've accomplished so far.


Dragon Quest: Delocalized Edition

(https://i.imgur.com/95CJZMu.png)

http://www.romhacking.net/hacks/4275/
* Custom script where all medieval language was removed. Script is now totally based on the original Japanese. This was written with a strong emphasis on fluid readability.
* NPC, location, item, and monster names made to more accurately represent the Japanese. 
* Spell names are new, reflecting the style of the Japanese spell names but based on English words that translate the meaning of the original root words.
* Custom Dragon Quest title screen, coded and designed by Choppasmith with minor adjustments by me
* Updated hero to original Japanese sprite, augmented with my own graphics to display him walking in four directions
* Updated NPC sprites to their original forward facing Japanese versions. A few of them were conservatively altered due to having to work around issues with importing them
* Updated coastal water made to be the same as the Japanese version

Dragon Quest II: Delocalized Edition

(https://i.imgur.com/2xKAmNb.png)

http://www.romhacking.net/hacks/4273/
*Brand new retranslation of nearly all the game's text. No medieval language remains, many problems corrected and overall is much closer to the original Japanese script.
* Spell names are new, reflecting the style of the Japanese spell names but based on English words that translate the meaning of the original root words
*Fixed several graphical bugs with the animation of the marching princes in the title screen intro. Examples includ torsos separating from lower body during walking animation and incorrect pixels during one frame of Cannock/Samaltria's animation.
* Altered the head of the prince of Midenhall/Laurasia by changing his horned helm into a leather cap with goggles to better match the Toriyama art and in game sprite
*Custom Dragon Quest title screen with subtitle "Gods of Evil"
*Restored crosses on churches
*Restored original priest
*Restored coffins for dead characters
*Item and monster names restored to be mostly in line with the literal Japanese

Dragon Warrior III

https://www.dropbox.com/s/4b8lyjd2dcv6h6a/dw3_delocalized_050.ips?dl=0
Version .50, patch last updated 11/30/18 (appx 40% complete)
*Item, Monster and Spell names restored to be mostly in line with the literal Japanese
*Class names updated to more literal Japanese
*Small amount of game script updated (more to come soon!)
*Restored crosses on churches
*Restored original shrines
*Restored original coffin in pyramid
*Restored original king, old man with stick, & pilgrim sprites
*Added slightly amended version of Japanese priest due to conversion issues. Cross in hand does not wag back and forth as originally.
*Note - Eggers Bug Fix Patch is already included

Dragon Warrior IV

https://www.dropbox.com/s/rl31jkp7q09gpad/dw4_delocalized_050.ips?dl=0
Version .50, patch last updated 9/10/18 (appx 10% complete)
*Restored church crosses
*Restored original shrines
*Restored original graves
*Restored Cristo/Kyril original sprite
*Restored bunny girls
*Added altered version of Japanese priest, slightly modified due to conversion issues.
*Note - Jegriva's seamonster fix is already included

*** Things left to do ***

*restore original sprite graphics in all four games, including replacing ghosts with coffins for dead characters. Sprite mirroring issues in the US code have made this impossible for me so far since I currently don't know how to work with graphical pointers and redirect them to the correct tiles.
*fix palette issues associated with restoring grave in DW3
*Restore floors designed to display religious imagery such as the cross in Hargon's castle and the Buddhist symbol in Dharma Temple.
*Restore large cross on top of royal crypt entrance in DW4
*change the word WARRIOR to QUEST in all four title screens.
*remove .25% increase to gold and xp for US version of DW3
*add puff puff references and any other censored dialogue back to all 4 games
*rework scripts. My main focus would be eliminating the archaic English in the first two games. My intent is to stay relatively faithful to the NES / GBC releases with references to the Japanese script rather than contemporary versions. (Dragon Warrior 1 script is finished)
*amend names of characters, enemies, locations and equipment to be more accurate to the original Japanese. (Erdrick --> Roto, Gwaelin --> Laura, etc)

As long as our vision for the project is compatible, I'd be happy to accept any collaborators. Any help and guidance, along with any criticism and other feedback is always welcome. I'm fine with anyone who chooses to incorporate these changes into their own Dragon Warrior hacks as long as proper credit is given.

Lastly, a big thanks to everyone who has inspired me to get off the sidelines and start this project. I hope that what I accomplish helps people better connect to the joy and wonder of these early RPG masterpieces, now presented in a form much closer to that of their original releases.
Title: Re: Dragon Warrior III Decensored
Post by: Tom on September 02, 2018, 06:59:22 pm
That's a wonderful idea! The less censorship out there, the better.
Title: Re: Dragon Warrior III Decensored
Post by: Chicken Knife on September 02, 2018, 08:32:47 pm
Thanks Tom.

I thought that fixing the sprites would be the easy part for all 4 of these games (well, 3 of them because I don't plan on going back to the forward facing only sprites in 1). However, only the 3rd game's sprites appear easy to edit so far. When I access the second or forth game in graphical editing software, the sprites all appear mangled, likely compressed. I'm wondering if it's that, or a simpler solution. I'd love to fix all the sprites for the 2nd and 4th games as well before delving into the scripts. Clearly I'm a noob at this.

Update: I just redid the link to an updated patch. I uncovered that the priest sprite was animating badly while facing upward. The issue arises from the original DW3 localizers eliminating frames on their replacement sprite and using a mirror of his lower body for his walking animation instead of separate tiles. After a little more tinkering, I had to restrict his upper body movement a bit while he faces upward but I'd say the look is correct and extremely close to the Japanese counterpart. 

Update #2: Looks like someone was able to answer my noob question on tile editing. It wasn't a compression issue. I simply had to adjust the boxes on tile editor.
Title: Re: Dragon Warrior III Decensored
Post by: KingMike on September 02, 2018, 10:59:54 pm
I would imagine restoring the original title screen on II to be especially all but impossible without a good disassembly, due to it being completely redone.

Though come to think of it, did Dragon Quest III even have a real title screen (beyond simply a blank screen with the name written in the standard text font?). I haven't played it much so I don't know if it's like FF1 and 3 where there's a title screen but it only appears during an early game cutscene.
Title: Re: Dragon Warrior III Decensored
Post by: Chicken Knife on September 02, 2018, 11:58:18 pm
KingMike, As far as I know the title screen on Japanese 3 is a black screen, a static like sound, and the simple text. Japanese 2 is also very simple compared to our elaborate title presentation. With ours, the sprite work and animation are great but some of the characters unfortunately don't look very much like Toriyama's artwork. Maybe we should add some goggles to the prince of midenhall. The Japanese version of 4's title screen though--that is a thing of pure beauty.
Title: Re: Dragon Warrior III Decensored
Post by: Tom on September 03, 2018, 12:51:43 am
It'd probably be best to hack the Japanese rom to keep all the other stuff.
Title: Re: Dragon Warrior III Decensored
Post by: Chicken Knife on September 03, 2018, 06:47:16 am
@Tom

Lots of pros and cons to that question. If someone did it, I think that would be really cool and I'd love to play them but at this point it would be far beyond my abilities. Also, you would be losing quality added content for the US localizations. Dragon Quest 1 would have only forward facing sprites for the hero and all townspeople along with no battery saving. Dragon Quest 2 would lose its intro that shows the fall of moonbrooke castle, along with battery saving. 3 would lose its title video and its unique ortega sprite in and out of battle. 4 wouldn't lose much but there were more bugs in the japanese that would need to be addressed.
Title: Re: Dragon Warrior III Decensored
Post by: Choppasmith on September 03, 2018, 12:09:34 pm
Oh wow! I wanted to do the same thing, but what I'm doing is more of a script overhaul. I'm working on 1 right now but I planned to go through both the NES trilogy and the SNES remakes. Perhaps we can combine our efforts? If you need a script overhaul, I've been using the official mobile scripts I extracted to find the script a much needed overhaul (as well as getting it consistent with "Modern DQ" localizations)
Title: Re: Dragon Warrior III Decensored
Post by: Chicken Knife on September 03, 2018, 03:51:42 pm
@Choppasmith,

Are you referring to using the scripts from the GBC games? I haven't spent much time with those versions but I believe they did not use the medieval style and did use the Japanese naming (Roto, Laura, Laurasia, etc). I'd be on board with using that. I'm curious if Nintendo still left any censorship in place script wise. I'd want to look at that. The recent mobile phone ports of the first two games still use mostly US Dragon Warrior conventions and medieval language if I recall. For IV, I would want to heavily edit the DS version's script. I'm not a fan of those exaggerated accents.

As far as collaboration, the more the merrier. I'm just starting out in actual hacking and there isn't much I can do beyond messing around with sprites. For this to be the kind of project I've been dreaming of--something like Final Fantasy Restored or Maternal Bound, I would love skilled collaborators to get involved and take the lead on various aspects.

September 03, 2018, 04:08:43 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
I have a question for the community: do you guys like the sprites in US Dragon Warrior 1? Do you find them attractive and do they fit in well with later sprites in the series?

I've had reservations with the sprite work in the US version for awhile. I'm not sure whether the graphics were done by different people at Chunsoft, Enix, or what the story was, but I've always felt that they look off. When I played through the Japanese game a few months back, even though the sprites don't change direction, I found them more charming and looked better in the context of the rest of the games visuals.

I'm curious what you all think about this. I'm toying with the idea of replacing all of the front sprites in the first DW game with the sprites from Dragon Quest for Famicom. For the side and back views, I would probably look to import the corresponding sprites from DW2 and tweak them as needed to match the front sprites. I recall the DQ2 sprites looking very close to 4 direction versions of the DQ1 sprites. For the main hero I would have to simply create matching back and side views.
Title: Re: Dragon Warrior III Decensored
Post by: mariosmentor on September 03, 2018, 04:21:01 pm
Perhaps you could just edit the title screens to say Dragon QUEST instead of Dragon WARRIOR. I'd say it's a fair enough compromise.
Title: Re: Dragon Warrior III Decensored
Post by: Chicken Knife on September 03, 2018, 04:56:32 pm
@mariosmentor

If only. I've had that conversation with a number of experienced coders and all parties say it would be a nightmare. However, if there is one thing we see in this community, where there is a will there is a way.

Maybe you are saying to just have the word "Quest" show up in the big grey box. I suppose that would be an improvement if it could be easily done without untangling all code.
Title: Re: Dragon Warrior III Decensored
Post by: Choppasmith on September 03, 2018, 07:06:56 pm
@Choppasmith,

Are you referring to using the scripts from the GBC games? I haven't spent much time with those versions but I believe they did not use the medieval style and did use the Japanese naming (Roto, Laura, Laurasia, etc). I'd be on board with using that. I'm curious if Nintendo still left any censorship in place script wise. I'd want to look at that. The recent mobile phone ports of the first two games still use mostly US Dragon Warrior conventions and medieval language if I recall. For IV, I would want to heavily edit the DS version's script. I'm not a fan of those exaggerated accents.

No I mean the mobile phone scripts. I’ve found that the script for DQ1 is used word for word in Builders as well. I don’t really know about censored dialog outside the Puff Puff in Rimuldar (The scene is in Kol in the Remakes and Builders). It seems like dialog mostly got cut for space reasons. An example of an NPC in Tantagel

Original:
Where oh where can I find Princess Gwaelin?

Mobile Script:
O Princess... Princess, where art thou...?<1A<0C
Could it be that the foul fiends who took thee have taken thy young life also...?<1A<0C
...Nay!<0D0F We cannot-we must not-surrender to despair!<1A<0C
Brave <07, I prithee-forget all that I said. Henceforth, hope, and hope alone, shall guide me!

I agree with mariosmentor. I was hoping a title screen edit changing Warrior into Quest and then for II and III add the official subtitles (Luminaries of the Legendary Line and Seeds of Salvation respectively) but I’m not really an expert romhacker myself.
Title: Re: Dragon Warrior III Decensored
Post by: Tom on September 03, 2018, 10:49:42 pm
Not a fan of the modern DQ style, making most of the script up, trying to one-up the Japanese version.

I would hope that the hack would just remove the censorship without altering the general style.

However, putting the character names back, like restoring Gwaelin's name back to Laura, is fine with me.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Chicken Knife on September 03, 2018, 11:15:38 pm


No I mean the mobile phone scripts. I’ve found that the script for DQ1 is used word for word in Builders as well. I don’t really know about censored dialog outside the Puff Puff in Rimuldar (The scene is in Kol in the Remakes and Builders). It seems like dialog mostly got cut for space reasons. An example of an NPC in Tantagel

Original:
Where oh where can I find Princess Gwaelin?

Mobile Script:
O Princess... Princess, where art thou...?<1A<0C
Could it be that the foul fiends who took thee have taken thy young life also...?<1A<0C
...Nay!<0D0F We cannot-we must not-surrender to despair!<1A<0C
Brave <07, I prithee-forget all that I said. Henceforth, hope, and hope alone, shall guide me!

I agree with mariosmentor. I was hoping a title screen edit changing Warrior into Quest and then for II and III add the official subtitles (Luminaries of the Legendary Line and Seeds of Salvation respectively) but I’m not really an expert romhacker myself.

@Choppasmith, I'm sure there are people out there who would prefer the mobile script of 1 and 2 but I wasn't a big fan. If I do anything with the scripts besides restore censored elements, it would be to bring the language of 1 and 2 closer to the language of NES 3 and 4. Less medieval, more contemporary--just as the language was in the Japanese originals from what I hear. The medieval language has always felt at odds with the sorta silly atmosphere of the series. A ton of people love that style and the US conventions like Erdrick, Gwaelin and Tangegel but I'm not crazy about them personally.

September 03, 2018, 11:35:00 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Not a fan of the modern DQ style, making most of the script up, trying to one-up the Japanese version.

I would hope that the hack would just remove the censorship without altering the general style.

However, putting the character names back, like restoring Gwaelin's name back to Laura, is fine with me.

Tom, I agree with you that the modern DQ style isn't always the best.

Are you ok with the disparity of the first two games having medieval English while the third and forth games are contemporary? What do you think about the idea of me essentially removing the thee's and thou's but leaving the script mostly intact so that they feel more in line with 3 and 4?
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: mariosmentor on September 04, 2018, 01:24:53 am
Well, if uncensoring and spiffing up dialogue is your biggest goal, then I take it you know about Nester being shoehorned into DQ1. Apparently, the NPC in Cantlin claiming to be Nester is actually Hajime Kimura, an uncredited developer for the game. Just thought I'd mention it.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Tom on September 04, 2018, 05:27:59 am
I think it's fine to remove the thee's and thou's, GBC remake style.

The character in Dragon Warrior IV is neither Cristo nor Kyril. In Japanese, his name is クリフト ku-ri-fu-to. Neither of those names represent the kana there.

There are plenty of ways it could be rendered to approximate the Japanese, but I suppose it depends on how much space there is in the name box.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Choppasmith on September 04, 2018, 11:54:55 am

Enjoy guys, and let me know if any issues.

September 03, 2018, 11:31:40 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
@Choppasmith, I'm sure there are people out there who would prefer the mobile script of 1 and 2 but I wasn't a big fan. If I do anything with the scripts besides restore censored elements, it would be to bring the language of 1 and 2 closer to the language of NES 3 and 4. Less medieval, more contemporary--just as the language was in the Japanese originals from what I hear. The medieval language has always felt at odds with the sorta silly atmosphere of the series. A ton of people love that style and the US conventions like Erdrick, Gwaelin and Tangegel but I'm not crazy about them personally.

(https://i.imgur.com/jJmiG2h.gif)

I think it complements the series quite nicely. Playing the fan translation of V on PS2, I think the dialog is great but the literal monster and town name translations really suck out a lot of the charm for me. I still haven't actually played III or IV on the NES, so I can't really comment on the difference in dialog there. In III Mobile, the dialog is normal in the first world with various light accents indicating the region you're in (considering the first world is clearly based off our world, it makes perfect sense to me) and then the second world is good ol' Alefgard Olde English. (oh and I effin' LOVE that Jipang NPCs speak in Haiku form)

In fairness, looking at I and II on the NES, I think the Olde English status messages are a little much (Mobile keeps it as standard English like other DQ games) and playing a little bit of IV again recently, the accents are very much overdone. III Mobile I think has a nice balance of showing different accents and language without making it too difficult to interpret for reading. If/when I get to DW IV NES, I'd mostly make the names and items consistent with the modern versions and then tweak the script so that characters sound the way they should but fix a lot of the frustrating to understand stuff.

Best of luck to you though!

Well, if uncensoring and spiffing up dialogue is your biggest goal, then I take it you know about Nester being shoehorned into DQ1. Apparently, the NPC in Cantlin claiming to be Nester is actually Hajime Kimura, an uncredited developer for the game. Just thought I'd mention it.

Oh! That's neat. I've wondered about that. Thanks for the info!
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Tom on September 04, 2018, 06:34:51 pm
For those who want to read the made-up scripts, they can play the modern ports.

I appreciate what you're doing here, and I'm sure others will, as well.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Chicken Knife on September 04, 2018, 07:21:34 pm
@Choppasmith

Nothing wrong with your instincts to use the most modern rendition of the script and naming conventions. There are probably more people with your sensibilities than Tom and I who have a stubborn adherence to what was original. As far as your comments on the mobile script of 3, I did consider it the best of the mobile versions when I went through them all a couple years back. But again, my heart is with the original renderings. Please feel free to incorporate whatever you want from my graphical edits for your own hack. Whatever you put together, I will probably play at some point. The more people working on Dragon Quest games, the better for everyone.  ;)

@mariosmentor

I vaguely remembered the Nester references that you brought up. I always skipped over the Nester comics in Nintendo Power as a kid so he is definitely getting cut.  :laugh: I have a question since I am not finding much online at the moment. Was Hajime directly referenced in the Japanese game? If not do you know what the original dialogue was comprised of? When I get to the script editing phase, I'll want to handle that with care.

@Tom

Thank you for the kind words. I'm making these hacks mostly to satisfy my own desires but I'm glad there are other people like you who share them. I wanted to specifically ask you if you think I should edit the Dragon Warrior 1 sprites. They were designed during the production phase of Dragon Quest IV in Japan. I actually observe some commonality between those two sets of sprites when I look over them. I don't like how the DW1 sprites look overly sophisticated next to the extremely primitive original tile graphics and town / dungeon layouts. I also don't like how you finish the first game and move on to the sequel where the sprites feel more primitive in comparison. The Japanese 2 was a massive step forward in all measures which is a feeling I want to reproduce in our English versions. Although most people would think I'm crazy, I think I want to take the original Japanese DQ1 sprites and conservatively edit them to face 4 directions. If I can do a professional job of it, do you think the effort would be worthwhile? Would the overall reduction in sprite quality be for the greater good? Since my main capability right now is graphics, this is the thing I'm debating.

What I'm not debating is a commitment to tactfully replace the word Warrior with Quest in the title screen of all four NES games. This is going to take a fair amount of time since the sprites are huge and I want to be very careful to get the style of the custom fonts right. If I can't make them blend, I'm not going to release it. Script editing will come later and ASM work will come much later unless collaborators get involved who have those skills.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Choppasmith on September 04, 2018, 08:39:57 pm
@Choppasmith

Nothing wrong with your instincts to use the most modern rendition of the script and naming conventions. There are probably more people with you sensibilities than Tom and I---who have a stubborn adherence to what was original. As far as your comments on the mobile script of 3, I did consider it the best of the mobile versions when I went through them all a couple years back. But again, my heart is with the original rendering. Please feel free to incorporate whatever you want from my graphical edits for your own hack. Whatever you put together, I will probably play at some point. The more people working on Dragon Quest games, the better for everyone.  ;)

Hey man, appreciate it! Like you said, I think the more options people have the better. The whole reason I’m doing my thing is BECAUSE, like Tom actually said (Baka gaijin comment aside), is we ONLY have the mobile ports which have forced portrait perspective (stretching the graphics in some cases), no controller support, and in the case of III, some features cut out.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: mariosmentor on September 04, 2018, 10:09:13 pm
Was Hajime directly referenced in the Japanese game?
Sort of. He uses the alias "Lord Kim."
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Tom on September 05, 2018, 12:29:35 am
I like the idea of adapting the original DQ hero to face all four directions. Personally, I would love to see the original Japanese Dragon Quest redone, with all its shortcomings, to show the growth of the series from its original form.

You know, I was always baffled by one line in Dragon Warrior 1. A lady said: "No, I have no tomatoes. I have no tomatoes today." I wonder what the line originally said in Japanese, because it kinda came out of nowhere. Maybe one day I'll check, unless someone else here knows... Maybe mariosmentor knows?
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: KingMike on September 05, 2018, 01:38:48 am
I have specifically checked that. It was the "puffpuff" line.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Tom on September 05, 2018, 02:00:55 am
Thanks for explaining the tomato line! I had a feeling the line was censored.

Speaking of "puff puff," in Japanese, the word is closer to "honk honk." Pafu is the sound of those old horns (or squeaky clown noses).

https://www.youtube.com/watch?v=R4maIEWEnsE

This is why the honk-honk sound effect plays in Dragon Quest VIII whenever the skill is used.

https://www.youtube.com/watch?v=TTt2HTyQfBA

It's a funny coincidence that "honkers" is slang for boobs. "Puff" doesn't really have any particular innuendo to it, but I guess people like it for nostalgic reasons.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Choppasmith on September 05, 2018, 01:58:19 pm
There's a great video here detailing the different Puff Puff scenes and how they were censored/differ between versions including I-IV on the NES

https://www.youtube.com/watch?v=vuhaqZuAGYQ
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Chicken Knife on September 05, 2018, 06:48:03 pm
Interesting stuff guys. I knew the word was pafu but I didn't know it exactly meant "honk." Makes it even funnier.

Anyway

I'm trying to think through what the letters QUEST should look like in the title screens. Luckily the first three games all use the same font and the fourth game uses a very simple design so that won't be a challenge. I do find myself struggling with how I should render the letters in QUEST to stylistically match the letters in DRAGON. I've looked through a ton of fonts today and can't find anything equivalent. Since there are about ten million fonts out there, do you guys know of anything that would come close to work off of?
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Choppasmith on September 05, 2018, 06:58:13 pm
I keep trying to find a font that might be similar to what they use for I-III, but I just can't find anything. I figure there's GOT to be something out there because NP's Startegy Guide seems to use the same font (just a bold thick version of it)

Quote
(https://vignette.wikia.nocookie.net/nintendo/images/4/4d/Dragonwarrior-strategyguide.png/revision/latest?cb=20111102185523&path-prefix=en)
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Chicken Knife on September 05, 2018, 08:29:25 pm
Maybe the NP artists were excellent copyists? Who knows.

I've been toying around with a design that mimics it, along with nagging an artist friend for help.

Question:

Should we try to make the T look like a sword?
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: mariosmentor on September 06, 2018, 01:38:44 am
If a swordy T is easy enough to hack in, then by all means, go for it!
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Choppasmith on September 06, 2018, 02:07:02 am
Okay good news is : I found the font thanks to Dwaine over at Dragon’s Den.

Bad news is: It’s an expensive “professional” font.

Silver lining: Use this preview page, type out DRAGON QUEST, and then screen cap the preview and use that as your base (make sure it's DT Bold and set the size to 50)

https://www.youworkforthem.com/font/T4717/rustikalis-dt/typetester/

Also, I was originally going to say not to try and make the T into a sword (I feared it would just draw too many comparisons to the real logo) but considering how the T looks here, I’d say go for it.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Chicken Knife on September 06, 2018, 06:48:40 am
Did it. This was an absolutely tremendous help. The only letter design I anticipated correctly was Q.

Big thanks to both you and Dwaine at Dragon's Den. Probably tonight I'll start working on the pixel editing.

With the sword idea, I'm not sure we'd want to go for the angled view like in the Dragon Quest logos since the text doesn't curve. I was thinking of a more straight ahead view of the sword. The problem would be if I had to lower the cross of the T in order to make a stub that indicates the hilt. That might throw off the look and at that point I will just do the T like in this font.

September 06, 2018, 07:05:06 am - (Auto Merged - Double Posts are not allowed before 7 days.)
Also, since QUEST is two characters shorter than WARRIOR, I was thinking of replacing the last two letter spaces with II and III for the second and third games. For the first game, I would probably try to move the DRAGON text one character space to the right and replace the first character space with filler tiles. Good idea?

September 06, 2018, 08:00:32 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
* Update

Guys, I discovered something quite unfortunate when I started work on editing the titles. While Dragon Warrior 2 has every letter in the title represented as a pixel tile so that I can edit them, Dragon Warrior 1 and 3 opted to save data space by duplicating both R's in WARRIOR from the same tile. This obviously presents a major problem for me. I don't know how to overcome it besides someone rewriting the code. This is probably one of the reasons we haven't seen this done already.

I checked the fourth game, and that is like DW2 in the sense that all letters are represented as separate tiles. Even though I could do these two, it simply won't be satisfactory to fix the titles of 2 and 4 but not 1 and 3.

I'm kinda heartbroken right now.  :'(

* Update #2

Rather than sit around depressed, I threw myself into my other project of making the sprites in Dragon Warrior 1 look like those in Dragon Quest 1. It took me hours, but we now have a four direction Dragon Quest 1 hero! Check out the link below for a video of how it looks. I was particularly challenged getting the side view looking right but at this point I'm pretty happy.

https://www.dropbox.com/s/pp1rw43m9b4rnm9/IMG_1820.MOV?dl=0

As you can see, the hero has a tiny head compared to the other NPCs walking around. The heads in early Dragon Quest got bigger with each iteration and since these sprites were designed after DQ3, they clearly don't match the original hero. For a cohesive look, I'm going to have to do this kind of work with all the sprites. Luckily there aren't very many of them.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Choppasmith on September 07, 2018, 01:21:03 pm
Quote
Also, since QUEST is two characters shorter than WARRIOR, I was thinking of replacing the last two letter spaces with II and III for the second and third games. For the first game, I would probably try to move the DRAGON text one character space to the right and replace the first character space with filler tiles. Good idea?

I had the same idea for II and III too. For the first game I thought starting at the end of Warrior and replacing it with Quest starting at the first R would probably space it out, but would stay centered overall while starting at the beginning of Warrior and dropping the or would make the title look off center.

As for your title screen woes I would talk to abw, he's graciously helped me out in my work for DW1 AND he translated DW into Latin recently with a new title screen to boot! So he'd likely have a good idea on how to fix your title screen woes.

http://www.romhacking.net/translations/3766/
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: abw on September 07, 2018, 05:20:26 pm
Guys, I discovered something quite unfortunate when I started work on editing the titles. While Dragon Warrior 2 has every letter in the title represented as a pixel tile so that I can edit them, Dragon Warrior 1 and 3 opted to save data space by duplicating both R's in WARRIOR from the same tile. This obviously presents a major problem for me. I don't know how to overcome it besides someone rewriting the code. This is probably one of the reasons we haven't seen this done already.
If you're interested in updating the title screen tilemap, I think this post (http://www.romhacking.net/forum/index.php?topic=26135.msg360842#msg360842) might have what you're looking for :beer:.

You know, I was always baffled by one line in Dragon Warrior 1. A lady said: "No, I have no tomatoes. I have no tomatoes today." I wonder what the line originally said in Japanese, because it kinda came out of nowhere.
I have specifically checked that. It was the "puffpuff" line.
Did you also happen to check on the other produce-related line: "Come buy my radishes! They are fresh and cheap. Buy thy radishes today!"? That line's a little bit hilarious, but it also kinda came out of nowhere.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Chicken Knife on September 07, 2018, 07:58:53 pm
@choppasmith, thank you for your continuous resourcefulness! I'm honored to have your help on this project.

@abw, thank you for that link! I'm really an infant to romhacking and have only recently done work with drawing and importing tiles. I haven't touched hex editing, repointing, or any of that for which I barely have the vocabulary to describe. So obviously I don't know what to do with the code you isolated to fix my title screen issue.  :P I plan on learning this all slowly and am grateful to be able to come back to the solution here when I'm ready to understand it. If anyone should desire to implement this in the mean time, I would be delighted to start drawing away.  ;)
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: mariosmentor on September 07, 2018, 09:32:14 pm
Did you also happen to check on the other produce-related line: "Come buy my radishes! They are fresh and cheap. Buy thy radishes today!"? That line's a little bit hilarious, but it also kinda came out of nowhere.
Surprisingly, he's also selling radishes in the JP version. That's just part of the charm behind Dragon Quest; some NPCs just say the most random things.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Chicken Knife on September 08, 2018, 01:53:17 am
Ok, I finished all the frames for the Japanese style DQ1 hero in 4 directions, including the sword and shield animations. I made the decision to show the animated sword and shield together when facing left, which the US sprite does not do. I felt this was necessary based on how the sword motion operates in the Japanese animation. This only causes a problem if the player were to buy a shield before a weapon, resulting in a sword animation when walking left. But really, who ever buys the shield before a weapon? I think the compromise is worthwhile. Take a look. Apologies again for the phone based video. I need to start doing these properly.

https://www.dropbox.com/s/kdnblrjiwapjavk/IMG_1825.MOV?dl=0

I was thinking about the comment Tom made about how the hero should be 4 direction and all the other sprites be original Japanese style. I've heard something like that from others as well. I think I could fairly easily import the two frames of animation from DQJ onto *all* of the US DW townspeople frames, effectively making them slide around like their Japanese counterparts. This would certainly be the purist approach, would minimize my non-native graphics and show closer to the full extent of progress in the series. I might as well just remove the coastline too, I suppose. I also may need to remove the trumpets in the end sequence because the soldiers will be facing forward. As always, let me know any thoughts or ideas.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: abw on September 09, 2018, 10:32:57 am
@Chicken Knife: Ah, sorry, I guess I should have added some more explanation. What you have in that post is an Atlas insert script for the title screen data. Most of the title screen is graphics tile IDs and control codes rather than text, so most of the script is operating on bytes (e.g. <$F7>) rather than text. You'll want to look at the "speckled background with DRAGON WARRIOR graphics" section; the bytes there correspond to the tiles available in the PPU viewer while the title screen is being displayed, so $A9 - $AC are the tile IDs for the speckled background, and $74 - $A8 are the tile IDs for the "DRAGON WARRIOR" graphics. If you look closely, you'll see that tiles $85, $86, $9E, and $9F appear twice in the data; those are the top and bottom tiles for the first two "R"s in "WARRIOR". If you change those values to something else, you'll get different tiles displayed instead of the "R".

So, as long as you can redraw the logo to use no more than 53 different 8x8 tiles, you can edit the graphics in the ROM and then update the tilemap to arrange those graphics on the title screen however you like.

Surprisingly, he's also selling radishes in the JP version. That's just part of the charm behind Dragon Quest; some NPCs just say the most random things.
Ha ha, so true. Thanks for checking! With entire towns getting destroyed and the countryside being overrun by the Dragonlord's minions, it's a wonder anybody is able to farm anything at all :P.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Chicken Knife on September 09, 2018, 03:35:52 pm
@ABW, I think I can almost understand those instructions. :thumbsup: I'm gonna come back to work on this soon with a fresh, clear head. I really appreciate you taking the time to give these details. Warning in advance, I may be coming back to you repeatedly. ;D

I posted a link for my DW1 graphical patch on the first post on this thread. I'm going to keep all the patches on that first post up to date from now on and not post them elsewhere.

What I did for DW one includes the following:

* Fully animated four way rendition of Japanese DQ1 hero, including 4 direction frames for carrying Gwaelin/Laura. Side walking frames have been slightly tweaked since the video I posted.

*Coastline removed; coastal water tiles now look identical to the Japanese game.

* All other NPC sprites have been reverted to their original forward facing Japanese sprites. While most were fully restored, some conservative edits were necessary to work around the mirrored tile issues that have continued to plague me. Examples include having to remove swords and spears from the soldier types or making the head of the wizard symmetrical. I plan on returning to this for a 100% restoration when my hacking skills improve, but in the mean time I am pleased with the aesthetic and will personally be playing the game in this manner. I promise that all my edits fit in well with the original DQ look.


September 15, 2018, 10:36:49 am - (Auto Merged - Double Posts are not allowed before 7 days.)
Wanted to give a quick update.

Progress has slowed down considerably because I've been spending a lot of time learning how to hex edit and deal with pointers, etc. Shoutout to Choppasmith for passing along a lot of really helpful info.

In the meantime, I've put sleepy's DW text editor to good use and worked through a major script overhaul. My initial thing was just to remove the medieval language with something simple and contemporary. As I went through it to bring certain dialogue closer to the Japanese, I spent a lot of time referencing x_loto's translation faq on gamefaqs.com, as well as fielding a few questions to a Japanese friend of mine. The theme I found was that the original Dragon Warrior translation was pretty literal in most cases, and it was kinda obvious most of the time when things were changed. In the case of most of the obviously localized names like Nester, Wynn, Howard etc I reverted back to the Japanese. If they were on the shorter side, I did a straight conversion like Nester --> Lord Kim. In a couple cases where a name seemed a little long Wynn --> Yoshiriin I just shortened it to Yoshi. I wanted to keep everything easily readable.

I have a couple questions for you guys:

I can't decide what to do with a line in Mercado/Cantlin

"Let's exchange my "Portopia" for your "Dragon Quest"

Portopia was another square enix game in Japan apparently so we've got a cultural reference most readers wouldn't understand. What do you guys think I should do with that line? I really don't want to make a cultural reference here but I could say something like "Let's exchange my copy of Final Fantasy for your Dragon Quest.

Also, as I have been pouring over the text, curiously I don't see any references to the name of the overall land in the Japanese. (Alfegard in Dragon Warrior version). Was there a name of the land? Maybe I have to dig into the Dragon Warrior 2 text to determine it but I'm curious if you guys know.

So in summary, I should have a version up with the new script once I finish editing and re-pointering (a word?) item and monster names to the degree that I need. I'm also feeling like I'll know enough after this to go back to the graphic tiles and completely restore the Japanse sprite models, doing away with my own edits except for the 4 direction hero.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Choppasmith on September 16, 2018, 01:17:24 pm
It's Alefgard in Japanese too, it's just the town names that are different.

Note, while you and I are doing different takes on the script. The girl in Rimuldar with the tomatoes line was the original "Puff Puff" line. In the original you could pay 20 coins for a puff puff, since that would require programming I took a cue from DQ Builders which has the SAME NPC (though it's based on the SFC remake/mobile version where she's in Kol instead) where she's in in flashback form and added in an implied decline from the Hero (it's mostly the same dialog from the mobile script too).

https://youtu.be/cbAPvWZhH0c?t=61

EDIT: If you know Japanese, would you like a rip of the Mobile script? I have that too (just beware they really shuffle things up in the remake).
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Cavery210 on September 16, 2018, 02:39:59 pm
I have a couple questions for you guys:

I can't decide what to do with a line in Mercado/Cantlin

"Let's exchange my "Portopia" for your "Dragon Quest"

Portopia was another square enix game in Japan apparently so we've got a cultural reference most readers wouldn't understand. What do you guys think I should do with that line? I really don't want to make a cultural reference here but I could say something like "Let's exchange my copy of Final Fantasy for your Dragon Quest.

Portopia was translated by DVD Translations, but I'm fine with localizing it. Just make sure it's another Enix game.

Also, will Ortega's sprite in Dragon Quest III be the Kandar pallet swap from the Japanese version, or the unique sprite from the English version?
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Chicken Knife on September 16, 2018, 03:34:37 pm
@Cavery210

The problem with changing Portopia to another Enix game is that we didn't get any other Enix games besides Dragon Warrior sequels until Actraiser. If this was a real localization for a wide audience, it would probably be best to change it but because this is ultimately just going to be a hack played by a small group of educated and inquisitive players, it's probably best to just leave it Portopia and let people look it up.

As far as the original Kandar palette swap Ortega, hmm. Do you or anyone else have an opinion there? As for my thoughts on this at this moment, I'll give you the option of a short and long version.

Short answer: I personally like the Ortega sprites for the US version. Feels like a legitimate and modest improvement over the Japanese.

Long answer: I get that there is a group of people who would only be satisfied with a translation of the original Japanese DQ3 with no title screen, no intro animation and the Kandar palette swap version of Ortega. Personally, the redone Ortega sits well with me--just like how the intro to the second game sits well. I know this all sounds inconsistent coming from the guy who dislikes the DQ4 style sprites injected into the first game. I guess my frame of mind is that the I want to produce the best and most authentic version of each game while also making sure they are aesthetically congruent and demonstrate the same graphical progress between iterations as the originals. I don't think anything about the Ortega graphics fail to fit in stylistically or run the risk of outshining the 4th game. DW1 US on the other hand is as if Japan had taken the original Super Mario bros, swapped all the sprites with Mario 3 style graphics, and released it like that in the USA--but shortly after, they turn around and release The Lost Levels with all the original graphics. Besides the censorship obviously, this is probably the only stuff added to the US versions I will feel the need to roll back.

@Choppasmith

I don't need a rip of the mobile script TBH. There is a great faq on the NES gamefaqs.com entry from x_loto that reproduces the Japanese verbatim along with approximate literal renderings. I'm also blessed with a native Japanese best friend who I can bounce questions over to. :beer:
My script is done and the puff puff line is in. It's really only waiting on me understanding how to calculate RAM addresses properly so I can adjust pointers and get all my item and monster tables functioning.


Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Cavery210 on September 16, 2018, 04:50:27 pm
Suggestion: Malroth/Sidoh's title of "God of Destruction" should be refered to as "Destroyer", as FUNimation uses that title for Beerus in Dragon Ball, another Toriyama work.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Chicken Knife on September 16, 2018, 07:58:11 pm
Question for those who know their way around the Dragon Warrior rom data.

You know how when you save with the King or Princess, they quote your experience needed and use the word "Points"? "Points" in those cases is not part of the normal script; rather, it's a special character inserted here and there within the script that summons up the word "Points", similarly to how the script summons up your hero's name.

My nitpicky little issue is that for the sake of proper grammar I need to decapitalize that word "Points". I've poured over the rom data several times thinking the word would appear somewhere but I can't find it for the life of me. Does anyone know where it's located so I can go shrink that P?  :P

Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: abw on September 16, 2018, 10:52:37 pm
You know how when you save with the King or Princess, they quote your experience needed and use the word "Points"?
There's actually a little bit about that buried in the Spanish Translation (http://www.romhacking.net/forum/index.php?topic=26135.msg360710#msg360710) thread :P. The word does appear, but it's stored backwards in the ROM (try searching for "tnioP " instead of " Point") and the "s" is handled separately. If you just want to change "P" to "p", I believe ROM address 0x7765 is the place to check; just be aware that that change will apply to both control code F0 [Hit Point(s)] and F3 [Experience Point(s)] since they both run through the same code :beer:.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Chicken Knife on September 16, 2018, 11:17:46 pm
@abw, thank you! I had a feeling you would know this. No worries since I actually eliminated use of the "hit points" control code in my script, replacing them all with just HP.

BIG UPDATE:

I've put up the new patch for my finished script reworking of Dragon Warrior 1 on the initial post of this thread. I wish I could list all the details but I've worked on this all day and I'm too tired for a long post.  :laugh:. Suffice to say, I did this right. I went over every piece of text about ten times, all while testing in the game. Original DW text was the base, but I constantly referenced the literal Japanese. I did make determinations to change the delivery of numerous lines in order to maximize readability but the content of each line is ultimately still coming from a blend of DW1US and the Japanese version. They really arn't that far apart to be honest. I was able to take advantage of unused space in the rom to vastly expand the room for monster names, which allowed me to get them where I thought they needed to be. I'll post my list of monster names below so you can see an example of my approach. Priority here was given to the Japanese text with a little bit of Dragon Warrior nostalgia retained. There were some scenarios where I didn't like either version of a monster name, such as with the werewolf family of monsters for instance. The Japanese was Lycant, Lycant Mammal, Killer Lycant. So I took some liberties there, as well as a couple other places (like Archmage which I really like) I feel pretty satisfied with my decision making but would still be grateful for any feedback.

1  Slime
2  Red Slime
3  Dracky (from Drakee)
4  Ghost
5  Magician
6  Dracky Mage (from Magidrakee)
7  Giant Scorpion (from Scorpion)
8  Meda (from Druin)
9  Metro Ghost (from Poltergeist)
10 Droll
11 Drackeema (from Drakeema)
12 Skeleton
13 Warlock
14 Iron Scorpion (from Metal Scorpion)
15 Werewolf (from Wolf)
16 Wraith
17 Metal Slime
18 Hell Ghost (from Specter)
19 Dire Werewolf (from Wolflord)
20 Meda Lord (from Druinlord)
21 Droll Mage (from Drollmagi)
22 Chimera (from Wyvern)
23 Death Scorpion (from Rogue Scorpion)
24 Wraith Knight
25 Golem
26 Goldman
27 Armored Knight (from Knight)
28 Chimera Mage (from Magiwyvern)
29 Shadow Knight (from Demon Knight)
30 Killer Werewolf (from Werewolf)
31 Dragon (from Green Dragon)
32 Star Chimera (from Starwyvern)
33 Archmage (from Wizard)
34 Demon Knight (from Axe Knight)
35 Kith Dragon (from Blue Dragon)
36 Stoneman
37 Deathgod Knight (from Armored Knight)
38 Darth Dragon (from Red Dragon)
39 Dragonlord
40 Dragonlord

I will probably start working on the title screen again at this point, but I would really appreciate feedback if anyone felt like playing through this with my patch. I've done a fair amount of testing, but I'm sure there's another textual issue or two to root out.

Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Tom on September 18, 2018, 01:07:54 am
At first I thought you changed Armored Knight to Death God Knight! The names seem fine to me.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Chicken Knife on September 18, 2018, 03:05:56 am
@Tom Well, technically I did change what we had as Armored Knight (3rd tier red one with axe and shield) into Deathgod Knight. The lowest tier blue knight with no axe or shield was actually Armored Knight in the Japanese supposedly. It's a little confusing.

Question for anyone who has poked around the Dragon Warrior II rom--or who knows more about hacking than me (which is most of you):

In the Dragon Warrior II rom, I decided to try applying the same .tbl file I've been using for the first game to see if that would reveal the text. Not a lot of dedicated resources out there for the sequel unfortunately.

The strange thing is that using this table file caused the item names, monster names and spell names to all pop up in what appears to be the same long string format that they appeared in with the original game. That's well and good since I'm familiar with the procedure to edit them, but the strange thing is that the script itself did not appear. Is it a normal thing that a game would need me to switch text tables in order to see all the text in the game? I find it bizarre, but for all I know this could be normal.

PS, I did another significant script update to DW1--mostly comprised of continued efforts to smooth out the battle text along with some corrections to the Dragonlord sprite and his speech. I also went back to spelling out hit points in game as opposed to HP for the sake of consistency. I've started giving my patches a version number. (.52 in this case)

Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Choppasmith on September 19, 2018, 01:31:30 pm
I’ve heard of games that use more than one table. I guess that’s the case here. Good to know when I start hacking II, I can at least start with Monsters and items just fine.

Maybe this guy has gotten figured out (he’s focusing more on Monster Data right now it seems)
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Chicken Knife on September 19, 2018, 07:15:17 pm
You mentioning the two table possibility made me want to go in and verify this. I loaded Dragon Warrior 2 up in the FCEUX Nametable Viewer and I was able to verify the hex code of every tile appearing on the screen including the letters in dialogue text. All of those letters showed a hex code that matched the Dragon Warrior 1 table I was using. Since the codes are the same, the text should be showing up in the rom along with what I can see (spells, items, enemy list, menus, etc.) So that makes me pretty confident that the game's text is unfortunately compressed. I came across references to IV's text being compressed, so more likely than not the second through the fourth game all have this issue.

I think the key is now is to find the right utilities that can help crack the code of the compression and spool out the uncompressed data, edit that data, and then re compress. No easy feet from the forum entries on compression I've glanced over. I'm sure I'm completely over my head with this, but I've been over my head for weeks now but have still made progress by some miracle.  :D
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Tom on September 19, 2018, 07:51:48 pm
So the first English translation changed Death God Knight into Armored Knight, and turned Armored Knight into just plain Knight. It's definitely good that you fixed a mistake like that!
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Chicken Knife on September 20, 2018, 11:47:21 am
Update and a question for you guys:

The update for DW1 to .54 of my patch that I just put up is pretty extensive. There were a lot of little text edits where I continue to try and make it flow better and adhere more to the Japanese. For instance, the wizard who restores your magic points always had an awkward line in English where he addressed you in the 3rd person. I corrected him so that he is addressing God, praying on behalf of the hero as he did in the Japanese game (hence why your MP is restored haha). I also did a lot of work expanding item names, having to move around the item tables in the rom. Herb is now Medical Herb, Wings is now Chimera Wing, Clothes are now Plain Clothes. There were a few other changes, and that brings me to the question:

For the two main cursed items, Death Necklace and Cursed Belt--those are the original Japanese words that were used. However, I've always had an issue where the game completely gives it away that these items are cursed. Especially cursed belt, come on. This is a D&D concept obviously and cursed items were never so obvious. I think later games in the series got this right where the weapons and armor had a foreboding name but not one outright indicating they are cursed. Do you guys agree that we might want to change the names to something a little more subtle yet still hinting at their evil nature? If so, any naming ideas?
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Tom on September 20, 2018, 12:02:27 pm
I like keeping the name obvious, because it punishes idle curiosity/ignorance instead of just coming off as a surprise punishment.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Chicken Knife on September 20, 2018, 12:19:26 pm
I do have a strong feeling of trepidation at going against any of Hori's design choices--unless I'm pretty sure they were made only because of space constraints--such as there being no title screen in 3 or the reuse of Kandar's graphics for Ortega.

My thought was something like Serpent Belt or Devil's Necklace which would still strongly indicate something was up. More likely than not I will leave them as they are, if only out of my massive respect for Hori.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Tom on September 21, 2018, 01:49:16 am
Serpent's Necklace doesn't sound all that suspicious to me. In fact, the Dragon's Scale item sounds similar, despite it being a beneficial item.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Chicken Knife on September 21, 2018, 07:07:43 am
:thumbsup: after your input and thinking it through a few times, I'm leaving them alone Tom

FYI, I put up a tiny update with only a couple text revisions to the script for Dragon Warrior 1.

At this point, I'm really looking to dive into the script for 2 but we have just confirmed the text compression issue. I'm not giving up on this, but I'm sure the process will nothing like my convenient use of sleepy's editor for the bulk of my DW1 revisions. Here's the thread for the compression problem: http://www.romhacking.net/forum/index.php?topic=27053.0

I should probably put my focus on figuring out how to use that Atlas software at this point so I can go back to abw's lead on title screen overhaul.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Choppasmith on September 23, 2018, 01:08:00 pm
That DW2 stuff looks CRAZYY. I guess that's why there hasn't been much done in the way of romhacks for it.

Best of luck to you for the title screen stuff though, I'd love to see how it ends up looking :)
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Chicken Knife on September 24, 2018, 06:57:43 am
Ha, thanks. I've been editing the stuff I *can* see in Dragon Warrior 2 in the meantime. The system where the game counts the FF entries on the strings of names is about the same as the first game with one key difference. It appears that just like how the first game broke the item strings up into four segments, "items part 1 word 1" "Items part 2 word 1" "Items part 1 word 2" and "Items part 2 word 2", DW2 breaks up the monster list the same way into 4 sections around 2/3 of the way through the list. I have to keep poking around in the game until I find the exact monster where my naming gets screwed up, then I'll find the pointer and realign. Unfortunately there doesn't seem to be hardly any empty space within that ROM bank so I don't have anywhere near the free hand for naming that I did in the first game. Still, there are plenty of improvements to be made.

September 24, 2018, 09:42:56 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Ok, monster names are finished for DW2. I didn't have the extra space that DW1 afforded me so I had to trim the fat unfortunately. Hopefully I have the essence of the Japanese down pretty well. Here are some notes on where I had to diverge from the Japanese. Stuck with Zombie instead of Living Dead for the lowest tier ghoul type due to space. Went with "Hill Rat" instead of "Mountain Rat" due to space. Condensed "Armor Centipede" and "Helmet Centipede" into Armorpede and Helmipede respectively. Altered "Mummy Man" and "Mummy" into "Mummy" and "Greater Mummy". There are two different words for mummy in Japanese that were used for these guys but you can't really translate the distinction. Playing DW2 and DW3 in English, I could never tell whether "Mummy Man" or "Mummy" were the stronger ones so I decided to make that clear. Instead of changing "Titan Tree" to the literal "Human Face Tree", I went with "Grinning Tree" so it hopefully sounds less awkward. Went with "Reaper" for the old "Demighost" instead of "Deathgod Ghost" since the latter makes a rather weak enemy sound way too powerful in English, not to mention the space reduction. Had to chop down the literal "Messenger of Hell" to "Hell Priest" for the old "Evil Clown" due to space. For the "Liquid Metal Slime", the literal Japanese on that one is interesting: "Lost Metal". Anyway, let me know if anyone feels strongly about any of this.

Ah, one more thing. Notice how I changed "Healer" to "Hoimi Slime", and "Magic Ant" to "Rariho Ant" per the Japanese. It looks like I'm really committing us to the use of the Romaji spells names. Additionally, my modest increase to the overall monster list space was due to the Romaji spell list coming out shorter and giving me a couple extra lines to use for monsters. I hope these choices don't alienate half of my audience.  :D

1.  Slime
2.  Big Slug
3.  Iron Ant
4.  Dracky (from Drakee)
5.  Big Rat (from Wild Mouse)
6.  Hoimi Slime (from Healer)
7.  Ghost (from Ghost Mouse)
8.  Bubble Slime (from Babble)
9.  Army Ant
10. Mage (from Magician)
11. Hill Rat (from Big Rat)
12. King Cobra (from Big Cobra)
13. Rariho Ant (from Magic Ant)
14. Dracky Mage (from Magidrakee)
15. Armorpede (from Centipede)
16. Man O' War
17. Lizard Fly
18. Zombie
19. Smoke
20. Goblin Rat (from Ghost Rat)
21. Mandrill (from Baboon)
22. Maneater (from Carnivog)
23. Helmipede (from Megapede)
24. Sea Slug
25. Medusa (from Medusa Ball)
26. Shaman
27. Mud Doll (from Mud Man)
28. Baboon (from Magic Baboon)
29. Reaper (from Demighost)
30. Gremlin
31. Poison Kiss (from Poison Lily)
32. Mummy (from Mummy Man)
33. Gorgon
34. Saber Wolf (from Saber Lion)
35. Dragon Fly
36. Grinning Tree (from Titan Tree)
37. Undead
38. Basilisk
39. Muddy Hand (from Goopi)
40. Orc
41. Puppet Man
42. Greater Mummy (from Mummy)
43. Evil Tree
44. Gas
45. Corpse (from Hork)
46. Hawkman (from Hawk Man)
47. Black Mage
48. Metal Slime
49. Headhunter (from Hunter)
50. Devil Eye (from Evil Eye)
51. Hibabango
52. Bloody Hand (from Graboopi)
53. Gold Orc
54. Hell Priest (from Evil Clown)
55. Ghoul
56. Vampirus
57. Skull Knight (from Mega Knight)
58. Killer Tiger (from Saber Tiger)
59. Metal Hunter
60. Bevil (from Ozwarg)
61. Dark Eye
62. Gargoyle
63. Orc King
64. Vampirus Mage (from Magic Vampirus)
65. Berserker
66. Liquid Metal Slime (from Metal Babble)
67. Hargon Knight
68. Cyclops
69. Killing Machine (from Attack Bot)
70. Dragon (from Green Dragon)
71. Devil Priest (from Mace Master)
72. Flame
73. Silver Devil (from Silver Batboon)
74. Blizzard
75. Gigantes (from Giant)
76. Devil Lord (from Gold Batboon)
77. Archdemon (from Bullwong)
78. Atlas
79. Bazuzu
80. Belial (from Zarlox)
81. Hargon
82. Sido (from Malroth)
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Choppasmith on October 03, 2018, 03:22:09 pm
Just for giggles I thought I'd make a DW1 title screen mockup in Photoshop to get a good idea of what changing Warrior into Quest would look like. PS can automatically center things and it looks like we'd just have to move everything one tile over for it to look centered (I'll probably just use the existing TM tiles)

(https://i.imgur.com/2TkTV31.png)

I'm not sure how the Dragon popping out of the logo would work if we do end up moving everything over a space.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Chicken Knife on October 03, 2018, 06:40:01 pm
@Choppasmith

Gosh, that looks lovely. The letters in QUEST are a perfect blend. I'd be inclined to lose the tm at the end myself, but it's no big deal either way. If you're moving the D over to where the R currently is in DRAGON, I'd suspect that the black dragon head wouldn't look too different against the D. Perhaps there would be a small grey gap but not too noticeable. I do suspect though that the bottom right part of his neck will overlay the upper left of the R. I'd assume that the dragon head graphic is a sprite and we should be able to locate and edit those tiles to fit the new letters properly.

I've been taking a bit of a break the last week getting absorbed in DQXI. I was waiting for that game's US release for a couple years now but pushed off playing it for weeks due to these projects.

I've updated all the spells, monsters and items in DQII and it's just a matter of now taking on the headaches associates with learning how to extract and reinsert the compressed script. abw has a new tool he claims should do the job so fingers crossed. I'll be focusing on that soon. Apparently these extraction / insertion tools can also help us make the tile map adjustments we need to rearrange the letters for this title screen so I'm curious how that will work.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Chicken Knife on November 14, 2018, 10:38:35 pm
Ok, I've admittedly been away from doing anything with this for awhile. 340 hours of Dragon Quest XI later, I'm slowly reabsorbing myself in this project. After recently having someone play test my script for DQ1, I fixed up a couple errors they noted along with tackling a significant text bug that was coming up when you accept the Dragonlord's invitation to rule half of the world. He would end up telling you that you don't have room in your inventory for chain mail before the text went red and the screen froze. In any case, that's all fixed now and I'm uploading the current version on the first post of this thread.

Also, for this guy's benefit and possibly others out there, I'm including a second version which retains the Dragon Warrior spell naming scheme instead of the Japanese scheme that I've been using. FYI, I'm using Fireball and Firebane instead of Hurt and Hurtmore--as opposed to what some may think should be Blaze and Blazemore. The Japanese for these two spells is Gira and Begirama, which evolved into the group fire attack spells in later iterations. Therefore, another hack on this site that updates spell names to current conventions is incorrect by using Frizz and Frizzle.

FYI, I'm not using "Firebal" with one "l" like the NES versions do. I could never stand that misspelling, even if intentional.

One more thing: I was convinced by another guy in the Dragon Quester's FB group to use Roto instead of Loto. Loto seems to be the more popular of the two renderings because of our GBC versions that were officially released, but I was convinced to switch because in Japan, Roto has repeatedly been demonstrated as the official English letter rendering, appearing inscribed on toy swords and shields, in Manga, etc.

Unless anyone uncovers any more bugs, It's really time for me to take on take on the stuff that is making my brain bleed like learning Atlas / Cartographer / abcde / hell even command prompt (it's been awhile). These have been suggested to me as the best resources for fixing the title screen issues as well as decompressing DW2's text. Any helpful suggestions, let me know  :P
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Choppasmith on November 15, 2018, 02:28:54 pm
I’m in the same position you were in, taking a little break while playing DQXI. I found something really neat though.

So, I was randomly curious if there were any cool Japanese Dragon Quest patches. You know either cool improvement hacks or the DQ equivalent to FF6 T Edition.

Among other things I found a Japanese translation patch of Dragon Warrior. This might not sound like anything special, but this hack managed to RESTORE THE ORIGINAL LOGO!

(https://photoservice-imagecluster.img.mixi.jp/v/a6262191988d22bf9e7a7b72da3170bae1ea9a2c1f/5bedc10c/picture/10458430_2245445670_193large.jpg)

From the screen there, it looks like maybe they removed the detailed coastlines, possibly for the logo? If we could see what they did, extrapolate the logo and keep the English, this might be beneficial to both our projects. I still need to try it myself. I’m curious if they restored the Puff Puff in Rimuldar.

Anyway, patch link here if you want to try it yourself.
http://www.geocities.co.jp/Playtown-Denei/3370/Kakikae.htm
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Orochi Kusanagi on November 15, 2018, 02:58:22 pm
There are actually quite a few patches for the NES and SNES Dragon Quests. I remember a SNES DQ3 one that added post game story too.

When I get home I'll try to put them here and maybe we can get them uploaded to the site for archival purposes.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Chicken Knife on November 15, 2018, 06:54:41 pm
Choppasmith, what a glorious find!

Everything we need is in this hack; it's just a matter of locating and copying over the relevant code and tiles.

* Edit

Looking over their rom in a tile editor, the reason they took off the coastal tiles is because the kana required more room than the English alphabet and they used that space.

If I manage to make any progress, I'm going to do the work as a separate patch so you could just apply to yours. Let's see if I can get anywhere. I really should have been taking this approach all along.

* 2nd Edit

They moved a *lot* of stuff around in the rom. I don't think I'm going to be able to locate where the code is that needs replacing. There is very little room for additional tiles in US version too. My famicom style graphics hack may be helpful in this regard because I have more tiles I can cannibalize once I can do the requisite changes to the code.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Mari42 on November 15, 2018, 07:19:37 pm
Oh I miss this, crap.  :o That title screen pic I knew that wasn't in the original game. I don't understand why Nintendo made this game design to make change that looks so different than it was from japan. I like that title screen from japan, because from SNES version that is how they designed it better than it the original version when it was released. That's very odd, but in the same time that makes it better if its for localization. I guess.  :-\
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: CoolCatBomberMan on November 16, 2018, 01:01:42 am
Oh I miss this, crap.  :o That title screen pic I knew that wasn't in the original game. I don't understand why Nintendo made this game design to make change that looks so different than it was from japan. I like that title screen from japan, because from SNES version that is how they designed it better than it the original version when it was released. That's very odd, but in the same time that makes it better if its for localization. I guess.  :-\

Actually, Nintendo couldn't use the name "Dragon Quest" in America. At the time, there was a tabletop RPG called "DragonQuest" (notice how there's no space between the words) floating around, so a different name had to be used. Due to American copyright law, Square Enix wasn't able to use the name Dragon Quest until 2002.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Chicken Knife on November 19, 2018, 08:30:52 am
Update and question:

I started working on some more updates for Dragon Warrior 3 and the first thing I did was update class names. Solider -> Warrior, Pilgrim -> Cleric, Wizard -> Mage, all very similar what the SFC English patch translators did. I'm debating most on the fighter, since the fact he is a hand to hand guy was never conveyed very well by "fighter." I'm thinking about going with Monk. Any strong thoughts let me know.

On the same point, I'm stuck with something minor but important. Those little two letter class abbreviations that appear under your character names in battle.. I can't find those in the rom for the life of me and the rom maps I've looked at don't indicate. If anyone could point me to where those are so I can update the initials, please do!
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Reiska on November 20, 2018, 11:59:05 am
The official localizations for all the modern games use "Martial Artist", which is obviously too long for the text box.

As far as I recall, DW3 class naming conventions went something like this:

NES: Soldier/Pilgrim/Wizard/Fighter/Merchant/Goof-off/Sage
GBC: Warrior/Cleric/Mage/Fighter/Dealer/Jester/Thief/Sage
Mobile: Warrior/Priest/Mage/Martial Artist/Merchant/Gadabout/Thief/Sage

Regarding the class abbreviations: they're actually separate glyphs in the character set immediately after the capital letters.

(https://i.imgur.com/fUj0j8v.png)
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Choppasmith on November 20, 2018, 02:19:21 pm
The official localizations for all the modern games use "Martial Artist", which is obviously too long for the text box.

As far as I recall, DW3 class naming conventions went something like this:

NES: Soldier/Pilgrim/Wizard/Fighter/Merchant/Goof-off/Sage
GBC: Warrior/Cleric/Mage/Fighter/Dealer/Jester/Thief/Sage
Mobile: Warrior/Priest/Mage/Martial Artist/Merchant/Gadabout/Thief/Sage

Regarding the class abbreviations: they're actually separate glyphs in the character set immediately after the capital letters.

(https://i.imgur.com/fUj0j8v.png)

Never played the NES version but hoping to hack it for my RE-Quest series what the heck are the fancy t-x and the Br, Ma, Bi, and Me tiles for?
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Chicken Knife on November 20, 2018, 07:40:22 pm
@Choppasmith, They are abbreviations of the class names of the characters that show up in the battle screen and some menus. If I'm changing Soldier to Warrior, I have to also change the Sr to Wr.

@Reiksa, thanks for the tip. Just editing the tiles themselves is the way to go. I'm having a weird issue. I use tile layer pro for my tile editing--I know its out of date but I had some issues getting newer software working correctly. When I go through the rom, I'm able to locate sprite graphics easily and I adjust with - and + keys to get them to display properly if they are garbled.

For the text however in all 4 dragon warrior games, it's always garbled, no matter how much I adjust with + and -. Not sure if it's something I'm missing or if I should be changing my editor. Click this link for what I'm seeing.

https://www.dropbox.com/s/xefvfgb225smyyd/DW3%20alphabet.png?dl=0
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Reiska on November 21, 2018, 07:18:47 am
@Choppasmith: I actually have no idea, don't think I've ever seen any of those glyphs used in the English version.  And I don't think they exist in the JP ROM at all.

@Chicken Knife: TLP's what I'm used to as well, so you're in luck.  You need to switch to 1BPP mode rather than NES mode for the DW fonts to show up/be editable.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Chicken Knife on November 21, 2018, 09:03:50 am
@Reiksa

Thank you thank you! These kinds of simple solutions for rom hacking issues are so very precious and rare. Please continue to hang around this thread.  :woot!:

I've done more thinking about the class names. Priest is probably the better option for the Pilgrim because Cleric has such a strong D&D connotation. I was about to go with Monk for the Fighter until I looked up the Japanese class name for the Priest class--Souryo and discovered that it translates to both Priest and Monk. I think I'm resolved to just go with M. Artist

For the script, I don't plan on doing much with it. I'm definitely restoring puff puff dialogue in Assaram / Ashlaham. I'm also going to restore Japanese town names that were changed like Kanave --> Kazave.

Does anyone know of any other badly translated, censored or excessively localized text that I should be looking at in DW3?
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Choppasmith on November 21, 2018, 01:33:20 pm
@Choppasmith: I actually have no idea, don't think I've ever seen any of those glyphs used in the English version.  And I don't think they exist in the JP ROM at all.

@Chicken Knife: TLP's what I'm used to as well, so you're in luck.  You need to switch to 1BPP mode rather than NES mode for the DW fonts to show up/be editable.

Only thing I can think of is status effects. in DQ3 Mobile, they're with the class abbreviations.

Code: [Select]
War  Mar  Mag  Prs  Mrc  Gad  Thf  Sge  Hro  D  Par  Slp  Con  Dzl  Fzl  Psn  Bag
But even then those don't make sense. Weird, but neat. Suppose if you needed some Squishy tiles for new stuff, those could work then.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Reiska on November 22, 2018, 06:12:38 pm
I forget which tiles it was (unfortunately), but a while back when I tried hacking the mobile version enemy names into the NES version and I had to try using squishy tiles, there were some tiles that would cause the game to hard-lock if used.

Sorry I can't be of more help in remember which ones they actually were - it's been years, at this point, and I don't have that ROM file anymore.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Chicken Knife on November 24, 2018, 11:37:51 am
I'm making rapid progress on DQ3. Spells, item names and monster names are all updated to a more literal Japanese translation. Working on the script.

In the mean time, I came across some information on sprite pointers and I need some advice. I assume the sprite pointers simply reference the tiles themselves and if I could get the rom address for the tiles, I could repoint as needed in order to do some cool things like restore coffins and fix the occasional alterations I had made in porting over Japanese sprites. I've fooled around in tile layer pro and it doesn't seem to have a way of showing me the rom address of the tiles. I certainly can't make them out in a hex editor. What's the best way to do this?
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Choppasmith on November 24, 2018, 12:33:03 pm
I'm making rapid progress on DQ3. Spells, item names and monster names are all updated to a more literal Japanese translation. Working on the script.

In the mean time, I came across some information on sprite pointers and I need some advice. I assume the sprite pointers simply reference the tiles themselves and if I could get the rom address for the tiles, I could repoint as needed in order to do some cool things like restore coffins and fix the occasional alterations I had made in porting over Japanese sprites. I've fooled around in tile layer pro and it doesn't seem to have a way of showing me the rom address of the tiles. I certainly can't make them out in a hex editor. What's the best way to do this?

Try YY-chr. I know it shows the hex value of tiles which was really handy when editing the title screen. (I used tile molester pro to do the actual editing)
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Chicken Knife on November 28, 2018, 07:43:27 am
@ Choppasmith,

I took your suggestion and used YY CHR to look up the sprite addresses. I was under the assumption that the game displayed sprite tile data in a similar way to how it displays text, with pointers referencing the address of the tile. While it's become easy for me to locate pointers for text and tables, I used the same method to attempt to find the pointers that control the sprites and I could not locate any pointer table (I assume they would be gathered together in the same section like they generally are for text)

Is there a different system that the NES uses to display sprite tiles? I would appreciate if someone could provide an explanation. I have to figure this out in order to make the sprites in DQ1 more identical to the famicom version.
Title: Re: Dragon Warrior I - IV Decensored & Amended
Post by: Chicken Knife on December 13, 2018, 09:52:45 pm
Big news guys. I just finished inserting my freshly written retranslation of pretty much the entirety of Dragon Warrior II. I've tested it with my own playthrough and at this point it should be bug free and quite polished. The script is a fairly direct translation of the Japanese Famicom script based on x_loto's translation document as well as my own research and an enormous number of questions to my Japanese speaking friends. I've taken great pains to make the text both accurate, fluid and easily readable. I'd love any feedback. Huge thanks to abw for supporting every step of the extraction and insertion process.

https://www.dropbox.com/s/eq25e6xca6jcjxs/dw2_delocalized_055.ips?dl=0

The link is also on the first post of this thread, and that is the link that will be kept up to date. Not this one.

Now if I could only get someone to help me with switching out the ghosts of dead party members for the original coffins.

* EDIT

The coffins are good for 2. They don't reflect individual character palettes like in the Japanese version--all of them have the Prince of Laurasia palette but it all looks fine. Encountered a bug where the coffin palette switches to all blue in Rondarkia/Rhone. After experimenting with fixing all 100 instances of 010101 appearing in the rom, the 100th entry turned out to be the one and I was able to correct the palette to that of the standard coffin.
Title: Re: Dragon Quest I - IV Delocalized Editions
Post by: Googie on December 20, 2018, 07:18:39 pm
I got some time on my hands, so I'm gonna try 'em out. Thanks for doing the first game. :)
Title: Re: Dragon Quest I - IV Delocalized Editions
Post by: Chicken Knife on December 20, 2018, 08:20:17 pm
I got some time on my hands, so I'm gonna try 'em out. Thanks for doing the first game. :)

Thanks! Would love any feedback.

FYI I'm about to post a 1.01 update to DQ1. After finishing II (well, not really. I never finish) I did another go through the first game and found about 20 text lines I wanted to improve along with doing some further polishing up of the title screen. I'll post the new link on the first post of this thread later tonight. The update to the main hack page will take some time I'm sure.

* EDIT

It's up. Have fun!
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on January 12, 2019, 10:32:19 pm
I wanted to provide a brief update.

After doing a total line by line retranslation of Dragon Quest II, I've gone back to my version of Dragon Quest I and realized that I actually left a ton of the script basically the US localization with thees and thous removed, more fluid phrasing, removals of obvious Americanisms like Nestor & Howard as well as adding in censored stuff.

I decided that this wasn't good enough. Since I was so pleased with my line by line retranslation of DQII, I thought my version of I should absolutely match it, especially since that's what people will typically play first.

The first step was getting the script extracted and insert-ready through abw's fantastic abcde software. That's been done and I'm well underway rewriting pretty much every piece of text from this game. My original version was limited by the length of individual lines so I'm overjoyed to have cast off that restriction.

Part of my rethinking has involved moving away from the vestiges of our original localization. Two examples: Dragonlord is now Dragon King. All the talk about the "Dragonlord's minions" has been replaced with the original idea of monster attacks.

I've thought particularly long and hard about Red Slime / She Slime which in Japanese is Slime Besu. To the Japanese audience, Besu sounds very close to Mesu which is a word indicating a female beast. After weeks of deliberation, I decided to take the female animal form Slimess (IE Lioness) and gently tweak it in the same way Horii tweaked Mesu. That gives us Slime Bess. I like this because it achieves the same affect of the Japanese--much more than the contemporary "She Slime". Slime Bess sounds both unique and distinctly female.

I can't say exactly when I'll have this done, but sometime within the next couple weeks I assume.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Tom on January 13, 2019, 02:45:17 am
I like your proposal of Slime Bess a lot more than "She Slime."
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: laserlambert on January 13, 2019, 12:53:06 pm
Wouldn't Slime Beth/Slimebeth work better? S is often used instead of Th in Japanese, and according to the wiki Dragon-Quest.org, Beth being the second letter in Hebrew alphabet implies that it is the second slime you meet (like the equivalent of calling it Slime B or Slime Beta), plus with Beth/Elizabeth being a woman's name, it keeps the female connotation.

BTW, what is the origin for the tile-set you are using in the DQ1 patch, alot of the wall tiles and the tiles of the king's throne look odd and don't look like the ones in the japanese Dragon Quest rom I have, and the change isn't listed in your description of the patch. Is there some reason I'm unaware of for why it looks like that?

(https://i.imgur.com/MfXZSRH.png)(https://i.imgur.com/VWOBj8h.png)
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Tyrantnyx on January 13, 2019, 02:51:59 pm
I really like Slime Bess, partly because I always names my Beast Slime in Dragon Warrior Monsters 2 Bess, and I've seen Slime Bess in a couple games I used to like playing.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on January 13, 2019, 04:01:04 pm
Wouldn't Slime Beth/Slimebeth work better? S is often used instead of Th in Japanese, and according to the wiki Dragon-Quest.org, Beth being the second letter in Hebrew alphabet implies that it is the second slime you meet (like the equivalent of calling it Slime B or Slime Beta), plus with Beth/Elizabeth being a woman's name, it keeps the female connotation.

I've also thought about Beth and I've seen it suggested in various sources. I agree that it would be one possible way to render the word besu in English. But transliterating besu wasn't really my goal. I wanted to create a situation that mimicked the similarity between mesu (general term for a female animal) and besu (nonsense word) in Japanese. I looked at a lot of words for female animals in English (sow, cow, doe, etc) and without an equivalency that captures how general mesu is, I thought that "slimess" would be the best option. I could make the same mesu/besu tweak and display it as “slimebess” but that looks a little inelegant to my eyes—and I’d like to hear if anyone likes that one better. I chose Slime Bess with "Bess" not intended as a proper name, but as a made-up word that denotes female in the slime family, like doe, sow, etc. It is also one that thankfully sounds distinctly female. If I were looking for a female proper name, Beth would be a fine option but that wasn't the intention. As far as the connection to the Hebrew #2, well--it's certainly interesting but I think one of us would have to meet Horii and pin him down to get the true interpretation of the mysterious "besu". This has been much speculated in Japan so I'm sure he has a long history of evading those questions.  :laugh:

BTW, what is the origin for the tile-set you are using in the DQ1 patch, alot of the wall tiles and the tiles of the king's throne look odd and don't look like the ones in the japanese Dragon Quest rom I have, and the change isn't listed in your description of the patch. Is there some reason I'm unaware of for why it looks like that?

(https://i.imgur.com/MfXZSRH.png)(https://i.imgur.com/VWOBj8h.png)

Great question. In fact, I discovered this bizarre situation this morning when I was pulling some text from the Famicom game for translation purposes. At first, I assumed that all those tiles were changed for the US version and I was perplexed as to why the cutting room floor site didn't detail this. Then I discovered that some roms with the normal US release label have those tiles and others have the tiles native to the Famicom game. You'll see the same disparity on various youtube videos. After doing additional research, it turned out that multiple rom sites had mistakenly offered the graphical hack that you see as the original rom without notating it, thus propagating massive confusion. I've been using that rom for so many years that I simply forgot it ever looked different. After this shocking discovery, it gave me double the fire under my ass to finish this massive script overhaul in the next few days so you can all be spared of these alien graphics that go totally against my intention for this project. I was hoping no one would notice in the meantime.  :laugh: This has been sitting here for awhile and you are the first! Hold tight for the update. I don't want to send out my new script half-finished.

Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on January 14, 2019, 12:01:12 pm
The first step was getting the script extracted and insert-ready through abw's fantastic abcde software.
Heh, thanks for the praise, but let's try not to oversell it - abcde is pretty great at some things, but it still has a long way to go before it really earns that "fantastic" :P.

My original version was limited by the length of individual lines so I'm overjoyed to have cast off that restriction.
If the next limitation you run in to is total available space, don't forget about options such as adding DTE compression (see e.g. the Dragon Warrior 1 in Spanish (http://www.romhacking.net/forum/index.php?topic=24943.0) thread) or ROM expansion (see e.g. the Help editing Item Names (and other text) in Dragon Warrior (NES) (http://www.romhacking.net/forum/index.php?topic=26871.msg364408#msg364408) thread); you could easily increase the effective amount of available space by a couple of orders of magnitude if you combined both approaches.

Slime Bess
In related news, I came across the code for pluralizing monster names in Dragon Warrior II (used e.g. in the text "Three Slimes appeared") and summarized it on the wiki (http://datacrystal.romhacking.net/wiki/Dragon_Warrior_II:ROM_map), so if you haven't done so already, you might want to check whether any monster names you changed in DW2 still get pluralized correctly.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on January 14, 2019, 01:38:29 pm
In related news, I came across the code for pluralizing monster names in Dragon Warrior II (used e.g. in the text "Three Slimes appeared") and summarized it on the wiki (http://datacrystal.romhacking.net/wiki/Dragon_Warrior_II:ROM_map), so if you haven't done so already, you might want to check whether any monster names you changed in DW2 still get pluralized correctly.

Ok, this is interesting. I noticed in DW2 that plural forms were handled quite differently than they are in DW3, where the monster names are immediately followed in the list by an opcode indicating the appropriate plural form. (I charted them out and could send the list if you ever want it)

For DW2, 95 percent of the time the game seems to be handling my plural forms correctly but there were some exceptions to that. I think it would take another playthrough for me to remember them unfortunately. In cases where the existing plural form system doesn't accommodate my names, would you modify one of the existing options to accommodate it? For instance, I changed the Mouse names to Rat names per the Japanese so I don't need Mice.

One little nitpick on this topic. If you kill a group of different enemies in DW2 the text goes something like "You defeated the enemies". However, if you kill multiples of a single enemy (let's say Big Slugs), the game will tell you "You defeated the Big Slug." It's annoying having this text singular in some cases but plural in the others.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on January 14, 2019, 04:08:48 pm
Ok, this is interesting. I noticed in DW2 that plural forms were handled quite differently than they are in DW3, where the monster names are immediately followed in the list by an opcode indicating the appropriate plural form. (I charted them out and could send the list if you ever want it)
That sounds like useful information. How about putting it somewhere on the Dragon Warrior III wiki page (http://datacrystal.romhacking.net/wiki/Dragon_Warrior_III) so that everybody can benefit? :beer:

For DW2, 95 percent of the time the game seems to be handling my plural forms correctly but there were some exceptions to that. I think it would take another playthrough for me to remember them unfortunately.
It should be a lot faster to check your insert script or even just re-dump the monster list than to go through an entire playthrough - some of those monsters like to hide :P.

In cases where the existing plural form system doesn't accommodate my names, would you modify one of the existing options to accommodate it? For instance, I changed the Mouse names to Rat names per the Japanese so I don't need Mice.
Yeah, or in my case, since the entire English pluralization routine was wrong for a non-English translation, I ended up completely rewriting it.

One little nitpick on this topic. If you kill a group of different enemies in DW2 the text goes something like "You defeated the enemies". However, if you kill multiples of a single enemy (let's say Big Slugs), the game will tell you "You defeated the Big Slug." It's annoying having this text singular in some cases but plural in the others.
The closer I look at the English text, the more nits I see that are just asking for picking, especially if you care about capitalization :P.

This particular one shouldn't be too hard to fix, though. The game has different control codes for guaranteed singular names (0xF5 / 0b1110111101, used almost everywhere in the script) and possibly plural names (0xF3/0b1110111001, used only in the "X monster(s) appeared" texts), and I've verified that changing the "Thou hast defeated the [name]." text to use the possibly plural form works. Unfortunately, the same string is used not only when winning a battle, but also when killing an individual monster.

So, if you want some extra debugging/tracing practice, try tracking down the code that loads the "Thou hast defeated the [name]." string at the end of a battle and change it to use a separate new string that uses the possibly plural name instead.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Choppasmith on January 15, 2019, 10:14:48 am
In related news, I came across the code for pluralizing monster names in Dragon Warrior II (used e.g. in the text "Three Slimes appeared") and summarized it on the wiki (http://datacrystal.romhacking.net/wiki/Dragon_Warrior_II:ROM_map), so if you haven't done so already, you might want to check whether any monster names you changed in DW2 still get pluralized correctly.

Oh, this is neat. I had thought Chicken Knife told me via PM that DW2 just tacks on an S for plural and that DW3 has a proper plural system (this made sense to me as I thought that's probably why they have dracky as "drackie"). This is great for me, the mobile port has some weird form of plurals, namely "madusa" which has the plural "madusae" and I wasn't sure how I was going to do "magus" whose plural form is "magi" In all my text rips, SE stores the monster names (DQ2) like this

Code: [Select]
<9Fslime/the /a /slime/the /some /slimes/N  0<9Fmaulusc/the /a /maulusc/the /some /mauluscs/N  7<9Firon <9Fant/the /an /iron ant/the /some /iron ants/N  .<9Fdracky/the /a /dracky/the /some /drackies/N  0<9Fratscal/the /a /ratscal/the /some /ratscals/N  6<9Fhealslime/the /a /healslime/the /some /healslimes/N  -<9Fspirit/the /a /spirit/the /some /spirits/N  B<9Fbubble <9Fslime/the /a /bubble slime/the /some /bubble slimes/N  7<9Farmy <9Fant/the /an /army ant/the /some /army ants/N  (<9Fmagus/the /a /magus/the /some /magi/N  3<9Ffat <9Frat/the /a /fat rat/the /some /fat rats/N  <<9Fcobra <9Fking/the /a /cobra king/the /some /cobra kings/N  <<9Fsomnol <9Fant/the /a /somnol ant/the /some /somnol ants/N  6<9Fdrackmage/the /a /drackmage/the /some /drackmages/N  9<9Fsentripede/the /a /sentripede/the /some /sentripedes/N  ;<9Fman o' <9Fwar/the /a /man o' war/the /some /men o' war/N  5<9Fdragonfry/the /a /dragonfry/the /some /dragonfry/N  K<9Fcorpse <9Fcorporal/the /a /corpse corporal/the /some /corpse corporals/N  '<9Fsmog/the /a /smog/the /some /smogs/N  9<9Fdirty <9Frat/the /a /dirty rat/the /some /dirty rats/N  0<9Fbadboon/the /a /badboon/the /some /badboons/N  0<9Fchewlip/the /a /chewlip/the /some /chewlips/N  6<9Fkillipede/the /a /killipede/the /some /killipedes/N  0<9Fmerlusc/the /a /merlusc/the /some /merluscs/N  -<9Fmadusa/the /a /madusa/the /some /madusae/N  ,<9Fshaman/the /a /shaman/the /some /shamen/N  E<9Fmud <9Fmannequin/the /a /mud mannequin/the /some /mud mannequins/N  ?<9Fbig <9Fbadboon/the /a /big badboon/the /some /big badboons/N  9<9Fsekerleton/the /a /sekerleton/the /some /sekerletons/N  0<9Fgremlin/the /a /gremlin/the /some /gremlins/N  ?<9Fgnashturtium/the /a /gnashturtium/the /some /gnashturtiums/N  9<9Fmummy <9Fboy/the /a /mummy boy/the /some /mummy boys/N  0<9Fgoregon/the /a /goregon/the /some /goregons/N  3<9Fsabrecat/the /a /sabrecat/the /some /sabrecats/N  7<9Fdragonfly/the /a /dragonfly/the /some /dragonflies/N  3<9Ftreeface/the /a /treeface/the /some /treefaces/N  3<9Fdeadnaut/the /a /deadnaut/the /some /deadnauts/N  B<9Fcobra <9Fkaiser/the /a /cobra kaiser/the /some /cobra kaisers/N  <<9Fmuddy <9Fhand/the /a /muddy hand/the /some /muddy hands/N  %<9Forc/the /an /orc/the /some /orcs/N  N<9Fmagic <9Fmarionette/the /a /magic marionette/the /some /magic marionettes/N  +<9Fmummy/the /a /mummy/the /some /mummies/N  0<9Ftreevil/the /a /treevil/the /some /treevils/N  -<9Fmiasma/the /a /miasma/the /some /miasmas/N  H<9Fwalking <9Fcorpse/the /a /walking corpse/the /some /walking corpses/N  5<9Fhawk <9Fman/the /a /hawk man/the /some /hawk men/M  3<9Fsorcerer/the /a /sorcerer/the /some /sorcerers/N  ?<9Fmetal <9Fslime/the /a /metal slime/the /some /metal slimes/N  9<9Fheadhunter/the /a /headhunter/the /some /headhunters/N  0<9Fheyedra/the /a /heyedra/the /some /heyedras/N  H<9Fbrainy <9Fbadboon/the /a /brainy badboon/the /some /brainy badboons/N  ?<9Fbloody <9Fhand/the /a /bloody hand/the /some /bloody hands/N  F<9Forc <9Fchieftain/the /an /orc chieftain/the /some /orc chieftains/N  9<9Fwhackolyte/the /a /whackolyte/the /some /whackolytes/N  *<9Fghoul/the /a /ghoul/the /some /ghouls/N  ?<9Fterrordactyl/the /a /terrordactyl/the /some /terrordactyls/N  9<9Fchasmonaut/the /a /chasmonaut/the /some /chasmonauts/N  Q<9Fstriking <9Fsabrecat/the /a /striking sabrecat/the /some /striking sabrecats/N  ?<9Fhunter <9Fmech/the /a /hunter mech/the /some /hunter mechs/N  0<9Fgrimlin/the /a /grimlin/the /some /grimlins/N  7<9Feyelasher/the /an /eyelasher/the /some /eyelashers/N  3<9Fgargoyle/the /a /gargoyle/the /some /gargoyles/N  7<9Forc <9Fking/the /an /orc king/the /some /orc kings/M  B<9Ftyrannodactyl/the /a /tyrannodactyl/the /some /tyrannodactyls/N  6<9Fberserker/the /a /berserker/the /some /berserkers/N  W<9Fliquid <9Fmetal <9Fslime/the /a /liquid metal slime/the /some /liquid metal slimes/N  2Hargonaut/the/a /Hargonaut/the /some /Hargonauts/N  /<9Fcyclops/the /a /cyclops/the /some /cyclops/N  K<9Fkilling <9Fmachine/the /a /killing machine/the /some /killing machines/N  B<9Fgreen <9Fdragon/the /a /green dragon/the /some /green dragons/N  3<9Fwrecktor/the /a /wrecktor/the /some /wrecktors/N  E<9Fdancing <9Fflame/the /a /dancing flame/the /some /dancing flames/N  C<9Fsilvapithecus/the /a /silvapithecus/the /some /silvapithecuses/N  6<9Ffrostburn/the /a /frostburn/the /some /frostburns/N  2<9Fgigantes/the /a /gigantes/the /some /gigantes/N  <<9Fbatmandrill/the /a /batmandrill/the /some /batmandrills/N  7<9Farchdemon/the /an /archdemon/the /some /archdemons/N  Atlas///Atlas///Atlases/M  Pazuzu///Pazuzu///Pazuzus/M  Belial///Belial///Belials/M  Hargon///Hargon///Hargons/M  Malroth///Malroth///Malroths/M 
And they have a similar setup for items

Anyway, I didn't mean to steal the spotlight, best of luck Chicken Knife!
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on January 15, 2019, 07:26:32 pm
Anyway, I didn't mean to steal the spotlight, best of luck Chicken Knife!

Ain't no stealing spot lights are here. We are fam.

I'm definitely going to be wrapping my brain around correcting these plural form issues and touching up a couple other continuity things with 2. But I'm 90 percent finished with my DQ1 rewrite. Coming along extremely well.

@abw, thanks for the offers of additional script expansion. I'm tracking to not need it as of this moment but I'll definitely be touching base if I do.

Interesting tidbit to discuss or debate:

The Japanese name for the Staff of Rain is really Staff of Rain Clouds.
I can't fit that, but I can fit Raincloud Staff. I think it's a cool change.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on January 16, 2019, 08:41:34 pm
I've verified that changing the "Thou hast defeated the [name]." text to use the possibly plural form works.
Actually, after trying this again, I'm going to take that back - upon closer examination, it turns out that the RAM address the game checks for the number of enemies in a group gets used for a bunch of other things before the final "Thou hast defeated the [name]." text gets printed, so whether you got the singular or plural form dedpended on something besides the number of enemies originally in the group (in this case, that appears to be the amount of damage the killing blow dealt). On the plus side, tracking down the string index for that final "Thou hast defeated the [name]." wasn't too hard (0x1175B) and re-pointing that to some previously empty string that I gave new text to is working pretty well.

This is great for me, the mobile port has some weird form of plurals, namely "madusa" which has the plural "madusae" and I wasn't sure how I was going to do "magus" whose plural form is "magi"
I'm definitely going to be wrapping my brain around correcting these plural form issues and touching up a couple other continuity things with 2.
If it helps any, I've added a commented disassembly of the pluralization code on the wiki (http://datacrystal.romhacking.net/wiki/Dragon_Warrior_II:ROM_map).

The Japanese name for the Staff of Rain is really Staff of Rain Clouds.
I can't fit that, but I can fit Raincloud Staff. I think it's a cool change.
This is also possible with ROM hacking. From the last time I looked at this, I remember that widening the item menu to fit up to 12 letters on the second line and display all those letters was easy enough, but the Herb/Magic Key counts were throwing off the alignment of the rest of the items and I wasn't motivated enough to track down the problem code.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on January 17, 2019, 05:04:12 pm
Actually, after trying this again, I'm going to take that back - upon closer examination, it turns out that the RAM address the game checks for the number of enemies in a group gets used for a bunch of other things before the final "Thou hast defeated the [name]." text gets printed, so whether you got the singular or plural form dedpended on something besides the number of enemies originally in the group (in this case, that appears to be the amount of damage the killing blow dealt). On the plus side, tracking down the string index for that final "Thou hast defeated the [name]." wasn't too hard (0x1175B) and re-pointing that to some previously empty string that I gave new text to is working pretty well.

Ok, I can be slow with code related discussion as we all know. Do you mean that you've created a work around to what sounds like a bug where the game is accessing incorrect information when trying to determine pluralization? I'd love to mimic what you achieved in my version if you could give me what to plug in where. I'm much better with graphical design and writing if you haven't noticed already.  :laugh: :laugh: :laugh:

This is also possible with ROM hacking. From the last time I looked at this, I remember that widening the item menu to fit up to 12 letters on the second line and display all those letters was easy enough, but the Herb/Magic Key counts were throwing off the alignment of the rest of the items and I wasn't motivated enough to track down the problem code.

It's good to know this option exists, but I personally like Raincloud Staff along with the other item names I've gone with and I don't think there is a pressing reason to expand for my version. I did a poll in a DQ Facebook group to see whether people liked or didn't like the Raincloud Staff name. Got 27 positive votes and 3 negative. You never know if I'll eventually want to do a mach 3 of my DQ1 project and go for DTE, rom expansion, menu enlargement etc, who knows. But I really should be moving on to 3 some point soon.

Another cool little update:

I'm really doing away with every vestige of the old Dragon Warrior localization. I was debating whether to switch out the talk of Imperial Scrolls of Honor for some form of the restoration spell for saving the game. (which would refer to the password system in the J version)

After weighing my options and discussing with my collaborators, I decided to incorporate almost the exact language that Japanese DQ3 uses for saving with the king recording the events of your journey on an "Adventure Log". I like how it all came out in game, as it has a very authentic Dragon Quest feeling.

January 18, 2019, 08:05:24 am - (Auto Merged - Double Posts are not allowed before 7 days.)
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on January 18, 2019, 08:09:06 am
Do you mean that you've created a work around to what sounds like a bug where the game is accessing incorrect information when trying to determine pluralization?
No, sorry, what I meant was that trying to use the pluralization code as-is in places it wasn't intended to be run doesn't work the way I was hoping it would, because the variable that used to hold the number of monsters in a group gets used for other things instead. The pluralization code works just fine when it gets run where the original game wants it to be run. Pluralizing the monster names in the final "Thou hast defeated the [name]." string should still be possible, but apparently it's going to take more than a simple script update to achieve :P.

It's good to know this option exists, but I personally like Raincloud Staff along with the other item names I've gone with and I don't think there is a pressing reason to expand for my version.
Yup, "Raincloud Staff" sounds fine to me too. Just providing some extra info in case you decided to go the "Staff of Rain Clouds" route :).

After weighing my options and discussing with my collaborators, I decided to incorporate almost the exact language that Japanese DQ3 uses for saving with the king recording the events of your journey on an "Adventure Log". I like how it all came out in game, as it has a very authentic Dragon Quest feeling.
As extra support for that, "Adventure Log" is also what they're called from the game load menu. I wonder why they went with two different names for the same thing?
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on January 18, 2019, 08:39:03 am
@abw,

All sounds great.

Now that you are doing some heavy tinkering with DW2, I wanted to run something else past you.

The space for the lists of item names/spells/monster names in DW2 was too short for me. I'm *relatively* happy with the names I chose but if there is a functional way to move one of those sections somewhere else in the rom, I would be overjoyed to be able to fix a large number of small compromises. Any thoughts? I'm guessing this would have something to do with changing rom banks for one of the lists--which would be a new frontier of tinkering for me.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on January 18, 2019, 10:53:57 pm
Yeah, the space was too short for me too - after translating all the lists, I was a few hundred bytes over the original size and would have been hard pressed to find alternate text that would still be intelligible. Fortunately there is plenty of free space (over 30%, including 3 completely empty banks) in the DW2 ROM, so I was able to move the monster list to a different bank that had room for it. It's only partially tested, and quite possibly there's a better way of achieving the same effect, but what I'm currently using (in a form you can include in your insert script) is this:

Code: [Select]
#JMP($3F3EE)
// update monster list bank/address pointers
<$F4><$F5><$FA><$FB>

#JMP($3FFA7, $3FFC9)
// new code to read pointer from $9000,X instead of $8000,X
//PHA
<$48>
//LDA $05F6
<$AD><$F6><$05>
//STA $60D7
<$8D><$D7><$60>
//PLA
<$68>
//JSR $FF33
<$20><$33><$FF>
//LDA $9000,X
<$BD><$00><$90>
//STA $57
<$85><$57>
//LDA $9001,X
<$BD><$01><$90>
//STA $58
<$85><$58>
//RTS
<$60>

#JMP($3F3E5)
// update JSR to target new code
<$97><$FF>

#JMP($1D050, $2000F)
#HDR($14010)

#W16($1D038)
// monster list part 1, line 1 goes here
#W16($1D044)
// monster list part 2, line 1 goes here
#W16($1D03A)
// monster list part 1, line 2 goes here
#W16($1D046)
// monster list part 2, line 2 goes here
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on January 18, 2019, 11:03:33 pm
Yeah, the space was too short for me too - after translating all the lists, I was a few hundred bytes over the original size and would have been hard pressed to find alternate text that would still be intelligible. Fortunately there is plenty of free space (over 30%, including 3 completely empty banks) in the DW2 ROM, so I was able to move the monster list to a different bank that had room for it. It's only partially tested, and quite possibly there's a better way of achieving the same effect, but what I'm currently using (in a form you can include in your insert script) is this:

Code: [Select]
#JMP($3F3EE)
// update monster list bank/address pointers
<$F4><$F5><$FA><$FB>

#JMP($3FFA7, $3FFC9)
// new code to read pointer from $9000,X instead of $8000,X
//PHA
<$48>
//LDA $05F6
<$AD><$F6><$05>
//STA $60D7
<$8D><$D7><$60>
//PLA
<$68>
//JSR $FF33
<$20><$33><$FF>
//LDA $9000,X
<$BD><$00><$90>
//STA $57
<$85><$57>
//LDA $9001,X
<$BD><$01><$90>
//STA $58
<$85><$58>
//RTS
<$60>

#JMP($3F3E5)
// update JSR to target new code
<$97><$FF>

#JMP($1D050, $2000F)
#HDR($14010)

#W16($1D038)
// monster list part 1, line 1 goes here
#W16($1D044)
// monster list part 2, line 1 goes here
#W16($1D03A)
// monster list part 1, line 2 goes here
#W16($1D046)
// monster list part 2, line 2 goes here

Plugging this information into my insert script is easy enough, but what would I do with the actual pointers to the monster list addresses in the rom? Does this insert script take care of that for me as long as I start the list segments in the locations you instructed?
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on January 19, 2019, 12:46:55 pm
Yup. When loading a segment of the monster list, the game start by reading a byte from $F3DE,Y that tells it which bank to load (via the high 3 bits) and which pointer to read from $8000,X (via the low 5 bits), so e.g. in the original ROM, a value of 0xD4/0b11010100 means to swap in bank 6 (110) and read the 20th 2-byte pointer (10100) from $8000, a.k.a. $06:$8028 or 0x18038. With this patch, I changed those first bytes to load bank 7 instead, which had plenty of free space, but since there was already plenty of stuff using bank 7's first page, I switched the monster list code to read from the unused space at $9000,X instead. After the bank and pointer addresses are sorted out, the pointer values themselves get set by the #W16 statements as usual.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on January 20, 2019, 10:37:26 am
Thank you for the explanation as always @abw. I am in the constant process of trying to learn how these things actually work so I can bother you.... slightly less. With your update to insert script for name lists, I have another question. For this section:

#W16($1D038)
// monster list part 1, line 1 goes here
#W16($1D044)
// monster list part 2, line 1 goes here
#W16($1D03A)
// monster list part 1, line 2 goes here
#W16($1D046)
// monster list part 2, line 2 goes here

The addresses you listed are all in a blank data area, but are very close together which means that I cant actually start the lists at that location. Am I supposed to replace these addresses in the insert script with any addresses that I use for the new monster list that I write into the hex editor? Do I have to adjust anything else in the insert script to correspond to these?

On second thought, is your intention that I actually write these monster lists directly into the insert script? That would be a new way of handling this. I'd love to see an example of what the list formatting would look like for the insert script.

Abrupt shift in topic:

Ok, so my massive overhaul of Dragon Quest: Delocalized Edition is complete for now. I've just submitted for publication (with the version date 1/20/18  :banghead:) but I already uploaded the patch to the first post of this thread. If anyone has been waiting to give it a try, now is the time. If anyone tried my hack and wasn't all that impressed with the writing, please try it again. The script is probably around 20 percent larger now, better written, and much more faithful to the Japanese version. Every single line was rewritten with zero adherence to the US localization this time. No compromises were made due to space. My friend Sparrow Dearden who has done paid translation work from Japanese to English has become my steadfast collaborator in translation and writing. Masafumi Sato was also very helpful as our native Japanese speaker to consult with. I started this project to redo the DQ1 script several weeks ago to bring it up to par with our work for DQ2 but I feel like we may have succeeded it. Please provide any feedback on errors or issues. The text gets rewritten as I do a full playthrough so I can have the best feel for what's going on in the game and test the changes on screen. That being said, I'm sure there is a small error or two that I overlooked.

I did update some minor things with graphics, including making the black dragon sprite better fit against the D in the title screen. (you may want to borrow this  minor edit Choppasmith) I've also eradicated those alien background tiles mentioned above and touched up several pixels with the 4 direction hero sprite.

Now to move on to updating some things with DQ2. No rewrite needed; only some continuity fixes based on my new edition of DQ1. I am super excited about doing away with my item and monster naming compromises per the instructions from abw!

(https://i.imgur.com/zcXJJdX.png)

(https://i.imgur.com/d20DX0w.png)
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Choppasmith on January 20, 2019, 12:26:04 pm
Thank you for the explanation as always @abw. I am in the constant process of trying to learn how these things actually work so I can bother you.... slightly less.

Ok, so my massive overhaul of Dragon Quest: Delocalized Edition is complete for now. I've just submitted for publication (with the version date 1/20/18  :banghead:) but I already uploaded the patch to the first post of this thread. If anyone has been waiting to give it a try, now is the time. If anyone tried my hack and wasn't all that impressed with the writing, please try it again. The script is probably around 20 percent larger now, better written, and much more faithful to the Japanese version. Every single line was rewritten with zero adherence to the US localization this time. No compromises were made due to space. My friend Sparrow Dearden who has done paid translation work from Japanese to English has become my steadfast collaborator in translation and writing. Masafumi Sato was also very helpful as our native Japanese speaker to consult with. I started this project to redo the DQ1 script several weeks ago to bring it up to par with our work for DQ2 but I feel like we may have succeeded it. Please provide any feedback on errors or issues. The text gets rewritten as I do a full playthrough so I can have the best feel for what's going on in the game and test the changes on screen. That being said, I'm sure there is a small error or two that I overlooked.

I did update some minor things with graphics, including making the black dragon sprite better fit against the D in the title screen. (you may want to borrow this  minor edit Choppasmith) I've also eradicated those alien background tiles mentioned above and touched up several pixels with the 4 direction hero sprite.

Now to move on to updating some things with DQ2. No rewrite needed; only some continuity fixes based on my new edition of DQ1. I am super excited about doing away with my item and monster naming compromises per the instructions from abw!

(https://i.imgur.com/zcXJJdX.png)

(https://i.imgur.com/d20DX0w.png)

That's looking realy good, man.  :thumbsup:

I just updated my hack hopefully for the last time in a while. I really need to get to my edited DW2 script. But if it something comes up, I'll give it a quick edit.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on January 20, 2019, 09:15:14 pm
On second thought, is your intention that I actually write these monster lists directly into the insert script? That would be a new way of handling this. I'd love to see an example of what the list formatting would look like for the insert script.
This. How are you currently inserting your updated lists? The formatting works the same for this as it does for the main script: take whatever text you want to insert, say where you want to insert it, what table file to use to translate the text to binary, stick in some pointer writes wherever they need to go, and if necessary, update the ROM -> RAM offset for pointer value calculations. The #JMP says where to insert the text, I forgot to mention the part about making sure you're using the right table file earlier (important detail :P), the #W16's take care of updating the pointers, and the #HDR says how the RAM address differs from the ROM address. So, putting that all together and adding in a little more explanation, you get a monster list insert script that looks like this:

Code: [Select]
// switch to the right table if your script isn't currently using this table
#VAR(Table, TABLE)
#ADDTBL("dw2.tbl", Table) // or whatever you named your table file
#ACTIVETBL(Table)

// start writing data to ROM 0x1D050 and throw an error if we try writing beyond 0x2000F
#JMP($1D050, $2000F)
// for ROM bank 7 loaded into RAM slot 0, RAM address = ROM address - $14010
#HDR($14010)

// write a pointer to the current address (i.e. 0x1D050 / $07:9040) to 0x1D038 / $07:$9028
#W16($1D038)
// monster list part 1, line 1:
Slime[end-FF]
Big[end-FF]
Iron[end-FF]
// etc., etc.

// write a pointer to the current address (i.e. the byte after wherever the previous list segment ended) to 0x1D044
#W16($1D044)
// monster list part 2, line 1:
Hibabango[end-FF]
Graboopi[end-FF]
Gold[end-FF]
// etc., etc.

// write a pointer to the current address (i.e. the byte after wherever the previous list segment ended) to 0x1D03A
#W16($1D03A)
// monster list part 1, line 2:
[end-FF]
Slug[end-FF]
Ant[end-FF]
// etc., etc.

// write a pointer to the current address (i.e. the byte after wherever the previous list segment ended) to 0x1D046
#W16($1D046)
// monster list part 2, line 2:
[end-FF]
[end-FF]
Orc[end-FF]
// etc., etc.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: svenge on January 20, 2019, 11:03:17 pm
I'm sorry if this was covered elsewhere, but I was wondering why the copyright symbol " © " on the title screen of DW1 was replaced by a frowny face?
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on January 21, 2019, 10:19:03 am
I'm sorry if this was covered elsewhere, but I was wondering why the copyright symbol " © " on the title screen of DW1 was replaced by a frowny face?

@svenge

Great observation. Like the person who noticed the foreign background tile graphics, this looks like another vestige of that graphic hack that was listed on rom sites as the legitimate version. I've been looking at it so long I hadn't questioned it. It's been fixed and I'll update the file on the first post of this thread.


January 21, 2019, 10:26:27 am - (Auto Merged - Double Posts are not allowed before 7 days.)
@abw

I took your formatting, attempted the insertion, and I'm getting error messages.

attempt to write beyond 131087 at C:\Rom Editing/abcde/Atlas.pm Line 470 <COMMAND_FILE> line 2380

attempt to write beyond 131087 at C:\Rom Editing/abcde/Atlas.pm Line 470 <COMMAND_FILE> line 2434

attempt to write beyond 131087 at C:\Rom Editing/abcde/Atlas.pm Line 470 <COMMAND_FILE> line 2492

There are about 8 more of these messages with the line up to 3107

I'm not sure what this means

Here are my files if you want to take a look:

https://www.dropbox.com/s/ysnvek2o1vwivcd/dw2_Atlas.txt?dl=0
https://www.dropbox.com/s/b1tow1cygj8pgwz/dw2_script.tbl?dl=0

FYI I chose [FF] as the end token after monster names for the insert file because that seemed to be the way it was formatted in the table file. If I did that wrong let me know.

And to answer your question, I've been managing all my item / monster / spell lists for the first three DQ games in a hex editor and recalculate my pointers manually. You should know by now I will always use stone age methods until forced to adopt better ones.  :laugh:

Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Tyrantnyx on January 21, 2019, 10:03:44 pm
You seem to have accidentally uploaded the Dragon Quest 2 Delocalized patch instead of the Dragon Quest 1 Delocalized 1.04 to the project page.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on January 21, 2019, 10:33:33 pm
You seem to have accidentally uploaded the Dragon Quest 2 Delocalized patch instead of the Dragon Quest 1 Delocalized 1.04 to the project page.

Thanks for the heads up Tyrantnyx. I've just submitted another update with the right file attached (hopefully)

The first page of this thread should have the correct patch if you want to grab it.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on January 21, 2019, 11:08:07 pm
I took your formatting, attempted the insertion, and I'm getting error messages.
Short answer: paste the monster list stuff after the main script, add the table file you were already using for the monster list (the one with 0A=a, 0B=b, etc.), and try it again.

Longer answer: as it stands, this script sets the insertion point to $14010 (start of the main script) but then doesn't insert anything there and instead changes the insertion point to $1D050 (start of the new monster list), inserts the monster list using the 5/10-bit table file for the main script instead of the 8-bit table for the monster list, and then after the monster list is finished, it keeps going and inserts the main script immediately afterwards, which eventually overflows the insertion upper bound of $2000F and triggers those warning messages.

And to answer your question, I've been managing all my item / monster / spell lists for the first three DQ games in a hex editor and recalculate my pointers manually. You should know by now I will always use stone age methods until forced to adopt better ones.  :laugh:
At least with the lists there are only a few pointers to update, but still :P.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on January 22, 2019, 03:05:32 am
Short answer: paste the monster list stuff after the main script, add the table file you were already using for the monster list (the one with 0A=a, 0B=b, etc.), and try it again.

Longer answer: as it stands, this script sets the insertion point to $14010 (start of the main script) but then doesn't insert anything there and instead changes the insertion point to $1D050 (start of the new monster list), inserts the monster list using the 5/10-bit table file for the main script instead of the 8-bit table for the monster list, and then after the monster list is finished, it keeps going and inserts the main script immediately afterwards, which eventually overflows the insertion upper bound of $2000F and triggers those warning messages.

Makes sense. Took care of this and I have a problem unfortunately. I received a satisfactory message that everything seemed to have inserted. Within the game, all the NPC text is back in order but there is an issue: the game is still pulling monster names from the old list in the original bank. I've tested and my naming updates to the monsters did not take effect.

Not much has changed with my insert file besides the reordering but this is the new one.

https://www.dropbox.com/s/thjl1pts2b9uhk9/dw2_Atlas.txt?dl=0
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on January 22, 2019, 06:58:28 pm
And by "the monster list stuff", I meant all the monster list stuff :P. Remember a few posts back where I explained how the game finds the monster list (http://www.romhacking.net/forum/index.php?topic=26951.msg369493#msg369493) and provided some code for altering that behaviour (http://www.romhacking.net/forum/index.php?topic=26951.msg369478#msg369478) to load the new list instead? Crazy as it may sound, you do actually need that code in order for the game to load your new list ;). Stick the rest of it (reproduced below for convenience) just before the "#JMP($1D050, $2000F)" and you should get better results.

Code: [Select]
#JMP($3F3EE)
// update monster list bank/address pointers
<$F4><$F5><$FA><$FB>

#JMP($3FFA7, $3FFC9)
// new code to read pointer from $9000,X instead of $8000,X
//PHA
<$48>
//LDA $05F6
<$AD><$F6><$05>
//STA $60D7
<$8D><$D7><$60>
//PLA
<$68>
//JSR $FF33
<$20><$33><$FF>
//LDA $9000,X
<$BD><$00><$90>
//STA $57
<$85><$57>
//LDA $9001,X
<$BD><$01><$90>
//STA $58
<$85><$58>
//RTS
<$60>

#JMP($3F3E5)
// update JSR to target new code
<$97><$FF>
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on January 22, 2019, 08:02:51 pm
@abw

(https://i.imgur.com/r0fIxSX.png)

I did that addition, went to test, and I'm getting totally garbled tiles from the enemy names now.

And as far as me missing that critical piece of information several posts back, well...
I just pray to Rubiss that your patience with me lasts until the first four games are complete :P

The new file

https://www.dropbox.com/s/thjl1pts2b9uhk9/dw2_Atlas.txt?dl=0
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on January 22, 2019, 09:34:04 pm
Ooh, fancy garbledness. It looks like it's one step closer to working, but the monster names are still being inserted with the the 5/10-bit table file for the main script instead of the 8-bit table for the monster list (the one with 0A=a, 0B=b, etc.). You'll need to add something like this in between the end of the main script and the start of the monster list:

Code: [Select]
// switch to the right table if your script isn't currently using this table
#VAR(nonScriptTBL, TABLE)
#ADDTBL("dw2.tbl", nonScriptTBL) // or whatever you named your table file
#ACTIVETBL(nonScriptTBL)

And as far as me missing that critical piece of information several posts back, well...
I just pray to Rubiss that your patience with me lasts until the first four games are complete :P
Heh, once you get the hang of the first one, the others should be much easier :P.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on January 22, 2019, 11:12:06 pm
@abw

I added the instructions for the table change. I also had the rare bit of sense to tweak the table file I was using to match the formatting of my monster list. And voila, all the expanded monster names are now working in the game. Thank you so much abw. These projects of mine would be excrement without your help. This exercise has definitely helped me get a clearer sense of the structure of how insertion file instructions work. That doesn't mean I won't be asking stupid questions the next time around. But it might be several less of them!  :beer:

@Everyone

At this point I'm going to be expanding the item names in DQ2 to their uncompromised forms with my newly acquired space, and then spending time over the next few weeks with Sparrow Dearden and Masafumi Sato (we've named our little group "Translation Quest"  :happy: ) continuing to refine namings and other miscellanous text for DQ2. While we did a great job following x_loto's blueprint document previously for all the NPC and story related text as a rough base to work from and refine, he didn't catalogue battle and out of battle miscellaneous text like he did for DQ1 so I plan on doing a playthrough in the japanese game to capture all that myself so I can represent it accurately for a really nice update.

On that note, if anyone knows of a place I can get save states or .sav files for the Japanese Dragon Quest game I would appreciate it so I don't have to slog all the way through the Cave to Rondarkia (Rhone) just to learn the text when you shoot lighting from the lightning sword.

Wasn't I saying I was going to take a little rest from this stuff after my big DQ1 update? Oh well.. perfectionism is never satisfied.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on January 23, 2019, 07:39:50 pm
I added the instructions for the table change. I also had the rare bit of sense to tweak the table file I was using to match the formatting of my monster list. And voila, all the expanded monster names are now working in the game. Thank you so much abw. These projects of mine would be excrement without your help. This exercise has definitely helped me get a clearer sense of the structure of how insertion file instructions work. That doesn't mean I won't be asking stupid questions the next time around. But it might be several less of them!  :beer:
Huzzah! If you want to test your grasp of the setup, try incorporating the item and spell lists into your insert script. If you want to get more ambitious, it is entirely possible to have each and every text change in your insert script!

(we've named our little group "Translation Quest"  :happy: )
:D

While we did a great job following x_loto's blueprint document previously for all the NPC and story related text as a rough base to work from and refine, he didn't catalogue battle and out of battle miscellaneous text like he did for DQ1 so I plan on doing a playthrough in the japanese game to capture all that myself so I can represent it accurately for a really nice update.

On that note, if anyone knows of a place I can get save states or .sav files for the Japanese Dragon Quest game I would appreciate it so I don't have to slog all the way through the Cave to Rondarkia (Rhone) just to learn the text when you shoot lighting from the lightning sword.
You may also be interested in dumping the text directly from the Japanese ROM. Based on a quick peek, it looks like the text is stored using a single 8-bit table, so you should be able to read it fairly easily (if you decide to pursue this option, the dictionary for the 8D to EB table entries is stored at 0x18C4E - 0x18E13). It's not quite the same as actually seeing the text on-screen, but you might find it useful for a variety of things.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: KingMike on January 24, 2019, 01:01:12 am
On that note, if anyone knows of a place I can get save states or .sav files for the Japanese Dragon Quest game I would appreciate it so I don't have to slog all the way through the Cave to Rondarkia (Rhone) just to learn the text when you shoot lighting from the lightning sword.
Dragon Quest 1 and 2 for Famicom are password-save games. (DQ3 was the first RAM-save DQ game)
Meaning, they'd need to give you a password (which would be in kana) or an emulator-specific savestate.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on January 24, 2019, 01:34:25 pm
Huzzah! If you want to test your grasp of the setup, try incorporating the item and spell lists into your insert script. If you want to get more ambitious, it is entirely possible to have each and every text change in your insert script!
:D
Let's take back the word grasp. Far too strong of a word at this point. There is painfully more I don't grasp then I do grasp, and that's after my going back through our threads this morning plus rereading the abcde documentation as well as the atlas documentation. Here's what I do grasp (at least I think)

#w16 commands automatically update the 16 bit pointer listed after the command

#VAR(Table, TABLE)
#ADDTBL("dw2.tbl", Table)
#ACTIVETBL(Table)

I'm a little unclear on the purpose of the #VAR part but I I understand that this sequence loads and activates the specified table file and I understand why I needed to switch the table file based on the bit compression schedule for the main text body.

When I said things were becoming clearer, I was really talking about the order of what commands should go where based on the flow of the operations. Obvious to most people but not to this programming impaired brain of mine.

#HDR($14010)

I'm not sure why the values of this header command keep changing. For my main script insert the HDR value is $C010. Shouldn't the HDR consistently be $10 to account for the actual header? Is this being used to swap rom banks somehow?

* EDIT Going back over previous posts, I see that you provided some explanation how to compute this number (i.e. 0x1D050 / $07:9040) to 0x1D038 / $07:$9028). I still don't understand what's going on with those numbers but I see that we are using the HDR to change rom banks. I think I need to better understand how to verify where rom banks start and end and what's all going into this HDR number

#JMP($3F3EE)
// update monster list bank/address pointers
<$F4><$F5><$FA><$FB>

I see that the game overwrote the data starting at this address with those following bytes. These look like new pointers that you are using instead of the ones that were stored above the original monster list. Is this because the pointers must be in the same rom bank as the new list address?

Code: [Select]
#JMP($3FFA7, $3FFC9)
// new code to read pointer from $9000,X instead of $8000,X
//PHA
<$48>
//LDA $05F6
<$AD><$F6><$05>
//STA $60D7
<$8D><$D7><$60>
//PLA
<$68>
//JSR $FF33
<$20><$33><$FF>
//LDA $9000,X
<$BD><$00><$90>
//STA $57
<$85><$57>
//LDA $9001,X
<$BD><$01><$90>
//STA $58
<$85><$58>
//RTS
<$60>

#JMP($3F3E5)
// update JSR to target new code
<$97><$FF>

Is this stuff essentially rewritten code instructions telling the game where to access the new pointers you created above? You are suggesting I do this all on my own but dealing with this aspect of it seems far beyond my grasp at this point.

*EDIT

I just realized I don't need to create new code, new pointers, etc. I can just have abcde update the existing pointers based on the existing list locations since I have room to expand. I think I might be able to figure that out!

Out of mostly curiosity, I pulled up the rom data in a hex editor and I saw a ton of miscellaneous code appearing immediately after my new monster list that ends at appx 0x01D3E6. I immediately became concerned about pushing up against a block of code when I thought I had previously seen lots of free space. A backup rom where I did not insert the new monster list continues to have free space in that large empty section all the way until 0x01FFE8. Going back to my rom with the new monster list added, that entire section of space is completely full of data. What other information would those instructions have written? And what happens if I increase the size of my monster list and overwrite this new data that has appeared. I'm a little puzzled. I can send you files if you want to see it.

#JMP($1D050, $2000F)
#HDR($14010)

I see my new monster list is exactly in the location of $1D050. I believe that $2000 is the limit on how far the insert script will write the script as to not spill over into other code and also provide me that characters left indication.

In summary:

This really isn't easy for me. I'd never say no to you wanting to be my project partner rather than my professor, but the problem is you also love translation and I thus have nothing to contribute to the partnership... Alas, your terrible student shall soldier onward!

As far as your other point:

Quote
You may also be interested in dumping the text directly from the Japanese ROM. Based on a quick peek, it looks like the text is stored using a single 8-bit table, so you should be able to read it fairly easily (if you decide to pursue this option, the dictionary for the 8D to EB table entries is stored at 0x18C4E - 0x18E13). It's not quite the same as actually seeing the text on-screen, but you might find it useful for a variety of things.

This is a great idea and I thought about how helpful this would be, especially since x_loto never did a translation of Dragon Quest IV and my translation team has just begun to discuss actually taking that on. This would probably be the ideal way to do it rather than me taking ten thousand screenshots. However, I think it's best for me to take on one activity that puts my brain in a state of agony at a time. Once I understand enough to get my insert script managing my item names, I'll start thinking about extracting the kana scripts

@King Mike

Quote
Dragon Quest 1 and 2 for Famicom are password-save games. (DQ3 was the first RAM-save DQ game)
Meaning, they'd need to give you a password (which would be in kana) or an emulator-specific savestate.

I'm not sure how little sleep I had or how much I was drinking when making that comment, but I actually have played through the famicom versions of all the DQ games and I know that there are passwords for the first two games.

In fact, you jogged my memory on where I can probably get some. Thank you.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on January 24, 2019, 10:15:49 pm
Let's take back the word grasp. Far too strong of a word at this point.
Well, let's see if I can help with that a little bit...

#VAR(Table, TABLE)
#ADDTBL("dw2.tbl", Table)
#ACTIVETBL(Table)
Basically #VAR just declares a new variable, giving it a name and a type, so that you can initialize it later on, sort of like saying "hey, this here word 'foo', it's going to be a TABLE variable". #VAR is probably kind of useless (we can infer the variable's type by its initialization method), but it was part of Atlas so you'll have to take that one up with Klarth :P.

#ADDTBL reads your table file from disk and checks it for e.g. syntax errors etc., and the #ACTIVETBL makes it the table to start from when translating text to binary. You only need to use #VAR and #ADDTBL once per table file, but you can switch back and forth between which table to use as many times as you want. E.g. for DW2, if you wanted to insert the item list, then the main script, then the monster list, you could do both #VARs and #ADDTBLs right at the start and then do #ACTIVETBL(nonScriptTBL) + item list, #ACTIVETBL(Table) + main script, and #ACTIVETBL(nonScriptTBL) + monster list. It gives you some flexibility in how you you organize your insert script.

* EDIT Going back over previous posts, I see that you provided some explanation how to compute this number (i.e. 0x1D050 / $07:9040) to 0x1D038 / $07:$9028). I still don't understand what's going on with those numbers but I see that we are using the HDR to change rom banks. I think I need to better understand how to verify where rom banks start and end and what's all going into this HDR number
#JMP says where to start writing data in the ROM, with an optional upper bound to prevent overwriting stuff you don't want to clobber if you aren't sure your new data will fit within the original space. Having an upper bound is almost always a good idea, but sometimes I'm lazy and don't bother specifying one.

The various pointer writing commands (there's a bunch of them, but #W16 is pretty useful for NES games) all take whatever ROM file address the insertion process is currently at, do some math on it to convert it from a ROM address to a RAM address, then write that RAM address to the ROM address you tell it to. For some systems that math is really easy (e.g. RAM address = ROM address), but for NES games, that math gets complicated by the cartridge's memory mapper. If you look at Atlas' documentation, I think the "correct" way to handle that is to set #HDR to the real size of the ROM file's header, create different custom pointers with #CREATEPTR based on which ROM bank you're inserting into and which RAM bank that ROM bank gets loaded into when the game is running, and then use those custom pointers to write the pointer values, but again, I'm lazy. With the default setting of linear addressing, pointer values are calculated as RAM address = ROM address - header size, or flipping it aroung, header size = ROM address - RAM address. So, by tweaking the #HDR value appropriately, you can get the right RAM addresses. As an example, when we insert the monster list starting at ROM 0x1D050, that's going to appear in RAM as $9040 (we know this because DW2 uses a $4000 RAM bank size [and we know that because FCEUX tells us the mapper number in its Message Log and we can look up mapper #1 on nesdev (http://wiki.nesdev.com/w/index.php/INES_Mapper_001)] and everything except the fixed PRG ROM bank gets loaded into RAM at $8000 - $BFFF, so the RAM address is $8000 + (ROM address - $10 iNes header) modulo $4000 RAM bank size), so $1D050 - $9040 = $14010. On the other hand, the main script gets inserted starting at ROM 0x14010, but it appears in RAM starting at $8000, so the difference between ROM and RAM addresses is $14010 - $8000 = $C010, and that's the fake header value we use to make the math work.

Or in other words, the real iNes header is still $10 bytes long, but we can cheat with the math and pretend there's a different header size instead so that we get the right pointer values.

#JMP($3F3EE)
// update monster list bank/address pointers
<$F4><$F5><$FA><$FB>
That was to update the pointers to the pointers to the monster list to have the game load the new bank instead of the old bank. Pointers don't necessarily have to live in the same bank as the data they point to, but in this case the game code assumes the pointers and the data are in the same bank, so it was less work to let the game keep assuming that than to add new code to swap in a different bank after reading the pointers.

Is this stuff essentially rewritten code instructions telling the game where to access the new pointers you created above? You are suggesting I do this all on my own but dealing with this aspect of it seems far beyond my grasp at this point.
Yes to the first part. For larger chunks of code, you'll want to use an assembler rather than a text insertion utility, but for a small section like this where I was really only changing one byte, inserting the code as a sequence of text bytes is only a slightly horrible abuse of semantics :P. For the second part, I didn't want to muddy the waters with a tutorial on ASM, but you can definitely work your way up to that later as and when you find you need or want to make changes that can't be made by changing text; one thing at a time!

I just realized I don't need to create new code, new pointers, etc. I can just have abcde update the existing pointers based on the existing list locations since I have room to expand. I think I might be able to figure that out!
That's right - you'll need to know where the existing pointers are (e.g. the spell list pointer is at 0x18036) and then stick a #W16 statement with that pointer address just before the data you want the pointer to point to. You'll also need to make sure you've got the right #HDR value in effect before the #W16 statement happens.

Out of mostly curiosity, I pulled up the rom data in a hex editor and I saw a ton of miscellaneous code appearing immediately after my new monster list that ends at appx 0x01D3E6.
Are you starting every insert with a clean ROM, or are you inserting new stuff on top of old stuff? Remember that time when you inserted the entire main script after the monster list and filled the whole ROM bank (http://www.romhacking.net/forum/index.php?topic=26951.msg369597#msg369597)? If you're inserting new stuff on top of old stuff, all that main script data will still be there instead of empty space.

This really isn't easy for me. I'd never say no to you wanting to be my project partner rather than my professor, but the problem is you also love translation and I thus have nothing to contribute to the partnership... Alas, your terrible student shall soldier onward!
If it was easy, everybody would do it :P. Like many things in life, this will get easier with practice :).

This is a great idea and I thought about how helpful this would be, [...]
Oh, I should have remembered to check the wiki (https://datacrystal.romhacking.net/wiki/Dragon_Warrior_II:TBL#Dragon_Quest) before reverse-engineering the encoding myself. If/when you want to dump the Japanese text, you should check the wiki too. "Do as I say, not as I do" :P.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on January 27, 2019, 10:29:19 pm
@abw,

I am pleased to report that after many, many re-readings of your explanations--particularly with the HDR and rom bank concepts, I have successfully set up the item lists to be managed by the insert file. It seems almost simple to me now, but the "modulo" operation you described where the ram address starts at and resets to $8000 after every additional $4000 was the most mystifying. But I got it. Thank you for your patience. Up until now I've been so focused on achieving the next success in the project that I haven't been sufficiently prioritizing learning what's going on on a technical level. It's time for me to make that the greater portion of my role. This leads me to my next statement.

@everyone

nejimakipiyo has recently joined this site and made an introduction in the newbie forum. She is actually the person I've referred to as Sparrow who I was lucky enough to meet in a Facebook group of Dragon Quest fans. I can't overstate how enthusiastic, committed and resourceful nejimakipiyo has been as a collaborator in translation. Most of the recent improvements in these projects have been a direct result of her involvement.

I've asked if she would be willing to take the lead role on translation and writing going forward so I can shift to prioritizing learning the technical stuff and I am delighted that she accepted. Trust me--she is better than I am and knows Japanese which is pretty important.

We will be putting out some fresh updates based on our continued refinement of DQ1 and DQ2 and are truly excited to get moving with DQ3 in the near future.

FYI, nejimakipiyo is not only a big Dragon Quest fan but she has a deep love of the Arc the Lad series and a particular passion for translating the Wonderswan game Arc the Lad Kishin Fukkatsu. I intend to eventually try to help with the technical side of that project, but if a more talented hacker likes the idea of taking that on by all means, reach out. Just as these Dragon Quest projects are my dream, that Arc the Lad project is hers. If anyone is interested in checking out her work (not in games up until now) see the web sites below.

I look forward to seeing you on the forums nejimakipiyo.   :woot!:

http://demonpassion.yolasite.com

http://ajisai-translations.tokyo

Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: nejimakipiyo on January 28, 2019, 08:08:20 pm
Hello Chicken Knife and everyone!

I'm super stoked to be part of this project. The actual hacking stuff is way over my head, so I'll probably be pestering people for help when it comes to inserting my translations into game script, at least until I get the hang of translating in this kind of format! I feel like I'm going to learn a lot here and also have a lot of fun. Refining translations with Chicken Knife has been extremely fun so far. :D
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on January 28, 2019, 10:11:10 pm
I am pleased to report that after many, many re-readings of your explanations--particularly with the HDR and rom bank concepts, I have successfully set up the item lists to be managed by the insert file.
Congratulations! :woot!:

It seems almost simple to me now, but the "modulo" operation you described where the ram address starts at and resets to $8000 after every additional $4000 was the most mystifying. But I got it. Thank you for your patience. Up until now I've been so focused on achieving the next success in the project that I haven't been sufficiently prioritizing learning what's going on on a technical level. It's time for me to make that the greater portion of my role.
I foresee a lot more reading in your future :P. It'll take some time and effort, but the documents section and sites like nesdev will eventually get you pretty much everything you need to know about what's really happening, and combining that knowledge with experience will vastly increase your powers. +10 levels minimum ;). Achieving the next success in a project can be a good motivator in many ways; it gives you a definite goal to work towards, a certain measure of focus (depending on the goal, of course), and a feeling of accomplishment when you achieve the goal. Just remember to keep it fun - it's sad when your hobbies turn in to chores.

nejimakipiyo
Speaking of fun, isn't it great to have friends? :)

@nejimakipiyo, welcome! After looking through the sites Chicken Knife linked to, I was half convinced you were one of my offline friends in disguise :P.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: nejimakipiyo on January 29, 2019, 01:10:58 pm
@nejimakipiyo, welcome! After looking through the sites Chicken Knife linked to, I was half convinced you were one of my offline friends in disguise :P.

Thanks! If you have an offline friend who is interested in Japanese indie band translations they sound like my kind of person indeed. :P

That hobby has given me skills and experience which lend themselves rather nicely to Chicken Knife's project (mainly, searching up Japanese monster names on Japanese wikis and rooting out obscure references) but nothing could have prepared me for seeing the game script file for the first time. Yikes! That's so intimidating! But I'm committed now so you'll all hopefully be able to put up with me until I figure it out. :P
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on January 29, 2019, 11:25:04 pm
@abw

You may also be interested in dumping the text directly from the Japanese ROM. Based on a quick peek, it looks like the text is stored using a single 8-bit table, so you should be able to read it fairly easily (if you decide to pursue this option, the dictionary for the 8D to EB table entries is stored at 0x18C4E - 0x18E13). It's not quite the same as actually seeing the text on-screen, but you might find it useful for a variety of things.
I'm looking at the Japanese DQ2 extraction seriously now and working on setting up a cartographer file. I used the info on http://datacrystal.romhacking.net/wiki/Dragon_Warrior_II:TBL (http://datacrystal.romhacking.net/wiki/Dragon_Warrior_II:TBL) for the table file, which I know I need to organize with the end tokens before it will be effective. The only thing I can't seem to find here or under rom information is the script pointer table that I have to reference in the cartographer file. Any recommendations on how to locate that? I know the last pointer probably has a different string # but I'm not too concerned as long as abcde will spit out the majority of the text. Most if not all of the battle and miscellaneous text we need would be in the earlier strings.

* EDIT

As I think about this, I'm probably going to have to locate them manually by searching the address bytes for the beginning of the script strings. This is complicated a bit by the fact I can't get WindHex32 to properly display the Japanese characters. That said, I could just figure out the first one based on the script start address in ROM information and assume there are exactly as many pointers in a row as in the US version.

@nejimakipiyo

Quote
but nothing could have prepared me for seeing the game script file for the first time. Yikes! That's so intimidating!
:laugh: Don't worry we will help you learn what little bit of the gobbledygook you really need to understand, what can be moved around--and what cannot (hint--most of it!)
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on January 30, 2019, 06:17:35 pm
Thanks! If you have an offline friend who is interested in Japanese indie band translations they sound like my kind of person indeed. :P
Not only that, she also studied Biology at a Canadian university!

The only thing I can't seem to find here or under rom information is the script pointer table that I have to reference in the cartographer file. Any recommendations on how to locate that? I know the last pointer probably has a different string # but I'm not too concerned as long as abcde will spit out the majority of the text. Most if not all of the battle and miscellaneous text we need would be in the earlier strings.
If you spend some time going throuh a trace log, you can track a string back to its source and then keep going further back to find the pointer to that string. Since I already did that while making my own table file earlier, try looking at 0x14014 - 0x14021; based on the pointer values, it looks like DQ2 uses 64 strings per pointer (but the individual strings are 1 byte per character and so short that it's still faster than reading through 16 English strings), and based on me tracking down a couple of random strings, the Japanese strings are not stored in the same order as the English strings.

This is complicated a bit by the fact I can't get WindHex32 to properly display the Japanese characters.
If you save your table file in Shift-JIS instead of UTF-8 and then select the Option -> View Text Data as Unicode (Ctrl+D) menu option, you should get Japanese characters showing up correctly. Just remember that abcde still expects its table files to be encoded in UTF-8!

@nejimakipiyo
but nothing could have prepared me for seeing the game script file for the first time. Yikes! That's so intimidating!
:laugh: Don't worry we will help you learn what little bit of the gobbledygook you really need to understand, what can be moved around--and what cannot (hint--most of it!)
Or at least what can be moved around without much work. Technically almost everything in both the insert script file and the ROM itself can be moved, it's just that when you move one thing, you also need to update every single other thing that was expecting to find the first thing in its original location without breaking anything else, and doing that can sometimes be a royal pain.

As for intimidating... there are plenty of games that are both smaller and simpler to work with than DW2, so we're not exactly swimming in the shallowest end of the ROM hacking pool, but the deep end goes much, much deeper than this >:D.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: nejimakipiyo on January 30, 2019, 06:34:28 pm
I enjoy my life far too much to get bogged down in all of the technical stuff that's over my head. :P
I'll learn what I have to so that I can insert the translations without bugging everything up but my intent is to stick to the words... and the research behind those obscure monster names.
We just defeated all of the monsters from the Roto trilogy!
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on January 31, 2019, 07:21:23 am
@abw

Quote
Since I already did that while making my own table file earlier, try looking at 0x14014 - 0x14021; based on the pointer values, it looks like DQ2 uses 64 strings per pointer (but the individual strings are 1 byte per character and so short that it's still faster than reading through 16 English strings), and based on me tracking down a couple of random strings, the Japanese strings are not stored in the same order as the English strings.
My Japanese script extraction was successful. The only problem is that most of it came out in massive blocks of kana text. However, there were a ton of separated lines in the middle of the extract file and I'm going to guess that once nejimakipiyo takes a look at them they will turn out to be the battle and miscellaneous text that we need. Therefore we can probably ignore the lack of proper spacing for now but I will have to root out that issue when we do a real translation straight from the script dump. Thank you for the tips on getting the kana to show up properly in WindHex32. I didn't bother with that for now but I will probably need to use that in the future.

Quote
If you spend some time going through a trace log, you can track a string back to its source and then keep going further back to find the pointer to that string.
Figuring out this trace log process is probably the next thing I really need to learn in order to be effective in my role. I imagine this will not only help me with finding pointers and such but will also enable me to do more of the things I want with manipulating palette and tile assignments. Rather than ask you to type up a massive tutorial, let me try to read the documentation for FCEUX again and see what I can glean. There doesn't seem to be a lot out there to guide me through this process. A video or two exists on youtube but they are extremely introductory to the point of being little value. Once I spend some time reading, I'm sure I'll be returning to you with a list of questions on foggy concepts.

@nejimakipiyo

We really did do a hell of a job, mostly due to your research. The upcoming DQ3 item and monster names sound phenomenal and I'd say they are far more accurate and informed than any English translations we've seen. Can't wait to unleash them onto the world!

@everyone

Look out for an update to DQ1 Delocalized that I submitted last night. It includes a correction of a single typo found by my dedicated playtester. More significantly we also reconfigured several of the monster names. We've looked at all the wizard type enemies between DQ 1, 2 and 3 as a whole and tried to figure out which names were best for each monster from a translation standpoint. We also thought about making sure item and class names match up to the respective monster name when the Japanese word is shared between the two (ie Wizard's Wand will now be Sorcerer's Staff because it shares the same word with the tier 2 DQ1 wizard-type.) One caveat: while Horii opted to infrequently introduce a new monster with the same name as one of his prior monsters, we've opted to choose variant translations that capture the same meaning and provide each monster with a unique name.

The new progression in DQ1 is Wizard, Sorcerer and Grand Wizard. DQ2's will be Magus, Shaman and Warlock. DQ3's will be Magician, Evil Mage and Archmage.

Also, I think we have come up with a great translation of the Japanese enemy named Meda (Druin/Lunatick). The Japanese name is the word for Eyeball with the end of the word chopped off. We present our translation: "Eyeba." The GBC name Eyeber came close but ours comes closer still. It also has the alien kind of sound we were looking for. This is an example of the benefit that nejimakipiyo is bringing to this project--I was going to leave it "Meda" simply not knowing what to do with it.

I've linked to the new patch and updated release notes on the first post of this thread.   
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on February 20, 2019, 07:56:32 am
@abw

We came across a text problem in DQ1 that is inherent to all versions of the game and I wanted to ask your advice on a potential fix.

Here is the problem: when you try to open a treasure chest containing an herb and you already have the max 6 herbs, the text produced indicates that the chest is empty. It's the exact same text that would produce if you tried to open an actually empty chest like the one where you obtain the Stone of Sunlight. However, if you are attempting to collect a non stackable inventory item like Torch but your inventory is full, the game will ask you if you want to throw something else out.

Our issue here is the false report that a chest containing herbs is empty. In fact, the text that should be produced is already in the game: the same message the item dealer tells you when you attempt to buy a 7th herb--something along the lines of having too many.

I haven't ever made an attempt at redirecting PRG instructions to a different line of text. I obviously can't just change the line of text because that would mess up the actual empty chests. Would this be something we could do?
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on February 20, 2019, 08:00:16 pm
This appears to be a pretty easy fix, actually. Want to give it a try it on your own? I'll give you some hints, choose for yourself how many to read:

Spoiler:
Start with what you know - the text "Unfortunately, it is empty." gets displayed on screen when you open a treasure chest that contains an herb while you're already carrying the maximum number of herbs.

Spoiler:
You also know that string is in the block of strings starting at RAM $AA2E, and the pointer to that block is at RAM $801C.

Spoiler:
The game has to somehow decide to display that string before it can display it.

Spoiler:
The Trace Logger tells all!

Spoiler:
Setting a read breakpoint on $801C and then opening an herb chest with 6 in your inventory causes the debugger to snap here:
Code: [Select]
                $FCF1:A5 31     LDA $0031 = #$0E                             A:00 X:9F Y:02 S:EF P:nvUBdIZc
                $FCF3:0A        ASL                                          A:0E X:9F Y:02 S:EF P:nvUBdIzc
                $FCF4:AA        TAX                                          A:1C X:9F Y:02 S:EF P:nvUBdIzc
                $FCF5:BD 00 80  LDA $8000,X @ $801C = #$2E                   A:1C X:1C Y:02 S:EF P:nvUBdIzc

Spoiler:
Searching backwards in the trace log for $0031 shows that the pointer table index is derived from $0037:
Code: [Select]
        $FCD5:A5 37     LDA $0037 = #$DA                             A:4C X:00 Y:02 S:F7 P:nvUBdIZc
        $FCD7:28        PLP                                          A:DA X:00 Y:02 S:F7 P:NvUBdIzc
       $FCD8:20 30 00  JSR $0030                                    A:DA X:00 Y:02 S:F8 P:nvUBdIZC
         $0030:4C 1D B5  JMP $B51D                                    A:DA X:00 Y:02 S:F6 P:nvUBdIZC
         $B51D:20 32 B5  JSR $B532                                    A:DA X:00 Y:02 S:F6 P:nvUBdIZC
           $B532:85 1A     STA $001A = #$00                             A:DA X:00 Y:02 S:F4 P:nvUBdIZC
           $B534:29 F0     AND #$F0                                     A:DA X:00 Y:02 S:F4 P:nvUBdIZC
           $B536:4A        LSR                                          A:D0 X:00 Y:02 S:F4 P:NvUBdIzC
           $B537:4A        LSR                                          A:68 X:00 Y:02 S:F4 P:nvUBdIzc
           $B538:4A        LSR                                          A:34 X:00 Y:02 S:F4 P:nvUBdIzc
           $B539:4A        LSR                                          A:1A X:00 Y:02 S:F4 P:nvUBdIzc
           $B53A:85 1B     STA $001B = #$00                             A:0D X:00 Y:02 S:F4 P:nvUBdIzc
           $B53C:8A        TXA                                          A:0D X:00 Y:02 S:F4 P:nvUBdIzc
           $B53D:0A        ASL                                          A:00 X:00 Y:02 S:F4 P:nvUBdIZc
           $B53E:0A        ASL                                          A:00 X:00 Y:02 S:F4 P:nvUBdIZc
           $B53F:0A        ASL                                          A:00 X:00 Y:02 S:F4 P:nvUBdIZc
           $B540:0A        ASL                                          A:00 X:00 Y:02 S:F4 P:nvUBdIZc
           $B541:65 1B     ADC $001B = #$0D                             A:00 X:00 Y:02 S:F4 P:nvUBdIZc
           $B543:18        CLC                                          A:0D X:00 Y:02 S:F4 P:nvUBdIzc
           $B544:69 01     ADC #$01                                     A:0D X:00 Y:02 S:F4 P:nvUBdIzc
           $B546:85 31     STA $0031 = #$1D                             A:0E X:00 Y:02 S:F4 P:nvUBdIzc

Spoiler:
Searching further backwards in the trace log shows where $0037 get set:
Code: [Select]
        $FD3F:85 37     STA $0037 = #$00                             A:DA X:00 Y:02 S:F7 P:nVUBdIzC

Spoiler:
And a little further back is where A gets set:
Code: [Select]
    $C7E4:A5 3C     LDA $003C = #$DA                             A:00 X:00 Y:02 S:FB P:nvUBdIZC

Spoiler:
And if you keep going, you'll find out where $003C's value comes from:
Code: [Select]
  $E233:A9 DA     LDA #$DA                                     A:FA X:00 Y:02 S:FD P:nvUBdIZC
  $E235:4C 42 D2  JMP $D242                                    A:DA X:00 Y:02 S:FD P:NvUBdIzC
  $D242:20 BD C7  JSR $C7BD                                    A:DA X:00 Y:02 S:FD P:NvUBdIzC
    $C7BD:85 3C     STA $003C = #$0E                             A:DA X:00 Y:02 S:FB P:NvUBdIzC

Spoiler:
So, if you change 0xE244 to the index of the string you want to use, you'll get different text when you open that herb chest; if you don't want to use any of the existing strings, you can probably cannibalize one of the 3 empty strings ($96, $C2, $DD) to use for your new string.

Spoiler:
Bonus: if you check the rest of the code around this area, you'll notice that $E230 also gets executed when you open a chest containing a Magic Key but already have 6 keys, so whatever string you use for herb chests will also get used for key chests; on the other hand, there are no key chests in the game that you can open while holding 6 keys, so that's really only relevant if you're going to combine the script update with e.g. a map hack.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: AdamDravian on February 22, 2019, 02:32:16 pm
I've been following this project for a while and really like what you're doing. I feel the exact same way about Dragon Quest's localization (well, almost--I prefer Loto to Roto, heh.).

I've played the first three games in the series, but I've been holding off on playing DQIV until you give that your treatment. Thanks a lot for doing this.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on February 23, 2019, 09:30:48 am
@abw,

Thanks for the help. I like your approach with the spoilers as to not give me the answer right away. This seems like a nice and small first task with FCEUX's debugging tools. Here's the problem. For your fifth hint, I went into FCEUX's hex editor RAM section, went to $801C and set a read breakpoint. I noticed something was amiss however because the whole section of data starting at $8000 in the RAM goes through a changing cycle every few seconds which makes me think it has something to do with the game's overall timing. When I placed the read breakpoint for $801C regardless, it gave me this data

>03:FF78:A5 02     LDA $0002 = #$01
 03:FF7A:D0 FC     BNE $FF78
 03:FF7C:60        RTS ------------

There must be something I'm fundamentally not understanding here..

@AdamDravian, thank you for the support! Just so you know, the version of 3 I have here is extremely preliminary with only some updates to item/monster/spell namings and graphics. We are working now on the actual retranslation and you can expect a huge update in the next couple months hopefully with all the text revised plus further updates to items/names/monsters/etc.

@Everyone

Nejimakipiyo and I have been working very hard recently on a major update to the first two games and all future releases where we are moving away from the pure Japanese spell names. Earlier on in the project, I was convinced that the Japanese names had no meaning whatsoever and that simply reproducing them in this hack would be the most authentic approach. Nejimakipiyo had noticed months ago that a minority of the names had components of words that conveyed meaning but it didn't seem like enough of them to rethink the approach to our project. Now after weeks of continuous research, especially through use of Japanese wiki sites, we have determined that a large majority of the Japanese spell names actually do have meaning or create sound or visual impressions to a Japanese native speaker. After thinking this through and listening to the feedback of a majority of people who have been turned off by our use of meaningless Japanese spell names, we have decided to create a new English system. This new system strives to utilize basewords that carry meaning but to use the same kinds of suffixes (or occaisionally prefixes) that are used in the Japanese names themselves. This is kind of like the contemporary Final Fantasy system but with variation of the suffixes between the spell families.

Two examples:

New Name     Japanese name   Original English

Blaze              Mera                 Blaze
Blazami          Merami             Blazemore
Blazoma         Merazoma         Blazemost

Flare             Gira                   Hurt/Firebal
Flarama         Begirama           Firebane
Flaragon        Begiragon           Firevolt

For Mera family, Blaze was a fine translation and we are happy to keep some connection to the original US namings when they are accurate.
For the Gira family, none of the prior English versions have conveyed the actual meaning of the Japanese base word Giragira which is a reaction to bright light. Flare seems ideal because it refers to a flash of light and also corresponds well to the burning effect of the spell.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: AdamDravian on February 23, 2019, 10:20:50 am
Nejimakipiyo and I have been working very hard recently on a major update to the first two games and all future releases where we are moving away from the pure Japanese spell names. Earlier on in the project, I was convinced that the Japanese names had no meaning whatsoever and that simply reproducing them in this hack would be the most authentic approach. Nejimakipiyo had noticed months ago that a minority of the names had components of words that conveyed meaning but it didn't seem like enough of them to rethink the approach to our project. Now after weeks of continuous research, especially through use of Japanese wiki sites, we have determined that a large majority of the Japanese spell names actually do have meaning or create sound or visual impressions to a Japanese native speaker. After thinking this through and listening to the feedback of a majority of people who have been turned off by our use of meaningless Japanese spell names, we have decided to create a new English system. This new system strives to utilize basewords that carry meaning but to use the same kinds of suffixes (or occaisionally prefixes) that are used in the Japanese names themselves. This is kind of like the contemporary Final Fantasy system but with variation of the suffixes between the spell families.

Two examples:

New Name     Japanese name   Original English

Blaze              Mera                 Blaze
Blazami          Merami             Blazemore
Blazoma         Merazoma         Blazemost

Flare             Gira                   Hurt/Firebal
Flarama         Begirama           Firebane
Flaragon        Begiragon           Firevolt

For Mera family, Blaze was a fine translation and we are happy to keep some connection to the original US namings when they are accurate.
For the Gira family, none of the prior English versions have conveyed the actual meaning of the Japanese base word Giragira which is a reaction to bright light. Flare seems ideal because it refers to a flash of light and also corresponds well to the burning effect of the spell.

Nice. I really like this approach. I'm curious to know what you're going to do with Hoimi, since that's a really iconic word in Japan and it already sounds a bit like Heal.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: nejimakipiyo on February 23, 2019, 12:12:02 pm
Hello @AdamDravian!

Hoimi was a difficult one. Because the word "Hoimi" itself has no meaning and was just chosen for the sound and impression it conveys, I really wanted to preserve it as well. After all, this would be a reflection of Horii's intentions. And I do think it has a pleasant sound!

However, we decided that it'd be necessary to translate the other "nonsense" spell names, such as Ru-ra, Remi-ra, and Riremito, because they are simply not accessible to English-speaking players who have no familiarity with the Japanese names. I was streaming my playthrough of DQ1 Delocalized and the biggest negative reaction from viewers was about the Japanese nonsense words. The sad part is that in translating the other no-meaning words, preserving Hoimi would have been jarring and incredibly inconsistent.

The plus side is that we did keep the suffixes for the Hoimi family of spells as close as we could.

The new set of healing spells are as follows:

New Name     Japanese name   Original English

Heal          Hoimi          Heal
Helimi        Behoimi        HealMore
Heloma        Behoma         HealAll
Helomara      Behomara       HealUs
Helomazun     Behomazun      HealUsAll
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on February 23, 2019, 01:03:16 pm
Thanks for the help. I like your approach with the spoilers as to not give me the answer right away.
Yeah, I figured that would be a nice balance between "too much help" and "not enough help". I'm trying to get better at this :D.

I noticed something was amiss however because the whole section of data starting at $8000 in the RAM goes through a changing cycle every few seconds which makes me think it has something to do with the game's overall timing.
That's bank swapping at work - as the game makes different ROM banks visible in the RAM bank at $8000-$BFFF, the RAM section of the Hex Editor will update to show the new bank instead of the old bank. You'll also see other sections of RAM (e.g. $5000-$6FFF) changing rapidly as the game goes about its business; that's all perfectly normal.

When I placed the read breakpoint for $801C regardless, it gave me this data

>03:FF78:A5 02     LDA $0002 = #$01
 03:FF7A:D0 FC     BNE $FF78
 03:FF7C:60        RTS ------------

There must be something I'm fundamentally not understanding here..
Ah, I see what's going on here. Whenever you open the Debugger window, FCEUX puts the currently executing line into view (but doesn't actually pause emulation), which in Dragon Warrior's case is very likely to be the "wait for VBlank" busy loop at $FF78-$FF7A, and when you add a breakpoint from the Hex Editor while the Debugger is closed, FCEUX opens the Debugger for you, so that's what you'll almost always see. If you keep playing the game until your breakpoint is reached, FCEUX will pause emulation and switch focus away from the game window to the Debugger window, at which point you should see something closer to what I posted.

One thing to watch out for is that the breakpoints you add from the Hex Editor window contain a condition that specifies which ROM bank the RAM address must correspond to; if you add the breakpoint while the right ROM bank is in RAM, this is great since it avoids the breakpoint triggering when the RAM address corresponds to a ROM bank you're not interested in, but if you add the breakpoint while the wrong ROM bank is in RAM, you'll get a breakpoint for the wrong ROM bank. If that happens, just edit the breakpoint condition to specify the right ROM bank (T==#02 for the bank with the dialogue pointers) or remove the condition completely and let it fire regardless of which ROM bank is currently loaded. In this particular case removing the condition should be fine since you aren't likely to get any false positives from the other ROM banks.

spell names
+1 for this - it is very nice to have some idea of what your spell is going to do without having to consult the game manual / patch readme every time you want to use magic :P.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: einlanzer on February 24, 2019, 12:20:10 pm
I appreciate these types of hacks when they're done well, but just a quick word of warning from someone with a lot of experience in this area that a lot of romhackers and JP enthusiasts often fail to understand:

Literal translations are typically inferior to translations that take a bit of localization liberty. Even technically superior translations (like many of SE's updated ports of older games) end up being inferior in practice because of feeling stilted to western audiences.

CT is a prime example of this - there was a very detailed analysis of the original Woolsey script compared to the new DS one that eventually revealed a consensus that, despite its many technical errors, the Woolsey script was better overall because it took liberties to adapt the script to a western audience instead of fussing over accuracy, leading to greater & more believable emotional expression within dialogue and, therefore, higher contextual immersion and character relatability.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on February 24, 2019, 01:03:15 pm
@Einlanzer,

Your feelings about fan translations in general sound very close to my own. I don't want to start naming names and losing friends here, but I agree that many fan translations have done more harm than good. There are times where someone has an incredible gift like Ryuusi in his retranslation of Breath of Fire II. His version provides far greater emotional resonance, clarity of plot, and even heaps of laughter. Those of us doing the writing for this project are probably not on Ryuusi's level but we try very hard to make sure the language we convey is warm, relatable and lacks any awkwardnes in being overly literal. We've taken liberties when there is no way a literal translation can avoid that awkwardness and I am particularly sensitive to that.

The thing I'm not clear on from your post is whether you are admonishing us in general or whether you have played some of the hack and are speaking directly about our work. If you are, don't hold back with any specific feedback. I care more about the result we are trying to achieve than protecting our egos. If you haven't played any of it then please give it a try and offer your reaction afterwards. I honestly haven't had any critical feedback from players who are at my level of sensitivity for these things and would love to receive it. So far reactions have been very positive. You may object to my inclusion of certain Japanese curio like the line in Melkido / Cantlin about a woman offering to trade her copy of Portopia for your copy of Dragon Quest. Those are debatable matters, and a lot of people love to have a flavor for Horii's original work. This project doesn't aspire to be the end all be all Dragon Quest translation; just one with a different approach and hopefully of high quality. As someone who has played these games a hundred times I've always had a sense of Horii's own style shining through in a muddled way; I wanted to make it shine through much more clearly--with great sensitivity to the differences in language.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: mariosmentor on February 24, 2019, 01:25:17 pm
I appreciate these types of hacks when they're done well, but just a quick word of warning from someone with a lot of experience in this area that a lot of romhackers and JP enthusiasts often fail to understand:

Literal translations are typically inferior to translations that take a bit of localization liberty. Even technically superior translations (like many of SE's updated ports of older games) end up being inferior in practice because of feeling stilted to western audiences.

CT is a prime example of this - there was a very detailed analysis of the original Woolsey script compared to the new DS one that eventually revealed a consensus that, despite its many technical errors, the Woolsey script was better overall because it took liberties to adapt the script to a western audience instead of fussing over accuracy, leading to greater & more believable emotional expression within dialogue and, therefore, higher contextual immersion and character relatability.

Your argument, I'm afraid, is outright weak. Just because a foreign culture sees various subjects differently doesn't give localization teams the right to completely do away with the creator's original intention.

Take a look at Mega Man 7 on the SNES, for example. After the final battle with Dr. Wily, Mega Man threatens to kill the mad scientist. Wily reminds him that the Asimovian laws integrated into his code forbid this, and in the Japanese version, Mega Man becomes silent, proving that Wily is RIGHT. Mega Man is truly powerless to stop him once and for all, explaining why he never tried to kill the man before, and why he never will. The English version changes this scene, having Mega Man proclaim that he is more than a robot, and tries to kill him anyway, only to be stopped by Bass. This is in direct contradiction to the series lore. Even X, one of the first robots to truly express human emotion and conscious thought, rather than predetermined routines dictated by code, was still, by the end of the day, a robot. Nothing more, nothing less. Going against pre-established lore and character development for the sake of making a story sound better for an audience the creator never had in mind to begin with CAN ONLY WORSEN THE EXPERIENCE IN THE LONG RUN. And if you think my argument about the creator's intent is ultimately baseless, here's a quote from J.R.R. Tolkien regarding a translation of his novels that, like Chrono Trigger, took liberties for the sake of storytelling:

"In principle I object as strongly as is possible to the 'translation' of the nomenclature at all (even by a competent person). I wonder why a translator should think himself called on or entitled to do any such thing. That this is an 'imaginary' world does not give him any right to remodel it according to his fancy, even if he could in a few months create a new coherent structure which it took me years to work out. [...] May I say at once that I will not tolerate any similar tinkering with the personal nomenclature. Nor with the name/word Hobbit."
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Arjak on February 24, 2019, 05:09:24 pm
Your argument, I'm afraid, is outright weak. Just because a foreign culture sees various subjects differently doesn't give localization teams the right to completely do away with the creator's original intention.

Take a look at Mega Man 7 on the SNES, for example. After the final battle with Dr. Wily, Mega Man threatens to kill the mad scientist. Wily reminds him that the Asimovian laws integrated into his code forbid this, and in the Japanese version, Mega Man becomes silent, proving that Wily is RIGHT. Mega Man is truly powerless to stop him once and for all, explaining why he never tried to kill the man before, and why he never will. The English version changes this scene, having Mega Man proclaim that he is more than a robot, and tries to kill him anyway, only to be stopped by Bass. This is in direct contradiction to the series lore. Even X, one of the first robots to truly express human emotion and conscious thought, rather than predetermined routines dictated by code, was still, by the end of the day, a robot. Nothing more, nothing less. Going against pre-established lore and character development for the sake of making a story sound better for an audience the creator never had in mind to begin with CAN ONLY WORSEN THE EXPERIENCE IN THE LONG RUN. And if you think my argument about the creator's intent is ultimately baseless, here's a quote from J.R.R. Tolkien regarding a translation of his novels that, like Chrono Trigger, took liberties for the sake of storytelling:

"In principle I object as strongly as is possible to the 'translation' of the nomenclature at all (even by a competent person). I wonder why a translator should think himself called on or entitled to do any such thing. That this is an 'imaginary' world does not give him any right to remodel it according to his fancy, even if he could in a few months create a new coherent structure which it took me years to work out. [...] May I say at once that I will not tolerate any similar tinkering with the personal nomenclature. Nor with the name/word Hobbit."

That seems to me to be a different issue altogether. There's a huge difference between rephrasing something to get the same point across better in a different language, and completely changing the intent of a story to "make it better." Mega Man 7 is the latter.

I agree with you that changing the dialogue in the ending to that game was a huge mistake, clearly made to try to spice things up in a way that doesn't fit with the world and scenario, and is a huge middle finger to the original creators. It shows zero respect to the source material.

However, translation is more art than science. Every language has nuances that are easily lost when translating literally to another. A translator's job is to get the same information from one language to come across the same way in another. That's not easy. Because of the differences in how each language works, sometimes a little tinkering is required to get the same effect, and as long as the translator and editor don't interject their own intent, and hijack the story, I think that a little tinkering is fine.

It's the difference between translating, "Konichiwa, Senpai! Genki desu ka?" as "Hello, elder classmate! Are you well today?" or "Hey, man! How're you doing?"
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: nejimakipiyo on February 24, 2019, 07:55:20 pm
As the one doing most of the actual translating, and because I've been translating Japanese content to English for about a decade, I'd like to chime in here.

Everybody who commented with regard to translating has very valid points and I don't think anyone is "wrong" or "right" per se. Translating is a delicate balance and there's no way to get all ideas from one language to another every time. With the exception of single-word utterances, something will be lost in translation. That's a guarantee. As translators we learn to live with that, and strive to reflect the source material accurately while still making the content accessible to the audience. So we'll take liberties where liberties need to be taken, but we have no intentions of hijacking the storyline to suit our own agenda.

If anyone has actually played this hack, or is willing to give it a run to test our language use, I'd also be more than happy to hear feedback!
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on February 25, 2019, 07:54:49 pm
@abw,

I took your suggestion and went into the same room as a treasure chest that contained an herb prior to setting a read breakpoint. (I'm visiting the chest in Garai/Garinham past the locked door.) My problem is that no matter what areas I visit, the RAM data viewable in the hex editor starting at $8000 is all uniformly updating to different values every couple seconds no matter whether anything is going on in the game or not. Any read break point I set at the $801C address triggers immediately--not when I open the chest, and provides a trace log result different than the one you indicated.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on February 25, 2019, 11:08:32 pm
Hmm, maybe it's time to back up a step and verify some assumptions. Which ROM are you using? That $801C breakpoint fires only when I want it to when I use one of the unaltered English ROMs (PRG0 or PRG1), but if you're looking at a hacked ROM, that could be a different story, and I haven't checked the original Japanese ROM. The basic methodology should still work, but you might need to try setting a breakpoint on the string itself rather than its pointer. The breakpoint should look like this in the Debugger window:
Quote
$801C:ECR---

Having a breakpoint is nice, but it's not actually necessary for this - you can just let the Trace Logger run and examine its output after the text gets displayed, you'll just have a larger file to deal with than if you halted the trace when the breakpoint fired. You can also reduce the size of the log by getting as close to triggering the behaviour you're interested in as possible (e.g. standing on the chest with the COMMAND menu open and the cursor on TAKE), then pausing the emulator, start the log, hold down the "A" button on the controller (or whatever you have that mapped to on whatever input device you're using), and then use the \ (backslash) key to advance emulation by one frame at a time until you've triggered the behaviour (i.e. the "Unfortunately, it is empty." text starts getting printed), and then stop the log.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on February 26, 2019, 07:07:51 am
@abw

I sent you a private message that should help you observe exactly what I'm dealing with.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on February 26, 2019, 07:36:09 pm
Thanks - I'm replying here in case it ends up being helpful for others too!

If your Hero's still marching in place and the music's still playing, you haven't hit a breakpoint yet :P. To see the difference, add a $A832:ECR--- breakpoint (i.e. a read breakpoint on the pointer to the list of spell names) and then try casting a spell. Adding the breakpoint itself doesn't affect anything (other than FCEUX pausing emulation while you're in the process of adding the breakpoint), you can still walk around and open the COMMAND menu just fine, and the Hex Editor will keep on displaying whatever it feels like displaying in whatever colours it wants, but as soon as you try to open the SPELL menu, gameplay grinds to a screeching halt and focus shifts to the Debugger window, which in this case ought to display something like this:
Code: [Select]
>01:A825:BD 30 A8  LDA $A830,X @ $A832 = #$56
 01:A828:85 A1     STA $00A1 = #$7A
 01:A82A:BD 31 A8  LDA $A831,X @ $A833 = #$BE
 01:A82D:85 A2     STA $00A2 = #$A4
 01:A82F:60        RTS -----------------------------------------
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on February 27, 2019, 10:39:50 am
abw,

When I've placed the read breakpoint at the referenced address, prior to opening the chest the game immediately pauses and switches over to the debugger screen that shows the log of instructions. It's firing off immediately because code in the game is causing that address to change its data every couple seconds. My hero is definitely not marching in place and no music is playing.

I feel like there is going to be a really silly reason for this huge discrepancy in what we are experiencing.  :P
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on February 27, 2019, 05:43:32 pm
Yeah, I don't know what to say here :-\. The video you PM'd me definitely had marching in place, music, and no breakpoints firing. The Hex Editor was covering most of the Debugger window, so I couldn't see exactly what you had there, but the Hex Editor was still flashing updates as bankswaps happened, so that's another indication the game was still running.

I did a quick search for FCEUX debugger videos and came across https://www.youtube.com/watch?v=jfnqxxwlIyo (https://www.youtube.com/watch?v=jfnqxxwlIyo); the section from 7:30 to 7:40 shows what a breakpoint hit looks like.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on February 27, 2019, 08:33:16 pm
@abw

Ok. I watched that section of the video. I've watched this video a couple times already in addition to the one playing around with Dr. Mario. It doesn't look like anything I haven't been doing.

The video link I sent previously wasn't the whole process; I was only highlighting the fact that the block of text starting $8000 was getting updates on a timed basis.

I did a new video below where I walk you through the whole process. HOPEFULLY we can finally clarify what I'm doing wrong. Sorry this has been such a massive back and forth ordeal. Maybe I'll jump to doing a video like this right away next time. And I may want to figure out how to capture video directly from the screen instead of holding my phone up to the screen at some point. See video below.

https://www.dropbox.com/s/3q84cw4kaopwbqy/IMG_2933.MOV?dl=0
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on February 27, 2019, 10:02:00 pm
Yup, it's a really silly reason :banghead:. How about this - try adding the breakpoint from the Debugger window instead of the Hex Editor. Just Debug -> Debugger -> Add -> Address = 801C, Read, CPU Mem -> OK, nothing fancy.

I sort of mentioned this earlier (http://www.romhacking.net/forum/index.php?topic=26951.msg371430#msg371430), but if you look closely at the context menu when you add a breakpoint through the Hex Editor, it says "Add Read Breakpoint for Address 00:801C", which means the breakpoint only fires when the CPU reads RAM $801C while RAM $801C comes from ROM bank 00. If you check the list of breakpoints in the Debugger window, you'll see it says "$801C:ECR--- Conditi" instead of just "$801C:ECR---", and if you select that breakpoint and edit it, you'll see the Condition text box has a "T==#00". The address you want the breakpoint to fire on, however, is 02:801C, not 00:801C, so that's why you're not getting the same experience as me.

Unless you know beforehand which bank you want a breakpoint for or you're getting a lot of hits for the wrong bank(s), it's usually easier to add breakpoints through the Debugger window without any conditions.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on March 03, 2019, 09:37:59 am
@abw

Looks like that clarified the issue, thank you. I've been working on following the logic of your original post where you marked all the steps as spoilers. In order to do that I think I need to better understand the logic of 6502 Assembly. The good news is I finally found a web site that teaches in the way that I learn. It breaks each lesson down into exercises that you actually do within the browser. Quite brilliant. Here's the link if anyone is interested. https://skilldrick.github.io/easy6502/. 2 more quick points. Your step about inserting the correct string address--I don't actually know how to determine a specific string address since the Atlas script lumps them into groups. I think there are 20 total. How do you pinpoint the address of one specific string? Something we never discussed. Final point: putting all the information in spoiler boxes was a great idea but it makes it really hard to read, especially when you have to scroll through the debugger data. The fact is, I'm pretty motivated to understand the logic of the step by step at this point so I don't think it's necessary to list everything as spoilers.

@ Everyone

Updated versions of DQ 1 and 2 Delocalized are now live with the new spell names! For those familiar with the style of the Japanese names, I think you will see a lot of similarity. The majority of these are not words we just came up with but actual translations of the Japanese spell  names with the addition of suffixes that are generally in the same style. There are rare cases like Ionazun where the Japanese name was already based on an English word (Ion) and we left it as is. There are times we offer a little more meaning than the Japanese versions do. We thought this time around we should err on the side of more meaning versus less.

For DQ1:

Heali           (Heal)
Flaro           (Hurt)
Slumbari        (Sleep)
Luminara        (Radiant)
Stopmaju        (Stopspell)
Vacatara        (Outside)
Flyrura         (Return)
Abatetoil       (Repel)
Helimi          (Healmore)
Flarama         (Hurtmore)

For DQ2

Heali           (Heal)
Helimi          (Healmore)
Heloma          (Healall)
Curii           (Antidote)
Vivariku        (Revive)
Flaro           (Firebal)
Flarama         (Firebane)
Aeru            (Infernos)
Ionazun         (Explodet)
Exaraki         (Defeat)
Sacrizaku       (Sacrifice)
Slumbari        (Sleep)
Stopmaju        (Stopspell)
Phantasma       (Surround)
Softama         (Defense)
Cosmicaos       (Chance)
Fortiruto       (Increase)
Flyrura         (Return)
Vacatara        (Outside)
Trapelude       (Stepguard)
Abatetoil       (Repel)
Bustiero        (Open)
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: AdamDravian on March 03, 2019, 10:58:58 am
@ Everyone

Updated versions of DQ 1 and 2 Delocalized are now live with the new spell names! For those familiar with the style of the Japanese names, I think you will see a lot of similarity. The majority of these are not words we just came up with but actual translations of the Japanese spell  names with the addition of suffixes that are generally in the same style. There are rare cases like Ionazun where the Japanese name was already based on an English word (Ion) and we left it as is. There are times we offer a little more meaning than the Japanese versions do. We thought this time around we should err on the side of more meaning versus less.

For DQ1:

Heali           (Heal)
Flaro           (Hurt)
Slumbari        (Sleep)
Luminara        (Radiant)
Stopmaju        (Stopspell)
Vacatara        (Outside)
Flyrura         (Return)
Abatetoil       (Repel)
Helimi          (Healmore)
Flarama         (Hurtmore)

For DQ2

Heali           (Heal)
Helimi          (Healmore)
Heloma          (Healall)
Curii           (Antidote)
Vivariku        (Revive)
Flaro           (Firebal)
Flarama         (Firebane)
Aeru            (Infernos)
Ionazun         (Explodet)
Exaraki         (Defeat)
Sacrizaku       (Sacrifice)
Slumbari        (Sleep)
Stopmaju        (Stopspell)
Phantasma       (Surround)
Softama         (Defense)
Cosmicaos       (Chance)
Fortiruto       (Increase)
Flyrura         (Return)
Vacatara        (Outside)
Trapelude       (Stepguard)
Abatetoil       (Repel)
Bustiero        (Open)

I think you handled the spell names perfectly. They're not all immediately obvious, but they provide enough of a context clue that the player should be able to quickly learn them through play (and an occasional reference to the manual)--just as the original Japanese players had to do. Excellent job.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on March 03, 2019, 11:57:14 am
I think you handled the spell names perfectly. They're not all immediately obvious, but they provide enough of a context clue that the player should be able to quickly learn them through play (and an occasional reference to the manual)--just as the original Japanese players had to do. Excellent job.
Thank you for the kind words! Glad you appreciate what we are going for.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on March 03, 2019, 01:10:55 pm
Looks like that clarified the issue, thank you.
Huzzah!

Your step about inserting the correct string address--I don't actually know how to determine a specific string address since the Atlas script lumps them into groups. I think there are 20 total. How do you pinpoint the address of one specific string? Something we never discussed.
I actually said string index (e.g. 0, 1, 2, ...), not string address (e.g. $8000, $8001, $8002, ...). The game mostly doesn't care what the string's address is, it just takes the string index, divides by 16 (a.k.a. LSR x 4) to get the pointer index, then looks that pointer up in the pointer table, follows the pointer to a group of strings, and then starts counting end tokens inside the group of strings until it finds the right string. For instance, that "Unfortunately, it is empty." string is the 218th (DA-th) string in the game (counting from 0), or the 10th string inside the 13th group of strings (still counting from 0). If you like counting from 1 instead, it's the 219th string or the 11th string inside the 14th group.

Anyway, basically all we're doing with the trace log is following the flow of data in reverse, starting from where it gets used and going all the way backwards until we find out where in the ROM it came from. Much of the time you can just search the trace log for specific addresses (e.g. searching for the text "$801C", then "$0031", etc.), but you will need to know at least enough ASM to recognize when the game is manipulating data you care about in ways that don't show up as addresses, like in the first snippet of code:
Code: [Select]
                $FCF1:A5 31     LDA $0031 = #$0E                             A:00 X:9F Y:02 S:EF P:nvUBdIZc
                $FCF3:0A        ASL                                          A:0E X:9F Y:02 S:EF P:nvUBdIzc
                $FCF4:AA        TAX                                          A:1C X:9F Y:02 S:EF P:nvUBdIzc
                $FCF5:BD 00 80  LDA $8000,X @ $801C = #$2E                   A:1C X:1C Y:02 S:EF P:nvUBdIzc
For that, you need to know that the game loading $801C depends on the value of X (via LDA $8000,X), that X got its value from A (via TAX), that A had its value multiplied by 2 (via ASL), and then that the value of A came from $0031.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on March 30, 2019, 07:35:07 am
Hello folks! It's been quiet on here for a bit but have no doubt that nejimakipiyo and I have been keeping ourselves busy.

I just posted a comprehensive update to the Dragon Quest II Delocalized patch that is now in que for approval, version 1.07. It includes a few different components.

1st, we decided that the scrolling prologue text and the dialogue during the fall of Moonbrooke needed to be totally rewritten. I originally took only the lightest approach to this text because because none of it was in the original Japanese game. Changes were mostly limited to removing the medieval wordings. Over time I began feeling like the writing style did not match up with what we achieved in the rest of the game based on Horii's writing style. The most significant examples include lines like "Oh, such a brave beauty" the Monster mocked her. And the following: The King was enraged: "Touch her and thou shall not survive this day!" He challenged the fiend. Nejimakipiyo and I decided to look at the Japanese SFC text as a base and found that it fit the tone and style of the rest of the game much better. I will admit there were some challenges in using this text as a base because of elements that play out differently in both versions. For instance, the SFC version does not have the invading monsters speak at all. Frankly, this is preferable as monsters hardly ever speak in the game beyond "kekekeke." When the English game required some dialogue from monsters, we chose to use exactly that--"kekekeke" and I believe it is a significant improvement. We are also very happy to have gotten rid of all that third person text like "And then the king spoke to the princess" etc. Now each shift in speaker is denoted by their name and a colon preceding the text, as is standard in these kinds of games.

It also recently came to our attention that there were text bugs in the equip menu which go back to the original English DW2. Instead of SHIELD, the equip menu showed SHILD. Also, every screen of the equip menu would show DEFENC POWER. After working with abw on setting up an extraction / insertion of menu data through his abcde software, we were able to expand the text of SHILD into SHIELD as well as make the choice to alter DEFENC POWER into DEFEND POWER (expanding the latter would have required significant menu retooling which I don't believe should be necessary.

Beyond that, approximately 20 other text improvements were made based on closely observing a recent play through. The most significant changes were modifying our town name Lirizia to Liriza which is both better aligned to the Japanese name and makes the town sound less like one of the major surrounding castles. We also fixed a problem where the Dragon King's grandson sounded like he was indicating that the Shrine of Rubiss could be found on an island to the south. He was supposed to be telling you to start your search for crests on the island to the south. Many other small text improvements were made but those are the two most significant.

As far as DQ3, that is coming along. Nejimakipiyo is chipping away on her fresh translation of the text which I will eventually help edit and work on inserting.  In the meantime, I will be working on leveraging various resources to improve my understanding of ASM--hopefully to the point where I can eventually fix several of the minor bugs and issues that plague DW3.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on March 30, 2019, 07:41:26 pm
Aww, I actually liked the narration in the opening scene :P. I can see your point about it not fitting with the rest of the game's style, though.

Congrats on getting the menu typos fixed! Given the English-specific code changes and the quality of the rest of the translation, I'm a little surprised those slipped through the QA process.

Did you also notice the seeming discrepancy between the usage of Hibabongos in the main script ("Thy strength is that of many fearsome Hibabongos.") vs. the name and pluralization of the Hibabango enemy (One Hibabango, Two Hibabango, etc.)? Maybe they're both related to the Hibabingo... :-\
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on March 30, 2019, 08:29:31 pm
@abw

Ha. Sorry to have removed something you enjoyed, and yes it did have a certain charm (but hopefully our version has some charm as well :P). Beyond the stylistic inconsistency, I also thought it wasn't the best thing to advertise a totally rewritten English script and then start the game out with text that was 90% identical to the original script. :P

I didn't actually notice that discrepancy with Hibabango's spelling and pluralization. That line from the king of Delkondar (Osterfair) got wiped out in favor of the Japanese text "I am a friend of the strong! Ha ha ha!" But as far as the sloppiness of them doing that? I'm not surprised. But I'll say one thing: after working on these projects the last several months, I find it amazing what kind of errors can slip through unnoticed no matter the level of scrutiny. It's such a privilege to be able to go back and continuously fix and improve things--a privilege never afforded to the original teams.

Also, a bit of cool trivia on on the origins of Hibabango that nejimakipiyo dug up.

https://en.wikipedia.org/wiki/Hibagon
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Choppasmith on March 31, 2019, 06:28:32 pm
Hello folks! It's been quiet on here for a bit but have no doubt that nejimakipiyo and I have been keeping ourselves busy.

I just posted a comprehensive update to the Dragon Quest II Delocalized patch that is now in que for approval, version 1.07. It includes a few different components.

1st, we decided that the scrolling prologue text and the dialogue during the fall of Moonbrooke needed to be totally rewritten. I originally took only the lightest approach to this text because because none of it was in the original Japanese game. Changes were mostly limited to removing the medieval wordings. Over time I began feeling like the writing style did not match up with what we achieved in the rest of the game based on Horii's writing style. The most significant examples include lines like "Oh, such a brave beauty" the Monster mocked her. And the following: The King was enraged: "Touch her and thou shall not survive this day!" He challenged the fiend. Nejimakipiyo and I decided to look at the Japanese SFC text as a base and found that it fit the tone and style of the rest of the game much better. I will admit there were some challenges in using this text as a base because of elements that play out differently in both versions. For instance, the SFC version does not have the invading monsters speak at all. Frankly, this is preferable as monsters hardly ever speak in the game beyond "kekekeke." When the English game required some dialogue from monsters, we chose to use exactly that--"kekekeke" and I believe it is a significant improvement. We are also very happy to have gotten rid of all that third person text like "And then the king spoke to the princess" etc. Now each shift in speaker is denoted by their name and a colon preceding the text, as is standard in these kinds of games.

It also recently came to our attention that there were text bugs in the equip menu which go back to the original English DW2. Instead of SHIELD, the equip menu showed SHILD. Also, every screen of the equip menu would show DEFENC POWER. After working with abw on setting up an extraction / insertion of menu data through his abcde software, we were able to expand the text of SHILD into SHIELD as well as make the choice to alter DEFENC POWER into DEFEND POWER (expanding the latter would have required significant menu retooling which I don't believe should be necessary.

Beyond that, approximately 20 other text improvements were made based on closely observing a recent play through. The most significant changes were modifying our town name Lirizia to Liriza which is both better aligned to the Japanese name and makes the town sound less like one of the major surrounding castles. We also fixed a problem where the Dragon King's grandson sounded like he was indicating that the Shrine of Rubiss could be found on an island to the south. He was supposed to be telling you to start your search for crests on the island to the south. Many other small text improvements were made but those are the two most significant.

As far as DQ3, that is coming along. Nejimakipiyo is chipping away on her fresh translation of the text which I will eventually help edit and work on inserting.  In the meantime, I will be working on leveraging various resources to improve my understanding of ASM--hopefully to the point where I can eventually fix several of the minor bugs and issues that plague DW3.

Yeah I had to change the narration as well. Mostly for space reasons.

Having
*: Oh, what a pretty thing
vs
‘Oh, what a pretty thing’ the monster mocked her.

The latter is almost double the length. I actually looked at two videos side by side. One being the NES version opening and the other being the mobile remake. Not just the monster dialog, but the sprite choreography is quite different as well, so I had to tweak the dialog a bit there. I was so torn on removing the narration in DW1, because it just looks weird next to the modern translation, but keeping it worked out so well there. I will say that having the modern Name: Dialog or *: for Unnamed characters looks quite nice in the classic font and window. I think you could save a lot of space if you converted the whole script that way but I”d love to try and keep it to make the NES version stand out on its own.

Anyway, when you’re talking about having proper (name) usage. Did you guys do anything with how (name) works? As far as I can tell, it’s just a line by line context. In the remakes they have separate macros for various names: Midenhall’s name ($07 in the mobile version), Cannock’s name ($0D), Moonbrooke’s name (0E), and even one for whoever is the leader of the party (0F)

Also, I had a question. In Beran (I don’t know what you named it, the city with the portal to Rhone/Rendarak) there’s a Priest NPC just below the room with the locked door to said portal. In the original, they ask you the time followed by a yes or no prompt. What was it originally? What did you go with? In the remake said NPC just says something along the lines of: That Hargon is an abomination who will be struck down by the Goddess! with no prompt. I know the town where you get the ship there’s an NPC in the original who says “I have nothing to say to thee. (separate line) Nope nothing at all.” The same NPC in the remake says “Begone! I prefer the company of women! ( separate line for when Moonbrooke is in the party) Oh hello there, why don’t you join me for a drink my pretty *hic*” I can only imagine the original line was meant to be like the remake and I’m curious what that other line was. I figured it’s probably something a little more risqué that had to be censored?
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on March 31, 2019, 06:56:43 pm
Anyway, when you’re talking about having proper (name) usage. Did you guys do anything with how (name) works? As far as I can tell, it’s just a line by line context. In the remakes they have separate macros for various names: Midenhall’s name ($07 in the mobile version), Cannock’s name ($0D), Moonbrooke’s name (0E), and even one for whoever is the leader of the party (0F)
My understanding of (name) is that it is something controlled by the code as it applies to each individual piece of dialogue. Therefore I couldn't think of any way to produce use of a character specific name where it did not exist previously. I think we are both thinking of the same text where the king of Moonbrooke calls his daughter by name in the remakes during that intro scene. I would have loved to incorporate that as it sounds more affectionate plus offers the bonus of showing the player what her name is going to be right off the bat. Knowing abw, I predict that he is going to offer a way to retool the game to allow us to manipulate this, but I also predict that the complexity of that would be quite prohibitive.  :laugh:

Quote
Also, I had a question. In Beran (I don’t know what you named it, the city with the portal to Rhone/Rendarak) there’s a Priest NPC just below the room with the locked door to said portal. In the original, they ask you the time followed by a yes or no prompt. What was it originally? What did you go with? In the remake said NPC just says something along the lines of: That Hargon is an abomination who will be struck down by the Goddess! with no prompt. I know the town where you get the ship there’s an NPC in the original who says “I have nothing to say to thee. (separate line) Nope nothing at all.” The same NPC in the remake says “Begone! I prefer the company of women! ( separate line for when Moonbrooke is in the party) Oh hello there, why don’t you join me for a drink my pretty *hic*” I can only imagine the original line was meant to be like the remake and I’m curious what that other line was. I figured it’s probably something a little more risqué that had to be censored?
Yes, I know exactly which character you are refering to in "Beranoor." This was censored in the original and also censored in the remakes it seems. I actually have his text as one of the photos I posted on the publish page for the hack. He asks you if you believe in God. If you say no, he complains about it and blames the issue on Hargon. If you answer in the affirmative, he says: I thank you very much indeed! In Rupugana / Lianport, the man you are referring to said the following in the Japanese and therefore our version:  ‘]You two guys can get lost[.’] and [wait][ ‘]Hey, missy with the nice behind.[wait]Why don[’ -67]t you come have a drink with me at the bar? Hic[.’] I think this text is dependant on whether or not she is alive, just like the censored puff puff text in the same town. Speaking of, was that uncensored in the remake? Was there a hint for it? I had to add one. Couldn't have players pass that by.

Good catch with those censored bits. There are a couple others like a guy who is pissing in the bushes and yells at you for catching him in the act. I think that's in Liriza / Leftwynn. I'm curious how the remake handled the text in the undersea cave. In the original they are clearly priests in Hargon's order who are in the midst of offering prayers to Shido/Malroth. The original changed the scenerio to some silly business about a wizard's house.

If you want a copy of my atlas file so you can reference our directly translated text, I'm happy to send it.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Choppasmith on April 01, 2019, 06:00:03 pm
Yes, I know exactly which character you are refering to in "Beranoor." This was censored in the original and also censored in the remakes it seems. I actually have his text as one of the photos I posted on the publish page for the hack. He asks you if you believe in God. If you say no, he complains about it and blames the issue on Hargon. If you answer in the affirmative, he says: I thank you very much indeed!

Huh, that’s interesting, I don’t know why they couldn’t just swap God for Goddess, it would still work unless they felt the whole sense of belief struck a little close to home. But then, the remake ADDS several Yes/No prompts to NPCs as well. Like one in the Wind Tower (?) in the original he just warns you to not go over the edge, in the remake he warns you and then asks you if you’ll follow his advice (and scolds you if you say No). There’s also an NPC in Leftwynne in the original who says she heard the Prince of Midenhall is on a quest to defeat Hargon with a “Oh you say you’re the Prince?” In the remake there’s a Yes/No prompt where she just says “Prithee, do not mock me, sirrah” for either option

Quote
In Rupugana / Lianport, the man you are referring to said the following in the Japanese and therefore our version:  ‘]You two guys can get lost[.’] and [wait][ ‘]Hey, missy with the nice behind.[wait]Why don[’ -67]t you come have a drink with me at the bar? Hic[.’] I think this text is dependant on whether or not she is alive, just like the censored puff puff text in the same town. Speaking of, was that uncensored in the remake? Was there a hint for it? I had to add one. Couldn't have players pass that by.

Yeah I figured seeing the lines separated like that was for that. As for Puff Puff, yeah it’s fully uncensored in the remake. There’s even a separate, more “intense” version with Cannock if you talk to her post Malroth.

Quote
Good catch with those censored bits. There are a couple others like a guy who is pissing in the bushes and yells at you for catching him in the act. I think that's in Liriza / Leftwynn. I'm curious how the remake handled the text in the undersea cave. In the original they are clearly priests in Hargon's order who are in the midst of offering prayers to Shido/Malroth. The original changed the scenerio to some silly business about a wizard's house.

If you want a copy of my atlas file so you can reference our directly translated text, I'm happy to send it.

There’s something funny to me about a guy saying he wet himself in olde English, but I think that line is even in the GBC version. Also, yeah the scene in the sea cave talks about interrupting their “great conflagration” and that they’d offer their flesh to Hargon.

But sure,  wouldn’t mind taking a peek out of your atlas file for reference. I’m just, literally half a world away from my computer on vacation right now. There’s a couple lines that I THINK are unused. They’re with other battle lines

“No more shall (name) walk this world!”
And
“Follow me and make not a peep.”
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on April 01, 2019, 06:43:44 pm
Knowing abw, I predict that he is going to offer a way to retool the game to allow us to manipulate this, but I also predict that the complexity of that would be quite prohibitive.  :laugh:
Pfft. Did you guys even try this? :P The [name] control code just prints out whatever happens to be stored starting at $6119; the logic for deciding what to store at $6119 happens elsewhere, but as it turns out, the prologue already does store Moonbrooke's name there just before displaying this string:
Quote
[no voice]Then the King spoke[line]
[no voice]to the Princess:[wait][line]
‘Thy life is in danger, my daughter. Hide thyself now, and whatever happens to me thou must be strong[.’][wait][line]
‘But Father!’ cried the Princess.[wait][line]
‘Hurry,’ commanded the King.[wait][line]
‘I must go to warn my cousin, the King of Midenhall[.’][end-FC]
So from there until the next time $6119 gets overwritten (by Midenhall's name just before the King starts talking to you), you can use Moonbrooke's name as much as you want, which in particular covers the "‘Oh, such a brave beauty,’ the Monster mocked her." line. If you want to use her name in one of the earlier lines, though, that'll take some more work, since by default you'll just get whatever random string happened to be left over in $6119 from earlier events.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on April 02, 2019, 07:06:24 am
Pfft. Did you guys even try this? :P The [name] control code just prints out whatever happens to be stored starting at $6119; the logic for deciding what to store at $6119 happens elsewhere, but as it turns out, the prologue already does store Moonbrooke's name there just before displaying this string:So from there until the next time $6119 gets overwritten (by Midenhall's name just before the King starts talking to you), you can use Moonbrooke's name as much as you want, which in particular covers the "‘Oh, such a brave beauty,’ the Monster mocked her." line. If you want to use her name in one of the earlier lines, though, that'll take some more work, since by default you'll just get whatever random string happened to be left over in $6119 from earlier events.
Well, I'll be damned. I wonder what possessed them to store the princess's name *exactly* where I would need it stored 28 years later when they themselves didn't use it. But, I'm not complaining! Now the player is afforded the opportunity to know the names of both the princess of Moonbrooke & the prince of Samaltria as soon as they make a short trek to speak to the guard posted outside the prince's room.

One thing I find interesting as I do some testing is that their names are not paired--each seems to be matched with different names on occaision. I've always believed it worked the other way where the two names came together as fixed pairs.

In any case, expect a small update shortly.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on April 02, 2019, 07:57:31 am
Well, I'll be damned. I wonder what possessed them to store the princess's name *exactly* where I would need it stored 28 years later when they themselves didn't use it.
Yeah, sometimes things just work out that way :).

One thing I find interesting as I do some testing is that their names are not paired--each seems to be matched with different names on occaision. I've always believed it worked the other way where the two names came together as fixed pairs.
Nope, Cannock's and Moonbrooke's names are each selected separately, both based on Midenhall's name. See e.g. https://gamefaqs.gamespot.com/nes/587248-dragon-warrior-ii/faqs/55791, but note that the verbal description of the algorithm has a couple of errors:
For reference:
Code: [Select]
; control flow target (from $ACE7)
0x01ACFB|$06:$ACEB:A9 00    LDA #$00
0x01ACFD|$06:$ACED:A2 03    LDX #$03
0x01ACFF|$06:$ACEF:18      CLC
; control flow target (from $ACF7)
0x01AD00|$06:$ACF0:7D 09 70 ADC $7009,X ; first 4 characters of Midenhall's name
0x01AD03|$06:$ACF3:7D 63 70 ADC $7063,X ; last 4 characters of Midenhall's name
0x01AD06|$06:$ACF6:CA      DEX
0x01AD07|$06:$ACF7:10 F7    BPL $ACF0
0x01AD09|$06:$ACF9:48      PHA
0x01AD0A|$06:$ACFA:29 07    AND #$07 ; Cannock's name is based on bits 0-2 of the sum of Midenhall's name
0x01AD0C|$06:$ACFC:0A      ASL ; << 3 since names are 8 bytes long
0x01AD0D|$06:$ACFD:0A      ASL
0x01AD0E|$06:$ACFE:0A      ASL
0x01AD0F|$06:$ACFF:AA      TAX
0x01AD10|$06:$AD00:A0 00    LDY #$00
; control flow target (from $AD18)
0x01AD12|$06:$AD02:BD 39 AD LDA $AD39,X ; pointer to list of Cannock names, starting at 0th byte
0x01AD15|$06:$AD05:99 0D 70 STA $700D,Y ; store the first 4 characters in SRAM
0x01AD18|$06:$AD08:99 18 01 STA $0118,Y ; store the first 4 characters in RAM
0x01AD1B|$06:$AD0B:BD 3D AD LDA $AD3D,X ; pointer to list of Cannock names, starting at 4th byte
0x01AD1E|$06:$AD0E:99 67 70 STA $7067,Y ; store the last 4 characters in SRAM
0x01AD21|$06:$AD11:99 8A 01 STA $018A,Y ; store the last 4 characters in RAM
0x01AD24|$06:$AD14:E8      INX
0x01AD25|$06:$AD15:C8      INY
0x01AD26|$06:$AD16:C0 04    CPY #$04
0x01AD28|$06:$AD18:D0 E8    BNE $AD02
0x01AD2A|$06:$AD1A:68      PLA
0x01AD2B|$06:$AD1B:29 38    AND #$38 ; Moonbrooke's name is based on bits 3-6 of the sum of Midenhall's name
0x01AD2D|$06:$AD1D:AA      TAX
0x01AD2E|$06:$AD1E:A0 00    LDY #$00
; control flow target (from $AD36)
0x01AD30|$06:$AD20:BD 79 AD LDA $AD79,X ; pointer to list of Moonbrooke names, starting at 0th byte
0x01AD33|$06:$AD23:99 11 70 STA $7011,Y ; store the first 4 characters in SRAM
0x01AD36|$06:$AD26:99 1D 01 STA $011D,Y ; store the first 4 characters in RAM
0x01AD39|$06:$AD29:BD 7D AD LDA $AD7D,X ; pointer to list of Moonbrooke names, starting at 0th byte
0x01AD3C|$06:$AD2C:99 6B 70 STA $706B,Y ; store the last 4 characters in SRAM
0x01AD3F|$06:$AD2F:99 8E 01 STA $018E,Y ; store the last 4 characters in RAM
0x01AD42|$06:$AD32:E8      INX
0x01AD43|$06:$AD33:C8      INY
0x01AD44|$06:$AD34:C0 04    CPY #$04
0x01AD46|$06:$AD36:D0 E8    BNE $AD20
0x01AD48|$06:$AD38:60      RTS
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on April 02, 2019, 08:54:33 am
Yes, I recall reading that quite thorough gamefaqs post years ago. When I came across the bugs in the calculation, I essentially didn't want to know more because minor bugs cause me an inordinate amount of stress.

Thankfully the game still seems to execute the function with a reasonable amount of randomization, but over the years it does seem like there are some names I've seen a lot and some names I hardly ever see.

From my point of view, anything dealing with code arithmetic is gonna be above my head until I hopefully get a handle on basic 6502. But from yours does this look like a doable fix? Would be nice if the names appeared with more equal probability.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Choppasmith on April 02, 2019, 05:38:56 pm
Pfft. Did you guys even try this? :P The [name] control code just prints out whatever happens to be stored starting at $6119; the logic for deciding what to store at $6119 happens elsewhere, but as it turns out, the prologue already does store Moonbrooke's name there just before displaying this string:So from there until the next time $6119 gets overwritten (by Midenhall's name just before the King starts talking to you), you can use Moonbrooke's name as much as you want, which in particular covers the "‘Oh, such a brave beauty,’ the Monster mocked her." line. If you want to use her name in one of the earlier lines, though, that'll take some more work, since by default you'll just get whatever random string happened to be left over in $6119 from earlier events.

Sorry, only asked because Chicken Knife made it sound like there was some alterations already done. My bad. Didn’t mean to trouble you. But that is interesting, thanks. I had initially thought that Midenhall’s name would be the default. Gives me something to look out for when I get to testing as I thinking I added some NPC dialog that adds Midenhall’s name (as mentioned above, they can all be individually mentioned with unique byte values in text).
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on April 03, 2019, 10:38:20 pm
Would be nice if the names appeared with more equal probability.
If you tend to give Midenhall the same name on each playthrough, then getting the same Cannock/Moonbrooke names over and over again is especially likely. If you wanted to spice things up a bit, it should only take very minor code changes to ask the random number generator for a number and use that to determine which name to assign; probably the trickiest part of that would be that finding the random number generator first (I haven't had any need to go looking for it, but if all else fails I'm sure somebody in the TAS community would know exactly where it is).

Sorry, only asked because Chicken Knife made it sound like there was some alterations already done. My bad. Didn’t mean to trouble you. But that is interesting, thanks. I had initially thought that Midenhall’s name would be the default. Gives me something to look out for when I get to testing as I thinking I added some NPC dialog that adds Midenhall’s name (as mentioned above, they can all be individually mentioned with unique byte values in text).
No worries, it was a fun little thing to check on :P. The menus do have separate codes for displaying (the first 4 characters of) each hero's name, but based on a quick scan of the control codes available in the main script, I don't think anything like that exists there (I did come across a control code for shutting off the music, though!). If you do decide to add some main script control codes to support that, the routine at $FC50 looks like your friend - pass in #$00, #$01, or #$02 in A to get the corresponding (full-length) hero's name stored in $6119 for you to use as you please via the [name] control code.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Ray572 on April 06, 2019, 03:48:36 am
Hello
I find it great that they have changed the title that corresponds to these games. :)

By chance will you have the patch to change only the title? is to patch the game in Spanish.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on April 06, 2019, 01:56:40 pm
If you wanted to spice things up a bit, it should only take very minor code changes to ask the random number generator for a number and use that to determine which name to assign; probably the trickiest part of that would be that finding the random number generator first.
So, I decided to take a look at this. Rather than try to guess which of the various frequently-updating RAM addresses might be where random numbers get stored, I decided to use the crazy fortuneteller in Osterfair as my starting point. A read breakpoint on the direction names at $06:$9250-$9265 got me the code for displaying direction names (I could also have started with the F9 control code that reads from $5A and set a write breakpoint on $5A to get the same result), and after looking at what the code was doing, it's clear that the random direction is determined by the value $32|$33, and immediately before the reads on those addresses, there's a call to $C3AB, which does a bunch of bit operations to scramble the values of $32 and $33. $C3AB is also called from all over the place, so that looks like our random number generator code.

With that knowledge, we can either make an explicit call to the RNG during Cannock/Moonbrooke name generation, or since the RNG gets called plenty of other times already, we can just be lazy and read $32 directly to get our random number. The following patch seems to work out pretty well for me:
Code: [Select]
0x1AD07: A5 32
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on April 07, 2019, 09:35:04 am
Hello
I find it great that they have changed the title that corresponds to these games. :)

By chance will you have the patch to change only the title? is to patch the game in Spanish.
Glad you appreciated that improvement! I whipped up a quick little title only patch this morning for DQ1 https://www.dropbox.com/s/pkgyll8k2845yeu/dw1_titleonly.ips?dl=0 (https://www.dropbox.com/s/pkgyll8k2845yeu/dw1_titleonly.ips?dl=0)

If you also want a title only patch for DQ2, let me know if you want me to include my changes to the design and animation for the title sequence or just the title logo.

So, I decided to take a look at this. Rather than try to guess which of the various frequently-updating RAM addresses might be where random numbers get stored, I decided to use the crazy fortuneteller in Osterfair as my starting point. A read breakpoint on the direction names at $06:$9250-$9265 got me the code for displaying direction names (I could also have started with the F9 control code that reads from $5A and set a write breakpoint on $5A to get the same result), and after looking at what the code was doing, it's clear that the random direction is determined by the value $32|$33, and immediately before the reads on those addresses, there's a call to $C3AB, which does a bunch of bit operations to scramble the values of $32 and $33. $C3AB is also called from all over the place, so that looks like our random number generator code.

With that knowledge, we can either make an explicit call to the RNG during Cannock/Moonbrooke name generation, or since the RNG gets called plenty of other times already, we can just be lazy and read $32 directly to get our random number. The following patch seems to work out pretty well for me:
Code: [Select]
0x1AD07: A5 32
abw, you've done it again. I never would have imagined such a complex issue being resolved by four bytes of data. I've implemented it, tested it (at least with the princess of Moonbrooke so far) and it works wonderfully. I really like being able to get different names for your companions without having to switch the name of your main hero.

Btw, it was brought to my attention by a player that the extract/insert routine you helped me with to fix SHILD and DEFENC caused a bug with UNCURSE at the priests/healers. It moved the word one tile to the left out of alignment and made the cursor become N. I was actually able to play around with the atlas file and fix it myself (another small miracle, right?) But you may want to take a peek at that in your version to see if it needs a fix.

@Everyone

Once I do a bit more testing of abw's name randomization fix (primarily with the prince of Samaltria/Cannock) I'll submit a new update including this and the fix to the UNCURSE problem
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on April 07, 2019, 10:42:27 am
abw, you've done it again. I never would have imagined such a complex issue being resolved by four bytes of data. I've implemented it, tested it (at least with the princess of Moonbrooke so far) and it works wonderfully. I really like being able to get different names for your companions without having to switch the name of your main hero.
It's actually only two bytes - this reminds me of the old story about knowing where to tap (https://quoteinvestigator.com/2017/03/06/tap/) :P. For testing, note that Cannock/Moonbrooke's names get generated as soon as you finish entering Midenhall's name (as opposed to when you meet them in the story), so instead of playing through the game, you can just look in the Hex Editor around $0118 / $700D (with a table file that FCEUX will accept, which in particular means no end tokens; it'll tell you which line of the file it doesn't like whenever you try to load a file) to see that the names are right in RAM. If you enter the same Midenhall name over and over again, you'll get randomly different Cannock/Moonbrooke names each time, subject to the limitations of the RNG not being truly random.

Btw, it was brought to my attention by a player that the extract/insert routine you helped me with to fix SHILD and DEFENC caused a bug with UNCURSE at the priests/healers. It moved the word one tile to the left out of alignment and made the cursor become N. I was actually able to play around with the atlas file and fix it myself (another small miracle, right?) But you may want to take a peek at that in your version to see if it needs a fix.
Ha, good catch - the trailing space on the " DETOXICATE " line was being combined with the leading space on the " UNCURSE[line]" line into a single "  " token (<$82> instead of <$81><$81>), but DW2's menu code doesn't carry the excess space into the body of the next line. The original game probably should have used " DETOXICATE[line]" (<$80>) instead. The downside to an optimal insertion algorithm is that it's hard to be intentionally sub-optimal :P. I didn't come across that issue with my translated menus since I was rewriting everything anyway and always used the newline code instead of filling out the rest of the line with trailing spaces. Congrats on fixing it yourself, though!
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on April 07, 2019, 01:23:35 pm
It's actually only two bytes
I clearly meant 4 nibbles.  :laugh:

Quote
Ha, good catch - the trailing space on the " DETOXICATE " line was being combined with the leading space on the " UNCURSE[line]" line into a single "  " token (<$82> instead of <$81><$81>), but DW2's menu code doesn't carry the excess space into the body of the next line. The original game probably should have used " DETOXICATE[line]" (<$80>) instead. The downside to an optimal insertion algorithm is that it's hard to be intentionally sub-optimal :P. I didn't come across that issue with my translated menus since I was rewriting everything anyway and always used the newline code instead of filling out the rest of the line with trailing spaces. Congrats on fixing it yourself, though!
I actually reformatted it as precisely that way after looking at all the other menu text and recognizing the pattern.

@everyone

The 1.09 update is submitted with the name randomization improvement, UNCURSE bugfix, and some additional minor tweaks to the intro text. There are certain things I can never seem to stop working on.  :P
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: LadyCannock on April 07, 2019, 04:12:03 pm
So much hard work!  And after seeing the run the last few weeks, I really need to find time in my schedule to play those delocalized games !
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on April 08, 2019, 03:33:49 pm
Welcome to the RHDN forums LadyCannock! I'm delighted to hear about your interest in playing, along with any further interest in working on the project.

LadyCannock was part of our cracker jack team of musketeers that put the spell names together.  ;D
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Ray572 on April 09, 2019, 11:56:50 pm
Glad you appreciated that improvement! I whipped up a quick little title only patch this morning for DQ1 https://www.dropbox.com/s/pkgyll8k2845yeu/dw1_titleonly.ips?dl=0 (https://www.dropbox.com/s/pkgyll8k2845yeu/dw1_titleonly.ips?dl=0)

If you also want a title only patch for DQ2, let me know if you want me to include my changes to the design and animation for the title sequence or just the title logo.

Thanks, I tried it and it was as I wanted.
It would be great if you also included only the title patch, the logo of 2, 3, and 4. Since I have these titles in Spanish and I get an error
re-patch with the ones you have.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on April 11, 2019, 06:11:31 am
Thanks, I tried it and it was as I wanted.
It would be great if you also included only the title patch, the logo of 2, 3, and 4. Since I have these titles in Spanish and I get an error
re-patch with the ones you have.
We didn't do the title screen for DW3 and DW4 yet.
So let's go back to my question--I had changed the Prince of Laurasia/Midenhall to appear closer to Toriyama's art with the bomber cap and ear cuffs instead of the horned helmet. Do you want my to include those changes or only the name DRAGON QUEST: GODS OF EVIL?
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Ray572 on April 11, 2019, 05:36:39 pm
We didn't do the title screen for DW3 and DW4 yet.
So let's go back to my question--I had changed the Prince of Laurasia/Midenhall to appear closer to Toriyama's art with the bomber cap and ear cuffs instead of the horned helmet. Do you want my to include those changes or only the name DRAGON QUEST: GODS OF EVIL?

Now I understand,
and yes, I would be very grateful if you included those changes. :beer:
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on April 14, 2019, 02:57:56 pm
Now I understand,
and yes, I would be very grateful if you included those changes. :beer:
Here is a link to the DW2 title only patch

https://www.dropbox.com/s/fo41ckms6d3bmqg/dw2_titleonly.ips?dl=0
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: joe73ffdq on April 14, 2019, 09:26:59 pm
I just took the time to finally read through this thread...

There is a project I have been gradually working on, and some of the text related things will be very helpful...

https://www.romhacking.net/forum/index.php?topic=28255.0


Chickenknife... I can relate to the frustration of understanding or finding code, and various language used to define things at a programmers level... It took quite a while to find the following...

Jailors key to open all
New spells and abilities for enemies (by replacing 3 of the 6 heal spells)
Creating new items - Panacea, Yggsdrasil Dew, and Bunny Tail
Expanding the effects of Dragons Bane, to both equipped and unequipped Shield of Strength


All of that said...

The idea initially, was to uncurse items to have a full roster, and create enemies I would like to see. It expanded past that as it went along, and Im hoping for a release for testing before months end... I also could face the loss of internet if I dont find work soon, which would impede my ability to adequately follow up...

Take all the info in that link for your own use...

---

Now a couple questions...

Do you have a graphics only patch, which would uncensor churches and coffins (not sure what else there is for non battle graphics)

Where do I find the text for Gremlins Tail... It says Bunny Tail in the menu (drawn from 1b2da/1ba52), and then when you equip it, it still says gremlins tail... Same with Power Shield...

There is a text and graphical error with Panacea and Yggsdrasil Dew... They both use the Leaf of World Tree dialogue to restore life... They both use the Heal/Healmore/Healall routine, and will display your HP restored on the bottom of the screen in green, and not within a text box. Similar text occurs in battle...

---

When I was reading through the thread, I noticed that you were struggling with moving code to other banks... Here is the bank swap for DW1, which should be identical for DW2...

A9 xx
20 96 FF - bank swap to desired bank
20 xx xx - JSR to new location
A9 00
20 96 FF - swap to bank 00 each time?
60

Disch helped me with this a few years ago when I was working on DW1. I was able to jump in another bank to add defensive properties to more armor, and then jump back, not having to carry other routines involved... Someone with more knowledge on this could explain much better... If I tried to jump to another bank for more inventory in DW2, I surmise that other routines would need to be involved. Adding full plate and magic armor in DW1 for fire defense, and then swapping back, worked perfectly fine from what I remember...

Last thing... The one thing I would like to figure out, but havent been able to... Expanding enemy HP...

There are 15 bytes for each enemy... The 2nd byte is for x/64 evade. This is the left nybble... The right nybble is for enemy HP 256... But has no instruction to RAM... Tried several things, and cant figure it out...

Check out the link above for all the data I have... There is a partial disassembly for banks 4 and 6, and detailed info for where I am at with my mod...

Adding more HP for several enemies would be very helpful, especially for enemies in the last area... Having to use the shield of strength or panacea to frequently, and final bosses spamming healall, could be reduced with higher HP options.

---

Very last thing

When I spotted this thread a few months ago, it helped me to re continue what could become a really good mod.

If someone could help me with text locations to fix a few errors, that would be awesome  :beer:

If someone could help me figure out the omitted HP options, that would be epic  :crazy:  :beer:








Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: darthvaderx on April 15, 2019, 01:20:30 pm
Here is a link to the DW2 title only patch

https://www.dropbox.com/s/fo41ckms6d3bmqg/dw2_titleonly.ips?dl=0

Could you do the same for DW?
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on April 15, 2019, 01:43:01 pm
Could you do the same for DW?
I put the DW1 link up on this thread several posts earlier but here it is again. https://www.dropbox.com/s/pkgyll8k2845yeu/dw1_titleonly.ips?dl=0

joe73ffdq
Congratulations on getting close to finishing your project! It seems like a whole new era of DQ relating hacks going on. Very exciting and much deserved for such a great series.

I can work on making you a separate patch for just the graphics. I don't have it now. There is actually one thing I didn't get to change yet, maybe you could even help if possible. In hargon's castle, the secret passage to progress from the initial area is still in the altered English localization form in my hack where a white square is in that room and a grey tile is in the center that you search for the passage. I would want to edit the nametable to restore the original white cross where you search the intersection of the white beams. In theory, if we could find the sections in the English and Japanese code that relates to this area, we could just swap out the data?

For the item names you mentioned having an issue with, you have to understand that the game has those items named independently in the script. The game is not using an opcode in the text to refer to the item name. Therefore you'd have to change the item name on the lists and also change the text in the script. I'm not sure if you were planning to make other script changes or not but you'd have to use an extract and insert method due to script compression. There is a whole lot about this in a separate connected thread: http://www.romhacking.net/forum/index.php?topic=27053.0

Once you look that over, if you have questions or need help let me know. There is a lot I don't know but abw helped me successfully extract and insert so I should be able to help you do the same.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Ray572 on April 15, 2019, 08:51:03 pm
Here is a link to the DW2 title only patch

https://www.dropbox.com/s/fo41ckms6d3bmqg/dw2_titleonly.ips?dl=0
Thank you :beer:
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: joe73ffdq on April 16, 2019, 03:03:59 am
Here is the data for DW1 you asked for + all the DW2 data I have as well  :beer:

https://www.dropbox.com/s/hw1t95sp392xtwm/DW1%262%20note%20collection.zip?dl=0


I checked out Hargons Castle and went to the passage, and used Eye of Malroth... Im not seeing the text error that you mention???

One thing I am wondering... The text errors in my mod are due to compressed text that is drawn... Do you have a list of pointers from bank 03 that draw the text from bank 05... Decompressing a few lines of text might be something I can accomplish, if I knew where the pointers were...

Any suggestions for how to make finding things in RAM easier. Several things are going on, and even if I pause emulation, Im not always sure what to look for... If I want to add ram instruction for the x256 HP amounts, I imagine it will be an 85xx or a5xx STA, but it could also be in the $6000 area or $100-$500.... Its been a while since I last tried, but finding anything through RAM is very difficult... I remember that quote from AlexKC on that Gamefaqs post from 2011. There is a place in RAM for x256 HP amounts for both Characters and enemies, but no instruction to do so...

Jailors key for all - done, but with text errors
Panacea and Yggsdrasil Dew... Revive + Heal - done, but with text errors
Dragons Bane extended to Shield of Strength - works with no errors

Inventory space saved, and new useful items available...
Double the amount of enemy fire attacks for variety...

Just need that HP expansion to make the options even better

---

With the things you have uncovered here in this thread + the data I put together... All the key data for both DW1 and DW2 are pretty much there now... And in one place here on this thread  :beer:  :banghead: > :crazy:

Specific thanks to AlexKC and Gameboy9 for the majority of the data found in DW2  :beer:
Also thanks to many here for help, and patience when I dont quite grasp something  :beer:

Im going to keep working on enemy stats and formations, and hopefully I can figure out this HP thing, along with possibly fixing text errors...

Last thing for now...

There is an editor for DW1-4 to edit world maps... It works while using it, but it comes out a garbled mess, which indicates it doesnt correct the pointers involved... Adding some map edits would make this even more epic  :beer:
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on April 16, 2019, 06:56:11 am
Here is the data for DW1 you asked for + all the DW2 data I have as well  :beer:

https://www.dropbox.com/s/hw1t95sp392xtwm/DW1%262%20note%20collection.zip?dl=0


I checked out Hargons Castle and went to the passage, and used Eye of Malroth... Im not seeing the text error that you mention???

One thing I am wondering... The text errors in my mod are due to compressed text that is drawn... Do you have a list of pointers from bank 03 that draw the text from bank 05... Decompressing a few lines of text might be something I can accomplish, if I knew where the pointers were...

Any suggestions for how to make finding things in RAM easier. Several things are going on, and even if I pause emulation, Im not always sure what to look for... If I want to add ram instruction for the x256 HP amounts, I imagine it will be an 85xx or a5xx STA, but it could also be in the $6000 area or $100-$500.... Its been a while since I last tried, but finding anything through RAM is very difficult... I remember that quote from AlexKC on that Gamefaqs post from 2011. There is a place in RAM for x256 HP amounts for both Characters and enemies, but no instruction to do so...

Jailors key for all - done, but with text errors
Panacea and Yggsdrasil Dew... Revive + Heal - done, but with text errors
Dragons Bane extended to Shield of Strength - works with no errors

Inventory space saved, and new useful items available...
Double the amount of enemy fire attacks for variety...

Just need that HP expansion to make the options even better

---

With the things you have uncovered here in this thread + the data I put together... All the key data for both DW1 and DW2 are pretty much there now... And in one place here on this thread  :beer:  :banghead: > :crazy:

Specific thanks to AlexKC and Gameboy9 for the majority of the data found in DW2  :beer:
Also thanks to many here for help, and patience when I dont quite grasp something  :beer:

Im going to keep working on enemy stats and formations, and hopefully I can figure out this HP thing, along with possibly fixing text errors...

Last thing for now...

There is an editor for DW1-4 to edit world maps... It works while using it, but it comes out a garbled mess, which indicates it doesnt correct the pointers involved... Adding some map edits would make this even more epic  :beer:
Here is the pointer information from my atlas file that covers the strings that include the lines of text you want to edit:

//POINTER #16 @ $B782 - STRING #16 @ $14F46
(includes references to giving and taking items from ghosts, which should be changed to coffins)

//POINTER #17 @ $B784 - STRING #17 @ $1504F
(additional ghost / coffin text)

//POINTER #18 @ $B786 - STRING #18 @ $15153
(Dragon's Bane, Gremlin's Tale, Fairy Water, Charm of Rubiss, etc)

//POINTER #19 @ $B788 - STRING #19 @ $152AC
(Eye of Malroth, Leaf of the World Tree, key related text,

//POINTER #20 @ $B78A - STRING #20 @ $15409
(Wizards Ring)

And the thing I asked you about has nothing to do with text; it's a change to the nametable (background tiles) within Hargon's Castle. Here are some pics to convey the idea:

This is the current version, censored in the English game:

https://tcrf.net/images/d/dc/Dragon_Warrior_II_-Hargon%27s_Castle.png

Here is the japanese nametable, which I would love to incorporate:

https://tcrf.net/images/8/87/Dragon_Quest_II_-Hargon%27s_Castle.png

As far as your other changes, they sound great for your hack but for Delocalized, we are specifically taking a conservative approach. We are all for fixing bugs and uncensoring but we don't want to alter the gameplay of the original experience.

Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: joe73ffdq on April 16, 2019, 08:06:45 pm
I was confused what to look for, and now I see what you mean. This would require a map editor from the looks of it, which isnt available... I could do a compare search with JP vs US, and see if the graphics could be transferred. The only problem is unknown pointers, and if it would actually work...

Thank you for the clarification of your work here on this thread... I did mix what I was doing into a different topic, and even though one of the same games is involved, it veers from the specific topic material. This is why I waited a few months to respond here.

You opened up code I did not find, and it ended up being the entire dialogue routine now available  :beer:

Figured I would add all the code I also have, now that its organized and close to completion  :)

Im going to look into the graphics and dialogue, and see how much I can find...

Last thing... There is a DW2 tbl file in that file above... There is also an index that shows every letter/number/symbol, and a few surprises, like 7-8 Japanese letters, and a few colored blocks.

Lets see what I can find over the next few days...  :beer:
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on April 16, 2019, 09:17:11 pm
I was confused what to look for, and now I see what you mean. This would require a map editor from the looks of it, which isnt available... I could do a compare search with JP vs US, and see if the graphics could be transferred. The only problem is unknown pointers, and if it would actually work...

Thank you for the clarification of your work here on this thread... I did mix what I was doing into a different topic, and even though one of the same games is involved, it veers from the specific topic material. This is why I waited a few months to respond here.

You opened up code I did not find, and it ended up being the entire dialogue routine now available  :beer:

Figured I would add all the code I also have, now that its organized and close to completion  :)

Im going to look into the graphics and dialogue, and see how much I can find...

Last thing... There is a DW2 tbl file in that file above... There is also an index that shows every letter/number/symbol, and a few surprises, like 7-8 Japanese letters, and a few colored blocks.

Lets see what I can find over the next few days...  :beer:
Don't worry! I'm not complaining about anything being off topic. I was under the impression you were thinking we would want to incorporate some of your changes and I was just trying to explain our thought process towards these projects.

Thanks for taking a look at the graphical stuff! It sounds like you have some capabilities that at this point I am missing. When I get a chance, I'll make a patch of just those changes that I accomplished so far. There is one palette fix for the coffins in Rondarkia/Rhone that I will have to dig around for where it was again.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on April 16, 2019, 10:12:13 pm
Yeah, we should definitely pool our knowledge.

You've been working on Dragon Warrior II for a while now and have managed to identify the purpose/use/format/etc. of large swaths of the game's non-text data. I was actually meaning to go back through your old posts and consolidate/summarize your findings, but that zip file saves me a lot of work there :beer:. The files you provided contain a lot of information, but some of the notes are a little bit cryptic (e.g. the data tables with no column headers or explanations) and I'm not sure how much of your documentation applies to the base game vs. your hack.

On the other hand, we've been working primarily on the game's text (which makes up about 20% of the ROM, even more if you include the related code), so we're coming at the game from fairly complementary angles. I've also got an accurate and nearly complete (probably about 95%) disassembly of the entire ROM; it's not labelled and is only partially commented, but it's still pretty useful, especially since it catches all the places where DW2 stores data in between sections of code (for instance, 0x103A8 - 0x103B2 and 0x18074 are really data, not code, which throws off your disassembly's alignment).

One thing about your enemy names that caught my eye was the new Pink Puff; do your battle formations allow the player to encounter more than one of those at a time? If so, the base game's pluralization rules will result in text like "Two Pink Pufves appear.". If you haven't already dealt with that, I posted a commented disasembly of the monster name pluralization code (http://datacrystal.romhacking.net/wiki/Dragon_Warrior_II:ROM_map#Monster_Name_Pluralization_Rules) on the wiki which should be helpful.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: joe73ffdq on April 18, 2019, 07:34:21 am
Having all the data pooled together was the idea  :beer:  I was just being honest, and being cautious not to digress too much, or ask for too much help with code I am looking for... I have started or jumped into topics, and have ambition, but very slow progress, and have poor concentration also...

I played DW2 heavily from 11/90 through winter 1992, at least 7-8 times. (Very first purchase with my own money, along with Castlevania 3. Received both on 11/2/90 in the mail)... I just randomly remembered that, and then there is the memory of what I called "Playable D&D"... DW1 was just a tease... FF1 was epic... And DW2 was love hate... Then there is that Zelda 3 / D&D hybrid, a few of us tried to create in late 89, with a map I made that has Rhone, almost to the tee.

I drew out a map on gamefaqs last year actually. It is all typed in with text, but you will see the NE section is identical to Rhone.

https://gamefaqs.gamespot.com/boards/916386-nes/76478402


Ok... That was a pretty cool random moment, and then I looked for that thread  :beer:

---

With what you are seeing as cryptic... It was a complete mess and incomplete for DW1. I fixed and organized it. For the patch I gave, it allows for 5 armors to have damage reduction, instead of just 2. The charts there should make more sense now. The added effects for items should be easy to adjust now also.

https://www.dropbox.com/s/lssn7p0iw9h508g/DW1.zip?dl=0


Anything that might look cryptic with the DW2 stuff, is the charts for damage variables, special formations, and a few chicken scratches that can be ignored... My text and organization skills, are worse then my hacking skills, lol.

---

How much is different in DW2...

All the data has been changed quite a bit in my notes, and now that I think about it, I was lucky to have 300+ free bytes to create things without bank swapping.

There is a partial disassembly for DW2 with #04 and #06 which has no altered code (that I know of). In the original link above.


---

You mention that you have your own disassembly of DW2... Im trying to think of whats left to try and find... I really want to find the HP 256 options, which requires an instruction to RAM. The 2nd byte of enemy data is for evade (left nybble), and the right nybble for 256 HP...

For now, I am going to go over all the text code throughout this thread, and see if I can organize and add it to my notes... It looks like you guys found the whole dialogue routine in bank #05, and stuff in #03 that goes with it... Enemy graphics are roughly from 4010-5500 in bank #01... With the combined effort, a lot has been unearthed  :beer:

---

1c816 : 00 - Pink Puff - add s

---

One more thing I wanted to mention... There is a program for DW2-4 that does map edits... It works while you are using it, but expands the code to 700 something, nearly tripling it... The area of code effected with just a few edits, was from a500-a700 roughly... I have used it a few times, and then I got runtime error 73 and 76, from moving files while it was open... It was working, and I was trying to see what I could find, and then I screwed something up by moving the folder, and failing to realize it was still open... Its an ancient program that was temperamental, but how did it screw with system32 ???

Here is the link for it at Zophars domain.

https://www.zophar.net/utilities/neslevel/dragon-warrior-x-overworld-editor.html


---

Ok... That covers everything for now... Kind of went all over the map, but Im glad the DW1 texts are fixed for you guys  :beer:

Hope you guy enjoy that story from 1989-90  :beer:

There was a friend that had DW1 before I got the system in Christmas of 89, and I was also familiar with Zelda 1&2... My friend Pete drew up enemies and statistics, and I drew all the maps and perceived locations... I thought of DW1... Level 5 in Zelda... And Tibet... A final area enclosed by mountains... DW2 was a letdown after playing FF1 at the time, but now you can see why it has such a strong nostalgic significance  :beer:

I was dancing between 7-8 mod ideas over the past few years, and then I was determined this past winter to finally follow through...

And then this thread came up at the same time  :beer:

AlexKC found the initial stuff in 2011  :beer:
Gameboy9 found 70% of what I have presented thus far 2 years ago  :beer:

Right off the heals of DQ 11, now the blacksheep in the DQ series, is close to having a much needed makeover  :beer:


---

Good day everyone :beer:


Now to look into text from here, and work on the enemy build for a very close project  :) 



April 19, 2019, 01:49:40 am - (Auto Merged - Double Posts are not allowed before 7 days.)
---

Yikes...  :banghead:

https://datacrystal.romhacking.net/wiki/Dragon_Warrior_II:TBL#Table_for_menu_data

I was trying to decipher this, and cant figure it out...

B762-0B7C1... Main script pointers.

From there I saved when the king says... Hear me, oh king.'... This is somewhere between 1481d-14cfe... Im trying various things one byte at a time, and it garbles the whole text routine...

How do I actually change individual words?


I would like to manually map this out also, ie...

#00 : -- stood guard.             
#02 : But it wasnt real.           
#03 : -- attacked!                 
#04 : Before -- was set for battle.
#05 : But the -- did not see thee.

If someone could give me a starting point, that would be great  :beer:
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on April 20, 2019, 01:19:55 pm
I played DW2 heavily from 11/90 through winter 1992, at least 7-8 times. (Very first purchase with my own money, along with Castlevania 3. Received both on 11/2/90 in the mail)...
Ah, if only I had money to spend in the 90s and/or a time machine... good old games tend to be expensive these days, especially if they're also rare!

You mention that you have your own disassembly of DW2...
It's definitely still a work in progress, but here (https://drive.google.com/open?id=1r56KqI1IKyDhjhHbxwboQ6Jq8aQZ6MkZ) is what I've got at the moment for bank 6 - there's not a single unused byte in that bank (though there are some useless bytes, but that's a different matter) :P. If you compare it against yours, you'll see there are a large number of places where DW2 stores data in between instructions (e.g. every call to $EB76, $F6EA, $F6F0, $F6F6, $FA2A, $FA2E, $FA32, and maybe others is followed by a byte of data before the next code instruction), and every time that happens, your disassembly of the next few bytes is incorrect.

I really want to find the HP 256 options, which requires an instruction to RAM. The 2nd byte of enemy data is for evade (left nybble), and the right nybble for 256 HP...
Some quick work with FCEUX's debugger and some light experimentation with its hex editor suggests that Midenhall's current HP at $63B-$63C and enemy current HP at $693-$694 are both functional 16-bit values, but only the low 8 bits get displayed. Slimes don't go down quite so easily when they have 512 HP ;). So the game has at least partial support for HP values up to 65535 internally (see e.g. $04:$AF31-$04:$AF7E, particularly $AF73-$AF7C where it updates both bytes of the target's current HP), but you'd have to update the display code and menu widths to get the high byte to show up on screen.

1c816 : 00 - Pink Puff - add s
Yup, that'll do the trick :beer:.

Yikes...  :banghead:

https://datacrystal.romhacking.net/wiki/Dragon_Warrior_II:TBL#Table_for_menu_data

I was trying to decipher this, and cant figure it out...

B762-0B7C1... Main script pointers.

From there I saved when the king says... Hear me, oh king.'... This is somewhere between 1481d-14cfe... Im trying various things one byte at a time, and it garbles the whole text routine...
For the main script, you have to understand that the text isn't stored in entire bytes (8-bit values), it's stored in 5-bit values (with some 10-bit values depending on how you want to think of things), so that ‘Hear me, oh King.’ starts at bit 3 of 0x14871 (the first 3 bits are part of the previous string) and is encoded like this:
Code: [Select]
%10101=‘
%1110000111=H
%01001=e
%11010=a
%10110=r
%01111=
%10001=m
%01001=e
%1110110001=,
%01111=
%00111=o
%01100=h
%01111=
%1110001010=King
%1111101011=[.’][wait][line]\n
So... changing the main script for DW2 is a bit more complicated than it was for DW1. I've included a full text extraction script for DW2 and the skeleton of a corresponding insertion script (fill in the rest with whatever text you want to insert) in the latest version of abcde (http://www.romhacking.net/utilities/1392/), so you can use that to edit all the text in the game.

For the menu data, you can update that in a hex editor fairly easily if you really want to (the format is explained here (https://datacrystal.romhacking.net/wiki/Dragon_Warrior_II:ROM_map#Menu_Format)), but the output of the sample extract script also gives you a working example of how the menu table setup works, and having an insert script also takes care of pesky issues like updating all the pointers when you change a string length.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: joe73ffdq on April 21, 2019, 05:26:03 pm
Ok... I got a little ahead of myself, and burnt my brain out a little  :banghead:

Thank you for the info and help  :beer:

I had to simplify where I am at, and not take too much on all at once... I have a remix and rebalance in the works... And then I spotted this thread, which will help with text errors, and the unexpected plural, ie Pink Puff, which I wasnt looking for...

I realized what I need to do, which will help me to be able to complete this...

#1 - Finish up the bulk of my work, and at least get a functioning beta, that can be reviewed by others who are following DQ in general  :) ... Also, I would want to offer all 3 translations... Original... Delocalization... And another thread which aims to modernize... That is where I got side tracked initially with this thread... I want to incorporate both new script rewrites into my work  :beer: ... I just have to finish up the last part I am doing first... I am actually burned out from the magic routine and building enemies... 64+5+19 formations, and I keep erasing it the past few days... I want the encounter part to be varied and epic... Dragons will be everywhere from Alefgard forward, but in 1-2 formations only, so its never a wipe out situation... I also have planned, for the ocean area north of Rhone, to be a hunting ground for gold and experience. I will have to label the map, because there will be several PNEOP type areas...

#2 - Then come back here, and attempt a disassembly of the dialogue routine, and apply text fixes I wouldnt have found, that were discovered here  :beer:

#3 - From there, I can attempt to figure out the HP thing... I am interested in enemy HP specifically, which AFAIK, would only require an instruction... $693 and $694 I knew about, but have no idea what to change...

Thank you for the specific locations and bank 6 info  :beer:

I can now try and figure some things out when I have a chance  :)

---

Hope everyone liked that story from 1989... Mario 3 on Playchoice... And that incomplete D&D project...

Im going to describe part of it that I can remember... In the northwest quarter, it was going to be similar to Zelda 1 and Festers Quest, with below ground areas connecting places... The southwestern area would have been similar to Secret of Mana. We had a weapon/armor upgrade system, that was based on multipliers. Zelda meets Final Fantasy in concept, a few months before seeing FF1, and 3 years before SOM... The southeastern section, is where magic first appeared. 4 specific places had to be revisited, to obtain (onyx, sapphire, emerald, and ruby)... Then you had to go to a great sage (Rygar was the game for the concept of a sage), in the very far northeastern part of the map, to obtain a spell that could break the seal... Now we are at the Cave to Rhone entrance. It was a combination of CTR, and Turtle Rock in ALTTP... Once on the plateau, Rhone is almost too identical. The shrine is where a Tiamat type dragon was going to be. About 12-15 blocks SW of Hargon's castle, was a tower that resembled the lunarian home in FF4, or more specifically, the empress tower in the Neverending Story... Almost like a 2nd CTR was required to go through (about 10 blocks NW of Hargon's castle), and then 8 stories to this final tower, in which again, a Tiamat type dragon..... Final description... Maps from DW1... Fighting from Zelda, mixed with some D&D elements... Dragons, Gannon, and He-Man, were the sources of story line material, and names for many things... The first castle was named Gray Hawk, instead of Grayskull... The river to east if you look at that rough map, is where a Festers Quest type cavern was, and you retrieve an item that helps you reach the south. Someone similar to Teela in He-Man, opens up the way to the south with the amulet? IIRC... The next area was SOM and Zelda 1 related, where said number of items needed to be found, and you then learn your first spell to move east... Learn spells, retrieve the 4 stones, visit the sage, and then proceed to Rhone / Turtle Rock / and the Lunerain Home / Phantasia.....

Ok... There is some filler there, but that describes it very well. It was a D&D concept that went from 9/89 through early summer 1990. I drew well over 30 maps, and he created 10-12 functioning enemies... We experimented with a map I made, that mirrored Tantegal to Garinham. With a D6 to move 2-6 places, and D8 to determine encounters... There was a huge dragon fly, a large spider, a rabid wolf, and a slime that was a mix of DW1 and Festers Quest... Cant think of many others, except for many dragon concepts...

Form there, I can remember well, that we just parted ways gradually... He graduated in 1990 and went to college the next fall... Games like Zelda 1, Battle of Olympus, Crystalis, and then FF1 in mid summer... Video games were fulfilling a lot of my ideas, and then its pretty wild to see the concepts actually be used...

---

I guess I could close by saying this...

I had that small window of die hard gaming... Spring of 86 through about mid 93... 1989 and 1990 were the epic years  :beer:

Most epic moment in all of gaming... Reaching 5-2 in SMB3 on roughly 10/25/89... At Price Chopper of all places. We accumulated around $30, and made it that far without knowledge of warps.

---

That was fun  :beer:

I kept revisiting this over that past few hours...

---

From here I am going to finish up what I am working on...

And then come back here, and see what I might be able to help with  :beer:

Good day Everyone  :)
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: John Enigma on April 22, 2019, 04:02:35 pm
Can a project like this one be "ported" to its remakes, like the Japan-exclusive Super Famicom/SNES port, or the Game Boy Color port?
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on April 23, 2019, 12:46:23 am
Can a project like this one be "ported" to its remakes, like the Japan-exclusive Super Famicom/SNES port, or the Game Boy Color port?
Not outside the realm of possibility in the future. I love the originals the most so that's what lead me to start here, but there's really no saying where we stop. Keep in mind the remakes have significant additions to the text and will pose various hacking challenges based on being different games on different systems. I think the plan is to move through the NES games, then into doing some addendums to the existing fan translations of 5 and 6. At that point we may look at applying the same conventions to various remakes--as well as the Dragon Quest Monsters series. One big dream I have is doing an English version of the Japanese only PS1 remake of DQ4 but I'd have to come a long way in my abilities before I take that on.

But tbh that all sounds like a bit of a pipe dream. Getting through the massive NES 3 and 4 alone is the goal.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on May 28, 2019, 07:23:10 am
Wanted to give everyone a quick update. Nejimakipiyo finished their work on on the script's rough draft for DQ3. At this stage, we are going through everything together to make it as natural sounding as possible. Things are moving. I anticipate that within the next 3-4 weeks I will begin work on the insertion. 
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: AdamDravian on May 28, 2019, 12:11:39 pm
Appreciate the update. This project is the main reason I check up on these forums.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Lord Igniz on June 09, 2019, 06:59:25 pm
Good work guys, but I'm really waiting for the Dragon Quest IV release. I already played through DQ 1-3 on the SFC, too bad they didn't remake IV on that one as 5 out of the first 6 games are available on that console.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on June 11, 2019, 09:14:18 pm
Good work guys, but I'm really waiting for the Dragon Quest IV release.
I'd advise some continued patience here ;). Dragon Warrior IV has a pretty large script for a NES game: it's about double the size of Dragon Warrior III, which was approximately 2.5 times larger than Dragon Warrior II, which itself was about twice as large as the original Dragon Warrior.

Wanted to give everyone a quick update. Nejimakipiyo finished their work on on the script's rough draft for DQ3. At this stage, we are going through everything together to make it as natural sounding as possible. Things are moving. I anticipate that within the next 3-4 weeks I will begin work on the insertion. 
Nice. Did you notice how despite the abundance of control codes for gender-specific pronouns, a lot of the script has conflicting hard-coded references to the hero's gender?

As for my own update, I've been going through joe73ffdq's Dragon Warrior II notes and merging them into my disassembly and am happy to report some serious synergy. Knowing what the data is for makes figuring out unknown code much easier, and knowing what the code is for makes figuring out unknown data much easier. Many parts of the ROM are stil completely opaque to me, but it's going to be a while before I run out of things that can be easily documented, and with every documented area making all the other areas that reference it easier to understand, by the time I'm done with the easy stuff, the stuff that's currently hard should be a whole lot easier.

Along the way, I've come across a few items that you might be interested in knowing about:
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: Chicken Knife on June 12, 2019, 03:13:28 pm
Appreciate the update. This project is the main reason I check up on these forums.
Thank you for your continued interest! Always makes me happy to hear when people find value in these projects.  :thumbsup:

Good work guys, but I'm really waiting for the Dragon Quest IV release. I already played through DQ 1-3 on the SFC, too bad they didn't remake IV on that one as 5 out of the first 6 games are available on that console.
Yes, like abw said IV will take some serious time. Not only does the game have separate night and day text like DQ3 but it's also the first game in the series to update vast amounts of town NPC text based on events in the story that have transpired. Quite shocking that feature existed at all in an NES RPG.

Quote
Nice. Did you notice how despite the abundance of control codes for gender-specific pronouns, a lot of the script has conflicting hard-coded references to the hero's gender?
Accurate observation. We've found that in both the English localization and  the Japanese original, there is a very high frequency of misgendering of the female hero. She gets referred to with male pronouns, she gets called "son", she is named "king" at one point. At first we thought this would be a consistent thing until we discovered there are plenty of times where the game does have separate text for both male and female and handles it correctly. One of the strangest lines of text we've wrestled with has the hero actually denying that she is female when confronted by a child in Reive / Reeve who is angry over the death of his parents. Our handling of the misgendering will be one of the ever so conservative improvements that we've done on a few occasions. We want a female hero who is consistently referred to as female.

Quote
Lunch bag letdown: despite displaying a message saying that you found a treasure chest after battle, monsters will not drop their item if you have a full inventory (there is no option to throw away an old item in order to get the new item) or already have one copy of it (you can't get 2 Mysterious Hat drops), except for selected items such as Lottery Tickets and basic consumables.
Silent loquaciousness: the guard in the NW corner of Hamlin has extra code to display 2 additional strings after his normal string, but in the English version, both of those strings are empty (does somebody want to check the Japanese version?).
Zahan's magically teleporting Golden Key: the Golden Key is available in 2 places on the Zahan map, but which place you can find it at depends on the X-position of the town's lone dog.
... I can't believe I paid money for that: in the Japanese version, the woman in the SW corner of Lianport will offer you a puff-puff for 100 G if you talk to her while Moonbrooke is dead; the dialogue was changed in the English version to ‘Dost thou think I am pretty enough to be a queen?’, but the code for charging you 100 G if you answer YES still runs.
It's over 9000: despite the highest achievable maximum HP for your party members being a mere 240, the game dedicates 16-bit storage to HP values and often (maybe always?) performs 16-bit calculations on them; as one example, the Healall spell is hardcoded to restore 61,680 ($F0F0) HP.
Greatest thing since sliced bread: in addition to protecting you from damaging floor tiles such as swamps and lava, the Armour of Erdrick also magically disarms trapped treasure chests for you. No more getting poisoned or losing half your current HP! (I guess the HP regen effect from DW1/3 was too powerful?)
Some fascinating trivia here! I've discovered a bit of that myself. Nejimakipiyo and I will have to check out the Hamlin/Moonpeta guard's text in the Japanese version. I don't remember offhand how we handled it.

Great to hear you are making progress and joe73ffdq's work has been complementary! I'm looking forward to seeing the result--and I wish I could read it! I have a high-brow friend of mine who is fluent in Latin and I keep prodding him to give your hacks a try. The issue is he hasn't played an rpg since AD&D in the 70's and 80's. A bit of catching up to do.
Title: Re: Dragon Quest I - IV: Delocalized Editions
Post by: abw on June 13, 2019, 09:29:34 pm
Some fascinating trivia here! I've discovered a bit of that myself. Nejimakipiyo and I will have to check out the Hamlin/Moonpeta guard's text in the Japanese version. I don't remember offhand how we handled it.

Great to hear you are making progress and joe73ffdq's work has been complementary! I'm looking forward to seeing the result--and I wish I could read it! I have a high-brow friend of mine who is fluent in Latin and I keep prodding him to give your hacks a try. The issue is he hasn't played an rpg since AD&D in the 70's and 80's. A bit of catching up to do.
Here's another bit of trivia I came across today: the game reads controller 2 data after you win a battle. If you win a battle on one very specific but otherwise unremarkable map tile in the entire game (World Map X=$EB, Y=$14, a.k.a. the centre of the tiny "+" formation at the tip of the peninsula near the shrine NE of Midenhall) and controller 2 has the "A" button pressed while controller 1 dismisses the final battle message, the game adds 1 to the battle message delay variable, making all future battles take just a wee bit longer... unless your message speed was set to SLOW ($FF), in which case it overflows to $00 and battle messages become extremely fast. That same variable gets copied and used in a few different places, and various parts of the code only check for the pre-defined FAST/NORMAL/SLOW values, so it is entirely possible that there might be other less-obvious side effects.

I should probably approach this more methodically, but at the moment I'm basically just jumping around to whatever looks interesting and/or easy at the moment. Thanks to joe73ffdq's notes to start with and all the expansion I've done from there, I've got pretty good coverage of banks 4 (battles) and 6 (main COMMAND menu selection handling, which includes the dialogue and searching logic), and I already had the menu data in bank 1 and the script data + text engine in banks 2 and 5; bank 0 is mostly graphics, the rest of bank 2 looks like map data (including warp point data, shared with bank 3), bank 3 is where the audio data lives, and bank 7 has, among other things, the opening Moonbrooke sequence and some text engine support functions. I haven't done much with banks 8 through B yet, banks C-E are empty, and the fixed bank F is a smorgasbord of everything.