Dec 132017
 
Bane of Cosmic Forge: Unprotect & docs.
File BANEHELP.ZIP from The Programmer’s Corner in
Category Unprotects for Games and Such
Bane of Cosmic Forge: Unprotect & docs.
File Name File Size Zip Size Zip Type
BANE.TXT 18944 8132 deflated
BANE.UNP 35937 4708 deflated
BANEREF.DOC 39982 11456 deflated
BANEUNP1.ZIP 4667 4608 deflated
BANEUNP2.ZIP 8695 8641 deflated
BANE_WPN.TXT 15905 4319 deflated
SPELLS.DOC 22010 4760 deflated
WIZ6.TXT 22010 4760 deflated

Download File BANEHELP.ZIP Here

Contents of the BANE.TXT file



This guide will dicuss the last 2592 (A20 hex) bytes of the IBM
savegame.dbs files of Bane of the Cosmic Forge. These final bytes store
the character data of the six adventures in your party, 432 (1B0 hex)
bytes per character in the order of (left to right, top to bottom as
displayed on you screen around the action viewport of the game):

OneTwo
ThreeFour
FiveSix

Assuming that not everyone who read's this has an in-depth back-
ground in computer programming and number system's we will be starting out
slowly and building. Those familiar with hex math and byte offsets from
a starting location can skip ahead to the byte break out listing.

As is often typical in programming the numbering system from here
on will be hex based and begin with number 0. Thus while the size of each
character's save area is 432-ooophs 1B0 bytes, they will be referrred to
as bytes 0 thru 1AF. The reason for the use of 0 instead of one for the
first byte is to keep references from a starting point consistent. For
example if the first character starts at byte C2C0 (if you're using a
tool like DEBUG to view the data remember to add the 100 offset to arrive
at C3C0) and the name is the first 8 bytes, you can easily reference
the name as C2C0+offset - where the offset runs from 0 thru 7. So if
the first character was named HERO ONE the addresses of the name would
be calculated as follows:

Character One (H)=C2C0 + 0 or C2C0
Character Two (E)=C2C0 + 1 or C2C1
Character Three (R)=C2C0 + 2 or C2C2
Character Four (O)=C2C0 + 3 or C2C3
Character Five ( )=C2C0 + 4 or C2C4
Character Six (O)=C2C0 + 5 or C2C5
Character Seven (N)=C2C0 + 6 or C2C6
Character Eight (E)=C2C0 + 7 or C2C7

Likewise substituting the starting address of the 2nd (C470), 3rd
(C620), 4th (C7D0), 5th (C980) or the 6th (C630) character for the C2C0
will give you the byte locations for that character's name.

Another feature often unique to savegame databases is that large
numbers (over 255) won't appear as you would expect them. EG: the experience
value can be found in byte offsets 12, 13 and 14 and if your character had
1,234,567 exp points this would be hex number 12D687 which takes three bytes
to represent. The unfamiliar would assume that the 12 is in offset 12, that
the D6 would be in offset 13 and that the 87 would be in offset 14, when
the reverse is true. Offset 12 has the 87, offset 13 has the D6 and offset
14 has the 12, this is explained once you understand that the bytes represent
powers of 16, with the first byte as multiplied by 16 to the zero power (or 1),
the second byte is multiplied by 16 squared (256), and the third byte is
multipled by 16 to the 4th power. Thus experience points are more accurately
defined by the following equation:

Exp points = value of Offset 12 +
(256 * value of Offset 13) +
(65,536 * value of Offset 14)
or

Exp points = 87 + (256 * D6) + (65,536 * 12)

or (in more friendly human terms)


Exp points = 135 + (256 * 214) + (65,536 * 18) = 1,234,567

Thus any value that is represented by a value greater then 255 will
require two bytes, greater then 65,535 will need 3 bytes, greater then
16,777,215 will need 4 bytes. Thus when the listing dicusses that value
XYZ is defined by offsets A, B, and C. You know that the numerical value of
XYZ is arrived at by
value_of_A + (256*value_of_B) + (65,536*value_of_C)

Ok now that this brief intro into the werid world of hex based
numbering has been recapped, lets get to the heart of the data structure,
i.e., the breakout of the bytes I currently understand (I haven't had the
time to break them all out and to paraphrase that old school phrase and
the rest are left for the students as a learning experience 😉

BYTE OFFSETSAppropriate Value
===================================================
00 thru 07Name
08 and 09Age (in days so divide by 365)
12 thru 14experience (possibly also the 15th)
16 and 17number of monsters killed
20 and 21gold (possibly 22 and 23 also)
24 and 25current hit points
26 and 27maximum hit points
28 and 29current stamina
30 and 31 maximum stamina
36level
38number of resurrection char has experienced
40 and 41fire spell points
42 and 43max fire spell points
44 and 45water spell points
46 and 47max water spell points
48 and 49air spell points
50 and 51max air spell points
52 and 53earth spell points
54 and 55max earth spell points
56 and 57mental spell points
58 and 59max mental spell points
60 and 61magic spell points
62 and 63max magic spell points
64 thru 239inventory
64 thru 71item one of equipment
72 thru 79 item two
.. thru ..
232 thru 239 item twelve in swag bag
(22 groups of 8 bytes, first 10 groups are the equipment
items and the last 12 groups are the swag bag items)
00 and 01 id item
02 and 03 item weight*10 (divide by 10 for display weight)
04relates to area of body item is appropriate??
or type of icon to display for item
0 = weapon
5 = magic
6 = head
7 = body
8 = legs
9 = hands
A = feet
E = special item
F = eatible item
05not real sure possibly display icon related
06number of special uses or number of times item
will cast spell, or for multiple objects the
number in the group such as if you had nine
Dirks the encoded value here would be 09.
07equip/droppable status
0 = primary hand item unequipped
1 = primary hand item equipped
4 = secondary hand item unequipped
5 = secondary hand item equipped
8 = two handed item unequipped
9 = two handed item equipped
40 = not droppable item
44 = not droppable secondary hand item unequipped
300strength
301intelligence
302piety
303vitality
304dexterity
305speed
306personality
307karma
308 thru 317weapon skills
308wand & dagger
309sword
310axe
311mace & flail
312pole & staff
313throw
314sling
315bow
316shield
317hand & feet
319 thru 324physical skills
319scout
320music
321oratory
322legerdemain
323skulduggery
324ninjutsu
330 thru 337academia skills
330artifacts
331mythology
332scribe
333alchemy
334theology
335theosophy
336thaumaturgy
337kirijutsu
352natural armor class
353encumbrance penalty bonus to natural armor class
354magic AC value
NOTE for AC values:
(values over 250 should be refigured by
subtracting 256. Thus a -2 value would be stored
as as FE (254) subtract 256 and you get -2.
355head AC
NOTE for head-feet. Magic AC value is added to
the stored value of the area to arrive at the
displayed area's AC. Thus if the head AC was
6; but the magic AC was -2, the displayed value
for the head would be 6 + (-2) or 4.
356body AC
357legs AC
358hands AC
359feet AC
392 thru 401spells
here they packed one spell per bit into the bytes
and a one indicates spell is known and a 0 spell is
not known. Here you have to string out the bit
(1's and 0's) configuration of the bytes backwards
that is place order as 401, 400, 399,...392
to understand it a little easier. Now begining
at the least signficant bit 0 location (very far
right) this would be the Energy Blast spell, while
bit 1 would be Blinding Flash, bit 9 would
be Chilling Touch, ... bit 77 = Death Wish.
413race (0 = Human.... 9 = Rawulf A = Mook)
414sex (0 = Male, 1 = Female)
415profession (0 = Fighter...D = Ninja)
416rank title within profession (as there are
8 levels, None and 7 titles per profession I
won't list them all here but they can be found
at the end of the document) and the title will
be based on the number here AND the profession
type.


Well that about ends the analysis I was able to perfom in two days,
hope this little effort helps you understand the layout a of a savegame.dbs
little more. Hopefully, I've included everything that I know, presume or
suspect and omitted nothing.

Titles by profession (NOTE: I read this in from the C program file, too
lazy to retype it all so the " " and ,'s are hold overs from the lines
of code that I was also too lazy to manually take out):

Fighter:
" ", "JOURNEYMAN ", "WARRIOR ", "MARAUDER ",
"GLADIATOR ", "SWORDSWMAN ", "WARLORD ", "CONQUERER ",

Mage:
" ", "MAGICAIN ", "CONJURER ", "WARLOCK ",
"SORCERER ", "NECROMANCER", "WIZARD ", "MANGUS ",

Priest:
" ", "ACOLYTE ", "HEALER ", "CURATE ",
"DRUID ", "HIGHPRIEST ", "PATRIARCH ", "SAINT ",

Thief:
" ", "ROGUE ", "TRICKSTER ", "HIGHWAYMAN ",
"BUSHWACKER ", "PIRATE ", "MS SHADOWS ", "QUILDMASTER",

Ranger:
" ", "WOODSMAN ", "SCOUT ", "ARCHER ",
"PATHFINDER ", "WEAPONEER ", "OUTRIDER ", "RANGERLORD ",

Alchemist:
" ", "HERBALIST ", "PHYSICIAN ", "ADEPT ",
"SHAMAN ", "EVOCATEUR ", "MS ELIXERS ", "ENCHANTER ",

Bard:
" ", "MINSTREL ", "CANTOR ", "SONNETEER ",
"TROUBADOR ", "POET ", "MS LUTE ", "MUSE ",

Psionic:
" ", "PSYCHIC ", "SOOTHSAYER ", "VISIONIST ",
"ILLUSIONST ", "MYSTIC ", "ORACLE ", "PROPHET ",

Valkyrie:
" ", "LANCER ", "WARRIOR ", "CAVALIER ",
"CHEVALIER ", "CHAMPION ", "HEROINE ", "OLYMPIAN ",

Bishop:
" ", "FRIAR ", "VICAR ", "CANNOR ",
"MAGISTRATE ", "DIOCESAN ", "CARDINAL ", "PONTIFF ",

Lord:
" ", "SQUIRE ", "GALLANT ", "KNIGHT ",
"CHEVALIER ", "PALADIN ", "CRUSADER ", "MONARCH ",

Samurai:
" ", "BLADESMAN ", "SHUGENJA ", "HATAMOTO ",
"DAISHOMASTE", "DIAMYO ", "WARLORD ", "SHOGUN ",

Monk:
" ", "INITIATE ", "BROTHER ", "DISCIPLE ",
"APOSTLE ", "MASTER ", "IMMACULATE ", "GRANDMASTER",

Ninja:
" ", "GENIN ", "EXECUTIONER", "ASSASSIN ",
"CHUNIN ", "MASTER ", "JONIN ", "GRANDFATHER"


ITEMS: (there are on occassion what appear to be duplicates,
but based on the path you take at the end game, there
are two sets of similar keys/ect. that are keyed to
the path you've taken)
0 Broken Item
1 Dagger
2 Main Gauche
3 Short Sword
4 Wakizashi
5 Rapier
6 Cutlass
7 Inferior Sword
8 Long Sword
9 Broadsword
10 Katana
11 Bastard Sword
12 Claymore
13 Bearded War Axe
14 Battle Axe
15 Anointed Flail
16 War Scepter
17 Mace
18 Staff
19 Morningstar
20 Hammer
21 War Hammer
22 Spear
23 Awl Pike
24 Quarterstaff
25 Bo
26 Halberd
27 Dirk
28 Club
29 Sling
30 Bullet Stone
31 Short Bow
32 Long Bow
33 Elm Arrow
34 Lt Crossbow
35 Quarrel
36 Poignard
37 Stilletto
38 Ginza Knife
39 Ningata
40 Flamberge
41 Zwiehander
42 No-Dachi
43 BiPennis
44 Zizka Star
45 Bec de Corbin
46 Bullwhip
47 Shuriken
48 Sai
49 Nunchaka
50 Lance
51 Monstrance
52 Fauchard
53 Naginata
54 Harmonium
55 Lute
56 Razor Stone
57 Cupid Arrow
58 Barbed Arrow
59 Angel's Tongue
60 Skull Dagger
61 Sword of Striking
62 Beastmaster
63 BlackBlade
64 DragonSlayer
65 Bushido Blade
66 Butterfly Axe
67 Mustard Mace
68 Hayio Bo
69 Holy Basher
70 Devil's Pipe
71 Midnight Choir
72 Serpent Stone
73 Rhine Stone
74 Vex Bow
75 A.P. Arrow
76 Viper Arrow
77 Hv Crossbow
78 Bone Breaker
79 Pan Flute
80 Thieves Dagger
81 Blade Cuisinart
82 Sword of Lading
83 Sword of Fire
84 Axe of Woe
85 Maiden Head
86 Vulcan Hammer
87 Ravens Bill
88 Cat'O Nine Tails
89 Horn Prometheus
90 Basso Lyre
91 Wrist Rocket
92 Devil Stone
93 Great Bow
94 Mystic Arrow
95 Peace Maker
96 Seige Arbalest
97 Lightning Bolt
98 Cuckoo Call
99 Lyre of Cakes
100 Dagger of Ramm
101 Demons Tooth
102 Sword of Hearts
103 Saint Bastard
104 Fang
105 Estoc of Olivia
106 The Avenger
107 Murasmasa Blade
108 Excaliber
109 Blades of AESIR
110 Diamond Eyes
111 Mednad's Lance
112 Zatoichi Bo
113 Faust Halberd
114 Elven Bow
115 Rammbus Staff
116 Wakizashi+1
117 Shiken Shuri
118 Hammer+1.5
119 Giant Sledge
120 Cloth Shirt
121 Cloth Pants
122 Robes(U)
123 Robes(L)
124 Fur Halter
125 Chamois Skirt
126 Suede Doublet
127 Suede Pants
128 Skullcap
130 Sandals
132 Fur Legging
133 Quilt Tunic
134 Quilt Legging
135 Leather Cuirass
136 Leather Hauberk
137 Leather Legging
138 Leather Helm
139 Curi Guantlets
140 Leather Boots
141 Buckler Shield
142 BreastPlate
143 Stell Helm
144 Tarnished Mail
145 Chain Hauberk
146 Chain Chaussis
147 Mail Coif
148 Mail Mittens
149 chain Hosen
150 Round Shield
151 HoAxial Plate
152 Plate Mail
153 Plate Greaves
154 Bascinet
155 Stell Gauntlets
156 Solleret
157 Heater Shield
158 Ninja Garb(U)
159 Ninja Garb(L)
160 Ninja Cowl
161 Tabi Boots
162 Wizard's Cone
163 Mitre
170 Bronze Cuirass
171 Leather Greaves
172 Studded Hauberk
173 Studd Chaussis
174 Hoary Legging
175 Phrygian Cap
176 Helm & Coif
177 Kabuto
178 Unctuous Gloves
179 Chamois Gloves
180 Copper Gloves
181 Duck Shield
184 Jazeraint Tunic
185 Jazeraint Skirt
186 Bronze Greaves
187 Tosei-Do(U)
188 Tosei-Do(L)
189 Plate DuFaux
190 Full Plate(U)
191 Full Plate(L)
192 Burgonet Helm
193 Bascient&Camail
194 Cox Comb
195 Silver Gloves
196 Silver Solleret
197 Lead Boots
198 Dragon Kite
199 Anointed Cloak
202 Chamail Doublet
203 Chamail Pants
204 Faerier Cap
205 Mitre de Sanct
208 Robe of Enchant(U)
209 Robe of Enchant(L)
210 Venal Robes(U)
211 Venal Robe(L)
212 Armet
213 Mantis Gloves
214 Mantis Boots
215 Forest Cape
218 Heaume
222 Stud-Cuir Bra+2
223 Ebony Plate(U)
224 Ebony Plate(L)
225 Hi-Kane-Do(U)
226 Hi-Kane-Do(L)
227 Mordecai's Cone
228 Helm of Orbits
229 Sacred Slippers
230 Water Wings
231 Glass Slippers
232 Hearldic Shield
233 Cape of Hi-Zen
234 Displacer Cloak
235 Tricorner Hat
236 Ebony Heaume
240 Eye Patch
241 Shadow Cloak
242 Bone Necklace
243 Clove of Garlic
244 Chain of Despair
245 Silver Cross
246 Ruby Talisman
247 Tora Maedale
248 Green Parrot
252 Midnight Cloak
253 Medicine Bag
254 Jade Figurine
256 Mempo of Death
260 Garland of Roses
268 Lynx Ring
269 Toadstone Ring
270 Ring of Minds
271 Mystic's Ring
272 Ring of Speed
273 Ring of Defense
274 Amulet of Night
275 Amulet of Air
276 Amulet of Winds
277 Amulet of Ice
278 Amulet of Life
279 Amulet of Might
280 Ankh of Youth
281 Ankh of Wonder
282 Ankh of Purity
283 Ankh of Sancity
284 Ankh of Life
285 Ankh of Death
286 Ankh Phyre
287 Book of Mantras
288 Book of Rapture
289 Book of Demons
290 Book of Poetry
291 Ankh Arnie
292 Pol Ankh
293 Staff Magicus
294 Stave of Stars
295 Dryadic Staff
296 Stove of Moons
297 Stave of Witches
298 Staff of Ruin
299 Wand of Mystery
300 Wand of Weaving
301 Crystal Wand
302 Wand of Ghosts
303 Necreology Rod
304 Wand of Razing
305 Sparkler
306 Icicle
307 Firecracker
308 BottleRocket
309 SkyRocket
310 Pixie Stick
311 Faerie Stick
312 Night Stick
313 Rod of Spirtes
314 Lightning Rod
315 Golden Rod
316 Lt. Heal
317 Mod Heal
318 Hv. Heal
319 Mod Stamina
320 Hv. Stamina
321 Cure Lt. Cnd
322 Cure Poison
323 Cure Parlyze
324 Cure Stone
325 Resurrection
326 Stink Bomb
327 Cherry Bomb
328 Fire Bomb
329 Poison Bomb
330 Acid Bomb
331 Deadly Poison
332 Holy Water
334 Armor Shield
335 Magic Missile
336 Terror
337 Dispell Undead
338 Slow
339 Knock-Knock
340 Hold Monsters
341 Fire Shield
342 Ice
343 Armor Plate
344 Enchanted Blade
345 Blades
346 Fire Ball
347 Blink
348 Illusion
349 Conjuration
350 Levitate
351 Life STeal
352 Resurrection
353 Book of Levitation
354 Book of Widows
355 Book of Identify
356 Book of Peace
357 Book of Anti-Magic
358 Faerie Dust
359 Sneeze
360 Blind
361 Ancient Dust
362 Mystic Dust
363 Book of Ice Shield
364 Book of Airs
365 Book of Air Shield
366 Book of Silence
367 Book of Knocks
368 Book of Directions
369 Book of Detection
370 Book of Chills
371 Book of Blinding
372 Book of Weakening
373 Book of Sloth
374 Book of Poisons
375 Book of Fire Shield
376 Book of Protection
377 Book of Lt. Curing
378 Book of Dozes
379 Book of Armormelt
380 Gold Key
381 Iron Key
382 Copper Key
383 Stave of Missles
384 Key of Spades
385 Goat's Mask
386 Key of Ramm
387 Chrome Key
388 King's Diary
389 Bell Key
390 Hv. Rope
391 Silver Key
392 Rotten Cheese
395 Deadman's Log
396 Steel Hook
397 Rope & Hook
398 Dungeon Key
399 Miner's Pick
400 J.R. Decoder
401 Stuffed Beagle
402 Mystery Oil
403 Ticket Stubb
404 Book of Ramm
405 Broken Sprocket
406 Sprocket
407 Rubber Strand
408 Rubber Braid
409 Rubber Band
410 Hv. Boulder
411 Bauble&Trinkets
412 Wizard's Ring
413 Key of a Miner
414 Miner's Chisel
415 Roasted Corn
416 Spire Key
417 Wizard's Record
418 Horn of Souls
419 Ruby Eyeball
420 Ruby Eyeball
421 Gloop Sploch
422 Bone Key
423 Bag of Sand
424 Empty Sack
425 Idol of Mai-Mu-Mu
426 Foot Powder
427 Spear of Death
428 Key of Minos
429 Key of Damned
430 Book of the Damned
431 Cylinder of Ash
432 Cylinder of Ash
433 Tomb Key
434 Book of Sirens
435 Cylinder of Ash
436 Key of the Lost
437 East Exit Key
438 Hookah Pipe
439 Incense
440 Cork bobber
441 Special Msg
442 Bottle w/cork
443 Bottle w/msg
444 Bottle w/msg+cork
445 Bottle w/ans+cork
446 Fishline
447 Fish Hook
448 Fishline w/Hook
449 Vault Key
450 Key of the Dead
451 Red Mushroom
452 Skeleton Key
453 Key of Drows
454 Key of Knights
455 Key of Valkyries
456 Key of Queens
457 Key of Evil
458 Holy Stake of Wood
459 Holy H20(+)
460 Staff of Ramm
461 Tinkerbell
462 Rock of Reflection
463 Key of Decision?
464 Key of 1st Test
465 Key of Quandry?
466 Key of 1st Test
467 Key of Nothing
468 Key of Finality
469 Key of Finality
470 B.D. Keys
471 Key of Stars
472 Silver Cross
473 Ring of Stars
474 Rose Petals
475 Rutabega
476 Apple
477 Magic Cookies
478 Herbal Patty
479 Key of Wizard Cave
480 Liquid Metal
481 Ring of Delphi
482 North Exit Key


 December 13, 2017  Add comments

Leave a Reply