URL: http://www.softwarespecialties.com/cgi-bin/rpgforum/dcboard.cgi
Forum: DCForumID5
Thread Number: 82
[ Go back to previous page ]

Original Message
"Bane editor"

Posted by Willow on May-07-01 at 11:31 AM
alright, so here it is:

in my non existent spare time, i would like to write a Wiz 6 save game editor along the lines of Llevram's great WizEdit (r) (c) tm. this is purely for the enrichment of my skills as a programmer, out of love for such a fantastic game.

this being the case, i would like to compile as much information as possible about hex editing bane's items, characters, stats, etc.

here is what i've compiled so far: cracked. fyi, this is stored in the same location as a *.txt file and *.xls file, for your viewing pleasure.

i also have the bane items list (for hex editing) "As provided by RBrown, a fairly comprehensive list of the items in Wiz 6" taken from Llevram's site.

basically, what i am asking for is any information that i do not already have - holes in my cracked file, items not in the bane items list, etc.

thanks for any info!

Willow
ICQ#110226531


Table of contents

Messages in this discussion
"RE: Bane editor"
Posted by cwcrosby on May-07-01 at 07:25 PM
I can fill in at least two bytes off the top of my head

Using your cracked.html as reference, 21 & 22 represent CC(carrying capacity)

The representation is in the form of number of thousands, but you have to divide by ten to get the actual amount the character can carry.

Thus-

A character who can carry 176.5 has a hex value of e506 stored in those two bytes, and shown on the screen will be a CC of 176

(I might be mistaken, but very probably the two bytes immediately prior to those might be current amount of weight carried, in the same representation...again, I could be wrong, haven't verified it)

Have fun with that, I'll post some more if I make any realizations

::waves::


"RE: Bane editor"
Posted by Willow on May-08-01 at 09:39 AM
thanks cwcrosby!

you are correct - bytes 20(h) and 21(h) are the current CC, and the following bytes 22(h) and 23(h) are the max CC, both stored in the number of thousands.

funny - i was actually researching those bytes and thought they had to do with the number of items carried... because every time i removed or added an item, they changed. i totally spaced on the fact that CC changes every time you add or remove an item...

Willow
ICQ#110226531


"RE: Bane editor"
Posted by cwcrosby on May-09-01 at 09:39 AM
Okay, I may have thought of something else...though this is going out on a limb.

See, originally, my brother and I sat down with this for like a month or more, and figured out every byte from start to finish of each character, excepting maybe one or two(which didn't EVER seem to change anything).

Okay, so bearing in mind this was like 8 or so years ago...

So...now then

I'm writing this while looking over my character.

Byte 24 is the first(maybe the only?) byte for current level, I believe...(again, could be wrong, I have to drop out of windows to play the game).

Assuming byte 25 is the second byte for level...

In bytes 26 and 27 I have 01 00, so I have no idea what that is...possibly a flag indicating class change???(but I've done multiple class changes) If I could get bane to run in a window, I'd have an easier time with this


oh well, here's a nasty one for ya, and I'm not even gonna try to get into the full explanation for this one, because I remember that figuring this out was about the most HUGE headache I've ever had doing any kind of hex editing.

I believe(this is a very tenuous belief though) that bytes 188 through 192 determine what spells you currently have in your spellbook.

If you have ALL spells recorded, it ends up being(again, I believe):

FF FF FF FF FF FF FF FF FF F7

Try it and see...

*on a side note, if ya see this Llevram, I found one of my old savegames, and am using that one to figure a lot of this out(these particular characters are the ones I figured all this out using, hehe).

Now...I *used to* know how to write those 10 bytes to cover any set of spells known...but it was a nasty little thing. I believe it's a basic add up deal, with every byte being another set of so many spells. (i.e. energy blast = 1 bit value, chilling touch = 2 bit value, so if those are what you know in that set you have a value of 3 for that set).

Anyway, I think I figured out which spells were in each set, and what each of their bit values were...but this is something I've since forgotten...you can play with it though.

The best way to do it, is probably to just put 01 in each field, and leave all other fields = to 00, and figure out which spell is 01 for each field.

Then put 02 in each field, see what happens...now, the next bit value will be one more than what the first two can equal, so 4.

01
02
04
08
10
20
40
80
(in hex that is)

Now, without dropping down to DOS and checking the total count of spells, if there's 79 total, then this works. You can find out what each spell is by going through and substituting the values above in each set, and one set at a time(you can get 6 spells each run of course, using all 6 chars).

Good luck.


"My first hex experience"
Posted by Llevram on May-09-01 at 10:19 AM
I didn't know that the bytes were written in reverse order (having never got down to that level before) so it was a real ordeal figuring out large numbers At first I thought it was Sir-Techs way of encrypting ... and I thought what a lame encryption ... only took me a coouple days to break it

Tools for your Wizardry(r) toolkit


"RE: My first hex experience"
Posted by Willow on May-09-01 at 11:36 AM
yeah - lucky for me, i first viewed the savegame.dbs file through a hex editor called "Hackman". it has tools that show you the signed and unsigned short, integer, long and double values for the currently highlighed byte(s). that put me in the right direction as far as how the bytes are stored.

i never thought it might be encryption!

Willow
ICQ#110226531


"RE: My first hex experience"
Posted by cwcrosby on May-09-01 at 12:13 PM
LAST EDITED ON May-09-01 AT 12:14 PM (Pacific)

>I didn't know that the bytes
>were written in reverse order
>(having never got down to
>that level before) so it
>was a real ordeal figuring
>out large numbers
>At first I thought it
>was Sir-Techs way of encrypting
>... and I thought what
>a lame encryption ... only
>took me a coouple days
>to break it
>


I think the first game I hex edited was possibly in the might and magic series, and it took me by surprise when I realized the bytes are reverse written too...since then, I've never seen values in games written any different-as to why they do it this way, I have no clue

cwcrosby


"RE: My first hex experience"
Posted by Joebob on Sep-15-01 at 08:11 AM
Reading through some old posts and thought I would answer what seems to be a question.

>>I didn't know that the bytes were written in reverse order
>>(having never got down to that level before)
>>At first I thought it was Sir-Techs way of encrypting
Nope not encryption...

Thought I might enlighten yall abit. The reverse order has nothing to do with Sir-Tech. The intel architecture is called "little indain" (Don't Know Why; Just Is) and the way it stores values in memory is to store them backwards: ie if a peice of memory is 4 bytes(32 bits) long Known as a doubleword and constists of the value FF00AB13 in memory one would find 13 AB 00 FF. 2 byte data known as a word is stored the same way, however a byte size peice of data is stored as a byte not backwasrds or anything like that.

Hope that helps your understanding of how data is stored in memory.

I never thought assembly language would ever come in handy


JB


"My first hex experience - about 10 years ago"
Posted by Llevram on Sep-15-01 at 09:30 AM
That was about 10 years ago, before my first C class. Glad I figured it out then, rather than having to wait this log for the explanation

Tools for your Wizardry(r) toolkit


"RE: My first hex experience - about 10 years ago"
Posted by Joebob on Sep-15-01 at 10:01 AM
You and others may know but there are some newbies that wont so that explanition was for them.


JB


"RE: Bane editor"
Posted by Willow on May-09-01 at 11:48 AM
cwcrosby, once again you pull through!

>In bytes 26 and 27 I
>have 01 00, so I
>have no idea what that
>is...possibly a flag indicating class
>change???(but I've done multiple class
>changes) If I could
>get bane to run in
>a window, I'd have an
>easier time with this

from what i've figured out, bytes 26 and 27 are used to store the number of times your character had been resurrected. (according to sir-tech's "encryption" those bytes translate into 00 01, which is hex for 1, which means your character has never died. good job! )

>I believe(this is a very tenuous
>belief though) that bytes 188
>through 192 determine what spells
>you currently have in your
>spellbook.

oh man, that's awesome! you have saved me hours of decrypting work. i can't wait to get started on figuring out all the spells!

thanks!

Willow
ICQ#110226531


"RE: Bane editor"
Posted by cwcrosby on May-09-01 at 12:11 PM
Now if I can only re-figure where that dang byte(s) was that indicated what level you were before you changed class I'll be rolling.

That and the bytes that stored what your resistances in each type of magic were...those were a pain to figure initially, since you don't actually know what your resistances are.

Nice to know that the 26 and 27 indicate number of "lives"...after my first two times playing through the game(legit) I got bored and started playing through with "ultimate" characters (i.e.-ubercasting, kirijutsu, ninjutsu, all skills(including the five that I've never actually been able to tell if they work-aim, power, etc-I had them just to have them

If ya have any luck with resistances, let me know, I think I wanna get that cracked file of yours filled almost as much as you do now, hehe

cwcrosby


"bane spells"
Posted by Willow on May-10-01 at 11:07 AM
okay, so i was able to map out all the spells. and, while i was testing the upper bounds, i discovered some new spells, all in the Divine spell group:

Holy Water
Helpfood
Magicfood

Helpfood and Magicfood both have a casting cost of 0. Helpfood acts just like Restfull in Wiz7, and Magicfood is the same as it is in Wiz7. as for Holy Water, i can't wait to try it out on the Bane King!

>If you have ALL spells recorded,
>it ends up being(again, I
>believe):
>
>FF FF FF FF FF FF
>FF FF FF F7

yes, FF FF FF FF FF FF FF 7F gives you all the spells, and
FF FF FF FF FF FF FF FF 03 gives you all the spells plus the 3 extra spells. thanks for the tip! saved me hours of time.

if anyone has a party near the bane king and wants to try to cast some holy water on him, just edit the above bytes into your savegame.dbs file.

onto the next byte...

Willow
ICQ#110226531


"RE: Question ???"
Posted by Joebob on May-11-01 at 05:48 PM
What is the best hex editor? I'm kinda in the mood to learn how to hex edit(never had the chance as a kid). Maybe write my own editor

JB

"RE: Question ???"
Posted by Willow on May-12-01 at 11:06 PM
it's all up to personal taste, really. i used to like hackman, but they changed from version 4 to their latest and i didn't like the interface. for basic hexing, i really like ultraedit. you can download a trial version of ultraedit 8 at http://www.ultraedit.com . just look around and see what fits your style.

Willow
ICQ#110226531


"RE: Question ???"
Posted by Joebob on May-13-01 at 05:17 AM
Thanks for the response.

JB


"SlickEdit for me"
Posted by Llevram on May-13-01 at 06:27 AM
I don't know if it is even around anymore (we bought it at work about 5 years ago). It is like a Windows version of BRIEF (Basic Reconfigurable Indivual Editang Facility) that was made by UnderWare - no joke. Both the best text editors I found - for their time.

Tools for your Wizardry(r) toolkit


"RE: Bane editor"
Posted by Willow on May-14-01 at 01:23 PM
i have updated the cracked file.

a little less than 80 bytes remaining!

Willow
ICQ#110226531


"Resistances"
Posted by cwcrosby on May-14-01 at 08:44 PM
LAST EDITED ON May-14-01 AT 08:46 PM (Pacific)

"120 silenced afraid asleep paralyzed blindness poisoned hypnosis insanity nausea irritation"

(that was pasted from your XLS file)

Egads, I forgot about those being "flags" in the file. How I could forget that, I have no idea.

The AC I remembered being there, but hadn't bothered to look for yet, figured it would be fairly simple for ya to find it(forgot also about the whole section on what was equipped-the "#" section, but you're getting good at jogging my memory, hehe).

I still haven't figured out where resistances are stored, though I'll admit I'm nowhere near as daring with just changing things this time, it's a lot of trouble to drop down to DOS then come back out. I'm gonna have to find a better DOS based hex-editor next--would save one step.

I keep thinking they were stored in that area somewhere between 118 and 121, but now I'm not so sure...having 10 bytes available there means you don't actually have enough space to fit all the resistances.

It would probably have to be either 12 or 24 bytes of space for resistances.

Set up similar to this:
crF urF crW urW crA urA crE urE crM urM crD urD

(cr - current/modified resistance
ur - unmodified/normal resistance)
the large letters are the obvious thing

Anyway, I seem to remember it existing in this format, but for the life of me haven't spotted it at a casual search. Maybe this will help some, I hope so.


cwcrosby

p.s. - this is a way off the wall stab, with resistances, and I could very easily be thinking of another game, and be totally wrong...hopefully I'm not, but could be.


"Resistances (and conditions)"
Posted by Llevram on May-15-01 at 05:36 AM
That 120 ..... thing was something to do with conditions, which I never figured out. resistances were something I overlooked, so never found out. Anywhere there is a whole (aside from the large (like 60 byte block, which are all the same value, which is karma) is a good place to look. And yes, there is a base resistance and modified, but I am not sure how they are stored.

Tools for your Wizardry(r) toolkit


"RE: Resistances"
Posted by apsen on May-27-01 at 06:55 AM
>out. I'm gonna have
>to find a better DOS
>based hex-editor next--would save one
>step.

You may try hiew. It is nice hex editor and has DOS version
but it may take a little to get used to it.


"A question from the editing newbie"
Posted by Joebob on May-19-01 at 07:24 AM
How does one read this chart?

JB


"crash course in hex editing"
Posted by Willow on May-21-01 at 01:37 PM
as you can see, the top of the chart reads from 0 to F, while the side of the chart reads from 0 to 1A0. these just help me keep track of where the information is. what i suggest is for you to open your savegame.dbs file with a hex editor, and search for your first character's name. once you find that and match it up with my cracked file, everything will be aligned.

for example, let's say your first character's name was JOEBOB, and he had a dexterity of 15, but you really wanted him to have a dexterity of 20. once you find JOEBOB in your savegame.dbs file, based on my cracked file you know that the byte 19 bytes below the "J" is JOEBOB's dexterity byte (labeled "DEX"). it would read "0E" (that's 15 in hex) and you change that value to "14" (that's 20 in hex). save the change, run Bane and you'll see the results.

also check my notes.txt file for further explanations. (located at the same url as the cracked file, simply replace cracked.html with notes.txt)

hope this helps!

Willow
ICQ#110226531


"Thanks"
Posted by Joebob on May-21-01 at 05:39 PM
LAST EDITED ON May-22-01 AT 10:09 AM (Pacific)

LAST EDITED ON May-22-01 AT 10:08 AM (Pacific)

I've been experimenting with a saved game. By the way if you open a saved game in MS Visual C++ 6.0 text editior you get the hex values.

I searched the bane item list and could not find excaliber, the mempo of death(sam), the Cape of Hi-Zen, Z-Bo, Ostoc of Olivia, the sword of hearts or the diamond ring does anybody know the hex values for these?

JB


"The Diamond Ring is...."
Posted by Joebob on May-25-01 at 05:33 PM
LAST EDITED ON Jun-03-01 AT 09:34 AM (Pacific)


diamond ring is
07 01 02 00 05 58 0A 00

That is confirmed by me and three seperate savegames.

and the Sword of hearts is...

66 00 2D 00 00 0F 00 00


JB


P.S. You must write it over an existing item when hex editing it in.


"sweet!"
Posted by Willow on May-25-01 at 08:58 PM

gotta love those hex values.

you don't really have to overwrite an existing item, do you?

just increase the "# of items" or "# of swag" byte by one.

Willow
ICQ#110226531


"RE: sweet!"
Posted by Joebob on May-26-01 at 04:51 AM
LAST EDITED ON May-27-01 AT 05:39 AM (Pacific)

LAST EDITED ON May-26-01 AT 02:08 PM (Pacific)


never thought of that..

try these hex values out
/*from what I can tell these values are correct*/

70 00 32 00 00 0A 00 09 (Z-Bo)?

6C 00 96 00 00 0E 00 08 (Excaliber)?

69 00 2D 00 00 0F 00 00 (Estoc Of Olivia)?

E9 00 28 00 05 49 00 01 (Cape Of Hi-Zen)?

Some speculation on items....

if the hex values are say

07 01 02 00 05 58 0A 00 consisting of eight sets then..

The name is the the first two sets are the name such as 07 01 = Diamond Ring. the 5th set 05 in this case is the picture of the item placed next to it in inventory. the 7th set is the number of things such as dirks or keys; not quite sure what the 0A means for the diamond ring here. four down four to go.


JB


"The other bytes (as from Wiz 7)"
Posted by Llevram on May-27-01 at 07:19 AM
LAST EDITED ON May-27-01 AT 07:24 AM (Pacific)

Maybe this will help:

byte - Meaning
0-1 = Item Number
2-3 = weight (x 10)
4 = item group
5 = item picture
6 = qty
7 = identified

the last four I am not too sure about
8-11 = AC modifier information

Tools for your Wizardry(r) toolkit


"RE: The other bytes (as from Wiz 7)"
Posted by Joebob on May-27-01 at 07:52 AM
>>7 = identified

I think that byte has to do with some thing else because there is no ?Sword(s) or anything else for that matter in Bane. And i'm not quite sure about bit 4, both the dragonslayer and nunchaka have 00 as the forth bit and they are not IMHO the same type of item, Unless you are refering to Range??? That might just be it. The rest looks good I was thinking 2-3 was weight glad to see i'm on the right track.

>>8-11 = AC modifier information
What are you talking about here?

just to be clear

6C 00 96 00 00 0E 00 08
byte===meaning
6C 00 =item number
96 00 =weight
00 =item group/range?
0E =item picture
00 =quantity(charges?)
08 =identified/????

right?
JB


"Hex Vaules "
Posted by Joebob (Guest) on May-28-01 at 12:28 PM
Okay here are the real hex values for

Cape of Hi-Zen: E9 00 32 00 05 49 01 00

Estoc of Olivia: 69 00 32 00 00 0F 02 00

Z-Bo: 70 00 32 00 01 0A 44 08

These were the values given by items left to my party by Greater Demons. These are the legit items and the legit values.

By the way If any one is intrested I edited my Scenario.dbs so that almost all the encounters in the tower are Greater Demons. If you would like a copy of this file or instructions on how to edit your Scenario.dbs file in a similar way email me @ KingJoe@bobsmail.com or KingJoe_bob@hotmail.com.


Have Fun!!
JB


"RE: Hex Vaules "
Posted by Joebob on May-29-01 at 12:18 PM
6C 00 F0 00 00 0E 0F 08 ====EXCALIBER!!!!!!!!


JB