Commit Graph

43 Commits

Author SHA1 Message Date
Xavier ASUS 8fcf5bf1f7 Removed SIO interrupt (it caused VBlank ISR not to be triggered).
Added Gfx wait on LoadMenuEnd(). Otherwise, some levels would not start after loading all required files.
Also, added GPU wait on Menu.c before entering the main loop.
An invalid index inside sound table was being accessed when creating an arrival flight. This made the game crash only under real hardware.
Other minor changes and fixes.
2018-11-30 01:34:40 +01:00
Xavier ASUS 9cbaf49e93 Some important bugfixes.
Added BUILDING_ATC_LOC.
Added more levels.
2018-11-29 01:07:06 +01:00
XaviDCR92 135a1e93cb * LEVEL3.PLT was incorrectly using Windows CRLF end of line.
* When assigning a parking slot, busy parking slots cannot be selected. Some work TODO yet, though.
2018-11-25 12:32:16 +01:00
Xavier ASUS 6c687dd30b New LEVEL3.
Improvements.
2018-11-24 13:03:52 +01:00
Xavier ASUS ce0027e87f Aircraft are now auto-locked when entering "ShowAircraftData" menu.
Minor fixes and improvements.
Path is shown when selecting a moving aircraft.
2018-11-24 11:56:04 +01:00
Xavier ASUS d2dc5a7b15 Minor improvements 2018-11-23 15:02:41 +01:00
Xavier ASUS ca6e4a13aa Fixed critical bug that provoked an accidental access to a NULL pointer. 2018-11-23 14:44:21 +01:00
Xavier ASUS 3b80f74ce1 Optimization flag changed from -Os to -O3 (seems to perform better FPS-wise).
Improved const-correctness and scope for some variables.
2018-11-23 13:57:38 +01:00
Xavier ASUS 2ccc0f5edd Added "const" qualifier to some functions.
"cdrom:\ and ;1" are automatically inserted into file name, in order to save memory space.
Some minor optimizations.
2018-11-18 20:03:35 +01:00
XaviDCR92 6adb0a08c8 * Menu.c: bugfix for PLT level list.
* Minor: added whitespace to "sizeof" operand.
2018-03-10 14:30:40 +01:00
XaviDCR92 6364d64cbc * Aircraft.c: files were being loaded each time level was selected.
* Game.c: score bonus is now added depending on flight remaining time.
+ Added second level.
2018-02-03 16:05:37 +01:00
XaviDCR92 7d14b50360 * Aircraft.c: since "rotate" member != 0 would render ArrowSpr incorrectly, I have created two separate sprites: LeftRightArrowSpr and UpDownArrowSpr. Still, H_FLIP isn't working properly.
* GameGui.c: new function GameGuiCalculateNextAircraftTime(), which calculates remaining time for next aircraft on the list.
* GameStructures.h: new parameter NextAircraftTime for TYPE_PLAYER structures.
* Game.c: added call to new function GameGuiCalculateNextAircraftTime().
2018-01-03 21:17:28 +01:00
XaviDCR92 b094335404 * Aircraft.c: taxiing speed has been doubled.
* Game.c: GameRenderLevel() renamed to GameRenderTerrain().
* Game.c: GameRenderTerrainPrecalculations() has been created to perform some calculations which are stored in tables to be then looked up by GameRenderTerrain(). This should save us some calculation time during rendering process.
* Camera.c: added new CameraApplyCoordinatesToCartesianPos() prototype.
* GameGui.c: AircraftDataGPoly4 RGB data is now only calculated on startup.
2018-01-02 06:43:54 +01:00
XaviDCR92 67cfc8b2c2 * RWY_DIR and AIRCRAFT_DIRECTION have been joint into a single enum.
* Game.c: new prototypes GameGetParkingDirection() and GameGetRunwayDirection().
* Slight optimizations into GameRenderLevel().
* Added some comment headers into Gfx.c.
2017-12-29 23:19:43 +01:00
XaviDCR92 0d1df70f2d * Aircraft.c: invalid XYZ position was calculated if runway direction != EAST.
* Aircraft.c: aircraft direction is now set according to runway direction when aircraft is created.
* Game.c: TILE_PARKING_2 was not included on AcceptedTiles[].
* Game.c: GameAssignRunwaytoAircraft() was not looking up runway exit/entry points correctly.
2017-12-29 15:07:17 +01:00
XaviDCR92 4eaa6c091f * Slight optimization: all comparations against true are now compared against != false.
+ Added a provisional background during gameplay (still WIP).
* Map editor now allows creating a map.
2017-12-26 22:18:37 +01:00
XaviDCR92 e6d41c59ff Bugfix: ptrPlayer->SelectedAircraft was being substracted when == 0 and caused a game crash. Bugfix: aircraft did not stop when DIR_SOUTH. 2017-09-23 01:32:26 +02:00
XaviDCR92 6629a61c3b * Removed unneeded -g flag from Makefile.
* 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.
2017-09-16 03:21:15 +02:00
XaviDCR92 0d7af34486 * Trimmed ending whitespaces.
* Makefile now generates output TIM files automatically, using 'cat whatever.flags' files as flags for bmp2tim.
2017-09-16 01:44:42 +02:00
XaviDCR92 69027a04e3 * Minor changes (spaces between "if"/"for"... instructions).
+ Added output ELF file with debugging symbols for nocash.
2017-08-30 23:29:57 +02:00
XaviDCR92 b1aad213d4 * Added more comments.
* Radio chatter sounds.
* Created aircraft state STATE_STOPPED, to be used when L1 is pressed on aircraft selection mode.
2017-08-18 20:17:13 +02:00
XaviDCR92 db8bc5f9e3 + Documentation about sound sources.
* 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().
2017-08-14 14:29:04 +02:00
XaviDCR92 8700a329d0 * Include directives are now moved to .c instead of .h, as it should really be...
* 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.
2017-08-06 04:17:09 +02:00
XaviDCR92 cb1c0345c7 + Added support for SIO (Serial Input Output).
* On SystemLoadFileToBuffer(), files can be now uploaded to PSX using QPSXSerial.
2017-07-20 22:36:19 +02:00
XaviDCR92 f7e3421f56 * GameRenderBuildingAircraft() done.
* (Bugfix): on AircraftGetTileFromFlightDataIndex(), a buffer overrun was caused when asking for index = AIRCRAFT_INVALID_IDX.
* Added new parameters for some building types. Still some work pending.
2017-06-30 13:03:43 +02:00
XaviDCR92 bd23878d45 * Added font spacing parameter.
* Removed obsolete, unused functions.
* Performance optimization: routines inside GameCalculations() were computating a big loop several times, so this has been modified so that loop is only performed once.
* Initial implementation for GameGetAircraftTilemap(). Still some work TODO.
2017-06-28 16:19:36 +02:00
XaviDCR92 f9f9924566 * Reduced tileset sprite size from 64x64 to 64x48.
* Modified rendering functions to keep up with this size reduction.
* Sprites in TIM have been reordered inside VRAM.
* Other minor changes.
2017-06-27 00:58:12 +02:00
XaviDCR92 d1f55e8b45 * Tried to get some work done in MapEditor with no success so far.
* 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.
2017-06-11 13:58:33 +02:00
XaviDCR92 022c72fe36 * (Bugfix) MemCard: MEMCARD_MAXIMUM_SECTOR changed from 512 (8 << MEMCARD_SECTORS_PER_BLOCK_BITSHIFT) to 1024 (16 << MEMCARD_SECTORS_PER_BLOCK_BITSHIFT).
* DrawEnv and DispEnv buffers are no longer swapped using DMA commands, but GPIO. This ensures stability under real hw. TODO: how to fix in 2-player mode?
* Provisionally removed semi-transparency for aircraft shadow sprite.
2017-06-08 07:23:25 +02:00
XaviDCR92 1244505327 * Implemented aircraft collision. But it would not detect collision in some cases.
* 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.
2017-06-06 06:52:46 +02:00
XaviDCR92 219d958538 * More passengers by correct sequence are unboarded.
* Aircraft should not be removed on State == STATE_APPROACH.
* Initial implementation for finished game.
* Added some comments on System.c.
* GameGuiPrepareNotificationString() deprecated.
2017-06-03 01:37:55 +02:00
XaviDCR92 92c65ff3b2 * Used runway is now freed if state == STATE_APPROACH.
TODO: Free runway on state == STATE_READY_TAKEOFF or STATE_ENTERING_RWY.
2017-05-31 07:24:00 +02:00
XaviDCR92 f5d1b4415c * Aircraft 0 was incorrectly being removed because indexes 0 to GAME_MAX_AIRCRAFT were being read instead of 0 to ptrPlayer->ActiveAircraft.
* Solved issues with linked list overflow. A detection mechanism has also been added.
* New state STATE_ENTERING_RWY.
* GameGuiActiveAircraftList has been moved from GameGui to Game module.
* Active aircraft list for each player is now updated each time that a new flight either appears or disappears.
* Other minor fixes.
2017-05-31 06:57:06 +02:00
XaviDCR92 30b18fd262 * Departure flights are not created if parking is busy.
* Available TILE_PARKING and TILE_HOLDING_RWY are showed in green.
* Fixed lock/unlock target logic.
* Added TILE_PARKING_2.
2017-05-30 07:00:36 +02:00
XaviDCR92 12247026c5 * Takeoff procedure implemented almost completely. TODO: "Holding" message.
* Initial implementation to show passengers left when entering correct sequence.
2017-05-28 22:57:01 +02:00
XaviDCR92 5286033a40 * Takeoff barely implemented. Stil a lot of work to do.
* Added new runway holding point tiles.
* Bugfixes in last key single pressed.
2017-05-28 04:22:03 +02:00
XaviDCR92 5430bd3090 * Added more aircraft on LEVEL1.PLT.
* 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.
2017-05-27 17:10:15 +02:00
XaviDCR92 8d2e08d744 * Aircraft state was not being transferred ciclically from Game to Aircraft module.
* 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.
2017-05-24 07:15:38 +02:00
XaviDCR92 aefe5f8c1c * Split screen from now on is only calling GsDrawList() once. The reason for this is that now DMA is used instead of GPIO for drawenv/dispenv management.
* (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!
2017-05-22 07:06:17 +02:00
XaviDCR92 6a90ed354f * Split screen is now working. Yay!!
* New prototypes for Gfx. Still preliminar, but make split screen work.
2017-05-05 23:55:15 +02:00
XaviDCR92 83b4684d7c * Added some comments on System.
* 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.
2017-05-01 23:05:51 +02:00
XaviDCR92 9ce310d847 * Updated. 2017-02-04 15:31:41 +01:00
Xavier Del Campo 189ecf754d Initial commit 2017-02-04 14:49:08 +01:00