From e3fc5e2c58302159b79e0e25e183aa3e75397a41 Mon Sep 17 00:00:00 2001 From: jaybinks Date: Tue, 18 Sep 2007 11:16:30 +0000 Subject: added switches.inc , which will contain compiler directives used ( at least ) for porting to linux. this file now contains compiler directive UseSerialPort, which is conditionally set depending on the compiler. at this point lazarus will not use the serial port ( LCD or Light ) units. however this functionality should be maintained at this point in delphi. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@390 b956fd51-792f-4845-bead-9b4dfca2ff2c --- Game/Code/Classes/ULCD.pas | 18 +++++++++++++++--- Game/Code/Classes/ULight.pas | 9 ++++++++- Game/Code/Classes/UMain.pas | 14 ++++++++++++-- Game/Code/Screens/UScreenSong.pas | 11 ++++++++--- Game/Code/UltraStar.dpr | 3 +++ Game/Code/switches.inc | 5 +++++ 6 files changed, 51 insertions(+), 9 deletions(-) create mode 100644 Game/Code/switches.inc (limited to 'Game/Code') diff --git a/Game/Code/Classes/ULCD.pas b/Game/Code/Classes/ULCD.pas index a3cdac73..52b0f96a 100644 --- a/Game/Code/Classes/ULCD.pas +++ b/Game/Code/Classes/ULCD.pas @@ -1,6 +1,7 @@ unit ULCD; interface +{$I switches.inc} type TLCD = class @@ -41,16 +42,24 @@ const implementation uses - SysUtils, zlportio, UTime; + SysUtils, + {$IFDEF UseSerialPort} + zlportio, + {$ENDIF} + UTime; procedure TLCD.WriteCommand(B: Byte); // Wysylanie komend sterujacych begin - if not HalfInterface then begin +{$IFDEF UseSerialPort} + if not HalfInterface then + begin zlioportwrite(Control, 0, $02); zlioportwrite(Data, 0, B); zlioportwrite(Control, 0, $03); - end else begin + end + else + begin zlioportwrite(Control, 0, $02); zlioportwrite(Data, 0, B and $F0); zlioportwrite(Control, 0, $03); @@ -66,11 +75,13 @@ begin Sleep(2) else TimeSleep(0.1); +{$ENDIF} end; procedure TLCD.WriteData(B: Byte); // Wysylanie danych begin +{$IFDEF UseSerialPort} if not HalfInterface then begin zlioportwrite(Control, 0, $06); zlioportwrite(Data, 0, B); @@ -89,6 +100,7 @@ begin TimeSleep(0.1); Inc(Position); +{$ENDIF} end; procedure TLCD.WriteString(S: string); diff --git a/Game/Code/Classes/ULight.pas b/Game/Code/Classes/ULight.pas index 1fc4aba8..b9c7af9e 100644 --- a/Game/Code/Classes/ULight.pas +++ b/Game/Code/Classes/ULight.pas @@ -1,5 +1,6 @@ unit ULight; interface +{$I switches.inc} type TLight = class @@ -30,7 +31,11 @@ const implementation uses - SysUtils, zlportio, UTime; + SysUtils, + {$IFDEF UseSerialPort} + zlportio, + {$ENDIF} + UTime; constructor TLight.Create; begin @@ -45,8 +50,10 @@ end; procedure TLight.SetState(State: integer); begin + {$IFDEF UseSerialPort} if Enabled then PortWriteB($378, State); + {$ENDIF} end; procedure TLight.AutoSetState; diff --git a/Game/Code/Classes/UMain.pas b/Game/Code/Classes/UMain.pas index 43010bde..e89b4785 100644 --- a/Game/Code/Classes/UMain.pas +++ b/Game/Code/Classes/UMain.pas @@ -1,8 +1,16 @@ unit UMain; interface +{$I switches.inc} + uses SDL, UGraphic, UMusic, URecord, UTime, SysUtils, UDisplay, UIni, ULog, ULyrics, UScreenSing, - OpenGL12, zlportio {you can disable it and all PortWriteB calls}, ULCD, ULight, UThemes{, UScreenPopup}; + OpenGL12, + + {$IFDEF UseSerialPort} + zlportio {you can disable it and all PortWriteB calls}, + {$ENDIF} + + ULCD, ULight, UThemes{, UScreenPopup}; type TPlayer = record @@ -512,7 +520,9 @@ begin if (TempBeat mod 4 <> 0) then Music.PlayHihat;*) end; - //PortWriteB($378, LPT_1 + LPT_2 * 2); // 0 zapala + {$IFDEF UseSerialPort} + // PortWriteB($378, LPT_1 + LPT_2 * 2); // 0 zapala + {$ENDIF} end; procedure NewBeatD(Sender: TScreenSing); diff --git a/Game/Code/Screens/UScreenSong.pas b/Game/Code/Screens/UScreenSong.pas index 38266797..2d10c9dc 100644 --- a/Game/Code/Screens/UScreenSong.pas +++ b/Game/Code/Screens/UScreenSong.pas @@ -1,6 +1,7 @@ unit UScreenSong; interface +{$I switches.inc} uses UMenu, SDL, UMusic, UFiles, UTime, UDisplay, USongs, SysUtils, ULog, UThemes, UTexture, ULanguage, @@ -344,9 +345,13 @@ begin end; SDLK_RETURN: begin - if Length(Songs.Song) > 0 then begin -// PortWriteB($378, 0); - if CatSongs.Song[Interaction].Main then begin // clicked on Category Button + if Length(Songs.Song) > 0 then + begin + {$IFDEF UseSerialPort} + // PortWriteB($378, 0); + {$ENDIF} + if CatSongs.Song[Interaction].Main then + begin // clicked on Category Button //Show Cat in Top Left Mod ShowCatTL (Interaction); diff --git a/Game/Code/UltraStar.dpr b/Game/Code/UltraStar.dpr index bef33632..df4846b3 100644 --- a/Game/Code/UltraStar.dpr +++ b/Game/Code/UltraStar.dpr @@ -3,6 +3,7 @@ program UltraStar; {$DEFINE TRANSLATE} {$R 'UltraStar.res' 'UltraStar.rc'} +{$I switches.inc} uses //------------------------------ @@ -26,8 +27,10 @@ uses MidiFile in 'lib\midi\MidiFile.PAS', Delphmcb in 'lib\midi\Delphmcb.PAS', + {$IFDEF UseSerialPort} zlportio in 'lib\zlportio\zlportio.pas', ddkint in 'lib\zlportio\ddkint.pas', + {$ENDIF} avcodec in 'lib\ffmpeg\avcodec.pas', avformat in 'lib\ffmpeg\avformat.pas', diff --git a/Game/Code/switches.inc b/Game/Code/switches.inc new file mode 100644 index 00000000..b980e754 --- /dev/null +++ b/Game/Code/switches.inc @@ -0,0 +1,5 @@ +{$IFDEF FPC} + {$UNDEF UseSerialPort} +{$ELSE} + {$DEFINE UseSerialPort} +{$ENDIF} -- cgit v1.2.3