Ultimate Amiga

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 8 9 [10] 11   Go Down

Author Topic: Hacking: Open Contribution Thread  (Read 76500 times)

0 Members and 3 Guests 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: Hacking: Open Contribution Thread
« Reply #135 on: May 16, 2013, 05:08:55 PM »

cool new discovery :)

I was investigating how the keyboard routines worked in-game, and discovered that each applicable keycode for movement is translated back into a final figure, which is then plugged into an address.

That address varies between players; using SPS439 disk  (sorry, i changed SPS because of the WHDload patching) these addresses are at;

Player 1 … $EED2
Player 2 … $EF34

The value fed into these addresses are the same for each player, and are as follows;

Move Forward  = $A
Move Backward  = B$
Move Left = $C
Move Right = $D
Rotate Left  = $E
Rotate Right = $F

So at any stage in the code, you can just "plug" that number into the address, and it will attempt to perform that action! (when the action is complete, or fails, the number at that address reverts back to zero)

More interesting still, is that by plugging a few "other" numbers into this, i was able to make the players perform other actions.... as such, i will be monitoring the address closely to see what other actions can be performed , and ultimately mapped to a separate key or button-press. :)

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: Hacking: Open Contribution Thread
« Reply #136 on: May 16, 2013, 05:34:51 PM »

Some additional "Actions" i've found

$1  --- show stats
$2 ---- icon action (e.g. spell , door etc)
£3 ---- inventory
$4 --- attack
$5 --- attack (defend?)

action 2 is a bit useless because it doesnt update the "live" graphic - e.g. if you prepare a spell in the spell-book and use this action, the spell is still shown as "prepared" even though the action has been performed.

the "attack" action is excellent, and i think i will map this to the green button or something.


strangely, actually performing these actions "normally" does not cause the value to change, so this appears to be entirely for the purpose of keyboard control (!!)
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: Hacking: Open Contribution Thread
« Reply #137 on: March 21, 2014, 12:52:04 PM »

Horace: Regarding the Wall Switches and Floor Pads (as that's now what i'm trying to recreate).

I see you have documented what they do http://www.ultimateamiga.co.uk/index.php/topic,8908.msg39953.html#msg39953 but how does the map object get linked to the right action?

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: Hacking: Open Contribution Thread
« Reply #138 on: March 22, 2014, 07:43:36 AM »

The short answer, is that when you define a wall /switch in the map with the appropriate word, (. . . 1)  part of the first byte will relate to its "reference number" , and this maps directly to the switch actions which are listed in the "list of applicable actions for this tower" block mentioned in the link above.  (i.e. reference number 1, is action no. 1 in the list)

You will have already come across this when allocating wall scrolls or gem slots to the correct colour, or mapping a sign to a particular walk scroll text... The main difference is that some bits tells us it is a switch, and other bits give us the reference number.

I will have a look at my editor code this morning and see if I can type up the definition for stone walls for you at least, and maybe floor pads (. . . 6) too!
« Last Edit: March 22, 2014, 10:14:11 AM by Hungry Horace »
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: Hacking: Open Contribution Thread
« Reply #139 on: March 22, 2014, 10:07:20 AM »

I like it when you ask me these questions MadMunky, as it inspires me to write-up my findings about specific data elements :)

I have updated the section on standard walls:
http://www.ultimateamiga.co.uk/index.php/topic,8908.msg39945.html#msg39945

I will look to do a similar update on the floor switches section also, and maybe in-time the other data definitions!


Hope it helps.


edit:
Have now also updated the sections on Doors, Stairs and Floor Triggers etc.
« Last Edit: March 22, 2014, 04:21:49 PM by Hungry Horace »
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: Hacking: Open Contribution Thread
« Reply #140 on: March 22, 2014, 10:53:00 AM »

A question if I may though.... Are you using the "pure data" file blocks I posted here before?

I would really like to establish them as a "standard" for cross-format pollination of Bloodwych levels etc, and this project has got me thinking more about finishing my own maps (which will genuinely be an option in summer once my studies are finished!) and I would love it if they worked on 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: Hacking: Open Contribution Thread
« Reply #141 on: March 23, 2014, 02:08:31 PM »

Thanks horace, at the moment the moment it uses the pc map files but it will work with any file that follows that standard as thats how i got the extended levels working

So as long as it starts with, map x/y then offset etc it will work fine i can take any rip from the amiga or st and load them in so if you want to rip out your map you did ill load it up and show you
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: Hacking: Open Contribution Thread
« Reply #142 on: March 24, 2014, 08:31:15 AM »

I dont know if this is any used to you, but when i was making the maps for Book of Skulls (which i will try to continue with again soon i think) i had real trouble keeping track of what objects and monsters i had used.

Without knowing what you've used, it is really hard to get a sense of progression through the game, and you never want to repeat-use objects like wands, rings or special weapons!!

To get around this, i made myself an excel spreadsheet, with VBA macros in it, and yesterday spent some time adapting it a little more.   Basically it runs through the .ob files, and lists all the items used in each tower. "Stacks" of objects are highlighted in alternating colours (grey/white) in order to see what objects are bunched together... if the .map file is also available, it will also give you an x/y/f coordinate of where the item is located on the map.  I will be looking to do something similar with lists of Monsters in the future.

Because i had a habit of just placing "1 gold coin" in locations where i wanted to later include weapons and stuff, but didnt know what to put there, i have also made it highlight the use of 1 gold coin in Red.

Other  features include a complete list of the objects, and how often they occur in the .ob files that have been checked, so that you can check that items are not used too much or too little. I also gave this list a set of 'categories' so you can filter the list and just look at "all blades" for example.

Hope it is of some use! (file attached)

----

edit:  I've also attached the 'clean' data i was talking about. I think you will need this, as although the PC version has the .map and .ob files (both of which i have re-created in my ripping of data here) you will need also a lot of other sections of data which are only stored in the main EXE even on the PC version.... this is why i think it is best for any editors / readers etc to "rip" the data in this form, and then patch it back in later.

You'll probably find this data set useful for your online version :)
« Last Edit: March 24, 2014, 08:35:23 AM 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: Hacking: Open Contribution Thread
« Reply #143 on: March 24, 2014, 09:01:58 AM »

Thanks Horace it all help, I was going to just use the PC Bloodwych.exe and find the locations for the stuff thats not in the MAP files but this makes it easier.

Have you got a export of your custom map at all as it would be good to try it and make sure it loads...
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: Hacking: Open Contribution Thread
« Reply #144 on: March 24, 2014, 09:54:15 AM »

sure, data is attached.

Maps are complete up to the Moon tower - objects in the MOon tower still need work (thus why i built the Excel sheet) .

Maps in the Dragon tower are a work in progress... everything beyond that should appear blank.

I look forward to see it online!
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: Hacking: Open Contribution Thread
« Reply #145 on: March 24, 2014, 03:52:28 PM »

Right loaded and seems to work fine, load up the page and hit "l" till you see it load "horace_mod0" I have loaded the other towers also but I need to know the correct X/Y for the players start position and then ill put in the right start positions as you change tower

Logged

MadMunky

  • Forum Mod
  • A600
  • *****
  • Karma: 2
  • Offline Offline
  • Gender: Male
  • Posts: 244
Re: Hacking: Open Contribution Thread
« Reply #146 on: July 14, 2014, 10:33:56 AM »

Horace,

You found this but do you know where this data is store in the file?

http://www.ultimateamiga.co.uk/index.php/topic,9735.msg46344.html#msg46344
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: Hacking: Open Contribution Thread
« Reply #147 on: July 17, 2014, 08:38:28 PM »

hi MM

Sorry for the slow reply... I will dig this out for you soon, and give you the 'data' (code) so you can do a search for it. I even use the same code syntax in my BoS patches, so when you know how to read it once, you could read it again for each applicable character / object.

I just brought a new MacBook Pro and I'm still in the process of transferring everything, and setting myself up for my paying work is taking a bit of a priority atm ;)

I am looking forward to trying this machine out with FS-UAE online :D
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: Hacking: Open Contribution Thread
« Reply #148 on: July 18, 2014, 06:59:16 PM »

Thanks Horace, no real rush :) did you ever look any more at the amour palettes I posted if not the I'm planning to over the weekend


Sent from my iPad using Tapatalk
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: Hacking: Open Contribution Thread
« Reply #149 on: February 17, 2016, 04:03:56 PM »

So i've located some more data in BW....

Two tables relating to objects (so far)

objecticons.block   @ $E13E in the BW439 file , $1B9 bytes long, terminated with a $FF.

this goes through each object in turn (including obect '0' - an empty slot) and defines its appearance (an icon number), it's colour (if re-coloured) and its name (2 bytes, referring to words in the word block)

The word block is contained shortly above, and begins 1 byte before the word "Empty" (the byte before contains the number '5' to indicate that 5 characters are used in the word)


The second table i have discovered, is immediately after table 1, and defines how the object looks on the floor. This is $6D bytes long, and starts with the coinage.


That is all for now!  An example edit is attached :)
Logged
Quote from: KillerGorilla
because winuae is made of code and your amiga is made of stuff

Pages: 1 ... 8 9 [10] 11   Go Up
 

TinyPortal 2.2.2 © 2005-2022