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