Author Topic: Gold Box series: Differences in the engine and continuity of story?  (Read 1340 times)

Offline Ishad Nha

  • Hero Member
  • *****
  • Posts: 945
Re: Gold Box series: Differences in the engine and continuity of story?
« Reply #30 on: April 25, 2017, 08:51:50 AM »
I can use the GBC Teleport inside towns but not outdoors in Champions of Krynn...

Pools of Darkness, if you can identify the current Ecl in the DosBox data, then you can know which outdoor map the party is currently in. This might enable you to bring Teleport to the game.

Offline jhirvonen

  • Jr. Member
  • **
  • Posts: 92
Re: Gold Box series: Differences in the engine and continuity of story?
« Reply #31 on: April 27, 2017, 01:27:49 PM »
I can use the GBC Teleport inside towns but not outdoors in Champions of Krynn...

Pools of Darkness, if you can identify the current Ecl in the DosBox data, then you can know which outdoor map the party is currently in. This might enable you to bring Teleport to the game.

Can't remember why teleport is not working in Champions.

In Pools, If I remember correctly, I figured out the memory location that indicates the current indoor map index but it didn't change correctly to Realms/Moander/etc. ECL when you left the map to outdoors. It worked in some cases but not in all. There also seemed to be some game state values regarding the outdoors map.

As I've said before, it's much more difficult to pinpoint memory addresses compared to static save files. Where there's one value for one thing in a save file, there might be several in the game memory. When an address is found you'd want it to be an offset to some base address so that in can be safely used. In most cases the save file is not a dump of the memory so knowing the save file structure does not help.

I wrote a tool which can search for values in memory and then narrow the list after the value changes and can monitor the changes live but still there can be hundreds of false positives especially if the value is just a byte.

Try HxD, it's a hex editor which can view/edit the memory of a process like you would view/edit a file.

Offline Ishad Nha

  • Hero Member
  • *****
  • Posts: 945
Re: Gold Box series: Differences in the engine and continuity of story?
« Reply #32 on: April 27, 2017, 08:56:59 PM »
Town offsets in Pools of Darkness save files:
18, 21, 197
One of these might be the Ecl figure. Changing offset 18 changed the town map. There are only three Ecl records for the outdoors, their numbers are known of course.
If all else fails, you could always have the player manually enter the correct Ecl number: 17, 51 or 80.

Champions of Krynn might have a different variety of outdoor map. I don't recall decrypting it. I can always have another go.

Already using HxD, it is a good editor.

Offline Ishad Nha

  • Hero Member
  • *****
  • Posts: 945
Re: Gold Box series: Differences in the engine and continuity of story?
« Reply #33 on: April 29, 2017, 10:02:27 AM »
Outdoor teleporting worked properly in Death Knights of Krynn.

Champions of Krynn outdoors is definitely 38x15. Outdoor terrain is basically water and town entrances, there is no need for a map. So I suspect that there is no map unlike DKK, DQK, PD... In the Ecl there are only 255 Bytes left to decrypt, and the outdoor map is 15*38 = 570 Bytes.
Finished decrypting Ecl 16, now I will have to work out what the functions mean.

Offline jhirvonen

  • Jr. Member
  • **
  • Posts: 92
Re: Gold Box series: Differences in the engine and continuity of story?
« Reply #34 on: April 29, 2017, 12:52:26 PM »
I added the Champions of Krynn world map teleport but didn't update the homepage / game archive for that. There simply was no code to handle CoK teleporting.

Have you tried using HxD to search / edit DOSBox's memory?

Offline Ishad Nha

  • Hero Member
  • *****
  • Posts: 945
Re: Gold Box series: Differences in the engine and continuity of story?
« Reply #35 on: April 29, 2017, 09:35:05 PM »
"Have you tried using HxD to search / edit DOSBox's memory?"
No, I am not much of a programmer and I am busy with several other things.

Champions of Krynn, once you expand the record for Ecl1_016, by using DaxDump, you have the normal Ecl functions, then you have a remnant section of 245 Bytes. This begins at offset 3,568. Now, the x and y town coordinates occur in separate areas. X coords are found in offsets 3,701 through 3,712. Y coords are found in offsets 3,713 through 3,724
Meaning of other 221 Bytes is still unclear.

Offline Ishad Nha

  • Hero Member
  • *****
  • Posts: 945
Re: Gold Box series: Differences in the engine and continuity of story?
« Reply #36 on: May 01, 2017, 08:51:51 PM »
State of play

Outdoors teleporting worked properly:
- Gateway to the Savage Frontier
- Treasures of the Savage Frontier
- Death Knights of Krynn
- The Dark Queen of Krynn

Compatible with both cheat codes and GBC: GSF, DKK
Has no known functioning codes: DQK
Can't use both GBC and cheat codes: TSF

Notes:
- Gateway to the Savage Frontier only works within the current Ecl area, there are six such areas. Ditto Treasures of the Savage Frontier.
- The Dark Queen of Krynn, only works within the North/South half of the outdoors that the party is currently in.

Not currently working, I can use the GBC Teleport inside towns but not outdoors:
- Pool of Radiance
- Pools of Darkness (Can't use both GBC and cheat codes to boot)
- Champions of Krynn

I can use the GBC Teleport inside towns but not tested outdoors:
Buck Rogers: Countdown to Doomsday
FRUA

Not tested at all:
Buck Rogers: Matrix Cubed

Can never work:
- Curse of the Azure Bonds displays only a static world map picture. No world map walking.
- Secret of the Silver Blades has no world map.
« Last Edit: May 02, 2017, 08:58:58 PM by Ishad Nha »

Offline Amarande

  • Newbie
  • *
  • Posts: 26
Re: Gold Box series: Differences in the engine and continuity of story?
« Reply #37 on: May 05, 2017, 02:10:34 PM »
As for the spell memorisation thing, it's more a convenience than anything else (how often do you really use and re-memorise most of your spells except for the few basic offensive mage ones?

I'm not sure I understand - what do you mean "except for the basic offensive mage ones"? Those are crucial to me, so my answer to "how often" would be "all the time, after every second battle or so" ...  :P

Basically in the sense of "ok, I've used up my Fireballs, let's just select a bunch more Fireballs & there we go" vs. "ok, I need to replace my Bless and my Resist Fires and my Fire Shields and etc."

Not really much need for easy rememorisation when you know you just need to pick Fireball a bunch of times again, but it's much more useful when you would otherwise need to go picking around the spell list hither and yon :)

Offline Null Null

  • Maker of excessively difficult vanilla mods
  • Hero Member
  • *****
  • Posts: 567
Re: Gold Box series: Differences in the engine and continuity of story?
« Reply #38 on: May 06, 2017, 07:50:31 PM »
Oh, and everyone knows the Curse<->Gateway and Pools<->Treasures transfer tricks, right?