[conquest] invisible sun / much to visible sun, final fix (damn it I hope!)

John Clute johnclute at imagi.net
Mon Oct 17 23:35:12 MDT 2005


Here are some of my comments
----- Original Message ----- 
From: "Jon Trulson" <jon at radscan.com>
To: "Almighty Tallest Cataboligne" <god.000 at gmail.com>
Cc: "Conquest" <conquest at radscan.com>
Sent: Monday, October 17, 2005 6:33 PM
Subject: Re: [conquest] invisible sun / much to visible sun, final fix (damn 
it I hope!)


> On Mon, 17 Oct 2005, Almighty Tallest Cataboligne wrote:
>
>> Jon
>>
>> Dude :-0
>>
>> (complimentary reference to baskeballs)
>>
>
>  heh
>
>  CC'd to conquest list.
>
>> I've gone back to 8.1.1 source and I cant get the damn visibility to 
>> toggle.
>>>
>>
>> Dont try it out, I found it...broke the client code indeed.
>> Except you were doing the "breaking". (rather not fixing completely!)
>>
>
>  I never make mistakes, only my computers do. :)
>
>> diff -b conquest-8.1.1-0/client.c conquest-8.1.1/client.c
>> 387c387
>> < if (primary <= 0 || primary > NUMPLANETS)
>> ---
>>> if (primary < 0 || primary > NUMPLANETS)
>>
>> /* in protocol 6, we 'forgot' planet realness. To avoid breaking
>> protocol again, and allow unpatched clients and/or servers to
>> work we check to see if SPPLANETINFO_FLAGS_FVALID is set. If so,
>> _then_ we pay attn to any other flags present. Else we ignore
>> them. */
>
>
>  Ahh... the original authors did this (well not the protocol, but): 
> planet/primary == 0 is invalid, but they did it anyway for Mur's case it 
> seems.
>
>  This is a consequence of the original developers (ab)using int to 
> differentiate between a ship and a planet (mainly for messaging) by 
> 'sign'.  Also, ratfor apparently did not index arrays starting at 0, they 
> used 1, and the code assumes that.  So they must have figured a 0 primary 
> was impossible, and therefor irrelevant.  The protocol didn't even 
> consider this. Those bastards. :)
>
>  So the end result is that server changes to Mur will never be propagated 
> to a client.
>
>  Was thinking about getting away from that anyway and going with an 
> 'object type/id number' method of identifying objects. 'Ship 4', 'Planet 
> 27', or 'stargate 5' rather than the current <0 == planet, >0 == ship, 
> etc...
>
I agree here.

>  Another reason to do these changes I guess.
>
>>
>> yes, and 0 is a valid value for primary.
>>
>
>  Yes, and no.  It can be represented as a '0' in the code (now), but the 
> game code itself would never have been able to access it (ratfor 
> limitation I guess).  Of course we're in C now.  0 does exist! :)
>
>  I had considered fixing this during the original ratfor -> C port, but 
> the assumption was so ingrained in all the code, I kept it.  Time to 
> change it I guess.  What fun that will be! :)
>

True....

>> the client was setting murisak to visible, and it never got updated from 
>> the
>> server.
>> my new changes left it not visible for the client because...well I'm
>> assuming it was the dostand = TRUE, but since it seems to work ok, I'm 
>> not
>> going to find out.
>>
>
>  I'll need to address this in the next major version (and what a major 
> version it's looking to be (common block/protocol wise):).  That's why I 
> mentioned that the New Version (NV) would hardcode a ghost0 planet at 0,0 
> on which to afix the universe.  At that point, we will have to allow 
> planet == 0 as well (but it will be special - immutable).
>
>
> -- 
> Jon Trulson    mailto:jon at radscan.com
> ID: 1A9A2B09, FP: C23F328A721264E7 B6188192EC733962
> PGP keys at http://radscan.com/~jon/PGPKeys.txt
> #include <std/disclaimer.h>
> "I am Nomad." -Nomad
>
> 





More information about the Conquest mailing list