Hacking: What next??!

Started by Hungry Horace, April 05, 2014, 12:20:54 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


Hungry Horace

#46
MM - i moved your post to a thread specifically about the champion data, and will try and match your info above to what i've posted in that thread, hopefulyl all the blanks can be cleared.

regarding monsters, there wont be another table. It will simply do some maths in that code i posted before to derive a strength / HP value based on the level.


Edit: just re read your message on this... Sorry, I thought I covered it before but there are two types of monster tables. One is the "stored" version with 6 bytes per monster. Pretty easy to handle stuff in those (except the special set bit on extended levels which I don't understand yet) and the "unpacked" monster data which is 16 bytes long per monster. "Live" spells are also stored in this block. (They are items with a value >$80)

I suspect the data held in the unpacked block is similar to the champion data, including remaining HP, current action (arms), speed etc

It certainly contains info about held items and teaming and x/y etc which are all very easy to understand
Quote from: KillerGorillabecause winuae is made of code and your amiga is made of stuff


MadMunky

Horace,

I've found the Amour palette, I'm still trying to work out how its structured

I'm also not sure yet if that's the right beginning/end of the block of data but (0B 0A 09 0B = Leather amour)

Offset in 439 is A81E


00 08 06 0b 0b 0a 09 0b 09 0a 0b 00 82 83 00 00
0b 0a 09 0b 09 0a 0b 81 09 0a 0b 00 81 09 0a 0b
80 09 0a 0b ff ff ff ff 0e 04 02 03 82 04 02 83
82 04 83 0c 0e 04 02 03 81 04 02 80 03 04 0e 00
81 02 04 0e 80 03 04 0e ff ff ff ff 0e 04 03 03
82 04 04 83 00 04 08 0c 0e 04 03 03 81 04 04 80
03 04 0e 00 81 03 04 0e 80 02 04 0e 0b 03 03 04
0b 0a 07 08 06 05 0b 0d 0b 0a 09 0c 06 05 05 06
0b 0a 09 0c 0e 00 0b 0d 0b 0a 05 06 0b 0a 07 08
0b 0a 0b 0d 0b 0a 05 06 0b 0a 09 0c 0b 0a 05 06
00 00 07 08 09 00 07 08 09 00 09 0c 08 04 04 04
0b 0a 0b 0d 81 0a 09 09 81 02 04 82 81 03 04 82
82 09

Hungry Horace

Nice one!
I guess there is a pattern relating to bodies/armour type etc?

I mean, it must have to do leather armour for each body type (Bloodwyn type, human male type, female type etc) then repeat for chain mail etc....

Just wondering what order that is in!
Quote from: KillerGorillabecause winuae is made of code and your amiga is made of stuff


Hungry Horace



I found the data which determines what 'grade' / colour of monster to use for each level. As i suspected, its a simple offset value which is plugged into the D3 register when it looks for the colour data for each monster type.... as a result it's hard-coded for each one, that means "manual" extraction of the data for each game (BW, BEXT, and ultimately BOS)

the offsets for BW are;

- Summons, 2
- Beholders, 4
- Behemoths, 6
- Crab, 2
- Big Dragons, 9
- Small Dragons, 3
Quote from: KillerGorillabecause winuae is made of code and your amiga is made of stuff


MadMunky

#50
Quote from: MadMunky on June 08, 2014, 08:51:57 AM
Horace,

I've found the Amour palette, I'm still trying to work out how its structured

I'm also not sure yet if that's the right beginning/end of the block of data but (0B 0A 09 0B = Leather amour)

Offset in 439 is A81E


00 08 06 0b 0b 0a 09 0b 09 0a 0b 00 82 83 00 00
0b 0a 09 0b 09 0a 0b 81 09 0a 0b 00 81 09 0a 0b
80 09 0a 0b ff ff ff ff 0e 04 02 03 82 04 02 83
82 04 83 0c 0e 04 02 03 81 04 02 80 03 04 0e 00
81 02 04 0e 80 03 04 0e ff ff ff ff 0e 04 03 03
82 04 04 83 00 04 08 0c 0e 04 03 03 81 04 04 80
03 04 0e 00 81 03 04 0e 80 02 04 0e 0b 03 03 04
0b 0a 07 08 06 05 0b 0d 0b 0a 09 0c 06 05 05 06
0b 0a 09 0c 0e 00 0b 0d 0b 0a 05 06 0b 0a 07 08
0b 0a 0b 0d 0b 0a 05 06 0b 0a 09 0c 0b 0a 05 06
00 00 07 08 09 00 07 08 09 00 09 0c 08 04 04 04
0b 0a 0b 0d 81 0a 09 09 81 02 04 82 81 03 04 82
82 09


Horace, you much better decoding these kind of things than me, this is what I know..

09 0a 0b - Male (V-Neck) Leather Legs
0a 0b 00 81 - Male (V-Neck) Leather Chest
80 09 0a 0b - Male (V-Neck) Leather Arms
0b 0a 09 - Blodwyn Style Leather Legs
0b 0a 09 0b - Blodwyn Style  Leather Chest
81 09 0a 0b - Blodwyn Style  Leather Arm

I believe all the bytes up to the FF FF FF FF are all Leather Armour values then Iron Value I cant though find the Females leg entries :(

00 08 06 0b 0b 0a 09 0b 09 0a 0b 00 82 83 00 00
0b 0a 09 0b 09 0a 0b 81 09 0a 0b 00 81 09 0a 0b
80 09 0a 0b ff ff ff ff


Iron Amour

0e 04 02 03 82 04 02 83
82 04 83 0c 0e 04 02 03 81 04 02 80 03 04 0e 00
81 02 04 0e 80 03 04 0e ff ff ff ff


Found another bit...

This seems to link a Armour to a Body/Palette type

00 00 03 04 04 02 03 03 03 02 04 02 01 02 03 03
03 03 01 0b 02 03 03 03 0c 0c 0c 0c 0c 03 03 03
08 08 04 04 04 0a 0d 0d 0d 0d 07 07 07 07 07 07
03 02 02 0b 0b 03 03 03 03 03 03 03 03 03 03 03
03 03 04 07 07 07 07 07 01 01 01 01 01 0b 07 02
02 00 00 00 00 00 00 16


00 = Blodwyn
01 = V-Neck
04 = Female Legs
05 = Male Chain
06 = Female Skirt
0A = Demon
0B = Demon Chain
FF = Mr Flay