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.
This commit is contained in:
Xavier ASUS 2018-11-30 01:34:40 +01:00
parent c33fcca6d4
commit 8fcf5bf1f7
18 changed files with 150 additions and 144 deletions

48
.gitignore.save Normal file
View File

@ -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

Binary file not shown.

View File

@ -138,7 +138,7 @@ bool AircraftAddNew( TYPE_FLIGHT_DATA* const ptrFlightData,
{ {
TYPE_AIRCRAFT_DATA* const ptrAircraft = &AircraftData[aircraftIndex]; 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->TargetIdx = 0;
ptrAircraft->Livery = AircraftLiveryFromFlightNumber(ptrFlightData->strFlightNumber[FlightDataIndex]); 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) 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; ptrAircraft->TargetIdx = 0;
} }

View File

@ -28,98 +28,49 @@ long_line_behaviour=1
long_line_column=120 long_line_column=120
[files] [files]
current_page=5 current_page=41
FILE_NAME_0=8700;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FAircraft.c;0;4 FILE_NAME_0=3856;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_1=0;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_2=0;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_3=0;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_4=114498;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_5=27600;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_6=6921;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_7=6639;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_8=0;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_9=0;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_10=14936;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_11=8053;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_12=1041;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_13=0;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_14=11461;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_15=0;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_16=813;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_17=636;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_18=16820;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_19=0;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_20=1111;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_21=0;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_22=0;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_23=0;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_24=0;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_25=0;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_26=2786;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_27=0;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_28=0;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_29=0;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_30=0;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_31=0;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_32=0;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_33=0;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_34=0;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_35=0;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_36=0;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_37=0;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_38=0;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_39=0;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_40=0;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_41=557;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
[VTE] [VTE]
last_dir=/home/xavier/Airport/Bin last_dir=/home/xavier/Airport/Bin

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1483,7 +1483,7 @@ static void GameLoadLevel(const char* path)
memset(LevelHeader,0, LEVEL_MAGIC_NUMBER_SIZE + 1); 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'; LevelHeader[LEVEL_MAGIC_NUMBER_SIZE] = '\0';
@ -1513,7 +1513,7 @@ static void GameLoadLevel(const char* path)
memset(GameLevelTitle,0,LEVEL_TITLE_SIZE); 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); Serial_printf("Game level title: %s\n",GameLevelTitle);
@ -1565,7 +1565,6 @@ static void GameAircraftState(const uint8_t i)
&& &&
(FlightData.RemainingTime[i] != 0)) (FlightData.RemainingTime[i] != 0))
{ {
Serial_printf("Aircraft %d should now start...\n", i);
if (spawnMinTimeFlag == false) if (spawnMinTimeFlag == false)
{ {
if ((FlightData.FlightDirection[i] == DEPARTURE) if ((FlightData.FlightDirection[i] == DEPARTURE)
@ -1575,23 +1574,30 @@ static void GameAircraftState(const uint8_t i)
uint8_t j; uint8_t j;
bool bParkingBusy = false; bool bParkingBusy = false;
DEBUG_PRINT_VAR(FlightData.nAircraft);
for (j = 0; j < FlightData.nAircraft; j++) for (j = 0; j < FlightData.nAircraft; j++)
{ {
if (AircraftFromFlightDataIndex(j)->State != STATE_IDLE) TYPE_AIRCRAFT_DATA* ptrAircraft = AircraftFromFlightDataIndex(j);
if (ptrAircraft != NULL)
{ {
const uint16_t* const targets = AircraftGetTargets(j); if (ptrAircraft->State != STATE_IDLE)
if (targets != NULL)
{ {
const uint16_t tile = AircraftGetTileFromFlightDataIndex(j); const uint16_t* const targets = AircraftGetTargets(j);
if (tile == FlightData.Parking[i]) if (targets != NULL)
{ {
bParkingBusy = true; const uint16_t tile = AircraftGetTileFromFlightDataIndex(j);
}
else if (SystemContains_u16(FlightData.Parking[i], targets, AIRCRAFT_MAX_TARGETS)) if (tile == FlightData.Parking[i])
{ {
bParkingBusy = true; 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) 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; FlightData.State[i] = STATE_APPROACH;
aircraftCreated = true; aircraftCreated = true;

View File

@ -13,7 +13,7 @@
* Defines * Defines
* *************************************/ * *************************************/
#define PRIMITIVE_LIST_SIZE 0x1000 #define PRIMITIVE_LIST_SIZE 0x2000
#define DOUBLE_BUFFERING_SWAP_Y 256 #define DOUBLE_BUFFERING_SWAP_Y 256
#define UPLOAD_IMAGE_FLAG 1 #define UPLOAD_IMAGE_FLAG 1
#define MAX_LUMINANCE 0xFF #define MAX_LUMINANCE 0xFF

View File

@ -91,13 +91,19 @@ static GsSprite LoadMenuTitleSpr;
static GsLine LoadMenuBarLines[LOADING_BAR_N_LINES]; static GsLine LoadMenuBarLines[LOADING_BAR_N_LINES];
static GsRectangle LoadMenuBarRect; static GsRectangle LoadMenuBarRect;
static const char* LoadMenuFiles[] = { "DATA\\SPRITES\\PLANE.TIM", static const char* LoadMenuFiles[] =
"DATA\\SPRITES\\LOADING.TIM", {
"DATA\\FONTS\\FONT_2.FNT" }; "DATA\\SPRITES\\PLANE.TIM",
"DATA\\SPRITES\\LOADING.TIM",
"DATA\\FONTS\\FONT_2.FNT"
};
static void* LoadMenuDest[] = { (GsSprite*)&LoadMenuPlaneSpr, static void* const LoadMenuDest[] =
(GsSprite*)&LoadMenuTitleSpr, {
(TYPE_FONT*)&SmallFont }; &LoadMenuPlaneSpr,
&LoadMenuTitleSpr,
&SmallFont
};
static const char* strCurrentFile; static const char* strCurrentFile;
@ -239,8 +245,6 @@ void LoadMenuInit(void)
GfxSetGlobalLuminance(0); GfxSetGlobalLuminance(0);
Serial_printf("I_MASK = 0x%08X\n", (*(unsigned int*)0x1F801074));
SetVBlankHandler(&ISR_LoadMenuVBlank); SetVBlankHandler(&ISR_LoadMenuVBlank);
} }
@ -250,7 +254,9 @@ void LoadMenuEnd(void)
load_menu_running = false; load_menu_running = false;
while (LoadMenuISRHasEnded() == false); while (LoadMenuISRHasEnded() == false);
Serial_printf("Set default VBlank handler.\n");
while (GfxIsGPUBusy());
SetVBlankHandler(&ISR_SystemDefaultVBlank); SetVBlankHandler(&ISR_SystemDefaultVBlank);
GfxSetGlobalLuminance(NORMAL_LUMINANCE); GfxSetGlobalLuminance(NORMAL_LUMINANCE);

View File

@ -27,7 +27,7 @@ CDROM_ROOT=$(PROJECT_DIR)/cdimg
BIN_TARGET_PATH = $(PROJECT_DIR)/Bin BIN_TARGET_PATH = $(PROJECT_DIR)/Bin
#Uncomment this DEFINE below to use Airport together with OpenSend + QPSXSerial toolchain. #Uncomment this DEFINE below to use Airport together with OpenSend + QPSXSerial toolchain.
DEFINE += -DSERIAL_INTERFACE #DEFINE += -DSERIAL_INTERFACE
# PSXSDK tools definitions # PSXSDK tools definitions
# ELF2EXE: # ELF2EXE:

View File

@ -409,7 +409,7 @@ bool MemCardGetBlockStateFileName(TYPE_BLOCK_DATA * ptrBlockData)
{ {
memset(ptrBlockData->FileName, 0 , MEMCARD_FILENAME_SIZE); 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); 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++) 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; return true;
@ -526,8 +526,8 @@ bool MemCardGetIconFrameInfo(TYPE_BLOCK_DATA * ptrBlockData)
for (i = 0; i < MEMCARD_NUMBER_OF_ICONS; i++) for (i = 0; i < MEMCARD_NUMBER_OF_ICONS; i++)
{ {
memcpy(ptrBlockData->CLUT[i], ptrReferenceBlock->CLUT[i], MEMCARD_CLUT_SIZE); memmove(ptrBlockData->CLUT[i], ptrReferenceBlock->CLUT[i], MEMCARD_CLUT_SIZE);
memcpy(ptrBlockData->Icons[i], ptrReferenceBlock->Icons[i], MEMCARD_ICON_SIZE); memmove(ptrBlockData->Icons[i], ptrReferenceBlock->Icons[i], MEMCARD_ICON_SIZE);
} }
if (ptrBlockData->BlockCount == LAST_BLOCK) if (ptrBlockData->BlockCount == LAST_BLOCK)
@ -553,7 +553,7 @@ bool MemCardGetIconFrameInfo(TYPE_BLOCK_DATA * ptrBlockData)
return false; 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++) for (j = 0; j < MEMCARD_SECTOR_SIZE; j++)
{ {

View File

@ -326,9 +326,9 @@ static void MenuCheatInit(void)
{ {
TestCheat.Callback = &MenuTestCheat; TestCheat.Callback = &MenuTestCheat;
memset(TestCheat.Combination,0,CHEAT_ARRAY_SIZE); 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]) (unsigned short[CHEAT_ARRAY_SIZE])
{ PAD_CIRCLE, PAD_CIRCLE, PAD_CROSS, PAD_TRIANGLE, { PAD_CIRCLE, PAD_CIRCLE, PAD_CROSS, PAD_TRIANGLE,
PAD_TRIANGLE, PAD_TRIANGLE, 0 , 0 , PAD_TRIANGLE, PAD_TRIANGLE, 0 , 0 ,
@ -341,7 +341,7 @@ static void MenuCheatInit(void)
StackCheckCheat.Callback = &SystemPrintStackPointerAddress; StackCheckCheat.Callback = &SystemPrintStackPointerAddress;
memset(StackCheckCheat.Combination, 0, CHEAT_ARRAY_SIZE); memset(StackCheckCheat.Combination, 0, CHEAT_ARRAY_SIZE);
memcpy( StackCheckCheat.Combination, memmove( StackCheckCheat.Combination,
(unsigned short[CHEAT_ARRAY_SIZE]) (unsigned short[CHEAT_ARRAY_SIZE])
{ PAD_TRIANGLE, PAD_TRIANGLE, PAD_CROSS, PAD_TRIANGLE, { PAD_TRIANGLE, PAD_TRIANGLE, PAD_CROSS, PAD_TRIANGLE,
PAD_L1, PAD_R1, 0 , 0 , PAD_L1, PAD_R1, 0 , 0 ,
@ -354,7 +354,7 @@ static void MenuCheatInit(void)
DevMenuCheat.Callback = &SystemDevMenuToggle; DevMenuCheat.Callback = &SystemDevMenuToggle;
memset(DevMenuCheat.Combination, 0 , CHEAT_ARRAY_SIZE); memset(DevMenuCheat.Combination, 0 , CHEAT_ARRAY_SIZE);
memcpy( DevMenuCheat.Combination, memmove( DevMenuCheat.Combination,
(unsigned short[CHEAT_ARRAY_SIZE]) (unsigned short[CHEAT_ARRAY_SIZE])
{ PAD_SQUARE, PAD_SQUARE, PAD_CROSS, PAD_CROSS, { PAD_SQUARE, PAD_SQUARE, PAD_CROSS, PAD_CROSS,
PAD_CIRCLE, PAD_CIRCLE, PAD_TRIANGLE , PAD_TRIANGLE , PAD_CIRCLE, PAD_CIRCLE, PAD_TRIANGLE , PAD_TRIANGLE ,
@ -367,7 +367,7 @@ static void MenuCheatInit(void)
SerialCheat.Callback = &SystemReturnToLoader; SerialCheat.Callback = &SystemReturnToLoader;
memset(SerialCheat.Combination, 0 , CHEAT_ARRAY_SIZE); memset(SerialCheat.Combination, 0 , CHEAT_ARRAY_SIZE);
memcpy( SerialCheat.Combination, memmove( SerialCheat.Combination,
(unsigned short[CHEAT_ARRAY_SIZE]) (unsigned short[CHEAT_ARRAY_SIZE])
{ PAD_SQUARE, PAD_SQUARE, PAD_SQUARE, PAD_SQUARE, { PAD_SQUARE, PAD_SQUARE, PAD_SQUARE, PAD_SQUARE,
PAD_CIRCLE, PAD_CIRCLE, PAD_CIRCLE , PAD_CIRCLE , PAD_CIRCLE, PAD_CIRCLE, PAD_CIRCLE , PAD_CIRCLE ,
@ -388,6 +388,8 @@ void MainMenu(void)
GfxSetGlobalLuminance(NORMAL_LUMINANCE); GfxSetGlobalLuminance(NORMAL_LUMINANCE);
while (GfxIsGPUBusy());
while (1) while (1)
{ {
enum enum

View File

@ -44,7 +44,7 @@ bool MessageCreate(TYPE_MESSAGE_DATA* ptrMessage)
if (m->used == false) if (m->used == false)
{ {
memcpy(m, ptrMessage, sizeof (TYPE_MESSAGE_DATA)); memmove(m, ptrMessage, sizeof (TYPE_MESSAGE_DATA));
m->used = true; m->used = true;

View File

@ -436,13 +436,13 @@ uint8_t* PltParserGenerateFile(TYPE_PLT_CONFIG* ptrPltConfig)
{ {
// Set departure flight // Set departure flight
memcpy(&PltBuffer[i], "DEPARTURE", sizeof ("DEPARTURE") * sizeof (uint8_t) ); memmove(&PltBuffer[i], "DEPARTURE", sizeof ("DEPARTURE") * sizeof (uint8_t) );
i += strlen("DEPARTURE"); i += strlen("DEPARTURE");
} }
else else
{ {
// Set arrival flight // Set arrival flight
memcpy(&PltBuffer[i], "ARRIVAL", sizeof ("ARRIVAL") * sizeof (uint8_t) ); memmove(&PltBuffer[i], "ARRIVAL", sizeof ("ARRIVAL") * sizeof (uint8_t) );
i += strlen("ARRIVAL"); i += strlen("ARRIVAL");
} }
} }

View File

@ -31,7 +31,6 @@ typedef enum
static volatile SERIAL_STATE SerialState; static volatile SERIAL_STATE SerialState;
static volatile bool serial_busy; static volatile bool serial_busy;
static void ISR_Serial(void);
/* ************************************* /* *************************************
* Local Prototypes * Local Prototypes
@ -39,16 +38,9 @@ static void ISR_Serial(void);
void SerialInit(void) void SerialInit(void)
{ {
SetSIOHandler(&ISR_Serial);
SIOStart(115200); SIOStart(115200);
} }
static void ISR_Serial(void)
{
Serial_printf("SIO\n");
}
bool SerialRead(uint8_t* ptrArray, size_t nBytes) bool SerialRead(uint8_t* ptrArray, size_t nBytes)
{ {
if (nBytes == 0) if (nBytes == 0)

View File

@ -16,8 +16,9 @@
#define END_STACK_PATTERN (uint32_t) 0x18022015 #define END_STACK_PATTERN (uint32_t) 0x18022015
#define BEGIN_STACK_ADDRESS (uint32_t*) 0x801FFF00 #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_MASK (*(volatile unsigned int*)0x1F801074)
#define I_STAT (*(volatile unsigned int*)0x1F801070)
/* ************************************* /* *************************************
* Local Prototypes * Local Prototypes
@ -987,7 +988,7 @@ void SystemCyclicHandler(void)
* ****************************************************************************************/ * ****************************************************************************************/
void SystemDisableVBlankInterrupt(void) void SystemDisableVBlankInterrupt(void)
{ {
I_MASK &= ~(0x0001); I_MASK &= ~1;
} }
/* **************************************************************************************** /* ****************************************************************************************
@ -1002,7 +1003,7 @@ void SystemDisableVBlankInterrupt(void)
* ****************************************************************************************/ * ****************************************************************************************/
void SystemEnableVBlankInterrupt(void) void SystemEnableVBlankInterrupt(void)
{ {
I_MASK |= (0x0001); I_MASK |= 1;
} }
/* **************************************************************************************** /* ****************************************************************************************

Binary file not shown.