Game.c: parking slots cannot be selected if an aircraft in STATE_PARKED state is on it.
Other fixes and improvements.
Added some tiles from TILESET2.TIM
+ Added first tutorial level.
* Font now inserts line feed automatically if the next word is too long to fit.
* Gfx.c: added primitive list double buffering in order to gain some performance.
* MapEditor: now airport can be defined inside the tool.
* Game.c: new prototypes GameGetParkingDirection() and GameGetRunwayDirection().
* Slight optimizations into GameRenderLevel().
* Added some comment headers into Gfx.c.
* Aircraft now prevents collision against other aircraft if state == STATE_TAXIING.
* Game: new event handlers for new Aircraft collision prevention algorithm.
* Font: although not compulsory, _blend_effect_lum should be volatile.
* Other minor changes.
* (Bugfix): PltParser was casting remaining time to uint8_t instead of uint16_t.
* Reduced file buffer size to original value.
* GfxDrawButton(): L1/R1/L2/R2 text is now printed on top of Lx/Rx button.
* Other minor changes.
* Sine-like effect used for runways now moved to SystemCalculateSine().
* Bugfix: ptrPlayer->FlightDataPage is now decreased if there aren't enough active aircraft.
* On main menu, 2 players option is now disabled if pad 2 is disconnected.
* More work on FPS measurement (not working yet).
* Number of used SPU voices is now returned on SfxUploadSound().
* Added some more comments on Game.c.
* On GamePathToTile(), duplicate checks for existing tile have been replaced by calls to GameWaypointCheckExisting().
* Some performance optimizations on Game.c (removed unneeded "for" loops).
* Timer 2 is now handler (ISR still not working).
* SYSTEM.CNF: EVENT parameter increased to 7.
* Makefile now rebuilds needed targets on modified header files.
* Some more work on GameEmergencyMode().
* Initial work on PSX mouse auto detection.
* Prototypes for RCNT2 I_MASK bit handling.
* Files needed for Game are now only loaded once, except from LEVEL1.PLT.
* Added DevMenu to get debug info.
* ISR_LoadMenuVBlank() does not stop when accessing SIO.
* On fopen() and SERIAL_INTERFACE defined, "#" is prepended and "@" is appended to filename string.
* Timers with no repeat flag were being set to NULL, but this is not actually desired!
* Reenabled transparency for aircraft shadow.
* Deprecated NotificationRequest flags, and replaced by system timer handling.
* Remove unneeded whitespace character on pointer variables (unary operators should not have any whitespaces).
* SelectedAircraft index now increases or decreases automatically on aircraft added/removed.
* Started writing Plt generation routines. Still a lot of work TODO.
* Aircraft should not be removed on State == STATE_APPROACH.
* Initial implementation for finished game.
* Added some comments on System.c.
* GameGuiPrepareNotificationString() deprecated.
* Unboarding state now totally implemented.
* (Bugfix): Incorrect aircraft was selected on ShowAircraftData.
* Gfx1HzFlash() and Gfx2HzFlash() were incorrectly implemented, causing multiple ticks on a single cycle.
* Improved detection of target reaching for Aircraft.c.
* Cursor is now displayed correctly on both 1-player and 2-player mode.
* Fixed behaviour for locking/unlocking aircraft.
* Fixed menus for 2-player mode.
* Minor fixes and improvements.
* (PSXSDK internals): incorrect bit shifting was being made on 0xE3 and 0xE4 GPU instructions (drawenv management).
* (Bugfix): Timers were not being reset properly because pad1_cheat_timer and pad2_cheat_timer were being accidentally reset to NULL on calling memset() for cheatsArray.
* Timers are now updated every 100 ms instead of every second.
* Mouse sprite should be now drawn on X_SCREEN_RESOLUTION >> 2 in 2-player mode. TODO: check why this isn't working!
* New routine PadOneKeySinglePress() and PadTwoKeySinglePress().
* Temp waypoints now turn red when colliding with an aircraft or with a previously existing waypoint.
* When loading files, GPU operation is finishedbefore calling fopen. Also, I_MASK is disabled just in case.
* For PLT files, actual tile needs to be set instead of parking number.