Ultimate Amiga

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 [2] 3   Go Down

Author Topic: Amiga Extended Level Data blocks  (Read 22076 times)

0 Members and 1 Guest are viewing this topic.

Hungry Horace

  • Amorphous Blue-Blob Man
  • Site Admin
  • A4000T
  • ******
  • Karma: 307
  • Offline Offline
  • Gender: Male
  • Posts: 3,364
  • Don't forget... Ameboid's need love too!
    • AUW
Re: Amiga Extended Level Data blocks
« Reply #15 on: January 20, 2016, 04:26:54 PM »

I'd recognise that data block anywhere! That's a 00000 starting point so I probably loaded a variable incorrectly.

Will take a look when I'm home!
Logged
Quote from: KillerGorilla
because winuae is made of code and your amiga is made of stuff

Hungry Horace

  • Amorphous Blue-Blob Man
  • Site Admin
  • A4000T
  • ******
  • Karma: 307
  • Offline Offline
  • Gender: Male
  • Posts: 3,364
  • Don't forget... Ameboid's need love too!
    • AUW
Re: Amiga Extended Level Data blocks
« Reply #16 on: January 20, 2016, 09:18:48 PM »

the offsets i have in the 'datamap' seem right, for where they are in the BEXT main file.

$1071A serpent
$11B1C chaos
$12F1E moon
$14320 dragon



each one should start 2 bytes 'earlier' to include the number of objects in the data-set. e.g. 10718 for the serpent dungon.  The blocks are then $402 bytes long

What is really wierd is that:

a) the chaos one did not save using the specified offset. (code looks fine)
b) i was looking at the objects displayed by the editor, and they didnt seem to match the exported data-blocks (??) yet both referred to the same variables to find the above offsets!!
c) my editor has randomly started crashing when i switch to the 'objects' page, and have BEXT loaded.  (edit... just worked out why - i am auto-loading into a 'sixth' tower that does not exist)



EDIT 2:

problem found and fixed :)   new files attached!

this just makes me realise how much some of my editor code needs tidying up (the import/export procedure is very messy)
« Last Edit: January 20, 2016, 09:37:08 PM by Hungry Horace »
Logged
Quote from: KillerGorilla
because winuae is made of code and your amiga is made of stuff

MadMunky

  • Forum Mod
  • A600
  • *****
  • Karma: 2
  • Offline Offline
  • Gender: Male
  • Posts: 244
Re: Amiga Extended Level Data blocks
« Reply #17 on: January 21, 2016, 06:59:10 AM »

Nice one Horace this works.

So we have the levels loaded, all the items load and placed correctly (I need to add in the different items for the extended levels), the monsters are all loaded but I need to fix the palettes on them.

I think rather than trying to decode the original source for the amount of effort it takes (and Horace you and bit will do this a lot faster than I can) for the little bits we are missing like monsters that drop items which i expect will be code we will not use like the Zendik code i'll just play through the game and find the monsters that drop items.

After that its just a case of adding in the new switches and some code to allow you to recruit the monsters and we should have a fully playable data disk.
Logged

MadMunky

  • Forum Mod
  • A600
  • *****
  • Karma: 2
  • Offline Offline
  • Gender: Male
  • Posts: 244
Re: Amiga Extended Level Data blocks
« Reply #18 on: January 21, 2016, 02:11:23 PM »

Found the block of data that makes up the characters names in the extended levels there must be pointer to which are used but you can change them and change the characters names.





Logged

MadMunky

  • Forum Mod
  • A600
  • *****
  • Karma: 2
  • Offline Offline
  • Gender: Male
  • Posts: 244
Re: Amiga Extended Level Data blocks
« Reply #19 on: January 21, 2016, 02:23:07 PM »

Horace,

Can you remember if there where any scrolls in the DD? I can only find REFORGE THY BONES and a potions scroll, I guess they trimmed it out to make room :)
Logged

Hungry Horace

  • Amorphous Blue-Blob Man
  • Site Admin
  • A4000T
  • ******
  • Karma: 307
  • Offline Offline
  • Gender: Male
  • Posts: 3,364
  • Don't forget... Ameboid's need love too!
    • AUW
Re: Amiga Extended Level Data blocks
« Reply #20 on: January 21, 2016, 02:38:08 PM »

Either that or they couldn't be bothered?! There's lots of room left in the data at the end of the 512k, but maybe the ST version isn't quite as efficient....

I don't think there are any, but I will be patching. My next (BEXT) update to have more!!

Great work on the names btw. So please document the monster item drops carefully though , as I may be able to reverse engineer from your findings :)
Logged
Quote from: KillerGorilla
because winuae is made of code and your amiga is made of stuff

MadMunky

  • Forum Mod
  • A600
  • *****
  • Karma: 2
  • Offline Offline
  • Gender: Male
  • Posts: 244
Re: Amiga Extended Level Data blocks
« Reply #21 on: January 21, 2016, 03:39:35 PM »

Will do,

The way we do it in Bloodwych it was based on the monsters form id as to who dropped what, at the moment formid 18 in extended levels drops a chromatic key, I expect there will be more.

Logged

Hungry Horace

  • Amorphous Blue-Blob Man
  • Site Admin
  • A4000T
  • ******
  • Karma: 307
  • Offline Offline
  • Gender: Male
  • Posts: 3,364
  • Don't forget... Ameboid's need love too!
    • AUW
Re: Amiga Extended Level Data blocks
« Reply #22 on: January 21, 2016, 03:46:45 PM »

GRRR!!  just wrote a massive reply on this only for my internet to blot out and lose it!!

I have found the item dropped data for you MadMunky, so you can use the code correctly. (although you'll have to do something specific for Books of Skulls as i end up hacking the Zendick drop code!! ... which means my method there matches the one you are already using... using the form ID)


In the BEXT file it's at $161EC and is $62 bytes long (it is immediately before "mary had a little lamb" etc)

You can now code it 'correctly' and the data looks like this:

Code: [Select]
56565251535017171A186019345351505656181A182020523518531A19171861515022502E5256253153552255512E52515650533B5652295550513654181A1819171A37635251545553565450525051535550525451181850561A181A181A186200
As an example, the first few bytes: $56 $56 $52 , relate to two chromatic keys, then a serpent key, dropped by an elf, a ninja and a dragon.



If you remember fro reading the monster data, each one had a 'type':

Type 0 - normal
Type 1 - normal with spells 
Type 2 - Drone
Type 3 - Drone with spells  (i.e. set bit 0 = spells)
Type 4 - Shooter (Arc Bolt Machine)

... The monsters who drop things are all appearing in my editor as Type 8 (it calls them 'invalid')  ... perhaps really its a case of (i.e. set bit 3 = drop object?)   - I've checked and these match up with the object codes above.

I haven't extracted this data yet, because i need to test the preceding bytes, but from experience i suspect they are 'offsets' to how far into the object list each Dungeon begins:


Code: [Select]
00 00 - 00 0E - 00 20 - 00 45   

These would mean the Chase dungeon started at an offset of $0E, which would be object: $51 .... i will have to check this!


Logged
Quote from: KillerGorilla
because winuae is made of code and your amiga is made of stuff

MadMunky

  • Forum Mod
  • A600
  • *****
  • Karma: 2
  • Offline Offline
  • Gender: Male
  • Posts: 244
Re: Amiga Extended Level Data blocks
« Reply #23 on: January 21, 2016, 04:21:01 PM »

As an example, the first few bytes: $56 $56 $52 , relate to two chromatic keys, then a serpent key, dropped by an elf, a ninja and a dragon.

How are you working out what monster dropped the item?

Nice work on this, if we can identify this it will save me a lot of time :)

Logged

Hungry Horace

  • Amorphous Blue-Blob Man
  • Site Admin
  • A4000T
  • ******
  • Karma: 307
  • Offline Offline
  • Gender: Male
  • Posts: 3,364
  • Don't forget... Ameboid's need love too!
    • AUW
Re: Amiga Extended Level Data blocks
« Reply #24 on: January 21, 2016, 05:02:31 PM »

The first type 8 monster drops item 1, the second 08 monster  drops  item  2 etc

I guess they are "loaded up" into the expanded monster block when you enter each tower (don't ask me what havens when you leave a tower though) ....  In the same way the ace of swords is automatically "given" to zendick when the monster block is expanded.
« Last Edit: January 21, 2016, 06:38:07 PM by Hungry Horace »
Logged
Quote from: KillerGorilla
because winuae is made of code and your amiga is made of stuff

MadMunky

  • Forum Mod
  • A600
  • *****
  • Karma: 2
  • Offline Offline
  • Gender: Male
  • Posts: 244
Re: Amiga Extended Level Data blocks
« Reply #25 on: January 21, 2016, 06:01:53 PM »

Ah nice one, I get you now! This makes things a lot easier I'll make a function for type 8 monsters to drop these items that way when get get on to a editor your just have to assign it as a type 8 and you can then assign an item to drop.
Logged

Hungry Horace

  • Amorphous Blue-Blob Man
  • Site Admin
  • A4000T
  • ******
  • Karma: 307
  • Offline Offline
  • Gender: Male
  • Posts: 3,364
  • Don't forget... Ameboid's need love too!
    • AUW
Re: Amiga Extended Level Data blocks
« Reply #26 on: January 21, 2016, 06:56:10 PM »

i might see if it's possible to use the same method as a 'hack' on the original bloodwych to create more consistency in the data / editing....
Logged
Quote from: KillerGorilla
because winuae is made of code and your amiga is made of stuff

Hungry Horace

  • Amorphous Blue-Blob Man
  • Site Admin
  • A4000T
  • ******
  • Karma: 307
  • Offline Offline
  • Gender: Male
  • Posts: 3,364
  • Don't forget... Ameboid's need love too!
    • AUW
Re: Amiga Extended Level Data blocks
« Reply #27 on: January 21, 2016, 10:34:34 PM »

all confirmed...

the "drops object" requirement is a bit set (bit 3 of the half-byte for 'type') ... i know this as i have added it to my editor and just produced a drone (type '2') with spells (bit 0 set) and who drops and object.

i also changed the  00 00  that i suspected was the tower-offset, and it did indeed change the dropped object accordingly.

i will include the 'data block' on my BEXT outputs in future, and look to implement this into my editor :)
Logged
Quote from: KillerGorilla
because winuae is made of code and your amiga is made of stuff

MadMunky

  • Forum Mod
  • A600
  • *****
  • Karma: 2
  • Offline Offline
  • Gender: Male
  • Posts: 244
Re: Amiga Extended Level Data blocks
« Reply #28 on: January 22, 2016, 08:37:07 AM »

Horace can you explain which bit is used

Here is the first monster in the DD that drops an item

85 FF 16 08 12 01
AB CD EF GH IJ KL

The bits for the monster are

1000 0101 1111 1111 0001 0110 0000 1000 0001 0010 0000 0001

Logged

Hungry Horace

  • Amorphous Blue-Blob Man
  • Site Admin
  • A4000T
  • ******
  • Karma: 307
  • Offline Offline
  • Gender: Male
  • Posts: 3,364
  • Don't forget... Ameboid's need love too!
    • AUW
Re: Amiga Extended Level Data blocks
« Reply #29 on: January 22, 2016, 11:21:34 AM »

Horace can you explain which bit is used

Here is the first monster in the DD that drops an item

85 FF 16 08 12 01
AB CD EF GH IJ KL

The bits for the monster are

1000 0101 1111 1111 0001 0110 0000 1000 0001 0010 0000 0001

in that list, the one on the far left.  >1<000

It's the bit '3' (remember there is a bit '0' for spells, and bit '1' declares a drone)  of the first half-byte  ...  ( which here is a value $8)

IIRC the second half-byte is the floor on which the monster starts?


So for example, if the first half byte was 1010 , it would be:
- dropping an object
- not an arc bolt machine
- a drone
- not spell casting.
Logged
Quote from: KillerGorilla
because winuae is made of code and your amiga is made of stuff

Pages: 1 [2] 3   Go Up
 

TinyPortal 2.2.2 © 2005-2022