Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit Loading;
- interface
- Uses
- System.SysUtils, System.Classes, Vcl.ExtCtrls, Generics.Collections, GameShop, Forms;
- Procedure SaveProgressData();
- Procedure SaveStoreData(FileName: String; DataArray: array of Carss);
- Procedure SaveCurrentSkinsData();
- Procedure LoadProgressData();
- Procedure CreateProgressFile();
- Procedure LoadStoreData(FileName: String; var DataArray: array of Carss);
- procedure CreateStoreDataFile(FileName: String; DataArray: array of Carss);
- Procedure LoadCurrentData();
- Procedure CreateCurrentDataFile();
- Procedure LoadData();
- Procedure LoadSounds();
- Procedure LoadTextures();
- implementation
- uses MainGameMenu, Game;
- Procedure SaveProgressData();
- Var
- DataFile: File of LongWord;
- Begin
- AssignFile(DataFile, 'data.bin' );
- Rewrite(DataFile);
- Write(DataFile, Rec);
- Write(DataFile, Money);
- CloseFile(DataFile);
- End;
- Procedure SaveStoreData(FileName: String; DataArray: array of Carss);
- Var
- StoreDataFile: File of Boolean;
- I: Byte;
- Begin
- AssignFile(StoreDataFile, FileName);
- Rewrite(StoreDataFile);
- For I := 0 to High(DataArray) do
- Write(StoreDataFile, DataArray[i].IsOpened);
- CloseFile(StoreDataFile);
- End;
- Procedure SaveCurrentSkinsData();
- Var
- DataFile: File of Byte;
- Begin
- AssignFile(DataFile, 'currentdata.bin' );
- Rewrite(DataFile);
- Write(DataFile, CurrentCar);
- Write(DataFile, CurrentRoad);
- CloseFile(DataFile);
- End;
- Procedure LoadProgressData();
- Var
- DataFile: File of LongWord;
- Begin
- AssignFile(DataFile, 'data.bin' );
- Reset(DataFile);
- Read(DataFile, Rec);
- Read(DataFile, Money);
- CloseFile(DataFile);
- End;
- Procedure CreateProgressFile();
- Var
- DataFile: File of LongWord;
- Zero: LongWord;
- Begin
- Zero := 0;
- AssignFile(DataFile, 'data.bin' );
- Rewrite(DataFile);
- Write(DataFile, Zero);
- Write(DataFile, Zero);
- CloseFile(DataFile);
- End;
- Procedure LoadStoreData(FileName: String; var DataArray: array of Carss);
- Var
- StoreDataFile: File of Boolean;
- I: Byte;
- Begin
- AssignFile(StoreDataFile, FileName);
- Reset(StoreDataFile);
- For I := 0 to High(DataArray) do
- Read(StoreDataFile, DataArray[I].IsOpened);
- CloseFile(StoreDataFile);
- End;
- procedure CreateStoreDataFile(FileName: String; DataArray: array of Carss);
- var
- StoreDataFile: File of Boolean;
- Buf: Boolean;
- I: Byte;
- Begin
- Buf := False;
- AssignFile(StoreDataFile, FileName);
- Rewrite(StoreDataFile);
- For I := 0 to High(DataArray) do
- Write(StoreDataFile, Buf);
- CloseFile(StoreDataFile);
- End;
- Procedure LoadCurrentData();
- Var
- DataFile: File of Byte;
- Begin
- AssignFile(DataFile, 'currentdata.bin' );
- Reset(DataFile);
- Read(DataFile, CurrentCar);
- Read(DataFile, CurrentRoad);
- CloseFile(DataFile);
- End;
- Procedure CreateCurrentDataFile();
- Var
- DataFile: File of Byte;
- Zero: LongWord;
- Begin
- Zero := 0;
- AssignFile(DataFile, 'currentdata.bin' );
- Rewrite(DataFile);
- Write(DataFile, Zero);
- Write(DataFile, Zero);
- CloseFile(DataFile);
- End;
- Procedure LoadData();
- Begin
- If FileExists('data.bin') then
- LoadProgressData()
- Else
- CreateProgressFile();
- If FileExists('currentdata.bin') then
- LoadCurrentData()
- Else
- CreateCurrentDataFile();
- If FileExists('cars_storedata.bin') then
- LoadStoreData('cars_storedata.bin', Cars)
- Else
- CreateStoreDataFile('cars_storedata.bin', Cars);
- If FileExists('roads_storedata.bin') then
- LoadStoreData('roads_storedata.bin', Roads)
- Else
- CreateStoreDataFile('roads_storedata.bin', Roads);
- End;
- function CheckWAV(Path: String): boolean;
- var
- Buf: Cardinal;
- AStream: TFileStream;
- IsCorrect: Boolean;
- begin
- IsCorrect := True;
- Astream := TFileStream.Create(Path, fmOpenRead);
- Buf := 0;
- Astream.Position := 0;
- Astream.ReadBuffer(Buf, 3);
- if Buf = $464952 then
- IsCorrect := True
- else
- IsCorrect := False;
- Astream.Destroy;
- CheckWAV := IsCorrect;
- end;
- procedure LoadWAV(var Songs: TList<String>; Path: String);
- begin
- if CheckWAV(Path) then
- Songs.Add(Path)
- else
- Application.Terminate;
- end;
- Procedure LoadSounds();
- Begin
- Songs := TList<String>.Create;
- LoadWAV(Songs, 'Music\cl.wav');
- LoadWAV(Songs, 'Music\Eye_of_the_Tiger.wav');
- LoadWAV(Songs, 'Music\Ghostbusters.wav');
- LoadWAV(Songs, 'Music\Jump.wav');
- LoadWAV(Songs, 'Music\Livin_On_A_Prayer.wav');
- LoadWAV(Songs, 'Music\Stayin_Alive.wav');
- LoadWAV(Songs, 'Music\TMNT.wav');
- LoadWAV(Songs, 'Music\Take_On_Me.wav');
- SoundsDOWN := TMemoryStream.Create;
- SoundsUP := TMemoryStream.Create;
- SoundsDOWN.LoadFromFile('Sound\TORMOZ.wav');
- SoundsUP.LoadFromFile('Sound\UP.wav');
- SoundsUP.Position := 0;
- SoundsDOWN.Position := 0;
- End;
- function CheckJPG(Path: String): boolean;
- var
- Buf: Cardinal;
- AStream: TFileStream;
- IsCorrect: Boolean;
- begin
- IsCorrect := True;
- Astream := TFileStream.Create(Path, fmOpenRead);
- Buf := 0;
- Astream.Position := 0;
- Astream.ReadBuffer(Buf, 3);
- if Buf = $FFD8FF then
- IsCorrect := True
- else
- IsCorrect := False;
- Astream.Destroy;
- CheckJPG := IsCorrect;
- end;
- function CheckPNG(Path: String): boolean;
- var
- Buf: Cardinal;
- AStream: TFileStream;
- IsCorrect: Boolean;
- begin
- IsCorrect := True;
- Astream := TFileStream.Create(Path, fmOpenRead);
- Buf := 0;
- Astream.Position := 0;
- Astream.ReadBuffer(Buf, 3);
- if Buf = $4E5089 then
- IsCorrect := True
- else
- IsCorrect := False;
- Astream.Destroy;
- CheckPNG := IsCorrect;
- end;
- procedure LoadPNGPicture(var Car: TImage; Path: String);
- begin
- if CheckPNG(Path) then
- Car.Picture.LoadFromFile(Path)
- else
- Application.Terminate;
- end;
- procedure LoadJPGPicture(var Road: TImage; Path: String);
- begin
- if CheckJPG(Path) then
- Road.Picture.LoadFromFile(Path)
- else
- Application.Terminate;
- end;
- Procedure LoadTextures();
- var
- I: Byte;
- begin
- For I := 0 to High(Cars) do
- Cars[I].Skin := TImage.Create(nil);
- For I := 0 to High(Roads) do
- Roads[I].Skin := TImage.Create(nil);
- LoadPNGPicture(Cars[0].Skin, 'Textures\Cars\BLUE_CAR.png');
- LoadPNGPicture(Cars[1].Skin, 'Textures\Cars\WHITE_CAR.png');
- LoadPNGPicture(Cars[2].Skin, 'Textures\Cars\CREEN_RACING_CAR.png');
- LoadPNGPicture(Cars[3].Skin, 'Textures\Cars\WHITE_RACING_CAR.png');
- LoadPNGPicture(Cars[4].Skin, 'Textures\Cars\RED_SPOILER_CAR.png');
- LoadPNGPicture(Cars[5].Skin, 'Textures\Cars\TAXI.png');
- LoadPNGPicture(Cars[6].Skin, 'Textures\Cars\POLICE_CAR.png');
- LoadJPGPicture(Roads[0].Skin, 'Textures\Roads\ROAD_GRASS.jpg');
- LoadJPGPicture(Roads[1].Skin, 'Textures\Roads\ROAD_SNOW.jpg');
- LoadPNGPicture(Roads[2].Skin, 'Textures\Roads\ROAD_COUNTRY.png');
- LoadJPGPicture(Roads[3].Skin, 'Textures\Roads\ROAD_RAINBOW.jpg');
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement