aboutsummaryrefslogtreecommitdiffstats
path: root/src/base
diff options
context:
space:
mode:
Diffstat (limited to 'src/base')
-rw-r--r--src/base/UCommon.pas27
-rw-r--r--src/base/UGraphic.pas5
-rw-r--r--src/base/UImage.pas68
3 files changed, 21 insertions, 79 deletions
diff --git a/src/base/UCommon.pas b/src/base/UCommon.pas
index 3f41dae6..f2f98537 100644
--- a/src/base/UCommon.pas
+++ b/src/base/UCommon.pas
@@ -25,7 +25,6 @@ procedure ShowMessage( const msg : String; msgType: TMessageType = mtInfo );
procedure ConsoleWriteLn(const msg: string);
-function GetResourceStream(const aName, aType : string): TStream;
function RWopsFromStream(Stream: TStream): PSDL_RWops;
{$IFDEF FPC}
@@ -305,32 +304,6 @@ begin
{$IFEND}
end;
-
-// include resource-file info (stored in the constant array "resources")
-{$I ../resource.inc}
-
-function GetResourceStream(const aName, aType: string): TStream;
-var
- ResIndex: integer;
- Filename: string;
-begin
- Result := nil;
-
- for ResIndex := 0 to High(resources) do
- begin
- if (Resources[ResIndex][0] = aName ) then
- begin
- try
- Filename := ResourcesPath + Resources[ResIndex][1];
- Result := TFileStream.Create(Filename, fmOpenRead);
- except
- Log.LogError('Failed to open: "'+ resources[ResIndex][1] +'"', 'GetResourceStream');
- end;
- Exit;
- end;
- end;
-end;
-
// +++++++++++++++++++++ helpers for RWOpsFromStream() +++++++++++++++
function SdlStreamSeek( context : PSDL_RWops; offset : Integer; whence : Integer ) : integer; cdecl;
var
diff --git a/src/base/UGraphic.pas b/src/base/UGraphic.pas
index e8312300..6fa0aa8f 100644
--- a/src/base/UGraphic.pas
+++ b/src/base/UGraphic.pas
@@ -416,6 +416,9 @@ begin
//Load_GL_EXT_framebuffer_object();
end;
+const
+ WINDOW_ICON = 'icons/ultrastardx-icon.png';
+
procedure Initialize3D (Title: string);
var
Icon: PSDL_Surface;
@@ -428,7 +431,7 @@ begin
end;
// load icon image (must be 32x32 for win32)
- Icon := LoadImage('WINDOWICON');
+ Icon := LoadImage(ResourcesPath + WINDOW_ICON);
if (Icon <> nil) then
SDL_WM_SetIcon(Icon, 0);
diff --git a/src/base/UImage.pas b/src/base/UImage.pas
index d33c0d38..5114df25 100644
--- a/src/base/UImage.pas
+++ b/src/base/UImage.pas
@@ -119,7 +119,7 @@ function WriteJPGImage(const FileName: string; Surface: PSDL_Surface; Quality: i
* Image loading
*******************************************************)
-function LoadImage(const Identifier: string): PSDL_Surface;
+function LoadImage(const Filename: string): PSDL_Surface;
(*******************************************************
* Image manipulation
@@ -741,64 +741,30 @@ end;
(*
- * Loads an image from the given file or resource
+ * Loads an image from the given file
*)
-function LoadImage(const Identifier: string): PSDL_Surface;
+function LoadImage(const Filename: string): PSDL_Surface;
var
- TexRWops: PSDL_RWops;
- TexStream: TStream;
- FileName: string;
+ FilenameFound: string;
begin
Result := nil;
- TexRWops := nil;
- if Identifier = '' then
- exit;
+ // FileExistsInsensitive() requires a var-arg
+ FilenameFound := Filename;
- //Log.LogStatus( Identifier, 'LoadImage' );
-
- FileName := Identifier;
-
- if (FileExistsInsensitive(FileName)) then
+ // try to find the file case insensitive
+ if (not FileExistsInsensitive(FilenameFound)) then
begin
- // load from file
- //Log.LogStatus( 'Is File ( Loading : '+FileName+')', ' LoadImage' );
- try
- Result := IMG_Load(PChar(FileName));
- //Log.LogStatus( ' '+inttostr( integer( Result ) ), ' LoadImage' );
- except
- Log.LogError('Could not load from file "'+FileName+'"', 'LoadImage');
- Exit;
- end;
- end
- else
- begin
- //Log.LogStatus( 'IS Resource, because file does not exist.('+Identifier+')', ' LoadImage' );
-
- TexStream := GetResourceStream(Identifier, 'TEX');
- if (not assigned(TexStream)) then
- begin
- Log.LogError( 'Invalid file or resource "'+ Identifier+'"', 'LoadImage');
- Exit;
- end;
-
- TexRWops := RWopsFromStream(TexStream);
- if (TexRWops = nil) then
- begin
- Log.LogError( 'Could not assign resource "'+Identifier+'"', 'LoadImage');
- TexStream.Free();
- Exit;
- end;
-
- //Log.LogStatus( 'resource Assigned....' , Identifier);
- try
- Result := IMG_Load_RW(TexRWops, 0);
- except
- Log.LogError( 'Could not read resource "'+Identifier+'"', 'LoadImage');
- end;
+ Log.LogError('Image-File does not exist "'+FilenameFound+'"', 'LoadImage');
+ Exit;
+ end;
- SDL_FreeRW(TexRWops);
- TexStream.Free();
+ // load from file
+ try
+ Result := IMG_Load(PChar(FilenameFound));
+ except
+ Log.LogError('Could not load from file "'+FilenameFound+'"', 'LoadImage');
+ Exit;
end;
end;