aboutsummaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorXavier ASUS <xavi92psx@gmail.com>2018-11-30 01:34:40 +0100
committerXavier ASUS <xavi92psx@gmail.com>2018-11-30 01:34:40 +0100
commit8fcf5bf1f74873f49b792d3e3f661a2e7feda673 (patch)
treed134d1c9d50aefcd00f973d34d14c519b0526c77 /Source
parentc33fcca6d44264834baf42de65fe9d19c0f62ff4 (diff)
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.
Diffstat (limited to 'Source')
-rw-r--r--Source/Aircraft.c4
-rw-r--r--Source/Airport.geany135
-rwxr-xr-xSource/Exe/AIRPORT.elfbin381072 -> 373852 bytes
-rw-r--r--Source/Exe/AIRPORT.exebin223232 -> 217088 bytes
-rw-r--r--Source/Exe/AIRPORT.isobin1513472 -> 1507328 bytes
-rw-r--r--Source/Game.c36
-rw-r--r--Source/Gfx.c2
-rw-r--r--Source/LoadMenu.c24
-rw-r--r--Source/Makefile2
-rw-r--r--Source/MemCard.c10
-rw-r--r--Source/Menu.c12
-rw-r--r--Source/Message.c2
-rw-r--r--Source/PltParser.c4
-rw-r--r--Source/Serial.c8
-rw-r--r--Source/System.c7
15 files changed, 102 insertions, 144 deletions
diff --git a/Source/Aircraft.c b/Source/Aircraft.c
index 8e6e3ce..debec42 100644
--- a/Source/Aircraft.c
+++ b/Source/Aircraft.c
@@ -138,7 +138,7 @@ bool AircraftAddNew( TYPE_FLIGHT_DATA* const ptrFlightData,
{
TYPE_AIRCRAFT_DATA* const ptrAircraft = &AircraftData[aircraftIndex];
- memcpy(ptrAircraft->Target, targets, sizeof (uint16_t) * AIRCRAFT_MAX_TARGETS);
+ memmove(ptrAircraft->Target, targets, sizeof (uint16_t) * AIRCRAFT_MAX_TARGETS);
ptrAircraft->TargetIdx = 0;
ptrAircraft->Livery = AircraftLiveryFromFlightNumber(ptrFlightData->strFlightNumber[FlightDataIndex]);
@@ -820,7 +820,7 @@ TYPE_ISOMETRIC_POS AircraftGetIsoPos(const uint8_t FlightDataIdx)
void AircraftAddTargets(TYPE_AIRCRAFT_DATA* const ptrAircraft, const uint16_t* const targets)
{
- memcpy(ptrAircraft->Target, targets, sizeof (uint16_t) * AIRCRAFT_MAX_TARGETS);
+ memmove(ptrAircraft->Target, targets, sizeof (uint16_t) * AIRCRAFT_MAX_TARGETS);
ptrAircraft->TargetIdx = 0;
}
diff --git a/Source/Airport.geany b/Source/Airport.geany
index 0d1df5e..66838e2 100644
--- a/Source/Airport.geany
+++ b/Source/Airport.geany
@@ -28,98 +28,49 @@ long_line_behaviour=1
long_line_column=120
[files]
-current_page=5
-FILE_NAME_0=8700;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FAircraft.c;0;4
-FILE_NAME_1=5507;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FCamera.c;0;4
-FILE_NAME_2=4555;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FEndAnimation.c;0;4
-FILE_NAME_3=6794;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FFont.c;0;4
-FILE_NAME_4=96128;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGame.c;0;4
-FILE_NAME_5=18131;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGameGui.c;0;4
-FILE_NAME_6=19913;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGfx.c;0;4
-FILE_NAME_7=11629;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FLoadMenu.c;0;4
-FILE_NAME_8=717;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2Fmain.c;0;4
-FILE_NAME_9=745;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FMainMenuBtnAni.c;0;4
-FILE_NAME_10=30632;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FMemCard.c;0;4
-FILE_NAME_11=4273;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FMenu.c;0;4
-FILE_NAME_12=3904;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FMessage.c;0;4
-FILE_NAME_13=11137;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FPad.c;0;4
-FILE_NAME_14=7369;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FPltParser.c;0;4
-FILE_NAME_15=9894;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FPSXSDKIntro.c;0;4
-FILE_NAME_16=1091;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FSerial.c;0;4
-FILE_NAME_17=2669;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FSfx.c;0;4
-FILE_NAME_18=2662;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FSystem.c;0;4
-FILE_NAME_19=3179;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FTimer.c;0;4
-FILE_NAME_20=364;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FAircraft.h;0;4
-FILE_NAME_21=392;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FCamera.h;0;4
-FILE_NAME_22=529;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FEndAnimation.h;0;4
-FILE_NAME_23=1145;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FFont.h;0;4
-FILE_NAME_24=1682;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGameGui.h;0;4
-FILE_NAME_25=1451;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGame.h;0;4
-FILE_NAME_26=4657;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGameStructures.h;0;4
-FILE_NAME_27=3436;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGfx.h;0;4
-FILE_NAME_28=300;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGlobal_Inc.h;0;4
-FILE_NAME_29=630;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FLoadMenu.h;0;4
-FILE_NAME_30=559;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FMainMenuBtnAni.h;0;4
-FILE_NAME_31=4622;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FMemCard.h;0;4
-FILE_NAME_32=253;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FMenu.h;0;4
-FILE_NAME_33=806;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FMessage.h;0;4
-FILE_NAME_34=1731;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FPad.h;0;4
-FILE_NAME_35=762;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FPltParser.h;0;4
-FILE_NAME_36=684;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FPSXSDKIntro.h;0;4
-FILE_NAME_37=490;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FSerial.h;0;4
-FILE_NAME_38=815;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FSfx.h;0;4
-FILE_NAME_39=4207;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FSystem.h;0;4
-FILE_NAME_40=1066;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FTimer.h;0;4
-FILE_NAME_41=264;Make;0;EUTF-8;1;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FMakefile;0;4
-FILE_NAME_42=319;None;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FLevels%2FLEVEL3.PLT;0;4
-FILE_NAME_43=319;None;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FLevels%2FEASY.PLT;0;4
-FILE_NAME_44=319;None;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FLevels%2FLEVEL1.PLT;0;4
-FILE_NAME_45=319;None;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FLevels%2FLEVEL2.PLT;0;4
-FILE_NAME_46=1551;None;0;EISO-8859-1;0;1;0;%2Fhome%2Fxavier%2FAirport%2FLevels%2FTUTORIA1.PLT;0;4
-FILE_NAME_47=0;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Fsrc%2Fatexit.c;0;4
-FILE_NAME_48=4528;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Fsrc%2Fcdrom.c;0;4
-FILE_NAME_49=0;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Fsrc%2Fcop.c;0;4
-FILE_NAME_50=0;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Fsrc%2Fexception.c;0;4
-FILE_NAME_51=20953;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Fsrc%2Fgpu.c;0;4
-FILE_NAME_52=0;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Fsrc%2Flibc.c;0;4
-FILE_NAME_53=0;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Fsrc%2Fmemcard.c;0;4
-FILE_NAME_54=0;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Fsrc%2Fmemory.c;0;4
-FILE_NAME_55=0;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Fsrc%2Fpad.c;0;4
-FILE_NAME_56=7762;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Fsrc%2Fpsxsdk.c;0;4
-FILE_NAME_57=0;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Fsrc%2Fsetup.c;0;4
-FILE_NAME_58=0;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Fsrc%2Fsio.c;0;4
-FILE_NAME_59=0;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Fsrc%2Fspu.c;0;4
-FILE_NAME_60=0;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Fsrc%2Futil.c;0;4
-FILE_NAME_61=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Finclude%2Fbitstring.h;0;4
-FILE_NAME_62=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Finclude%2Fctype.h;0;4
-FILE_NAME_63=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Finclude%2Ferrno.h;0;4
-FILE_NAME_64=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Finclude%2Ffcntl.h;0;4
-FILE_NAME_65=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Finclude%2Finttypes.h;0;4
-FILE_NAME_66=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Finclude%2Fmemcard.h;0;4
-FILE_NAME_67=3314;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Finclude%2Fpsxbios.h;0;4
-FILE_NAME_68=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Finclude%2Fpsxcdrom.h;0;4
-FILE_NAME_69=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Finclude%2Fpsxgpu.h;0;4
-FILE_NAME_70=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Finclude%2Fpsxgte.h;0;4
-FILE_NAME_71=9980;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Finclude%2Fpsx.h;0;4
-FILE_NAME_72=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Finclude%2Fpsxpad.h;0;4
-FILE_NAME_73=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Finclude%2Fpsxsio.h;0;4
-FILE_NAME_74=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Finclude%2Fpsxspu.h;0;4
-FILE_NAME_75=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Finclude%2Fpsxutil.h;0;4
-FILE_NAME_76=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Finclude%2Frunexe.h;0;4
-FILE_NAME_77=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Finclude%2Fsearch.h;0;4
-FILE_NAME_78=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Finclude%2Fstdint.h;0;4
-FILE_NAME_79=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Finclude%2Fstdio.h;0;4
-FILE_NAME_80=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Finclude%2Fstdlib.h;0;4
-FILE_NAME_81=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Finclude%2Fstring.h;0;4
-FILE_NAME_82=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Finclude%2Fstrings.h;0;4
-FILE_NAME_83=1969;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Finclude%2Fthread.h;0;4
-FILE_NAME_84=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Finclude%2Ftypes.h;0;4
-FILE_NAME_85=231;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Finclude%2Funistd.h;0;4
-FILE_NAME_86=0;ASM;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Fsrc%2Fcdromh.s;0;4
-FILE_NAME_87=70;ASM;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Fsrc%2Fexc1.s;0;4
-FILE_NAME_88=2629;ASM;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Fsrc%2Fsyscalls.s;0;4
-FILE_NAME_89=647;ASM;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2Fpsxsdk-20150729%2Flibpsx%2Fsrc%2Fstart%2Fstart.s;0;4
-FILE_NAME_90=1488;C++;0;EUTF-8;0;1;0;%2Fusr%2Flocal%2Fpsxsdk%2Finclude%2Fstdio.h;0;4
+current_page=41
+FILE_NAME_0=3856;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FAircraft.c;0;4
+FILE_NAME_1=0;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FCamera.c;0;4
+FILE_NAME_2=0;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FEndAnimation.c;0;4
+FILE_NAME_3=0;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FFont.c;0;4
+FILE_NAME_4=114498;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGame.c;0;4
+FILE_NAME_5=27600;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGameGui.c;0;4
+FILE_NAME_6=6921;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGfx.c;0;4
+FILE_NAME_7=6639;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FLoadMenu.c;0;4
+FILE_NAME_8=0;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2Fmain.c;0;4
+FILE_NAME_9=0;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FMainMenuBtnAni.c;0;4
+FILE_NAME_10=14936;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FMemCard.c;0;4
+FILE_NAME_11=8053;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FMenu.c;0;4
+FILE_NAME_12=1041;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FMessage.c;0;4
+FILE_NAME_13=0;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FPad.c;0;4
+FILE_NAME_14=11461;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FPltParser.c;0;4
+FILE_NAME_15=0;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FPSXSDKIntro.c;0;4
+FILE_NAME_16=813;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FSerial.c;0;4
+FILE_NAME_17=636;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FSfx.c;0;4
+FILE_NAME_18=16820;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FSystem.c;0;4
+FILE_NAME_19=0;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FTimer.c;0;4
+FILE_NAME_20=1111;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FAircraft.h;0;4
+FILE_NAME_21=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FCamera.h;0;4
+FILE_NAME_22=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FEndAnimation.h;0;4
+FILE_NAME_23=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FFont.h;0;4
+FILE_NAME_24=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGameGui.h;0;4
+FILE_NAME_25=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGame.h;0;4
+FILE_NAME_26=2786;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGameStructures.h;0;4
+FILE_NAME_27=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGfx.h;0;4
+FILE_NAME_28=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGlobal_Inc.h;0;4
+FILE_NAME_29=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FLoadMenu.h;0;4
+FILE_NAME_30=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FMainMenuBtnAni.h;0;4
+FILE_NAME_31=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FMemCard.h;0;4
+FILE_NAME_32=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FMenu.h;0;4
+FILE_NAME_33=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FMessage.h;0;4
+FILE_NAME_34=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FPad.h;0;4
+FILE_NAME_35=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FPltParser.h;0;4
+FILE_NAME_36=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FPSXSDKIntro.h;0;4
+FILE_NAME_37=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FSerial.h;0;4
+FILE_NAME_38=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FSfx.h;0;4
+FILE_NAME_39=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FSystem.h;0;4
+FILE_NAME_40=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FTimer.h;0;4
+FILE_NAME_41=557;Make;0;EUTF-8;1;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FMakefile;0;4
[VTE]
last_dir=/home/xavier/Airport/Bin
diff --git a/Source/Exe/AIRPORT.elf b/Source/Exe/AIRPORT.elf
index df7d354..fe174ed 100755
--- a/Source/Exe/AIRPORT.elf
+++ b/Source/Exe/AIRPORT.elf
Binary files differ
diff --git a/Source/Exe/AIRPORT.exe b/Source/Exe/AIRPORT.exe
index 199925c..a1a7c9a 100644
--- a/Source/Exe/AIRPORT.exe
+++ b/Source/Exe/AIRPORT.exe
Binary files differ
diff --git a/Source/Exe/AIRPORT.iso b/Source/Exe/AIRPORT.iso
index 96f3c57..5461212 100644
--- a/Source/Exe/AIRPORT.iso
+++ b/Source/Exe/AIRPORT.iso
Binary files differ
diff --git a/Source/Game.c b/Source/Game.c
index 54c40ce..bcc9593 100644
--- a/Source/Game.c
+++ b/Source/Game.c
@@ -1483,7 +1483,7 @@ static void GameLoadLevel(const char* path)
memset(LevelHeader,0, LEVEL_MAGIC_NUMBER_SIZE + 1);
- memcpy(LevelHeader,ptrBuffer,LEVEL_MAGIC_NUMBER_SIZE);
+ memmove(LevelHeader,ptrBuffer,LEVEL_MAGIC_NUMBER_SIZE);
LevelHeader[LEVEL_MAGIC_NUMBER_SIZE] = '\0';
@@ -1513,7 +1513,7 @@ static void GameLoadLevel(const char* path)
memset(GameLevelTitle,0,LEVEL_TITLE_SIZE);
- memcpy(GameLevelTitle,&ptrBuffer[i],LEVEL_TITLE_SIZE);
+ memmove(GameLevelTitle,&ptrBuffer[i],LEVEL_TITLE_SIZE);
Serial_printf("Game level title: %s\n",GameLevelTitle);
@@ -1565,7 +1565,6 @@ static void GameAircraftState(const uint8_t i)
&&
(FlightData.RemainingTime[i] != 0))
{
- Serial_printf("Aircraft %d should now start...\n", i);
if (spawnMinTimeFlag == false)
{
if ((FlightData.FlightDirection[i] == DEPARTURE)
@@ -1575,23 +1574,30 @@ static void GameAircraftState(const uint8_t i)
uint8_t j;
bool bParkingBusy = false;
+ DEBUG_PRINT_VAR(FlightData.nAircraft);
+
for (j = 0; j < FlightData.nAircraft; j++)
{
- if (AircraftFromFlightDataIndex(j)->State != STATE_IDLE)
- {
- const uint16_t* const targets = AircraftGetTargets(j);
+ TYPE_AIRCRAFT_DATA* ptrAircraft = AircraftFromFlightDataIndex(j);
- if (targets != NULL)
+ if (ptrAircraft != NULL)
+ {
+ if (ptrAircraft->State != STATE_IDLE)
{
- const uint16_t tile = AircraftGetTileFromFlightDataIndex(j);
+ const uint16_t* const targets = AircraftGetTargets(j);
- if (tile == FlightData.Parking[i])
- {
- bParkingBusy = true;
- }
- else if (SystemContains_u16(FlightData.Parking[i], targets, AIRCRAFT_MAX_TARGETS))
+ if (targets != NULL)
{
- bParkingBusy = true;
+ const uint16_t tile = AircraftGetTileFromFlightDataIndex(j);
+
+ if (tile == FlightData.Parking[i])
+ {
+ bParkingBusy = true;
+ }
+ else if (SystemContains_u16(FlightData.Parking[i], targets, AIRCRAFT_MAX_TARGETS))
+ {
+ bParkingBusy = true;
+ }
}
}
}
@@ -1623,7 +1629,7 @@ static void GameAircraftState(const uint8_t i)
}
else if (FlightData.FlightDirection[i] == ARRIVAL)
{
- const uint32_t idx = SystemRand(SOUND_M1_INDEX, ARRAY_SIZE(ApproachSnds));
+ const uint32_t idx = SystemRand(SOUND_M1_INDEX, MAX_RADIO_CHATTER_SOUNDS - 1);
FlightData.State[i] = STATE_APPROACH;
aircraftCreated = true;
diff --git a/Source/Gfx.c b/Source/Gfx.c
index 2332892..1061c04 100644
--- a/Source/Gfx.c
+++ b/Source/Gfx.c
@@ -13,7 +13,7 @@
* Defines
* *************************************/
-#define PRIMITIVE_LIST_SIZE 0x1000
+#define PRIMITIVE_LIST_SIZE 0x2000
#define DOUBLE_BUFFERING_SWAP_Y 256
#define UPLOAD_IMAGE_FLAG 1
#define MAX_LUMINANCE 0xFF
diff --git a/Source/LoadMenu.c b/Source/LoadMenu.c
index e5e67bc..d3f7bca 100644
--- a/Source/LoadMenu.c
+++ b/Source/LoadMenu.c
@@ -91,13 +91,19 @@ static GsSprite LoadMenuTitleSpr;
static GsLine LoadMenuBarLines[LOADING_BAR_N_LINES];
static GsRectangle LoadMenuBarRect;
-static const char* LoadMenuFiles[] = { "DATA\\SPRITES\\PLANE.TIM",
- "DATA\\SPRITES\\LOADING.TIM",
- "DATA\\FONTS\\FONT_2.FNT" };
+static const char* LoadMenuFiles[] =
+{
+ "DATA\\SPRITES\\PLANE.TIM",
+ "DATA\\SPRITES\\LOADING.TIM",
+ "DATA\\FONTS\\FONT_2.FNT"
+};
-static void* LoadMenuDest[] = { (GsSprite*)&LoadMenuPlaneSpr,
- (GsSprite*)&LoadMenuTitleSpr,
- (TYPE_FONT*)&SmallFont };
+static void* const LoadMenuDest[] =
+{
+ &LoadMenuPlaneSpr,
+ &LoadMenuTitleSpr,
+ &SmallFont
+};
static const char* strCurrentFile;
@@ -239,8 +245,6 @@ void LoadMenuInit(void)
GfxSetGlobalLuminance(0);
- Serial_printf("I_MASK = 0x%08X\n", (*(unsigned int*)0x1F801074));
-
SetVBlankHandler(&ISR_LoadMenuVBlank);
}
@@ -250,7 +254,9 @@ void LoadMenuEnd(void)
load_menu_running = false;
while (LoadMenuISRHasEnded() == false);
- Serial_printf("Set default VBlank handler.\n");
+
+ while (GfxIsGPUBusy());
+
SetVBlankHandler(&ISR_SystemDefaultVBlank);
GfxSetGlobalLuminance(NORMAL_LUMINANCE);
diff --git a/Source/Makefile b/Source/Makefile
index 6ac841a..920c2ad 100644
--- a/Source/Makefile
+++ b/Source/Makefile
@@ -27,7 +27,7 @@ CDROM_ROOT=$(PROJECT_DIR)/cdimg
BIN_TARGET_PATH = $(PROJECT_DIR)/Bin
#Uncomment this DEFINE below to use Airport together with OpenSend + QPSXSerial toolchain.
-DEFINE += -DSERIAL_INTERFACE
+#DEFINE += -DSERIAL_INTERFACE
# PSXSDK tools definitions
# ELF2EXE:
diff --git a/Source/MemCard.c b/Source/MemCard.c
index e1c4c7e..991ac97 100644
--- a/Source/MemCard.c
+++ b/Source/MemCard.c
@@ -409,7 +409,7 @@ bool MemCardGetBlockStateFileName(TYPE_BLOCK_DATA * ptrBlockData)
{
memset(ptrBlockData->FileName, 0 , MEMCARD_FILENAME_SIZE);
- memcpy(ptrBlockData->FileName, &DataBuffer[0x0A], MEMCARD_FILENAME_SIZE);
+ memmove(ptrBlockData->FileName, &DataBuffer[0x0A], MEMCARD_FILENAME_SIZE);
Serial_printf("File name: %s\n", ptrBlockData->FileName);
}
@@ -492,7 +492,7 @@ bool MemCardGetInitialFrameInfo(TYPE_BLOCK_DATA * ptrBlockData)
for (i = 0; i < ptrBlockData->IconNumber; i++)
{
- memcpy(ptrBlockData->CLUT[i],&DataBuffer[0x60], MEMCARD_CLUT_SIZE);
+ memmove(ptrBlockData->CLUT[i],&DataBuffer[0x60], MEMCARD_CLUT_SIZE);
}
return true;
@@ -526,8 +526,8 @@ bool MemCardGetIconFrameInfo(TYPE_BLOCK_DATA * ptrBlockData)
for (i = 0; i < MEMCARD_NUMBER_OF_ICONS; i++)
{
- memcpy(ptrBlockData->CLUT[i], ptrReferenceBlock->CLUT[i], MEMCARD_CLUT_SIZE);
- memcpy(ptrBlockData->Icons[i], ptrReferenceBlock->Icons[i], MEMCARD_ICON_SIZE);
+ memmove(ptrBlockData->CLUT[i], ptrReferenceBlock->CLUT[i], MEMCARD_CLUT_SIZE);
+ memmove(ptrBlockData->Icons[i], ptrReferenceBlock->Icons[i], MEMCARD_ICON_SIZE);
}
if (ptrBlockData->BlockCount == LAST_BLOCK)
@@ -553,7 +553,7 @@ bool MemCardGetIconFrameInfo(TYPE_BLOCK_DATA * ptrBlockData)
return false;
}
- memcpy(ptrBlockData->Icons[i - 1 /* ICON_FRAME_# - 1 */], DataBuffer, MEMCARD_SECTOR_SIZE);
+ memmove(ptrBlockData->Icons[i - 1 /* ICON_FRAME_# - 1 */], DataBuffer, MEMCARD_SECTOR_SIZE);
for (j = 0; j < MEMCARD_SECTOR_SIZE; j++)
{
diff --git a/Source/Menu.c b/Source/Menu.c
index dd000fd..7f21d85 100644
--- a/Source/Menu.c
+++ b/Source/Menu.c
@@ -326,9 +326,9 @@ static void MenuCheatInit(void)
{
TestCheat.Callback = &MenuTestCheat;
memset(TestCheat.Combination,0,CHEAT_ARRAY_SIZE);
- //memcpy(myarray, (int [5]){a,b,c,d,e}, 5*sizeof (int));
+ //memmove(myarray, (int [5]){a,b,c,d,e}, 5*sizeof (int));
- memcpy( TestCheat.Combination,
+ memmove( TestCheat.Combination,
(unsigned short[CHEAT_ARRAY_SIZE])
{ PAD_CIRCLE, PAD_CIRCLE, PAD_CROSS, PAD_TRIANGLE,
PAD_TRIANGLE, PAD_TRIANGLE, 0 , 0 ,
@@ -341,7 +341,7 @@ static void MenuCheatInit(void)
StackCheckCheat.Callback = &SystemPrintStackPointerAddress;
memset(StackCheckCheat.Combination, 0, CHEAT_ARRAY_SIZE);
- memcpy( StackCheckCheat.Combination,
+ memmove( StackCheckCheat.Combination,
(unsigned short[CHEAT_ARRAY_SIZE])
{ PAD_TRIANGLE, PAD_TRIANGLE, PAD_CROSS, PAD_TRIANGLE,
PAD_L1, PAD_R1, 0 , 0 ,
@@ -354,7 +354,7 @@ static void MenuCheatInit(void)
DevMenuCheat.Callback = &SystemDevMenuToggle;
memset(DevMenuCheat.Combination, 0 , CHEAT_ARRAY_SIZE);
- memcpy( DevMenuCheat.Combination,
+ memmove( DevMenuCheat.Combination,
(unsigned short[CHEAT_ARRAY_SIZE])
{ PAD_SQUARE, PAD_SQUARE, PAD_CROSS, PAD_CROSS,
PAD_CIRCLE, PAD_CIRCLE, PAD_TRIANGLE , PAD_TRIANGLE ,
@@ -367,7 +367,7 @@ static void MenuCheatInit(void)
SerialCheat.Callback = &SystemReturnToLoader;
memset(SerialCheat.Combination, 0 , CHEAT_ARRAY_SIZE);
- memcpy( SerialCheat.Combination,
+ memmove( SerialCheat.Combination,
(unsigned short[CHEAT_ARRAY_SIZE])
{ PAD_SQUARE, PAD_SQUARE, PAD_SQUARE, PAD_SQUARE,
PAD_CIRCLE, PAD_CIRCLE, PAD_CIRCLE , PAD_CIRCLE ,
@@ -388,6 +388,8 @@ void MainMenu(void)
GfxSetGlobalLuminance(NORMAL_LUMINANCE);
+ while (GfxIsGPUBusy());
+
while (1)
{
enum
diff --git a/Source/Message.c b/Source/Message.c
index df2f8ee..031d42c 100644
--- a/Source/Message.c
+++ b/Source/Message.c
@@ -44,7 +44,7 @@ bool MessageCreate(TYPE_MESSAGE_DATA* ptrMessage)
if (m->used == false)
{
- memcpy(m, ptrMessage, sizeof (TYPE_MESSAGE_DATA));
+ memmove(m, ptrMessage, sizeof (TYPE_MESSAGE_DATA));
m->used = true;
diff --git a/Source/PltParser.c b/Source/PltParser.c
index a47e3c9..47a7e60 100644
--- a/Source/PltParser.c
+++ b/Source/PltParser.c
@@ -436,13 +436,13 @@ uint8_t* PltParserGenerateFile(TYPE_PLT_CONFIG* ptrPltConfig)
{
// Set departure flight
- memcpy(&PltBuffer[i], "DEPARTURE", sizeof ("DEPARTURE") * sizeof (uint8_t) );
+ memmove(&PltBuffer[i], "DEPARTURE", sizeof ("DEPARTURE") * sizeof (uint8_t) );
i += strlen("DEPARTURE");
}
else
{
// Set arrival flight
- memcpy(&PltBuffer[i], "ARRIVAL", sizeof ("ARRIVAL") * sizeof (uint8_t) );
+ memmove(&PltBuffer[i], "ARRIVAL", sizeof ("ARRIVAL") * sizeof (uint8_t) );
i += strlen("ARRIVAL");
}
}
diff --git a/Source/Serial.c b/Source/Serial.c
index b654412..2002d72 100644
--- a/Source/Serial.c
+++ b/Source/Serial.c
@@ -31,7 +31,6 @@ typedef enum
static volatile SERIAL_STATE SerialState;
static volatile bool serial_busy;
-static void ISR_Serial(void);
/* *************************************
* Local Prototypes
@@ -39,16 +38,9 @@ static void ISR_Serial(void);
void SerialInit(void)
{
- SetSIOHandler(&ISR_Serial);
-
SIOStart(115200);
}
-static void ISR_Serial(void)
-{
- Serial_printf("SIO\n");
-}
-
bool SerialRead(uint8_t* ptrArray, size_t nBytes)
{
if (nBytes == 0)
diff --git a/Source/System.c b/Source/System.c
index dcdf127..d087639 100644
--- a/Source/System.c
+++ b/Source/System.c
@@ -16,8 +16,9 @@
#define END_STACK_PATTERN (uint32_t) 0x18022015
#define BEGIN_STACK_ADDRESS (uint32_t*) 0x801FFF00
-#define STACK_SIZE (4 << 10) // 4 KB
+#define STACK_SIZE (6 << 10) // 6 KiB
#define I_MASK (*(volatile unsigned int*)0x1F801074)
+#define I_STAT (*(volatile unsigned int*)0x1F801070)
/* *************************************
* Local Prototypes
@@ -987,7 +988,7 @@ void SystemCyclicHandler(void)
* ****************************************************************************************/
void SystemDisableVBlankInterrupt(void)
{
- I_MASK &= ~(0x0001);
+ I_MASK &= ~1;
}
/* ****************************************************************************************
@@ -1002,7 +1003,7 @@ void SystemDisableVBlankInterrupt(void)
* ****************************************************************************************/
void SystemEnableVBlankInterrupt(void)
{
- I_MASK |= (0x0001);
+ I_MASK |= 1;
}
/* ****************************************************************************************