I took a crack at it. I assume that gam is global. I couldn't find anywhere that said it was, but I could find functions that referred to it out of scope. The only other bit I was unsure about is readattackcaption, implemented like so:
FUNCTION readattackcaption (byval index as integer) as string DIM buf(40 + dimbinsize(binATTACK)) as integer loadattackdata buf(), index RETURN readbinstring(buf(), 37, 38) END FUNCTION I don't see any reason why this wouldn't work, but I'm not familiar with the formats and so forth. Patch attached. Let me know if anything looks WRONG. On Thu, Sep 29, 2011 at 12:42 PM, James Paige <[email protected]> wrote: > On Thu, Sep 29, 2011 at 12:32:20PM -0700, Adam Perry wrote: >> On Thu, Sep 29, 2011 at 11:55 AM, Adam Perry <[email protected]> wrote: >> > On Thu, Sep 29, 2011 at 11:26 AM, Adam Perry <[email protected]> wrote: >> >> I'd like to add in a few more plotscripting commands, but I'm not sure >> >> what files need to be changed. The obvious one is plotscr.hsd, and I'm >> >> sure I can figure out what to do there, but what other files are >> >> involved? >> >> >> >> I'm not looking to do anything complicated; just getters/setters for >> >> things like door position and enemy attacks. >> >> >> > >> > Actually, some research shows that enemy attacks are already exposed >> > (albeit via the arcane "read enemy data" command). So that's one down. >> > >> >> And now I've hit another brick wall. James! Why did you split attack >> captions into two different files! And why isn't "read attack caption" >> already a thing! I don't understand the semantics of >> "readbadgenericname" and I'm not sure I want to. My guess is that >> readbadgenericname(index, game + ".dt6", 19, 37, 38, 1) would work if >> they were actually one file, but since they aren't, it won't. I >> suppose I could use "read enemy data" for this, too, if I were insane. >> >> The door getters look a little more reasonable, so I guess I'll start there. > > > Attack data is split between two files because of poor planning and my > own lack of data-format design skill. > > DT6 was the origial data lump for attacks. I gave it an arbitrary record > size. Later, when the records were all full, rather than trying to > figure out a scheme for cleanly resizing records, I added a second > parallel file, attacks.bin, also with an arbitrary record size. That > madness is what inspired the later feature of the binsize.bin lump and > the scheme for safely enlarging record sizes in binary lumps. > > Fortunately, the loadattackdata() sub in loading.bas transparently > combines the data records from dt6 and attack.bin so you don't need to > care about the fact that the attack caption is split between the two > files. > > Also, take a look at convertattackdata() also found in loading.bas > It takes the attack data as an array and converts it into a user defined > type, so it will be easy to see there how to read the description > string. > > --- > James > _______________________________________________ > Ohrrpgce mailing list > [email protected] > http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org >
hspeak.patch
Description: Binary data
_______________________________________________ Ohrrpgce mailing list [email protected] http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
