diff options
| author | Xavier ASUS <xavi92psx@gmail.com> | 2018-11-30 01:34:40 +0100 |
|---|---|---|
| committer | Xavier ASUS <xavi92psx@gmail.com> | 2018-11-30 01:34:40 +0100 |
| commit | 8fcf5bf1f74873f49b792d3e3f661a2e7feda673 (patch) | |
| tree | d134d1c9d50aefcd00f973d34d14c519b0526c77 | |
| parent | c33fcca6d44264834baf42de65fe9d19c0f62ff4 (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.
| -rw-r--r-- | .gitignore.save | 48 | ||||
| -rw-r--r-- | Bin/AIRPORT.bin | bin | 1738128 -> 1731072 bytes | |||
| -rw-r--r-- | Source/Aircraft.c | 4 | ||||
| -rw-r--r-- | Source/Airport.geany | 135 | ||||
| -rwxr-xr-x | Source/Exe/AIRPORT.elf | bin | 381072 -> 373852 bytes | |||
| -rw-r--r-- | Source/Exe/AIRPORT.exe | bin | 223232 -> 217088 bytes | |||
| -rw-r--r-- | Source/Exe/AIRPORT.iso | bin | 1513472 -> 1507328 bytes | |||
| -rw-r--r-- | Source/Game.c | 36 | ||||
| -rw-r--r-- | Source/Gfx.c | 2 | ||||
| -rw-r--r-- | Source/LoadMenu.c | 24 | ||||
| -rw-r--r-- | Source/Makefile | 2 | ||||
| -rw-r--r-- | Source/MemCard.c | 10 | ||||
| -rw-r--r-- | Source/Menu.c | 12 | ||||
| -rw-r--r-- | Source/Message.c | 2 | ||||
| -rw-r--r-- | Source/PltParser.c | 4 | ||||
| -rw-r--r-- | Source/Serial.c | 8 | ||||
| -rw-r--r-- | Source/System.c | 7 | ||||
| -rw-r--r-- | cdimg/AIRPORT.exe | bin | 223232 -> 217088 bytes |
18 files changed, 150 insertions, 144 deletions
diff --git a/.gitignore.save b/.gitignore.save new file mode 100644 index 0000000..fc76aaf --- /dev/null +++ b/.gitignore.save @@ -0,0 +1,48 @@ +# Prerequisites +*.d + +# Object files +*.o +*.ko +*.obj +*.elf + +# Linker output +*.ilk +*.map +*.exp + +# Precompiled Headers +*.gch +*.pch + +# Libraries +*.lib +/*.a +*.la +*.lo + +# PSX disk images +*.bin +*.cue +*.iso + +# Shared objects (inc. Windows DLLs) +*.dll +*.so +*.so.* +*.dylib + +# Executables +*.exe +*.out +*.app +*.i*86 +*.x86_64 +*.hex + +# Debug files +*.dSYM/ +*.su +*.idb +*.pdb diff --git a/Bin/AIRPORT.bin b/Bin/AIRPORT.bin Binary files differindex 33e4085..1434d19 100644 --- a/Bin/AIRPORT.bin +++ b/Bin/AIRPORT.bin 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 Binary files differindex df7d354..fe174ed 100755 --- a/Source/Exe/AIRPORT.elf +++ b/Source/Exe/AIRPORT.elf diff --git a/Source/Exe/AIRPORT.exe b/Source/Exe/AIRPORT.exe Binary files differindex 199925c..a1a7c9a 100644 --- a/Source/Exe/AIRPORT.exe +++ b/Source/Exe/AIRPORT.exe diff --git a/Source/Exe/AIRPORT.iso b/Source/Exe/AIRPORT.iso Binary files differindex 96f3c57..5461212 100644 --- a/Source/Exe/AIRPORT.iso +++ b/Source/Exe/AIRPORT.iso 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; } /* **************************************************************************************** diff --git a/cdimg/AIRPORT.exe b/cdimg/AIRPORT.exe Binary files differindex 199925c..a1a7c9a 100644 --- a/cdimg/AIRPORT.exe +++ b/cdimg/AIRPORT.exe |
