Re: A85: Level String


[Prev][Next][Index][Thread]

Re: A85: Level String




At 09:36 1998-05-15 GMT, you wrote:
>i am working on my level editor and was looking through the 85 file
>formats and have a question.  what are the last 2 fields?  what does
>the '*' mean? 

The last two fields are just what they say they are - a word
telling the length of the data (if a string, the number of chars
in the string) and after that the (string) data comes.

The * is used because you don't know the offset of the field, because
the last field has no static length. Thus, the offset
is from the end of that field.

> i've been looking at jimmy mardell's
>levels in HEX and it seems there is an additional length of the string
>data (- 2 bytes).  what is this for?  it is then followed by 01 02 01
>00 02 then the level name.  i would assume some of this is specific to
>SQRXZ levels, but what?  anyways, any help is appreciated.  i don't
>know what is shell specific data.

The first byte you mentioned isn't in a level string - it must
be a part of the header for 85S files when stored on the PC.

02 01   is the Sqrxz level header. 02 = sqrxz,  01 = compressed level
(00 would mean noncompressed levels). Those are the two header bytes
for the string. ZShell 4.0 programs have header bytes 00 FD, Usgard
1.5 00 F8 (iirc) etc - check out the file filehead.txt

00 02   means there are 2 levels in this world. It's actually one
word, read with MSB first.

> what do i need to make the file invisible to usgard?
>where should i put the Solomon's Key unique level number (#5)... the
>first byte of the string's data? 

You should put the number (#5) where the data begins - it's a part
of the string.

--
Real name: Jimmy Mårdell                "can't go mucking with a 'void *'"
IRC......: Yarin                                // Apple's MPW C compiler
Email....: mailto:yarin@acc.umu.se        
Homepage.: http://www.algonet.se/~mja/


Follow-Ups: References: