mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-02-22 12:39:59 +00:00
Put the final touches on the windows version.
git-svn-id: https://openmw.svn.sourceforge.net/svnroot/openmw/trunk@13 ea6a568a-9f4f-0410-981a-c910a81bb256
This commit is contained in:
parent
888c552f1b
commit
c9251f6c75
@ -80,6 +80,7 @@ struct ConfigManager
|
||||
int screenShotNum;
|
||||
|
||||
// Directories
|
||||
char[] dataDir;
|
||||
char[] esmDir;
|
||||
char[] bsaDir;
|
||||
char[] sndDir;
|
||||
@ -250,12 +251,29 @@ struct ConfigManager
|
||||
}
|
||||
}
|
||||
|
||||
// Read specific directories
|
||||
// Read data file directory
|
||||
dataDir = ini.getString("General", "Data Directory", "data/");
|
||||
|
||||
// Make sure there's a trailing slash at the end. The forward slash
|
||||
// / works on all platforms, while the backslash \ does not. This
|
||||
// isn't super robust, but we will fix a general path handle
|
||||
// mechanism later (or use an existing one.)
|
||||
if(dataDir.ends("\\")) dataDir[$-1] = '/';
|
||||
if(!dataDir.ends("/")) dataDir ~= '/';
|
||||
|
||||
bsaDir = dataDir;
|
||||
esmDir = dataDir;
|
||||
sndDir = dataDir ~ "Sound/";
|
||||
musDir = dataDir ~ "Music/Explore/";
|
||||
musDir2 = dataDir ~ "Music/Battle/";
|
||||
|
||||
/* Don't bother reading every directory seperately
|
||||
bsaDir = ini.getString("General", "BSA Directory", "data/");
|
||||
esmDir = ini.getString("General", "ESM Directory", "data/");
|
||||
sndDir = ini.getString("General", "SFX Directory", "data/Sound/");
|
||||
musDir = ini.getString("General", "Explore Music Directory", "data/Music/Explore/");
|
||||
musDir2 = ini.getString("General", "Battle Music Directory", "data/Music/Battle/");
|
||||
*/
|
||||
}
|
||||
|
||||
// Create the config file
|
||||
@ -269,11 +287,14 @@ struct ConfigManager
|
||||
comment("Don't write your own comments in this file, they");
|
||||
comment("will disappear when the file is rewritten.");
|
||||
section("General");
|
||||
writeString("Data Directory", dataDir);
|
||||
/*
|
||||
writeString("ESM Directory", esmDir);
|
||||
writeString("BSA Directory", bsaDir);
|
||||
writeString("SFX Directory", sndDir);
|
||||
writeString("Explore Music Directory", musDir);
|
||||
writeString("Battle Music Directory", musDir2);
|
||||
*/
|
||||
writeInt("Screenshots", screenShotNum);
|
||||
writeString("Default Cell", defaultCell);
|
||||
|
||||
|
@ -16,8 +16,4 @@ copy ..\audiere\bin\audiere.dll .
|
||||
copy \windows\system32\d3dx9_30.dll d3dx9d_30.dll
|
||||
|
||||
echo Compiling main program (openmw.exe)
|
||||
gdc openmw.d bsa\*.d core\*.d esm\*.d input\*.d nif\*.d ogre\*.d scene\*.d sound\*.d util\*.d cpp_audiere.o cpp_ogre.o ..\monster\monster\util\*.d ..\monster\monster\minibos\*.d ..\monster\monster\minibos\c\*.d ..\monster\monster\minibos\c\windows\*.d -I..\monster ogremain_d.dll ..\audiere\lib\audiere.lib OIS_d.dll -lstdc++ -o openmw.exe
|
||||
|
||||
echo Setting up the correct Ogre cfg files
|
||||
copy ogre.cfg.win32 ogre.cfg
|
||||
copy plugins.cfg.win32 plugins.cfg
|
||||
gdc openmw.d bsa\*.d core\*.d esm\*.d input\*.d nif\*.d ogre\*.d scene\*.d sound\*.d util\*.d cpp_audiere.o cpp_ogre.o monster\util\*.d ogremain_d.dll ..\audiere\lib\audiere.lib OIS_d.dll -lstdc++ -o openmw.exe
|
||||
|
9
openmw.d
9
openmw.d
@ -26,6 +26,7 @@ module morro;
|
||||
import std.stdio;
|
||||
import std.string;
|
||||
import std.cstream;
|
||||
import std.file;
|
||||
|
||||
import ogre.ogre;
|
||||
import ogre.bindings;
|
||||
@ -103,6 +104,14 @@ void main(char[][] args)
|
||||
config.initialize(resetKeys);
|
||||
scope(exit) config.writeConfig();
|
||||
|
||||
// Check if the data directory exists
|
||||
if(!exists(config.dataDir) || !isdir(config.dataDir))
|
||||
{
|
||||
writefln("Cannot find data directory '", config.dataDir,
|
||||
"' - please edit openmw.ini.");
|
||||
return;
|
||||
}
|
||||
|
||||
// If the -oc parameter is specified, we override any config
|
||||
// setting.
|
||||
if(showOgreFlag) config.finalOgreConfig = true;
|
||||
|
Loading…
x
Reference in New Issue
Block a user