| GrayGetSwitchCount | Function (Macro)

gray.h

unsigned long GrayGetSwitchCount (void);

Returns the current plane switch counter.

Previous versions of the TIGCC (up to v0.91) grayscale support were lacking a mechanism to synchronize to the internal switching of the grayscales planes, which is quite necessary for almost any kind of "high-speed" games where the grayscale graphics change a lot.
This is why Thomas Nussbaumer implemented a plane switch counter which is increased after every processed plane switch.
A complete grayscale frame consists of 2 plane switches. GrayOn resets the switch counter value to 0.
A program which wants to synchronize to the plane switching within a loop can do this like this, for example:

    unsigned long cur_count = GrayGetSwitchCount ();
    do {
      unsigned long wait_for = cur_count + 2;
      while ((cur_count = GrayGetSwitchCount ()) < wait_for);
      // We'll always come here after the same plane
      // (dark plane or light plane) was switched.

      // Do something here ...

    } while (some_condition);

Deprecated alias: GetGraySwitchCount

See also: GraySetSwitchCount