aboutsummaryrefslogtreecommitdiff
path: root/Source/GameGui.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove unneeded const-castsXavier Del Campo Romero2021-01-011-3/+3
|
* Blue background dimensions are now limited to drawing enviroment's.Xavier ASUS2018-11-291-2/+2
| | | | Fixed X position for "Remaining aircraft" and "Next aircraft" messages in GameGui.c
* Some important bugfixes.Xavier ASUS2018-11-291-16/+26
| | | | | Added BUILDING_ATC_LOC. Added more levels.
* Aircraft are now auto-locked when entering "ShowAircraftData" menu.Xavier ASUS2018-11-241-138/+140
| | | | | Minor fixes and improvements. Path is shown when selecting a moving aircraft.
* Fixed critical bug that provoked an accidental access to a NULL pointer.Xavier ASUS2018-11-231-7/+4
|
* Optimization flag changed from -Os to -O3 (seems to perform better FPS-wise).Xavier ASUS2018-11-231-74/+76
| | | | Improved const-correctness and scope for some variables.
* Added "const" qualifier to some functions.Xavier ASUS2018-11-181-4/+4
| | | | | "cdrom:\ and ;1" are automatically inserted into file name, in order to save memory space. Some minor optimizations.
* * Minor changes.XaviDCR922018-05-071-1246/+1246
|
* * Game.c: removed obsolete comments.XaviDCR922018-03-111-62/+23
| | | | * GameGui.c: status shown on aircraft list is now summarized on a table.
* * Menu.c: bugfix for PLT level list.XaviDCR922018-03-101-2/+2
| | | | * Minor: added whitespace to "sizeof" operand.
* * Aircraft.c: since "rotate" member != 0 would render ArrowSpr incorrectly, ↵XaviDCR922018-01-031-0/+60
| | | | | | | | 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().
* * Aircraft.c: taxiing speed has been doubled.XaviDCR922018-01-021-17/+17
| | | | | | | * 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.
* * RWY_DIR and AIRCRAFT_DIRECTION have been joint into a single enum.XaviDCR922017-12-291-5/+0
| | | | | | * Game.c: new prototypes GameGetParkingDirection() and GameGetRunwayDirection(). * Slight optimizations into GameRenderLevel(). * Added some comment headers into Gfx.c.
* * Minor: added comment headers on every function in GameGui.c.XaviDCR922017-12-271-784/+912
|
* * Slight optimization: all comparations against true are now compared ↵XaviDCR922017-12-261-30/+96
| | | | | | | against != false. + Added a provisional background during gameplay (still WIP). * Map editor now allows creating a map.
* Bugfix: ptrPlayer->SelectedAircraft was being substracted when == 0 and ↵XaviDCR922017-09-231-4/+4
| | | | caused a game crash. Bugfix: aircraft did not stop when DIR_SOUTH.
* * Removed unneeded -g flag from Makefile.XaviDCR922017-09-161-2/+4
| | | | | | | * 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.
* * Trimmed ending whitespaces.XaviDCR922017-09-161-113/+113
| | | | * Makefile now generates output TIM files automatically, using 'cat whatever.flags' files as flags for bmp2tim.
* * Minor changes (spaces between "if"/"for"... instructions).XaviDCR922017-08-301-59/+59
| | | | + Added output ELF file with debugging symbols for nocash.
* * (Bugfix): ptrPlayer->SelectedAircraft was not being updated correctly when ↵XaviDCR922017-08-191-9/+10
| | | | | | | | | new aircraft appeared. * (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.
* * Added more comments.XaviDCR922017-08-181-0/+25
| | | | | * Radio chatter sounds. * Created aircraft state STATE_STOPPED, to be used when L1 is pressed on aircraft selection mode.
* + Documentation about sound sources.XaviDCR922017-08-141-5/+13
| | | | | | | | * 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().
* + System timer functions now moved to a separate source file, Timer.c/Timer.h.XaviDCR922017-08-101-5/+6
| | | | | * Added some more comments on Game.c. * On GamePathToTile(), duplicate checks for existing tile have been replaced by calls to GameWaypointCheckExisting().
* * Include directives are now moved to .c instead of .h, as it should really ↵XaviDCR922017-08-061-0/+4
| | | | | | | | | 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.
* * Added comments on System.XaviDCR922017-07-271-5/+12
| | | | | | | * 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.
* + Added support for SIO (Serial Input Output).XaviDCR922017-07-201-10/+10
| | | | * On SystemLoadFileToBuffer(), files can be now uploaded to PSX using QPSXSerial.
* * Bugfix: busy runway was not being cleared when aircraft was resting on a ↵XaviDCR922017-07-061-4/+4
| | | | | | | runway tile e.g.: STATE_READY_FOR_TAKEOFF or STATE_LANDED. * Reimplemented slow rendering on 2-player mode (provisionally though as long as I don't find any better solution). * Other minor fixes.
* * GameRenderBuildingAircraft() done.XaviDCR922017-06-301-2/+2
| | | | | * (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.
* * Added font spacing parameter.XaviDCR922017-06-281-6/+11
| | | | | | * 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.
* * Reduced tileset sprite size from 64x64 to 64x48.XaviDCR922017-06-271-78/+83
| | | | | | * Modified rendering functions to keep up with this size reduction. * Sprites in TIM have been reordered inside VRAM. * Other minor changes.
* * Tried to get some work done in MapEditor with no success so far.XaviDCR922017-06-111-47/+63
| | | | | | * 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.
* * Implemented aircraft collision. But it would not detect collision in some ↵XaviDCR922017-06-061-27/+68
| | | | | | | | 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.
* * Bugfix: index for selectedAircraft is recalculated when a new aircraft is ↵XaviDCR922017-06-041-6/+31
| | | | | | | spawned. * Initial implementation for minimum spawn time in parkings. * GfxIsGPUBusy() check added for MemCard.
* * More passengers by correct sequence are unboarded.XaviDCR922017-06-031-171/+69
| | | | | | | * Aircraft should not be removed on State == STATE_APPROACH. * Initial implementation for finished game. * Added some comments on System.c. * GameGuiPrepareNotificationString() deprecated.
* * Aircraft 0 was incorrectly being removed because indexes 0 to ↵XaviDCR922017-05-311-25/+0
| | | | | | | | | | 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.
* * Departure flights are not created if parking is busy.XaviDCR922017-05-301-1/+8
| | | | | | * Available TILE_PARKING and TILE_HOLDING_RWY are showed in green. * Fixed lock/unlock target logic. * Added TILE_PARKING_2.
* * Takeoff procedure implemented almost completely. TODO: "Holding" message.XaviDCR922017-05-281-1/+40
| | | | * Initial implementation to show passengers left when entering correct sequence.
* * Takeoff barely implemented. Stil a lot of work to do.XaviDCR922017-05-281-3/+3
| | | | | * Added new runway holding point tiles. * Bugfixes in last key single pressed.
* * Added more aircraft on LEVEL1.PLT.XaviDCR922017-05-271-1/+1
| | | | | | * 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.
* * Implemented remaining time for flights.XaviDCR922017-05-251-2/+83
| | | | | * Initial STATE_UNBOARDING implementation. Still some work to do. * Added score logic.
* * Aircraft state was not being transferred ciclically from Game to Aircraft ↵XaviDCR922017-05-241-121/+183
| | | | | | | | | | 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.
* * Split screen from now on is only calling GsDrawList() once. The reason for ↵XaviDCR922017-05-221-29/+100
| | | | | | | | | 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!
* * Adjusted coordinates for aircraft list in 2 player mode.XaviDCR922017-05-071-29/+30
| | | | * Added new "Id" parameter in TYPE_PLAYER structure. Not ideal, but needed nevertheless.
* * Split screen is now working. Yay!!XaviDCR922017-05-051-25/+57
| | | | * New prototypes for Gfx. Still preliminar, but make split screen work.
* * Added some comments on System.XaviDCR922017-05-011-10/+17
| | | | | | | * 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.
* * Updated.XaviDCR922017-02-041-0/+0
|
* Initial commitXavier Del Campo2017-02-041-0/+730