On Fri, Feb 16, 2007 at 03:55:32AM +1300, Ralph Versteegen wrote:
> On 2/16/07, Bob the Hamster <[EMAIL PROTECTED]> wrote:
> > On Thu, Feb 15, 2007 at 01:33:36AM -0600, Kizul Emeraldfire wrote:
> > >    On 2/15/07, Bob the Hamster <[EMAIL PROTECTED]> wrote:
> > >
> > >      I think we need a feature freeze for ubersetzung. We are so close to 
> > > a
> > >      stable release that I can almost taste it.
> > >
> > >        Well, now that there's layers * was just thinking about the 
> > > Read/Write
> > >    Map/Pass Block PlotScripting commands, and I realized that there's no
> > >    argument in them that specifies what layer you're reading/writing to.
> > >    Might want to add those into the PlotScripting dictionary and stuff. 
> > > I'd
> > >    do it myself, but I have no clue how I'd do it. @_@
> >
> > I would count those commands as just being a completion of the Layers
> > feature, rather than a new feature, so the freeze doesn't apply to them.
> >
> > TMC: Can we add arguments to a command now without breaking backcompat?
> > I remember that in the past we couldn't (had to assign a new ID)
> 
> Yes, by checking the number of arguments...
> 
> CASE XYZ
>  IF scrat(nowscript).curargc = 2 THEN
>   'old command
>  ELSEIF scrat(nowscript).curargc = 3 THEN
>   'new 3 arg version
>  END IF
> 
> But *actually*, we could have done that all along.

Looking at the code, I see that the implementation of readmapblock 
already accepts a thrid argument to specify the layer, but with no 
argument checking. if we can trust un-used arguments to be zeroed out, 
then this is okay,. but I am not sure whether we can trust this.

I write a patch that checks scrat(nowscript).curargc to enforce 
defaulting layer to zero for old scripts, and then enable the layer arg 
in plotscr.hsd

---
Bob the Hamster
_______________________________________________
ohrrpgce mailing list
[email protected]
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org

Reply via email to