"BO"

Discussion forum for G-Force users

Moderators: BTT, andy55, b.dwall, juxtiphi

Post Reply
Gregory2001
Posts: 61
Joined: Sat Apr 16, 2005 11:55 am

"BO"

Post by Gregory2001 »

Syntax error.

User avatar
JayPro
Posts: 738
Joined: Sat May 01, 2004 10:51 pm
Location: Huntington Station, Long Island, New York

Post by JayPro »

That's a capital O. Replace with 0 (zero).
"God is syntax."

jerohm
Senior Member
Posts: 421
Joined: Fri Jan 09, 2009 5:19 pm

Post by jerohm »

MCP.txt has/had a (float) cast. It is most likely what you saw. SoundSpectrum has already been informed/fixed. You can just delete the cast if you want things to work on your end. Other configs seem to be correct.


It would have been convenient if the preprocessor could have handled:
#define (float)

[read: delete it] ... because NOW certain configs can't be the same between GF4 and previous versions. But to be fair, cpp would have a problem due to the '(' and ')'s

(I HOPE I don't have a BO error :shock: )

User avatar
JayPro
Posts: 738
Joined: Sat May 01, 2004 10:51 pm
Location: Huntington Station, Long Island, New York

Forgive my IGnorance but....

Post by JayPro »

...what do you mean by "cast" in this context? Did ANdy eliminate the float function altogether?
How then would a config that would other wise call this function be scripted?
"God is syntax."

jerohm
Senior Member
Posts: 421
Joined: Fri Jan 09, 2009 5:19 pm

Post by jerohm »

It USE to be required to EXPLICITLY (cast) a binary expression, i.e., (ID == 0) to a (float) if you were going to use it as part of another expression, i.e., 'B0="2 + (3 * (float)(ID == 0))" ' (PRE-GF4) ... which always seemed kinda silly to me ... namely because I would have GUESSED if any cast was required, it should have been to an (int) ... [since we were going to use it to multiply by '3', in this instance]. I assume ALL math ops MUST have been handled as (float).

The other possibility is that where all math was previously required/converted to (float), NOW with the 64bit implementation, everything is (double) or something... THIS IS JUST A GUESS HOWEVER

In GF4 however, conversions must happen IMPLICITLY and are no longer required... although it IS a little surprising to ME that they would cause a syntax error. No matter, things NOW seem to be handled properly determined by context, and the (cast)'ing has been done away with.

In 'C', where all variables and functions are strongly typed, I can understand the A NEED (kinda) for EXPLICIT (cast)'ing, here however things are simple enough that IMPLICIT assumptions can probably always suffice.

Post Reply