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 10 months ago by MiDKnighT.
-
AuthorPosts
-
October 30, 2011 at 5:11 am #39595jungleParticipant
Hey sirs, I wanna ask a couple questions, hope you be willing to help
Quote:11 = Chi Xin = Recovery = 0064 = 10012 = Tong Xian = Recovery = 01F4 = 500
13 = Yin Xian = Recovery = 03E8 = 1000
14 = Jin Xian = Recovery = 1194 = 4500
15 = Wan Fu = Recovery = FFFF = 65535
This is located at 0x3BC27, I seem to realize they were written only with 64,F4,E8,94,FF. I wonder I will understand why you could write them with 4 digits?
Quote:add the following at these ROM locations0x3B4BB: 4C16B500
0x3B4E6: 4C0BB5
0x3B51B: A90D2082C48AA6254CD9B40000A5104CAFB4000000A90D2082C4
Im a fool enough to not understand this part too, do you mean that I go to these address and type in the numbers above by hands myself?
October 30, 2011 at 11:54 am #39596sonic.penguinModerator0064 in the hex editor will appear as 64 00 in a hex calculator. So you have to flip them from the calculator to input into the game. I was confused about your 2nd question as well as I am still trying to decipher MiDKnighTs confusing explanation on that Rom expansion. Maybe Niahak will be generous enough to include an "auto-expansion" option in his next update ehehehe
October 30, 2011 at 12:33 pm #39597MiDKnighTModeratorQuote:I leave 3C010-40010's data in there right?Yes. FCEUX is actually still reading from the 3c010 code but other emulators might use the end of the ROM.
October 30, 2011 at 12:39 pm #39598MiDKnighTModeratorQuote:This is located at 0x3BC27, I seem to realize they were written only with 64,F4,E8,94,FF. I wonder I will understand why you could write them with 4 digits?There are two arrays. Ie…two lists for each value. Array 1 starts at 0x3BC27, array 2 starts at 0x3BC2C. So the "64" is at 0x3BC27 and the "00" is at 0x3BC2C.
Quote:Im a fool enough to not understand this part too, do you mean that I go to these address and type in the numbers above by hands myself?The easiest way for me is to use the hex editor in FCE Ultra and just copy and paste the hex I put there exactly in that spot. Take note of the last number. For example for 0x3B51B it would be the towards the end of the line. So in FCE Ultra you'll see a line that has 0x3B510. You'd have to count across that line to find the right spot. Counting example:
0 1 2 3 4 5 6 7 8 9 A B C D E F
So "B" would be the 12th value on the line.
Quote:as I am still trying to decipher MiDKnighTs confusing explanation on that Rom expansionIt's hard to explain it any other way. We just need to manually make the ROM bigger. You can use the hex editor in FCE Ultra to do copy/paste or use Hex Workshop to expand the ROM, stretch it, pull it, sit on it, whatever you have to do to double the ROM size… :)
October 30, 2011 at 2:51 pm #39599Lord Yuan ShuKeymasterFor expanding the rom, I would highly suggest just getting WindHex and using Ctrl + N and then double the bytes. This will double the hex. No need to manually add 0's. The values from 40000 and up will be FF's but as Niahak said it shouldn't matter anyway since they won't be referenced until we change them.
Next step for copying and pasting the end code:
Quote:$3C010-$40010… and paste it to $7C010-$80010 (this is the "master" code of the game, for lack of a better term. It must stay at the end of the ROM).Dump the binary from 3c010 to 40010 to your hard drive, then use WindHex to Insert the binary at 7c010 and it'll fill through 80000.
Now I'm at the hand code assembly step, would have done it last night but passed out early.
Welcome to Lord Yuan Shu Walkthrough Guides ·
Huo Hu's Adventure started Destiny of an Emperor hackingOctober 31, 2011 at 8:18 am #39600jungleParticipantMidnikght, thank you so much. I came to understand the Tactics damage, but I query the tactics cost, is there only one array for this part?
October 31, 2011 at 11:13 am #39601MiDKnighTModeratorQuote:Midnikght, thank you so much. I came to understand the Tactics damage, but I query the tactics cost, is there only one array for this part?Yes, since no tactic costs more than 255 (FF) all the values are in one array.
October 31, 2011 at 3:46 pm #39602sonic.penguinModeratorI know it sounds like an odd request, but is there a way to change the random enemy encounters in area 0? Like Rebels and Brigands.
October 31, 2011 at 4:30 pm #39603MiDKnighTModeratorQuote:I know it sounds like an odd request, but is there a way to change the random enemy encounters in area 0? Like Rebels and Brigands.Can you elaborate on that? What do you mean?
October 31, 2011 at 4:34 pm #39604sonic.penguinModeratorLike AREA 1 is Yellow Turban Area. AREA 0 is where super rebels are just want to be able to edit super rebels unless that can be in the 'normal' rebel code
by the way Im working on a portrait strip that I wanted you to import into my rom via fedian since my DOS errors the crap out of it. I'll let you know when Im done with it. It's turning out really nice so far as I am using HQ pictures :)
October 31, 2011 at 4:36 pm #39605MiDKnighTModeratorQuote:Like AREA 1 is Yellow Turban Area. AREA 0 is where super rebels are just want to be able to edit super rebels unless that can be in the 'normal' rebel codeOh, my "expanded chapters" fix does this. In that fix area "0" has chapter 8 rebel forces.
Quote:by the way Im working on a portrait strip that I wanted you to import into my rom via fedian since my DOS errors the crap out of it. I'll let you know when Im done with it. It's turning out really nice so far as I am using HQ picturesI can definately do that for you if I can *borrow* some of those pics :mrgreen:
October 31, 2011 at 6:35 pm #39606sonic.penguinModeratorAlmost done with 1 strip, only taken about 2-3 hrs… Im hand drawing a lot of the details and making fixes to each picture. Just hope they turn out right in game :P
Might even bring a tear to your eye… okay maybe not
October 31, 2011 at 6:59 pm #39607ludmeisterParticipantThis post on hacking Destiny of an Emperor is incredible. I wish this was around when I was doing my modding on the game. I'm intrigued by the map editor… I may have to play around with that a bit when I get more time.
I was asked to share my knowledge about Destiny of an Emperor tactics. So without further ado…
Obviously, there are thirty tactics in DoaE, and are represented in the ROM in this order:
01 Lian Huo, Ye Huo, Yan Re, Da Re, Huo Shen
06 Shui Tu, Shui Xing, Shui Lei, Hong Shui, Shui Long
0b Chi Xin, Tong Xian, Yin Xian, Jin Xian, Wan Fu
10 Ji Rou, Huo Jian, Shui Jian, Ce Mian, Ji Mian
15 Cheng Nei, Yi Xin, Li Jian, Qi Shou, Jie Ce
1a An Sha, Bei Ji, Fu Bing, Tui Lu, Gui Huan
As each variable is discussed, I'll display the stock ROM's data, to illustrate further what it means. Tactic availability is determined by four separate variables, found in 0x3b881-3b90d in the ROM, as follows:
0x3b881-0x3b89e- Tactic ID learned at level up (1st ID for level 2… last is level 31)
01 11 06 0b 15 18 02 12 07 19 1c 0c 03 08 0d
10 1b 16 17 09 04 0f 14 1d 1e 1a 0e 0a 05 13
Hence, ID #01 (Lian Huo) is learned at level 2, ID #11 (Huo Jian) is learned at level 3, ID #0f (Wan Fu) is learned at level 23… you get the picture.
0x3b8b2-0x3b8cf- Tactic appears in this "slot"
00 00 00 00 00 01 01 01 01 01 02 02 02 02 02
03 03 03 03 03 04 04 05 05 04 05 05 05 04 04
Since the ROM's tactic list is faithful to group Fire, Water, Healing, and Defense tactics, this is straight-forward. It gets interesting in the last two groups.
0x3b8d1-0x3b8ee- Priority level for tactic
01 02 03 04 05 01 02 03 04 05 01 02 03 05 04
03 01 02 05 04 01 03 03 01 02 04 05 02 04 05
Put simply, given your tactician can learn two tactics that are placed in a given "slot", the higher priority tactic is the one is given. Note that An Sha's priority is 04, and Bei Ji's is 05… thus the Pang Tongs and Zhu Ge Liangs of the world don't learn An Sha, even though An Sha is learned later in the game.
0x3b8f0-0x3b90d- Intellect needed for Tactic eligibility
3c 5a 78 b4 dc 46 64 82 a0 dc 46 a0 c8 fc dc
c8 50 6e f0 c8 78 b4 8c 8c a0 b4 f0 dc 8c 96
Fairly self-explanatory. Thought it was interesting that Jin Xian's INT threshold was 252… not 255 :-)
More to come soon…
When all else fails... manipulate the source code.
October 31, 2011 at 7:06 pm #39608sonic.penguinModeratorAh Ludmeister, thanks so much for responding to my request and helping out, its greatly appreciated :)
October 31, 2011 at 7:26 pm #39609ludmeisterParticipantNow for the nitty gritty of tactic effects… at least, some of them…
In 0x3bb3f-0x3bc30, a good share of data is stored describing the effects of all the tactics.
0x3bb3f-0x3bb5c- How to target the tactic
80 80 00 80 00 80 80 80 00 00 01 01 00 00 01
00 00 00 00 00 00 80 80 01 00 80 01 80 00 00
00 means that no targeting is needed. 80 means an enemy officer is targeted. 01 means that an allied general is targeted.
0x3bb5e-0x3bb7b- Targets all or not
00 00 80 00 80 00 00 00 80 80 00 00 01 01 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 means to use the targeting info gleaned from input (see above). 80 means target all enemy officers, 01 means target all allied officers. Defense tactics, as well as special tactics such as Gui Huan and Tui Lu are special cases, and are simply target-less.
To make Shui Xing hit all enemy generals, therefore, we'd change 0x3bb45 from "80" -> "00", and 0x3bb64 from "00" -> "80". This means that Shui Xing needs no targeting from the player, and that it hits all enemy officers.
0x3bb7d-0x3bb9a- Elemental damage type (01- Fire, 02- Water)
01 01 01 01 01 02 02 02 02 02 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x3bb9c-0x3bbb9- Tactic damage, byte 1
3c 8c aa 14 d0 64 a0 c8 dc c4 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x3bbbb-0x3bbd8- Tactic damage, byte 2
00 00 00 05 07 00 00 00 05 09 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Obviously, only fire and water tactics do damage. To read the actual damage, take the tactic's byte 2, and concatenate its byte 1. So, Lian Huo would be 003c, and Huo Shen would be 07d0. This converts to 60 damage for Lian Huo, and 2000 for Huo Shen.
0x3bbda-0x3bbf7- TP Used
02 04 06 08 0c 03 06 08 0c 0f 03 05 0a 04 0a
05 04 03 11 07 05 05 06 04 05 0a 0a 06 05 06
0x3bbf9-0x3bc16- Not sure
00 00 00 00 00 00 00 00 00 00 80 80 80 80 80
80 80 80 80 80 00 00 00 80 00 00 80 00 00 00
While I'm not sure what this indicates, all purely helpful tactics have an "80" in the above list.
0x3bc18-0x3bc16- Not sure
0a 32 64 06 08 0c 0f 00 0a 32 64 01 02 04 06
Anyone have any clues on these values? :-)
0x3bc17-0x3bc1b- Tactic healing, byte 1
64 fe e8 94 ff
0x3bc1c-0x3bc20- Tactic healing, byte 2
00 01 03 11 ff
Healing power for Chi Xin through Wan Fu. Concatenated the same way as damage is.
Addendum:
It seems obvious that for the fifteen tactics that are not damage/healing related, their effects are hidden in functional code. I remember Meteorstrike doing some rather in-depth checking on how An Sha works (it's chance of success, and who is immune). That is beyond the scope of my little contribution.
That's about the extent of my expertise here. Hope this can be of help to someone.
Sonic Penguin: My pleasure. Hope it's helpful.
When all else fails... manipulate the source code.
-
AuthorPosts
- You must be logged in to reply to this topic.