Home › Forums › Destiny of an Emperor › Destiny of an Emperor RH Guide ( MOVED! to http://doaerhguide.wikidot.com )
Tagged: Battles, Destiny of an Editor, Destiny of an Emperor, Destiny of an Emperor hacking, Destiny of an Emperor Mods, Destiny of an Emperor Rom, DoaE rom, DoaE Rom hacking, FCEUX, Feidian, Graphics, hacking DoaE, Map, NES ROM hacking, nes8 template, Portraits, ROM Hacking, ROM hacking information
- This topic has 985 replies, 17 voices, and was last updated 2 years, 9 months ago by
MiDKnighT.
-
AuthorPosts
-
May 23, 2013 at 2:20 am #40356
ludmeister
ParticipantQuote:I only see room for a few more icons when I look at the PPU viewer. Lud what do you think?Looks like we do have room for 14 icons more:
$57-$5f: 9
$6a,$6b: 2
$74-$76: 3
So, we're all in luck! There's probably a couple more font characters that might be swappable… Don't know what $6f, $7f, $72, or $73 do, or if they are ever referenced… :?:
When all else fails... manipulate the source code.
May 23, 2013 at 3:19 am #40357ludmeister
ParticipantQuestion for all you modder types. Do you know of a byte in DoaE memory that is somehow is always something when in battle, but always something else when not?
For instance, 0x001b always seems to be #$b0 when in battle, and is usually different when not in battle, but sometimes can be #$b0 when not in battle.
Any ideas? A memory location within the first page (0x0000 to 0x00ff) would be preferable.
When all else fails... manipulate the source code.
May 23, 2013 at 12:08 pm #40358MiDKnighT
ModeratorYou're talking about the zero page. I know what some variables are in battle or out of battle but I don't remember if there are any that are one thing in battle or something else outside of battle. The ones I reference the most are:
$4A = who's turn is it (7 allies including ones not in battle)
$4B = target in battle
$4D = what tactic are we using?
$60-63 = map coordinates
$78 = who's turn is it (5 allies – only the ones on screen)?
I'm sure there's more but I don't remember off the top of my head. Some of them are random numbers too.
May 24, 2013 at 3:38 pm #40359ludmeister
ParticipantMiDKnighT:
If you're interested, I've come up with a couple of interesting tidbits.
First of all: The game only allows Rebel Forces to attack you in Shu/Wu/Wei. If the game determines that the battle that is taking place is in one of these regions, normal encounters will be with Rebel Forces. I wanted to change this behavior, and allow the other "forces" to attack me. Here's how you do this:
Code:0x3b315: "06" -> "09"Also, if you want a different force to default to attack you when officers attack, here's where you'd change that:
Code:0x3b319: "04" ->
"01" for Pirate Force
"02" for Brigand Force
"03" for Bandit ForceSecond, I found a slight logic error in your Focus code, which allows officers to regain lost TP. There were two places where you were subtracting values, and before you did, you executed an "CLC". When subtracting, to get proper values, you need a "SEC". The effect of this was that officers could only regain TP up to (Max – 1). This isn't a problem as long as you require players to name a strategist.
Here's the changes to the algorithm I made:
Code:0x595e: "18" -> "38"
0x5972: "18" -> "38"Third, I noticed that Protect wasn't working for me as I expected it to. Namely, Fire tactics would be reduced by half, but Water tactics would not be, and neither would any other element (element > 2). I think what was going on, is that the algorithm checked which slot the tactic was filed under (00 for Fire, 01 for Water). I'm sure that's what stock DoaE did in determining whether Wuo/Shui Jian was to be effective. At any rate, I edited the algorithm to reduce all tactic damage by half, if the elemental value of the tactic was anything other than 00. Here's what I did:
Code:0x397bf: "B9A1B8 F010 D014" -> "B96CBB D010 F014"
0E:97AF:B9 6C BB LDA $BB6C, Y @ $BB75 = #$02 <– Load elemental byte
0E:97B2:D0 10 BNE $97C4 <– If not 00, halve damage
0E:97B4:F0 14 BEQ $97CA <– Otherwise, Protect check failsHope this helps!
When all else fails... manipulate the source code.
May 24, 2013 at 3:43 pm #40360MiDKnighT
ModeratorNice Lud! Thanks for finding my buggies. I didn't know about those bugs but I do know that my A.I. code is still buggy. It was causing stack overflows and all I've done is add band-aid fixes to prevent stack overflows. There's still a bug that's causing a game freeze out there but it's really rare to reproduce so I haven't been able to trap it. All of this info that you've posted is useful for the guide. Will add it. Will also update the IPS patch with your fixes.
Any news on the icons? I wasn't going to mess with it because I figured you were doing something with it.
Also, did you look at the DoaEditor code and do you know that variation of "C" coding? I don't so it would take me a while to catch up on it. There's still a lot of stuff in the guide that could be added to DoaEditor and time saving enhancements that could be added as well (like a portrait selector).
Great to have you back around. You should take up residence here. Forget about Wizardry and Final Fantasy, they are nothing compared to DoaE :P
May 24, 2013 at 4:07 pm #40361ludmeister
ParticipantQuote:Any news on the icons? I wasn't going to mess with it because I figured you were doing something with it.Ah- Yeah I can get on that. That sounds good.
Actually, I have mostly been working on a v3.0 of my Remix, which is going to be a bit more ambitious of an undertaking than anything I've done previously. It'll still be a Liu Bei story, and I want it to be faithful to the original in terms of story and level of difficulty, because I want it to be a mod that a beginner could get into instead of the original.
I love the work you've done on the tactic system, and the IPS patch has provided me with numerous changes that I would never have pulled off. Duel rocks. End of story :huohu:
Quote:Also, did you look at the DoaEditor code and do you know that variation of "C" coding?I have not pulled it down yet, but will in a few days. I actually have been learning C# as part of my current job, so I'm confident I'll be able to at least figure out what is going on in the code. Now, the text ninjutsu that Niahak does… I'm pretty sure I'll be lost there. :ninja:
When all else fails... manipulate the source code.
May 24, 2013 at 4:10 pm #40362MiDKnighT
ModeratorQuote:Duel rocks. End of storyThanks. It doesn't change the game play all that much but it was something I really wanted to do because dueling is such a huge topic in the ROTK novel and games. By far the most involved and hardest DoaE project I have done but it's definitely fun. It was tough but I felt a great sense of accomplishment getting it to work.
May 24, 2013 at 4:16 pm #40363ludmeister
ParticipantQuote:Great to have you back around. You should take up residence here.Thanks, man. I'm glad to help out as I can, and enjoy "hanging out" with you all. DoaE is one of the all-time greats in the RPG world (if unsung).
While I was in Lafayette, Indiana for a business trip this week, I mentioned to my boss about modding Destiny of an Emperor (he is a modding enthusiast too), and how it was a Rot3K simulation that was not published by Koei, and he asked me if I had played Inindo: Way of the Ninja. I didn't know anyone else had even heard of that game! Needless to say, my boss rocks.
When all else fails... manipulate the source code.
May 24, 2013 at 4:39 pm #40364MiDKnighT
ModeratorGuide + IPS patch updated with new findings + fixes.
May 24, 2013 at 5:48 pm #40365ludmeister
ParticipantAlright! Cooked up some new icons, using Atma's graphics as inspiration, as well as a bit of help from Final Fantasy and Breath of Fire 2 8)
Here's the code:
@ 0x27cc0:
Code:C0E070381C0E070300007ED0E0C00000
7C82BABABA443800205068542A1A0404
1830BAFA6EE44638000C18387C6E261C
0E1C387E0C1830607C80DE401C280C08
0018187E7E1818006CFEFEFE7C381000@ 0x27d60:
Code:60909048080402003874E2F6FE7C3800@ 0x27d70 (replace):
Code:"0814227F083E2A7F" -> "384C9E8A82443800"@ 0x27da0 (replace):
Code:"00000000000104000000000000020502" -> "10A0CEE60A1020007CFEAAFE7C304000"@ 0x27db0:
Code:384492928A4438003C4298A492443800
387C547C38003800@ 0x27e08 (replace):
Code:"08107E2424FF2442" -> "3844A2928A443800"Font characters added:
0x57: Rifle
0x58: Shield
0x59: Herb
0x5a: Fire
0x5b: Water
0x5c: Lightning
0x5d: Cyclone
0x5e: Healing Cross
0x5f: Life Heart
0x6a: Curved Staff
0x6b: White Orb
0x6c: Black Orb (replaced a Chinese character)
0x72: Evasion (replaced a .. symbol)
0x73: Thwart/Silence (replaced a modified dot symbol)
0x74: Haste Clock
0x75: Confuse curly-Q
0x76: Skull
0x7f: Negate (replaced a Chinese character)
I apologize that I couldn't work in all of your hard work, Atma, and I also had other ideas for characters (like the herb, white/black orbs, and the curved staff). Hope these icons are acceptable.
When all else fails... manipulate the source code.
May 24, 2013 at 5:55 pm #40366ludmeister
ParticipantHere's a preview of my font set that I'm working from, as seen from FCEUX's excellent PPU Viewer:
When all else fails... manipulate the source code.
May 24, 2013 at 6:07 pm #40367DragonAtma
Moderatorhmm… I wonder if the palette for the text coiuld be changed; if it can, I could make the icons much better…
May 24, 2013 at 6:15 pm #40368ludmeister
ParticipantQuote:hmm… I wonder if the palette for the text coiuld be changed; if it can, I could make the icons much better…I was wondering the same thing. As is, DoaE fonts are two color deals… on/off. Other NES titles had four color fonts (like DoaE portraits) and as such implemented drop shadowing on their letters. We could totally make awesome looking icons, not to mention make the letters look awesome, if DoaE allowed 2 bit color in their fonts.
Not sure how we'd convert the DoaE font to two-bit color, though.
When all else fails... manipulate the source code.
May 24, 2013 at 6:36 pm #40369DragonAtma
ModeratorThe letters themselves? Pixel-by-pixel.
Which I can do.
EDIT: Mockup of old pic:
May 24, 2013 at 7:10 pm #40370ludmeister
ParticipantExactly. That's the kind of thing I'm talking about, your mockup looks great. The question is how to do this in hex. As far as I can tell, the fonts are determined by one-bit color, but I may be mistaken there. Any ideas, anyone?
When all else fails... manipulate the source code.
-
AuthorPosts
- You must be logged in to reply to this topic.

