mirror of
https://github.com/TTimo/GtkRadiant.git
synced 2024-11-10 07:11:54 +00:00
Merge branch 'master' of https://github.com/TTimo/GtkRadiant
This commit is contained in:
commit
b992d051fb
5 changed files with 71 additions and 4 deletions
33
apple/README.md
Normal file
33
apple/README.md
Normal file
|
@ -0,0 +1,33 @@
|
|||
GtkRadiant for Apple OSX
|
||||
====
|
||||
This directory provides packaging steps for GtkRadiant for OSX. This document describes compiling the application on OSX as well as generating distributable bundles using the framework provided in this directory.
|
||||
|
||||
Dependencies & Compilation
|
||||
----
|
||||
Compiling GtkRadiant on OSX requires [MacPorts](http://macports.org). Homebrew is not yet supported. Install the following dependencies:
|
||||
|
||||
sudo port install dylibbundler gcc47 gtkglext scons
|
||||
|
||||
You should then be able to compile and run GtkRadiant from the `install` directory.
|
||||
|
||||
scons config=debug
|
||||
./install/radiant.bin &
|
||||
|
||||
See the [GtkRadiant developers guide]() for details on build configurations and targets.
|
||||
|
||||
Building GtkRadiant.app
|
||||
----
|
||||
The `Makefile` in this directory will produce a distributable .app bundle for GtkRadiant using `dylibbundler`:
|
||||
|
||||
make
|
||||
make image
|
||||
|
||||
You may encounter an error or two as `dylibbundler` attempts to fix up shared libraries that GtkRadiant depends on. This is because `dylibbundler` attempts to rewrite the load commands in these libraries, but not all libraries have enough space allocated for this purpose. Recompile the relevant ports with additional header space.
|
||||
|
||||
For example:
|
||||
|
||||
export LDFLAGS=-headerpad_max_install_names
|
||||
sudo port clean --work --archive pango
|
||||
sudo port -n upgrade --force pango
|
||||
|
||||
Repeat this process for any shared libraries which `dylibbundler` complains about. As of July 2nd 2013, Pango is the only port requiring this treatment.
|
|
@ -28,7 +28,7 @@ class Config:
|
|||
# platforms for which to assemble a setup
|
||||
self.setup_platforms = [ 'local', 'x86', 'x64', 'win32' ]
|
||||
# paks to assemble in the setup
|
||||
self.setup_packs = [ 'Q3Pack', 'UrTPack', 'ETPack', 'QLPack', 'Q2Pack', 'Q2WPack' ]
|
||||
self.setup_packs = [ 'Q3Pack', 'UrTPack', 'ETPack', 'QLPack', 'Q2Pack', 'Q2WPack', 'JAPack', 'STVEFPack' ]
|
||||
|
||||
def __repr__( self ):
|
||||
return 'config: target=%s config=%s' % ( self.target_selected, self.config_selected )
|
||||
|
@ -388,6 +388,7 @@ class Config:
|
|||
'%s/bin/libpng14-14.dll' % GTK64_PREFIX,
|
||||
'%s/bin/libglib-2.0-0.dll' % GTK64_PREFIX,
|
||||
'%s/bin/libintl-8.dll' % GTK64_PREFIX,
|
||||
'%s/bin/zlib1.dll' % GTK64_PREFIX,
|
||||
]:
|
||||
shutil.copy( os.path.join( srcdir, x64_dll ), 'install/x64' )
|
||||
|
||||
|
@ -526,4 +527,4 @@ class TestConfigParse( unittest.TestCase ):
|
|||
print repr( configs )
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
unittest.main()
|
||||
|
|
|
@ -382,7 +382,8 @@ void Eclass_Init(){
|
|||
if ( !strcmp( ValueForKey( g_qeglobals.d_project_entity, "gamemode" ), "sp" ) ) {
|
||||
// SP mapping, ignore mp_*.def
|
||||
char *name = (char *)pFile->data;
|
||||
if ( name[0] == 'm' && name[1] == 'p' && name[2] == '_' ) {
|
||||
if ( name[0] == 'm' && name[1] == 'p' && name[2] == '_'
|
||||
|| name[0] == 'h' && name[1] == 'm' && name[2] == '_' ) {
|
||||
Sys_Printf( "Single Player mapping mode. Ignoring '%s'\n", name );
|
||||
pFile = pFile->next;
|
||||
continue;
|
||||
|
@ -392,7 +393,7 @@ void Eclass_Init(){
|
|||
{
|
||||
// HM mapping, ignore sp_*.def
|
||||
char *name = (char *)pFile->data;
|
||||
if ( name[0] == 'h' && name[1] == 'm' && name[2] == '_' ) {
|
||||
if ( name[0] == 's' && name[1] == 'p' && name[2] == '_' ) {
|
||||
Sys_Printf( "HoloMatch mapping mode. Ignoring '%s'\n", name );
|
||||
pFile = pFile->next;
|
||||
continue;
|
||||
|
|
|
@ -3376,6 +3376,9 @@ void CGameInstall::BuildDialog() {
|
|||
case GAME_QL:
|
||||
gtk_combo_box_append_text( GTK_COMBO_BOX( combo ), _( "Quake Live" ) );
|
||||
break;
|
||||
case GAME_STVEF:
|
||||
gtk_combo_box_append_text( GTK_COMBO_BOX( combo ), _( "Star Trek - Voyager: Elite Force" ) );
|
||||
break;
|
||||
}
|
||||
iGame++;
|
||||
}
|
||||
|
@ -3490,6 +3493,9 @@ void CGameInstall::Run() {
|
|||
case GAME_QL:
|
||||
gameFilePath += "ql.game";
|
||||
break;
|
||||
case GAME_STVEF:
|
||||
gameFilePath += "stvef.game";
|
||||
break;
|
||||
}
|
||||
|
||||
Sys_Printf( "game file: %s\n", gameFilePath.GetBuffer() );
|
||||
|
@ -3685,6 +3691,27 @@ void CGameInstall::Run() {
|
|||
fprintf( fg, " basegame=\"baseq3\"\n" );
|
||||
break;
|
||||
}
|
||||
case GAME_STVEF: {
|
||||
fprintf( fg, " "TOOLS_ATTRIBUTE "=\"%sinstalls/"STVEF_PACK "/game\"\n", g_strAppPath.GetBuffer() );
|
||||
fprintf( fg, " prefix=\".stvef\"\n" );
|
||||
Str source = g_strAppPath.GetBuffer();
|
||||
source += "installs/";
|
||||
source += STVEF_PACK;
|
||||
source += "/install/";
|
||||
Str dest = m_strEngine.GetBuffer();
|
||||
radCopyTree( source.GetBuffer(), dest.GetBuffer() );
|
||||
// Hardcoded fix for "missing" shaderlist in gamepack
|
||||
dest += "/base/scripts/shaderlist.txt";
|
||||
if(CheckFile(dest.GetBuffer()) != PATH_FILE) {
|
||||
source += "base/scripts/default_shaderlist.txt";
|
||||
radCopyFile(source.GetBuffer(),dest.GetBuffer());
|
||||
}
|
||||
fprintf( fg, " basegame=\"baseEF\"\n" );
|
||||
fprintf( fg, " shaderpath=\"scripts\"\n" );
|
||||
fprintf( fg, " default_scale=\"0.25\"\n" );
|
||||
fprintf( fg, " caulk_shader=\"textures/common/caulk\"\n" );
|
||||
break;
|
||||
}
|
||||
}
|
||||
fprintf( fg, "/>\n" );
|
||||
fclose( fg );
|
||||
|
@ -3740,6 +3767,9 @@ void CGameInstall::ScanGames() {
|
|||
if ( stricmp( dirname, QL_PACK ) == 0 ) {
|
||||
m_availGames[ iGame++ ] = GAME_QL;
|
||||
}
|
||||
if ( stricmp( dirname, STVEF_PACK ) == 0 ) {
|
||||
m_availGames[ iGame++ ] = GAME_STVEF;
|
||||
}
|
||||
}
|
||||
Sys_Printf( "No installable games found in: %s\n",
|
||||
pakPaths.GetBuffer() );
|
||||
|
|
|
@ -213,6 +213,7 @@ void Dump();
|
|||
#define REACTION_PACK "ReactionPack"
|
||||
#define ET_PACK "ETPack"
|
||||
#define QL_PACK "QLPack"
|
||||
#define STVEF_PACK "STVEFPack"
|
||||
|
||||
class CGameInstall : public Dialog {
|
||||
public:
|
||||
|
@ -238,6 +239,7 @@ enum gameType_e {
|
|||
GAME_REACTION,
|
||||
GAME_ET,
|
||||
GAME_QL,
|
||||
GAME_STVEF,
|
||||
GAME_COUNT
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue