aboutsummaryrefslogtreecommitdiffstats
path: root/Tools/USDXResCompiler
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/USDXResCompiler')
-rw-r--r--Tools/USDXResCompiler/USDXResCompiler.lpi78
-rw-r--r--Tools/USDXResCompiler/USDXResCompiler.lpr159
-rwxr-xr-xTools/USDXResCompiler/linux-build.sh3
3 files changed, 240 insertions, 0 deletions
diff --git a/Tools/USDXResCompiler/USDXResCompiler.lpi b/Tools/USDXResCompiler/USDXResCompiler.lpi
new file mode 100644
index 00000000..cf94486e
--- /dev/null
+++ b/Tools/USDXResCompiler/USDXResCompiler.lpi
@@ -0,0 +1,78 @@
+<?xml version="1.0"?>
+<CONFIG>
+ <ProjectOptions>
+ <PathDelim Value="\"/>
+ <Version Value="5"/>
+ <General>
+ <MainUnit Value="0"/>
+ <IconPath Value="./"/>
+ <TargetFileExt Value=".exe"/>
+ <ActiveEditorIndexAtStart Value="0"/>
+ </General>
+ <VersionInfo>
+ <ProjectVersion Value=""/>
+ <Language Value=""/>
+ <CharSet Value=""/>
+ </VersionInfo>
+ <PublishOptions>
+ <Version Value="2"/>
+ <DestinationDirectory Value="$(TestDir)\publishedproject\"/>
+ <IgnoreBinaries Value="False"/>
+ <IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
+ <ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
+ </PublishOptions>
+ <RunParams>
+ <local>
+ <FormatVersion Value="1"/>
+ <LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
+ </local>
+ </RunParams>
+ <RequiredPackages Count="1">
+ <Item1>
+ <PackageName Value="lcl"/>
+ </Item1>
+ </RequiredPackages>
+ <Units Count="2">
+ <Unit0>
+ <Filename Value="USDXResCompiler.lpr"/>
+ <IsPartOfProject Value="True"/>
+ <UnitName Value="USDXResCompiler"/>
+ <CursorPos X="48" Y="74"/>
+ <TopLine Value="42"/>
+ <EditorIndex Value="0"/>
+ <UsageCount Value="24"/>
+ <Loaded Value="True"/>
+ </Unit0>
+ <Unit1>
+ <Filename Value="..\..\..\..\lazarus\lcl\lresources.pp"/>
+ <UnitName Value="LResources"/>
+ <CursorPos X="31" Y="55"/>
+ <TopLine Value="36"/>
+ <UsageCount Value="10"/>
+ </Unit1>
+ </Units>
+ <JumpHistory Count="0" HistoryIndex="-1"/>
+ </ProjectOptions>
+ <CompilerOptions>
+ <Version Value="5"/>
+ <PathDelim Value="\"/>
+ <CodeGeneration>
+ <Generate Value="Faster"/>
+ </CodeGeneration>
+ <Other>
+ <CompilerPath Value="$(CompPath)"/>
+ </Other>
+ </CompilerOptions>
+ <Debugging>
+ <BreakPoints Count="2">
+ <Item1>
+ <Source Value="USDXResCompiler.lpr"/>
+ <Line Value="14"/>
+ </Item1>
+ <Item2>
+ <Source Value="USDXResCompiler.lpr"/>
+ <Line Value="18"/>
+ </Item2>
+ </BreakPoints>
+ </Debugging>
+</CONFIG>
diff --git a/Tools/USDXResCompiler/USDXResCompiler.lpr b/Tools/USDXResCompiler/USDXResCompiler.lpr
new file mode 100644
index 00000000..8e6e7921
--- /dev/null
+++ b/Tools/USDXResCompiler/USDXResCompiler.lpr
@@ -0,0 +1,159 @@
+program USDXResCompiler;
+
+{$mode objfpc}{$H+}
+
+uses
+ Classes,
+ SysUtils,
+ LResources;
+
+var
+ lResourceFile : TMemoryStream;
+
+procedure AddFile( aResName, aResType, aFile : string );
+var
+ lTmpStream : TmemoryStream;
+begin
+ if aFile[1] = '"' then
+ begin
+ aFile := copy( aFile, 2, length( aFile ) - 2 );
+ end;
+
+ if not fileexists( aFile ) then
+ begin
+ writeln( 'SKIPED' + ' ( '+aFile+' ) File not found' );
+ exit;
+ end;
+
+ lTmpStream := TmemoryStream.create();
+ try
+ lTmpStream.loadfromfile( aFile );
+ lTmpStream.position := 0;
+
+ BinaryToLazarusResourceCode(lTmpStream, lResourceFile, aResName, aResType);
+ writeln( 'ADDED - ' + aResType + ' : ' + aResName + ' ( '+aFile+' )' );
+ finally
+ freeandnil( lTmpStream );
+ end;
+end;
+
+procedure addresourceline( aRCLine : String );
+var
+ lName : String;
+ lType : String;
+ lFile : String;
+ lTmp ,
+ lTmp2 : Integer;
+begin
+ if trim( aRCLine ) = '' then
+ exit;
+
+ if aRCLine[1] = '#' then
+ exit;
+
+ if ( aRCLine[1] = '/' ) AND
+ ( aRCLine[2] = '/' ) THEN
+ exit;
+
+ // find 2nd column... and put it in lTmp
+ lTmp := pos( ' ', aRcLine );
+ lTmp2 := pos( #9, aRcLine );
+ if lTmp2 < lTmp then
+ lTmp := lTmp2;
+
+ // Name = Start to lTmp
+ lName := trim( copy( aRcLine, 1, lTmp ) );
+
+ // Type = lTmp to first "
+ lTmp2 := pos( '"', aRcLine );
+ lType := trim( copy( aRcLine, lTmp, lTmp2-lTmp ) );
+
+ // File = " to end of line
+ lFile := trim( copy( aRcLine, lTmp2, maxint ) );
+
+ lFile := StringReplace( lFile, '\', PathDelim ,[rfReplaceAll] );
+
+(*
+ writeln( aRcLine );
+ writeln( lName );
+ writeln( lType );
+ writeln( lFile );
+ writeln( '' );
+*)
+ AddFile( lName , lType , lFile );
+
+end;
+
+
+var
+ lRCFile : TStringList;
+ iCount : Integer;
+begin
+ if not fileexists( paramstr(1) ) then
+ begin
+ writeln( 'MUST Specify Delphi format RC File' );
+ exit;
+ end;
+
+ lRCFile := TStringList.create();
+ lResourceFile := TMemoryStream.create();
+ try
+ lRCFile.loadfromfile( paramstr(1) );
+
+ if trim( lRCFile.text ) = '' then
+ exit;
+
+ for iCount := 0 to lRCFile.count -1 do
+ begin
+ addresourceline( lRCFile[ iCount ] );
+ end;
+
+(*
+ AddFile( 'Font', 'TEX', '..\Fonts\Normal\eurostar_regular.png' );
+ AddFile( 'Font', 'FNT', '..\Fonts\Normal\eurostar_regular.dat' );
+
+ AddFile( 'FontB', 'TEX', '..\Fonts\Bold\eurostar_regular_bold.png' );
+ AddFile( 'FontB', 'FNT', '..\Fonts\Bold\eurostar_regular_bold.dat' );
+
+ AddFile( 'FontO', 'TEX', '..\Fonts\Outline 1\Outline 1.PNG' );
+ AddFile( 'FontO', 'FNT', '..\Fonts\Outline 1\Outline 1.dat' );
+
+ AddFile( 'FontO2', 'TEX', '..\Fonts\Outline 2\Outline 2.PNG' );
+ AddFile( 'FontO2', 'FNT', '..\Fonts\Outline 2\Outline 2.dat' );
+
+ AddFile( 'MAINICON', 'ICON', '..\Graphics\ustar-icon_v01.ico' );
+
+
+ AddFile( 'CRDTS_BG', 'TEX', '..\Graphics\credits_v5_bg.png' );
+ AddFile( 'CRDTS_OVL', 'TEX', '..\Graphics\credits_v5_overlay.png' );
+ AddFile( 'CRDTS_blindguard', 'TEX', '..\Graphics\names_blindguard.png' );
+ AddFile( 'CRDTS_blindy', 'TEX', '..\Graphics\names_blindy.png' );
+ AddFile( 'CRDTS_canni', 'TEX', '..\Graphics\names_canni.png' );
+ AddFile( 'CRDTS_commandio', 'TEX', '..\Graphics\names_commandio.png' );
+ AddFile( 'CRDTS_lazyjoker', 'TEX', '..\Graphics\names_lazyjoker.png' );
+ AddFile( 'CRDTS_mog', 'TEX', '..\Graphics\names_mog.png' );
+ AddFile( 'CRDTS_mota', 'TEX', '..\Graphics\names_mota.png' );
+ AddFile( 'CRDTS_skillmaste', 'TEX', '..\Graphics\names_skillmaster.png' );
+ AddFile( 'CRDTS_whiteshark', 'TEX', '..\Graphics\names_whiteshark.png' );
+ AddFile( 'INTRO_L01', 'TEX', '..\Graphics\intro-l-01.png' );
+ AddFile( 'INTRO_L02', 'TEX', '..\Graphics\intro-l-02.png' );
+ AddFile( 'INTRO_L03', 'TEX', '..\Graphics\intro-l-03.png' );
+ AddFile( 'INTRO_L04', 'TEX', '..\Graphics\intro-l-04.png' );
+ AddFile( 'INTRO_L05', 'TEX', '..\Graphics\intro-l-05.png' );
+ AddFile( 'INTRO_L06', 'TEX', '..\Graphics\intro-l-06.png' );
+ AddFile( 'INTRO_L07', 'TEX', '..\Graphics\intro-l-07.png' );
+ AddFile( 'INTRO_L08', 'TEX', '..\Graphics\intro-l-08.png' );
+ AddFile( 'INTRO_L09', 'TEX', '..\Graphics\intro-l-09.png' );
+ AddFile( 'OUTRO_BG', 'TEX', '..\Graphics\outro-bg.png' );
+ AddFile( 'OUTRO_ESC', 'TEX', '..\Graphics\outro-esc.png' );
+ AddFile( 'OUTRO_EXD', 'TEX', '..\Graphics\outro-exit-dark.png' );
+*)
+
+ finally
+ lResourceFile.SaveToFile( 'UltraStar.lrs' );
+ freeandnil( lResourceFile );
+
+ freeandnil( lRCFile );
+ end;
+end.
+
diff --git a/Tools/USDXResCompiler/linux-build.sh b/Tools/USDXResCompiler/linux-build.sh
new file mode 100755
index 00000000..fd1b28b6
--- /dev/null
+++ b/Tools/USDXResCompiler/linux-build.sh
@@ -0,0 +1,3 @@
+clear
+fpc -S2cgi -OG1 -gl -vewnhi -l -Filib/JEDI-SDLv1.0/SDL/Pas/ -Fu/usr/lib/lazarus/components/images/lib/i386-linux/ -Fu/usr/lib/lazarus/lcl/units/i386-linux/ -Fu/usr/lib/lazarus/lcl/units/i386-linux/gtk2/ -Fu/usr/lib/lazarus/packager/units/i386-linux/ -Fu. -dLCL -dLCLgtk2 USDXResCompiler.lpr
+