On Jan 7, 2008 6:40 AM, Mike Caron <[EMAIL PROTECTED]> wrote:
> On Jan 7, 2008 1:35 AM, James Paige <[EMAIL PROTECTED]> wrote:
> > On Sun, Jan 06, 2008 at 10:06:32PM -0800, [EMAIL PROTECTED] wrote:
> > > pkmnfrk
> > > 2008-01-06 22:06:32 -0800 (Sun, 06 Jan 2008)
> > > 837
> > > FB 0.18.3 compatability
> > >
> > > Ouch, I've touched just about every source file in the tree -_-. Sorry if 
> > > I broke your commit, but the changes should be easy to merge in.
> > >
> > > Basically, any global string that used to be "whatever$", is now just 
> > > "whatever". Any global integer "foo%" is now "foo". Apparently, Extern 
> > > doesn't like type suffixes in 0.18.3, and it's backwards compatible not 
> > > to use them, so they don't any more.
> > >
> > > I am fairly certain that I got them all, but it is possible I missed one. 
> > > Theoretically, if I did, then this code would compile just fine, but 
> > > wouldn't work:
> > >
> > > sub foo()
> > >   game$ = "newgame"
> > > end sub
> > >
> > > since game$ is now game, the compile would think that game$ is a new 
> > > variable, and be perfectly happy. However, game would not be set to 
> > > "newgame", potentially causing problems. I doubt that we have any such 
> > > cases, though.
> > > ---
> >
> > Bravo! This actually takes care of the second-worst part of making the
> > OHR -lang fb compatable. (the worst, IMHO, being gosubbery)
> >
>
> Actually, the gosubbery is but a tiny issue. To be -lang fb
> compatible, we need to eliminate *all* type-suffixes:
>
> D:\ohrrpgce>makegame
> Now compiling GAME with fb graphics module, and sdl music module
> Version ID 20080106
> Codename wip
> game.bas(6) error 135: Only valid in -lang deprecated or qb, found
> 'DYNAMIC' in ''$DYNAMIC'
> game.bas(7) error 135: Only valid in -lang deprecated or qb, found
> 'DEFINT' in 'DEFINT A-Z'
> game.bas(15) error 137: Suffixes are only valid in -lang deprecated or
> qb, found 'arg' in 'DECLARE SUB setScriptArg (arg%, value%)'
> game.bas(17) error 137: Suffixes are only valid in -lang deprecated or
> qb, found 'stat' in 'DECLARESUB innRestore (stat%())'
> game.bas(18) error 137: Suffixes are only valid in -lang deprecated or
> qb, found 'needfade' in 'DECLARE SUB exitprogram (needfade%)'
> game.bas(20) error 137: Suffixes are only valid in -lang deprecated or
> qb, found 'x' in 'DECLARE FUNCTION wrappass (x%, y%, xgo%, ygo%,
> isveh%)'
> game.bas(21) error 137: Suffixes are only valid in -lang deprecated or
> qb, found 'x' in 'DECLARE SUB wrapaheadxy (x%, y%, direction%,
> distance%, unitsize%)'
> game.bas(22) error 137: Suffixes are only valid in -lang deprecated or
> qb, found 'x' in 'DECLARE SUB aheadxy (x%, y%, direction%, distance%)'
> game.bas(23) error 137: Suffixes are only valid in -lang deprecated or
> qb, found 'x' in 'DECLARE SUB wrapxy (x%, y%, wide%, high%)'
> game.bas(24) error 137: Suffixes are only valid in -lang deprecated or
> qb, found '(' in 'DECLARE FUNCTION framewalkabout% (x%, y%, framex%,
> framey%, mapwide%, maphigh%, wrapmode%)'
> game.bas(24) error 123: Too many errors, exiting
>
> Ideally, we could throw in an Option Explicit, and we'd have (shock
> and horror) a reasonably maintainable source tree!
>

I have a vague feeling that Option Explicit is not part of proper FB
any more. I seem to remember one of my programs not compiling with it
when I upgraded to 0.18. Then again, it's a VBism rather than a QBism
in the first place, I believe.

Simon
_______________________________________________
Ohrrpgce mailing list
ohrrpgce@lists.motherhamster.org
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org

Reply via email to