diff options
Diffstat (limited to 'backends/platform')
| -rw-r--r-- | backends/platform/dc/dc-fs.cpp | 2 | ||||
| -rw-r--r-- | backends/platform/dc/selector.cpp | 27 | ||||
| -rw-r--r-- | backends/platform/gph/devices/gp2x/mmuhack/README (renamed from backends/platform/gph/devices/gp2x/mmuhack/readme.txt) | 8 | ||||
| -rwxr-xr-x | backends/platform/openpandora/build/PXML.xml | 83 | ||||
| -rw-r--r-- | backends/platform/openpandora/build/PXML_schema.xsd | 341 | ||||
| -rwxr-xr-x | backends/platform/openpandora/build/pnd_make.sh | 340 | ||||
| -rwxr-xr-x | backends/platform/openpandora/build/runscummvm.sh | 3 | ||||
| -rwxr-xr-x | backends/platform/openpandora/op-bundle.mk | 3 | ||||
| -rwxr-xr-x | backends/platform/sdl/macosx/appmenu_osx.h | 32 | ||||
| -rwxr-xr-x | backends/platform/sdl/macosx/appmenu_osx.mm | 110 | ||||
| -rw-r--r-- | backends/platform/sdl/macosx/macosx.cpp | 12 | ||||
| -rw-r--r-- | backends/platform/sdl/module.mk | 3 | ||||
| -rw-r--r-- | backends/platform/sdl/ps3/ps3.cpp | 2 | ||||
| -rw-r--r-- | backends/platform/wince/README-WinCE.txt | 20 | 
14 files changed, 893 insertions, 93 deletions
diff --git a/backends/platform/dc/dc-fs.cpp b/backends/platform/dc/dc-fs.cpp index ac709f62b9..c46f9df093 100644 --- a/backends/platform/dc/dc-fs.cpp +++ b/backends/platform/dc/dc-fs.cpp @@ -124,7 +124,7 @@ bool RoninCDDirectoryNode::getChildren(AbstractFSList &myList, ListMode mode, bo  			if (mode == Common::FSNode::kListFilesOnly)  				continue; -			myList.push_back(new RoninCDDirectoryNode(newPath+"/")); +			myList.push_back(new RoninCDDirectoryNode(newPath));  		} else {  			// Honor the chosen mode  			if (mode == Common::FSNode::kListDirectoriesOnly) diff --git a/backends/platform/dc/selector.cpp b/backends/platform/dc/selector.cpp index 859f2a40ed..339e5df62d 100644 --- a/backends/platform/dc/selector.cpp +++ b/backends/platform/dc/selector.cpp @@ -185,12 +185,24 @@ static void makeDefIcon(Icon &icon)    icon.load(scummvm_icon, sizeof(scummvm_icon));  } +static bool sameOrSubdir(const char *dir1, const char *dir2) +{ +  int l1 = strlen(dir1), l2 = strlen(dir2); +  if (l1<=l2) +    return !strcmp(dir1, dir2); +  else +    return !memcmp(dir1, dir2, l2); +} +  static bool uniqueGame(const char *base, const char *dir,  		       Common::Language lang, Common::Platform plf,  		       Game *games, int cnt)  {    while (cnt--) -    if (!strcmp(dir, games->dir) && +    if (/*Don't detect the same game in a subdir, +	  this is a workaround for the detector bug in toon... */ +	sameOrSubdir(dir, games->dir) && +	/*!strcmp(dir, games->dir) &&*/  	!stricmp(base, games->filename_base) &&  	lang == games->language &&  	plf == games->platform) @@ -237,19 +249,24 @@ static int findGames(Game *games, int max, bool use_ini)    }    while ((curr_game < max || use_ini) && curr_dir < num_dirs) { -    strncpy(dirs[curr_dir].name, dirs[curr_dir].node.getPath().c_str(), 252); -    dirs[curr_dir].name[251] = '\0'; +    strncpy(dirs[curr_dir].name, dirs[curr_dir].node.getPath().c_str(), 251); +    dirs[curr_dir].name[250] = '\0'; +    if (!dirs[curr_dir].name[0] || +	dirs[curr_dir].name[strlen(dirs[curr_dir].name)-1] != '/') +      strcat(dirs[curr_dir].name, "/");      dirs[curr_dir].deficon[0] = '\0';      Common::FSList files, fslist;      dirs[curr_dir++].node.getChildren(fslist, Common::FSNode::kListAll);      for (Common::FSList::const_iterator entry = fslist.begin(); entry != fslist.end();  	 ++entry) {        if (entry->isDirectory()) { -	if (!use_ini && num_dirs < MAX_DIR && -	    strcasecmp(entry->getDisplayName().c_str(), "install")) { +	if (!use_ini && num_dirs < MAX_DIR) {  	  dirs[num_dirs].node = *entry;  	  num_dirs++;  	} +	/* Toonstruck detector needs directories to be present too */ +	if(!use_ini) +	  files.push_back(*entry);        } else  	if (isIcon(*entry))  	  strcpy(dirs[curr_dir-1].deficon, entry->getDisplayName().c_str()); diff --git a/backends/platform/gph/devices/gp2x/mmuhack/readme.txt b/backends/platform/gph/devices/gp2x/mmuhack/README index bea49d7d6d..6db7d81845 100644 --- a/backends/platform/gph/devices/gp2x/mmuhack/readme.txt +++ b/backends/platform/gph/devices/gp2x/mmuhack/README @@ -1,3 +1,10 @@ +PLEASE NOTE:  + +The binary object 'mmuhack.o' is stored in the source tree as it is very awkward to +build it manually each time and would require the use of 2 toolchains to do so. + +Notes on how to rebuild from the included source can be found below. +  About  ----- @@ -107,4 +114,3 @@ Credits  Original idea/implementation: Squidge (this whole thing is also known as squidgehack)  Kernel module: NK  Documentation: notaz - diff --git a/backends/platform/openpandora/build/PXML.xml b/backends/platform/openpandora/build/PXML.xml index f4d2e2a595..a87c49e2b8 100755 --- a/backends/platform/openpandora/build/PXML.xml +++ b/backends/platform/openpandora/build/PXML.xml @@ -1,34 +1,55 @@  <?xml version="1.0" encoding="UTF-8"?>  <PXML xmlns="http://openpandora.org/namespaces/PXML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="PXML_schema.xsd"> - -  <application id="scummvm.djwillis.0001" appdata="scummvm"> - -    <title lang="en_US">ScummVM</title> - -    <exec command="./runscummvm.sh"/> -    <icon src="icon/scummvm.png"/> - -    <previewpics> -      <pic src="icon/preview-pic.png"/> -    </previewpics> - -    <info name="ScummVM Documentation" type="text/html" src="docs/index.html"/> - -    <description lang="en_US">Point & click game interpreter.</description> - -    <author name="DJWillis" website="http://www.scummvm.org/"/> - -    <version major="1" minor="1" release="1" build="1"/><!--This programs version--> -    <osversion major="1" minor="0" release="0" build="0"/><!--The minimum OS version required--> - -    <categories> -      <category name="Game"><!--category like "Games", "Graphics", "Internet" etc--> -	<subcategory name="Adventure Games"/><!--subcategory, like "Board Games", "Strategy", "First Person Shooters"--> -      </category> -    </categories> - -    <clockspeed frequency="500"/><!--Frequency in Hz--> - -  </application> - +    <!-- This is the package, in our case ScummVM --> +    <package id="scummvm.djwillis.0001"> +        <author name="DJWillis" website="http://www.scummvm.org/"/> +        <!-- version type can be alpha, beta or release, set to release in branch --> +        <version major="1" minor="4" release="0" build="1" type="alpha"/> +        <!-- Both title and titles are needed --> +        <title lang="en_US">ScummVM</title> +        <titles> +            <title lang="en_US">ScummVM</title> +        </titles> +        <descriptions> +            <description lang="en_US"> +                ScummVM is a program which allows you to run certain classic graphical point-and-click adventure games, provided you already have their data files. The clever part about this: ScummVM just replaces the executables shipped with the games, allowing you to play them on systems for which they were never designed! + +                ScummVM supports many adventure games, including LucasArts SCUMM games (such as Monkey Island 1-3, Day of the Tentacle, Sam & Max, ...), many of Sierra's AGI and SCI games (such as King's Quest 1-6, Space Quest 1-5, ...), Discworld 1 and 2, Simon the Sorcerer 1 and 2, Beneath A Steel Sky, Lure of the Temptress, Broken Sword 1 and 2, Flight of the Amazon Queen, Gobliiins 1-3, The Legend of Kyrandia 1-3, many of Humongous Entertainment's children's SCUMM games (including Freddi Fish and Putt Putt games) and many more. +            </description> +        </descriptions> +        <icon src="icon/scummvm.png"/> +    </package> + +    <!-- This is the application, the ScummVM binary --> +    <application id="scummvm.djwillis.0001" appdata="scummvm"> +        <exec command="./runscummvm.sh"/> +        <author name="DJWillis" website="http://www.scummvm.org/"/> +        <!-- version type can be alpha, beta or release, set to release in branch --> +        <version major="1" minor="4" release="0" build="1" type="alpha"/> +        <!-- Both title and titles are needed --> +        <title lang="en_US">ScummVM</title> +        <titles> +            <title lang="en_US">ScummVM</title> +        </titles> +        <descriptions> +            <description lang="en_US"> +                ScummVM is a program which allows you to run certain classic graphical point-and-click adventure games, provided you already have their data files. The clever part about this: ScummVM just replaces the executables shipped with the games, allowing you to play them on systems for which they were never designed! + +                ScummVM supports many adventure games, including LucasArts SCUMM games (such as Monkey Island 1-3, Day of the Tentacle, Sam & Max, ...), many of Sierra's AGI and SCI games (such as King's Quest 1-6, Space Quest 1-5, ...), Discworld 1 and 2, Simon the Sorcerer 1 and 2, Beneath A Steel Sky, Lure of the Temptress, Broken Sword 1 and 2, Flight of the Amazon Queen, Gobliiins 1-3, The Legend of Kyrandia 1-3, many of Humongous Entertainment's children's SCUMM games (including Freddi Fish and Putt Putt games) and many more. +            </description> +        </descriptions> +        <licenses> +            <license name="GPLv2" url="http://www.gnu.org/licenses/gpl-2.0.html" sourcecodeurl="http://www.scummvm.org"/> +        </licenses> +        <icon src="icon/scummvm.png"/> +        <previewpics> +            <pic src="icon/preview-pic.png"/> +        </previewpics> +        <info name="ScummVM Documentation" type="text/html" src="docs/index.html"/> +        <categories> +            <category name="Game"> +                <subcategory name="AdventureGame"/> +            </category> +        </categories> +    </application>  </PXML> diff --git a/backends/platform/openpandora/build/PXML_schema.xsd b/backends/platform/openpandora/build/PXML_schema.xsd new file mode 100644 index 0000000000..335efe5002 --- /dev/null +++ b/backends/platform/openpandora/build/PXML_schema.xsd @@ -0,0 +1,341 @@ +<?xml version="1.0" encoding="utf-8"?> +<xs:schema targetNamespace="http://openpandora.org/namespaces/PXML" xmlns="http://openpandora.org/namespaces/PXML" xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified"> +	 +	 +	<!-- declare some simpleTypes for later usage --> +	 +	<!-- Specify params allows with the 'x11' entry in exec --> +	<xs:simpleType name="x11Param"> +		<xs:restriction base="xs:string"> +			<xs:enumeration value="req" /> +			<xs:enumeration value="stop" /> +			<xs:enumeration value="ignore" /> +		</xs:restriction> +	</xs:simpleType> +	 +	<!-- Specify the valid documentation formats in the <info> block --> +	<xs:simpleType name="docType"> +		<xs:restriction base="xs:string"> +			<xs:enumeration value="text/html" /> +			<xs:enumeration value="text/plain" /> +		</xs:restriction> +	</xs:simpleType> +	 +	<!-- Make sure that version numbers only consist of letters, numbers and + as well as - --> +	<xs:simpleType name="versionNumber"> +		<xs:restriction base="xs:string"> +			<xs:minLength value="1"/> +			<xs:pattern value="[a-zA-Z0-9+-]*" /> +		</xs:restriction> +	</xs:simpleType> +	 +	<!-- Specify what is valid as release type --> +	<xs:simpleType name="releaseType"> +		<xs:restriction base="xs:string"> +			<xs:enumeration value="alpha" /> +			<xs:enumeration value="beta" /> +			<xs:enumeration value="release" /> +		</xs:restriction> +	</xs:simpleType> +	 +	<!-- Specify what makes an email address "valid" --> +	<xs:simpleType name="emailAddress"> +		<xs:restriction base="xs:string"> +			<xs:pattern value="[^@]+@[^\.]+\..+"/> +		</xs:restriction> +	</xs:simpleType> +	 +	<!-- some restrictions regarding file names that are eg not allowed/possible when using sd cards formated as fat32 --> +	<xs:simpleType name="dumbPath"> +		<xs:restriction base="xs:normalizedString"> +			<xs:pattern value="[^?>:]+" /> +		</xs:restriction> +	</xs:simpleType> +	<xs:simpleType name="dumbFolderName"> +		<xs:restriction base="xs:normalizedString"> +			<xs:pattern value="[^?>:/]+" /> +		</xs:restriction> +	</xs:simpleType> +	 +	<!-- Specify lang codes --> +	<xs:simpleType name="isoLangcode"> +		<xs:restriction base="xs:string"> +			<xs:minLength value="2"/> +			<xs:pattern value="[a-zA-Z]{2,3}(_[a-zA-Z0-9]{2,3})*" /> +		</xs:restriction> +	</xs:simpleType> +	<xs:simpleType name="isoLangcode_en_US"> +		<xs:restriction base="xs:string"> +			<xs:enumeration value="en_US" /> +		</xs:restriction> +	</xs:simpleType> +	 +	<!-- Definition of all allowed categories following the FDO specs --> +	<xs:simpleType name="fdoCategory"> +		<xs:restriction base="xs:string"> +			<xs:pattern value="AudioVideo|Audio|Video|Development|Education|Game|Graphics|Network|Office|Settings|System|Utility"/> +		</xs:restriction> +	</xs:simpleType> +	<!-- Definition of all allowed subcategories following the FDO specs (should be based upon the given main categories, but would significantly increase complexity of the schema) --> +	<xs:simpleType name="fdoSubCategory"> +		<xs:restriction base="xs:string"> +			<xs:pattern value="Building|Debugger|IDE|GUIDesigner|Profiling|RevisionControl|Translation|Calendar|ContactManagement|Database|Dictionary|Chart|Email|Finance|FlowChart|PDA|ProjectManagement|Presentation|Spreadsheet|WordProcessor|2DGraphics|VectorGraphics|RasterGraphics|3DGraphics|Scanning|OCR|Photography|Publishing|Viewer|TextTools|DesktopSettings|HardwareSettings|Printing|PackageManager|Dialup|InstantMessaging|Chat|IRCClient|FileTransfer|HamRadio|News|P2P|RemoteAccess|Telephony|TelephonyTools|VideoConference|WebBrowser|WebDevelopment|Midi|Mixer|Sequencer|Tuner|TV|AudioVideoEditing|Player|Recorder|DiscBurning|ActionGame|AdventureGame|ArcadeGame|BoardGame|BlocksGame|CardGame|KidsGame|LogicGame|RolePlaying|Simulation|SportsGame|StrategyGame|Art|Construction|Music|Languages|Science|ArtificialIntelligence|Astronomy|Biology|Chemistry|ComputerScience|DataVisualization|Economy|Electricity|Geography|Geology|Geoscience|History|ImageProcessing|Literature|Math|NumericalAnalysis|MedicalSoftware|Physics|Robotics|Sports|ParallelComputing|Amusement|Archiving|Compression|Electronics|Emulator|Engineering|FileTools|FileManager|TerminalEmulator|Filesystem|Monitor|Security|Accessibility|Calculator|Clock|TextEditor|Documentation|Core|KDE|GNOME|GTK|Qt|Motif|Java|ConsoleOnly"/> +		</xs:restriction> +	</xs:simpleType> +	 +	<!-- Create some way to enforce entries to be nonempty --> +	<xs:simpleType name="nonempty_token"> +		<xs:restriction base="xs:token"> +			<xs:minLength value="1"/> +		</xs:restriction> +	</xs:simpleType> +		<xs:simpleType name="nonempty_string"> +		<xs:restriction base="xs:string"> +			<xs:minLength value="1"/> +		</xs:restriction> +	</xs:simpleType> +		<xs:simpleType name="nonempty_normalizedString"> +		<xs:restriction base="xs:string"> +			<xs:minLength value="1"/> +		</xs:restriction> +	</xs:simpleType> +	 +	 +	 +	<!-- declare some complexTypes for later usage --> +	 +	<!-- type used for file associations --> +	<xs:complexType name="association_data"> +		<xs:attribute name="name" use="required" type="nonempty_normalizedString" /> +		<xs:attribute name="filetype" use="required" type="nonempty_token" /> +		<xs:attribute name="exec" use="required" type="nonempty_token" /> +	</xs:complexType> +	 +	<!-- type used for author info --> +	<xs:complexType name="author_data"> +		<xs:attribute name="name" use="required" type="nonempty_normalizedString" /> +		<xs:attribute name="website" use="optional" type="xs:anyURI" /> +		<xs:attribute name="email" use="optional" type="emailAddress" /> +	</xs:complexType> +	 +	<!-- type used for version informations (full entry as well as os version) --> +	<xs:complexType name="app_version_info"> +		<xs:attribute name="major" use="required" type="versionNumber" /> +		<xs:attribute name="minor" use="required" type="versionNumber" /> +		<xs:attribute name="release" use="required" type="versionNumber" /> +		<xs:attribute name="build" use="required" type="versionNumber" /> +		<xs:attribute name="type" use="optional" type="releaseType" /> +	</xs:complexType> +	<xs:complexType name="os_version_info"> +		<xs:attribute name="major" use="required" type="versionNumber" /> +		<xs:attribute name="minor" use="required" type="versionNumber" /> +		<xs:attribute name="release" use="required" type="versionNumber" /> +		<xs:attribute name="build" use="required" type="versionNumber" /> +	</xs:complexType> +	 +	<!-- type used for exec entries --> +	<xs:complexType name="exec_params"> +		<xs:attribute name="command" use="required" type="nonempty_token" /> +		<xs:attribute name="arguments" use="optional" type="nonempty_token" /> +		<xs:attribute name="background" use="optional" type="xs:boolean" /> +		<xs:attribute name="startdir" use="optional" type="dumbPath" /> +		<xs:attribute name="standalone" use="optional" type="xs:boolean" /> +		<xs:attribute name="x11" use="optional" type="x11Param" /> +	</xs:complexType> +	 +	<!-- type used for tiles or descriptions, once in 'normal' version, once enforcing usage of en_US --> +	<xs:complexType name="title_or_description"> +		<xs:simpleContent> +			<xs:extension base="nonempty_string"> +				<xs:attribute name="lang" use="required" type="isoLangcode" /> +			</xs:extension> +		</xs:simpleContent> +	</xs:complexType> +	<xs:complexType name="title_or_description_enUS"> +		<xs:simpleContent> +			<xs:extension base="nonempty_string"> +				<xs:attribute name="lang" use="required" type="isoLangcode_en_US" /> +			</xs:extension> +		</xs:simpleContent> +	</xs:complexType> +	 +	<!-- type used for referencing images --> +	<xs:complexType name="image_entry"> +		<xs:attribute name="src" use="required" type="dumbPath" /> +	</xs:complexType> +	 +	<!-- type for referencing manuals/readme docs --> +	<xs:complexType name="information_entry"> +		<xs:attribute name="name" use="required" type="nonempty_normalizedString" /> +		<xs:attribute name="type" use="required" type="docType" /> +		<xs:attribute name="src" use="required" type="dumbPath" /> +	</xs:complexType> +	 +	<!-- type used for the license information --> +	<xs:complexType name="license_info"> +		<xs:attribute name="name" use="required" type="nonempty_normalizedString" /> +		<xs:attribute name="url" use="optional" type="xs:anyURI" /> +		<xs:attribute name="sourcecodeurl" use="optional" type="xs:anyURI" /> +	</xs:complexType> +	 +	 +	 +	<!-- Combine the symple and complex types into the "real" PXML specification --> +	 +	<xs:element name="PXML"> +		<xs:complexType> +			<xs:sequence> +				<!-- specify the <package> tag with info about the complete package, information providable: +					author +					version +					title(s) +					description(s) +					icon +					--> +				<xs:element name="package" minOccurs="1" maxOccurs="1"> +					<xs:complexType> +						<xs:all> +							<!--Author info--> +							<xs:element name="author" type="author_data" minOccurs="1" /> +							<!--App version info--> +							<xs:element name="version" type="app_version_info" minOccurs="1" /> +							<!--Title--> +							<xs:element name="titles" minOccurs="1"> +								<xs:complexType> +									<xs:sequence> +										<xs:element name="title" type="title_or_description_enUS" minOccurs="1" maxOccurs="1" /> +										<xs:element name="title" type="title_or_description" minOccurs="0" maxOccurs="unbounded" /> +									</xs:sequence> +								</xs:complexType> +							</xs:element> +							<!--Description--> +							<xs:element name="descriptions" minOccurs="0"> +								<xs:complexType> +									<xs:sequence> +										<xs:element name="title" type="title_or_description_enUS" minOccurs="0" maxOccurs="1" /> +										<xs:element name="description" type="title_or_description" minOccurs="0" maxOccurs="unbounded" /> +									</xs:sequence> +								</xs:complexType> +							</xs:element> +							<!--Icon--> +							<xs:element name="icon" type="image_entry" minOccurs="0" /> +						</xs:all> +						<!--Package ID--> +						<xs:attribute name="id" use="required" type="dumbFolderName" /> +					</xs:complexType> +				</xs:element> +				<!-- specify the <application> tag with info about a single program +					executable call +					author +					version (of the application) +					osversion (min OS version supported) +					title(s) (allowing compatibility to <HF6, too!) +					description(s) (allowing compatibility to <HF6, too!) +					icon +					license +					preview pictures +					info/manual/readme entry +					categories +					associations to file types +					clockspeed +					--> +				<xs:element name="application" minOccurs="1" maxOccurs="unbounded"> +					<xs:complexType> +						<xs:all> +							<!--Execution params --> +							<xs:element name="exec" type="exec_params" minOccurs="1" /> +							<!--Author info--> +							<xs:element name="author" type="author_data" minOccurs="1" /> +							<!--App version info--> +							<xs:element name="version" type="app_version_info" minOccurs="1" /> +							<!--OS Version info--> +							<xs:element name="osversion" type="os_version_info" minOccurs="0" /> +							<!--Title--> +							<!-- via <titles> element, used for HF6+ --> +							<xs:element name="titles" minOccurs="1"> +								<xs:complexType> +									<xs:sequence> +										<xs:element name="title" type="title_or_description_enUS" minOccurs="1" maxOccurs="1" /> +										<xs:element name="title" type="title_or_description" minOccurs="0" maxOccurs="unbounded" /> +									</xs:sequence> +								</xs:complexType> +							</xs:element> +							<!--Title--> +							<!-- via <title> element, only one for en_US allowed, meant for backwards compatibility with libpnd from <HF6 --> +							<xs:element name="title" type="title_or_description_enUS" minOccurs="0" /> +							<!--Description--> +							<!-- via <descriptions> element, used for HF6+ --> +							<xs:element name="descriptions" minOccurs="0"> +								<xs:complexType> +									<xs:sequence> +										<xs:element name="description" type="title_or_description_enUS" minOccurs="1" maxOccurs="1" /> +										<xs:element name="description" type="title_or_description" minOccurs="0" maxOccurs="unbounded" /> +									</xs:sequence> +								</xs:complexType> +							</xs:element> +							<!--Description--> +							<!-- via <description> element, only one for en_US allowed, meant for backwards compatibility with libpnd from <HF6 --> +							<xs:element name="description" type="title_or_description_enUS" minOccurs="0" /> +							<!--Icon--> +							<xs:element name="icon" type="image_entry" minOccurs="0" /> +							<!--License--> +							<xs:element name="licenses" minOccurs="1"> +								<xs:complexType> +									<xs:sequence> +										<xs:element name="license" type="license_info" minOccurs="1" maxOccurs="unbounded" /> +									</xs:sequence> +								</xs:complexType> +							</xs:element> +							<!--Preview pics--> +							<xs:element name="previewpics" minOccurs="0"> +								<xs:complexType> +									<xs:sequence> +										<xs:element name="pic" type="image_entry" minOccurs="0" maxOccurs="unbounded" /> +									</xs:sequence> +								</xs:complexType> +							</xs:element> +							<!--Info (aka manual or readme entry)--> +							<xs:element name="info" type="information_entry" minOccurs="0" /> +							<!--Categories--> +							<xs:element name="categories" minOccurs="1"> +								<xs:complexType> +									<xs:sequence> +										<xs:element name="category" minOccurs="1" maxOccurs="unbounded"> +											<xs:complexType> +												<xs:sequence> +													<xs:element name="subcategory" minOccurs="0" maxOccurs="unbounded"> +														<xs:complexType> +															<xs:attribute name="name" type="fdoSubCategory" /> +														</xs:complexType> +													</xs:element> +												</xs:sequence> +												<xs:attribute name="name" use="required" type="fdoCategory" /> +											</xs:complexType> +										</xs:element> +									</xs:sequence> +								</xs:complexType> +							</xs:element> +							<!--Associations--> +							<xs:element name="associations" minOccurs="0"> +								<xs:complexType> +									<xs:sequence> +										<xs:element name="association" type="association_data" maxOccurs="unbounded" /> +									</xs:sequence> +								</xs:complexType> +							</xs:element> +							<!--Clockspeed--> +							<xs:element name="clockspeed" minOccurs="0"> +								<xs:complexType> +									<xs:attribute name="frequency" use="required" type="xs:positiveInteger" /> +								</xs:complexType> +							</xs:element> +						</xs:all> +						<!--AppID--> +						<xs:attribute name="id" use="required" type="dumbFolderName" /> +						<xs:attribute name="appdata" use="optional" type="dumbFolderName" /> +					</xs:complexType> +				</xs:element> +			</xs:sequence> +		</xs:complexType> +	</xs:element> +</xs:schema>
\ No newline at end of file diff --git a/backends/platform/openpandora/build/pnd_make.sh b/backends/platform/openpandora/build/pnd_make.sh index b19de87bb4..0c03e8154d 100755 --- a/backends/platform/openpandora/build/pnd_make.sh +++ b/backends/platform/openpandora/build/pnd_make.sh @@ -1,65 +1,321 @@ -#!/bin/sh +#!/bin/bash +# +# pnd_make.sh +# +# This script is meant to ease generation of a pnd file. Please consult the output +# when running --help for a list of available parameters and an explaination of +# those. +# +# Required tools when running the script: +# bash +# echo, cat, mv, rm +# mkisofs or mksquashfs (the latter when using the -c param!) +# xmllint (optional, only for validation of the PXML against the schema) -######adjust path of genpxml.sh if you want to use that "feture"##### -TEMP=`getopt -o p:d:x:i:c -- "$@"` +PXML_schema=$(dirname ${0})/PXML_schema.xsd +GENPXML_PATH=$(dirname ${0})/genpxml.sh -if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi +# useful functions ... +black='\E[30m' +red='\E[31m' +green='\E[32m' +yellow='\E[33m' +blue='\E[34m' +magenta='\E[35m' +cyan='\E[36m' +white='\E[37m' -eval set -- "$TEMP" -while true ; do -	case "$1" in -		-p) echo "PNDNAME set to $2" ;PNDNAME=$2;shift 2;; -		-d) echo "FOLDER set to $2" ;FOLDER=$2;shift 2 ;; -		-x) echo "PXML set to $2" ;PXML=$2;shift 2 ;; -		-i) echo "ICON set to $2" ;ICON=$2;shift 2 ;; -		-c) echo "-c set, will create compressed squasfs image instead of iso $2" ;SQUASH=1;shift 1 ;; -		--) shift ; break ;; -		*) echo "Error while parsing arguments! $2" ; exit 1 ;; -	esac +check_for_tool() +{ +	which $1 &> /dev/null +	if [ "$?" -ne "0" ]; +	then +		cecho "ERROR: Could not find the program '$1'. Please make sure +that it is available in your PATH since it is required to complete your request." $red +		exit 1 +	fi +} + +cecho ()	# Color-echo. Argument $1 = message, Argument $2 = color +{ +	local default_msg="No message passed."   # Doesn't really need to be a local variable. +	message=${1:-$default_msg}               # Defaults to default message. +	color=${2:-$black}                       # Defaults to black, if not specified. +	echo -e "$color$message" +	tput sgr0                                # Reset to normal. +	return +}  + + +print_help() +{ +	cat << EOSTREAM +pnd_make.sh - A script to package "something" into a PND. + +Usage: +  $(basename ${0}) {--directory|-d} <folder> {--pndname|-p} <file> [{--compress-squashfs|-c}] +                   [{--genpxml} <file>] [{--icon|-i} <file>] [{--pxml|-x} <file>] +                   [{--schema|-s} <file>] [{--help|-h}] + + +Switches: +  --compress-squashfs / -c  Define whether or not the pnd should be compressed using +                            squashfs. If this parameter is selected, a compressed pnd +                            will be created. + +  --directory / -d          Sets the folder that is to be used for the resulting pnd +                            to <folder>. This option is mandatory for the script to +                            function correctly. + +  --genpxml                 Sets the script used for generating a PXML file (if none +                            is available already) to <file>. Please make sure to either +                            provide a full path or prefix a script in the current folder +                            with './' so that the script can actually be executed. If +                            this variable is not specified, $GENPXML_PATH +                            will be used. + +  --help / -h               Displays this help text. + +  --icon / -i               Sets the icon that will be appended in the pnd to <file>. + +  --pndname / -p            Sets the output filename of the resulting pnd to <file>. +                            This option is mandatory for the script to function +                            correctly. + +  --pxml / -x               Sets the PXML file that is to be used to <file>. If you +                            neither provide a PXML file or set this entry to 'guess', +                            an existing 'PXML.xml' in your selected '--directory' +                            will be used, or the script $GENPXML_PATH +                            will be called to try to generate a basic PXML file for you. + +  --schema / -s             Sets the schema file, that is to be used for validation, +                            to <file. If this is not defined, the script will try to +                            use the file '$PXML_schema'. If this fails, +                            a warning is issued. + +If you select the option to create a compressed squashfs, a version >=4.0 of squashfs +is required to be available in your PATH. +EOSTREAM +} + + +# Parse command line parameters +while [ "${1}" != "" ]; do +	if [ "${1}" = "--compress-squashfs" ] || [ "${1}" = "-c" ]; +	then +		SQUASH=1 +		shift 1 +	elif [ "${1}" = "--directory" ] || [ "${1}" = "-d" ]; +	then +		FOLDER=$2 +		shift 2 +	elif [ "${1}" = "--genpxml" ]; +	then +		GENPXML_PATH=$2 +		shift 2 +	elif [ "${1}" = "--help" ] || [ "${1}" = "-h" ]; +	then +		print_help +		exit 0 +	elif [ "${1}" = "--icon" ] || [ "${1}" = "-i" ]; +	then +		ICON=$2 +		shift 2 +	elif [ "${1}" = "--pndname" ] || [ "${1}" = "-p" ]; +	then +		PNDNAME=$2 +		shift 2 +	elif [ "${1}" = "--pxml" ] || [ "${1}" = "-x" ]; +	then +		PXML=$2 +		shift 2 +	elif [ "${1}" = "--schema" ] || [ "${1}" = "-f" ] +	then +		PXML_schema=$2 +		shift 2 +	else +		cecho "ERROR: '$1' is not a known argument. Printing --help and aborting." $red +		print_help +		exit 1 +	fi  done -rnd=$RANDOM; # random number for genpxml and index$rnd.xml -#generate pxml if guess or empty -if [ ! $PXML ] || [ $PXML = "guess" ] && [  $PNDNAME ] && [ $FOLDER ];  then -	PXMLtxt=$(/home/user/libpnd/pandora-libraries/testdata/scripts/genpxml.sh $FOLDER $ICON) -	PXML=$FOLDER/PXML.xml -	echo "$PXMLtxt" > $FOLDER/PXML.xml +# Generate a PXML if the param is set to Guess or it is empty. +if [ ! $PXML ] || [ $PXML = "guess" ] && [ $PNDNAME ] && [ $FOLDER ]; +then +	if [ -f $FOLDER/PXML.xml ]; # use the already existing PXML.xml file if there is one... +	then +		PXML=$FOLDER/PXML.xml +		PXML_ALREADY_EXISTING="true" +	else +		if [ -f $GENPXML_PATH ]; +		then +			$GENPXML_PATH --src $FOLDER --dest $FOLDER --author $USER +			if [ -f $FOLDER/PXML.xml ]; +			then +				PXML_GENERATED="true" +			else +				cecho "ERROR: Generating a PXML file using '$GENPXML_PATH' failed. +Please generate a PXML file manually." $red +				exit 1 +			fi +		else +			cecho "ERROR: Could not find '$GENPXML_PATH' for generating a PXML file." $red +			exit 1 +		fi +	fi  fi -#check arguments -if [ ! $PNDNAME ] || [ ! $FOLDER ] || [ ! $PXML ]; then -	echo " Usage: pnd_make.sh -p your.pnd -d folder/containing/your/app/ -x -	your.pxml (or \"guess\" to try to generate it from the folder) -i icon.png" + +# Probe if required variables were set +echo -e +cecho "Checking if all required variables were set." $green +if [ ! $PNDNAME ] || [ ! $FOLDER ] || [ ! $PXML ]; +then +	echo -e +	cecho "ERROR: Not all required options were set! Please see the --help information below." $red +	echo -e +	print_help  	exit 1 +else +	echo "PNDNAME set to '$PNDNAME'." +fi +# Check if the selected folder actually exists +if [ ! -d $FOLDER ]; +then +	echo -e +	cecho "ERROR: '$FOLDER' doesn't exist or is not a folder." $red +	exit 1 +else +	echo "FOLDER set to '$FOLDER'." +fi +# Check if the selected PXML file actually exists +if [ ! -f $PXML ]; +then +	echo -e +	cecho "ERROR: '$PXML' doesn't exist or is not a file." $red +	exit 1 +else +	if [ $PXML_ALREADY_EXISTING ]; +	then +		echo "You have not explicitly specified a PXML to use, but an existing file was +found. Will be using this one." +	elif [ $PXML_GENERATED ]; +	then +		echo "A PXML file was generated for you using '$GENPXML_PATH'. This file will +not be removed at the end of this script because you might want to review it, adjust +single entries and rerun the script to generate a pnd with a PXML file with all the +information you want to have listed." +	fi +	echo "PXML set to '$PXML'."  fi -if [ ! -d $FOLDER ]; then echo "$FOLDER doesnt exist"; exit 1; fi #check if folder actually exists -if [ ! -f $PXML ]; then echo "$PXML doesnt exist"; exit 1; fi #check if pxml actually exists -#make iso from folder -if [ ! $SQUASH ]; then -	mkisofs -o $PNDNAME.iso -R $FOLDER +# Print the other variables: +if [ $ICON ]; +then +	if [ ! -f $ICON ] +	then +		cecho "WARNING: '$ICON' doesn't exist, will not append the selected icon to the pnd." $red +	else +		echo "ICON set to '$ICON'." +		USE_ICON="true" +	fi +fi +if [ $SQUASH ]; +then +	echo "Will use a squashfs for '$PNDNAME'." +fi + + +# Validate the PXML file (if xmllint is available) +# Errors and problems in this section will be shown but are not fatal. +echo -e +cecho "Trying to validate '$PXML' now. Will be using '$PXML_schema' to do so." $green +which xmllint &> /dev/null +if [ "$?" -ne "0" ]; +then +	VALIDATED=false +	cecho "WARNING: Could not find 'xmllint'. Validity check of '$PXML' is not possible!" $red  else -	if [ $(mksquashfs -version |  awk '{if ($3 >= 4) print 1}') = 1 ]; then -		echo "your squashfs version is older then version 4, please upgrade to 4.0 or later" +	if [ ! -f "$PXML_schema" ]; +	then +		VALIDATED=false +		cecho "WARNING: Could not find '$PXML_schema'. If you want to validate your +PXML file please make sure to provide a schema using the --schema option." $red +	else +		xmllint --noout --schema $PXML_schema $PXML +		if [ "$?" -ne "0" ]; then VALIDATED=false; else VALIDATED=true; fi +	fi +fi +# Print some message at the end about the validation in case the user missed the output above +if [ $VALIDATED = "false" ] +then +	cecho "WARNING: Could not successfully validate '$PXML'. Please check the output +above. This does not mean that your pnd will be broken. Either you are not following the strict +syntax required for validation or you don't have all files/programs required for validating." $red +else +	cecho "Your file '$PXML' was validated successfully. The resulting pnd should +work nicely with libpnd." $green +fi + + +# Make iso from folder +echo -e +cecho "Creating an iso file based on '$FOLDER'." $green +if [ $SQUASH ]; +then +	check_for_tool mksquashfs +	if [ $(mksquashfs -version | awk 'BEGIN{r=0} $3>=4{r=1} END{print r}') -eq 0 ]; +	then +		cecho "ERROR: Your squashfs version is older then version 4, please upgrade to 4.0 or later" $red  		exit 1  	fi -	mksquashfs -no-recovery -nopad $FOLDER $PNDNAME.iso +	mksquashfs $FOLDER $PNDNAME.iso -nopad -no-recovery +else +	check_for_tool mkisofs +	mkisofs -o $PNDNAME.iso -R $FOLDER +fi + +# Check that the iso file was actually created before continuing +if [ ! -f $PNDNAME.iso ]; +then +	cecho "ERROR: The temporary file '$PNDNAME.iso' could not be created. +Please check the output above for any errors and retry after fixing them. Aborting." $red +	exit 1  fi -#append pxml to iso -cat $PNDNAME.iso $PXML >  $PNDNAME + + +# Append pxml to iso +echo -e +cecho "Appending '$PXML' to the created iso file." $green +cat $PNDNAME.iso $PXML > $PNDNAME  rm $PNDNAME.iso #cleanup -#append icon if specified -if [ $ICON ]; then # check if we want to add an icon -	if [ ! -f $ICON ]; then #does the icon actually exist? -		echo "$ICON doesnt exist" -	else # yes + +# Append icon if specified and available +if [ $USE_ICON ]; +then +	echo -e +	cecho "Appending the icon '$ICON' to the pnd." $green  	mv $PNDNAME $PNDNAME.tmp  	cat $PNDNAME.tmp $ICON > $PNDNAME # append icon  	rm $PNDNAME.tmp #cleanup -	fi  fi -if [ $PXML = "guess" ];then rm $FOLDER/PXML.xml; fi #cleanup + +# Final message +echo -e +if [ -f $PNDNAME ]; +then +	cecho "Successfully finished creating the pnd '$PNDNAME'." $green +else +	cecho "There seems to have been a problem and '$PNDNAME' was not created. Please check +the output above for any error messages. A possible cause for this is that there was +not enough space available." $red +	exit 1 +fi + + +#if [ $PXML = "guess" ];then rm $FOLDER/PXML.xml; fi #cleanup diff --git a/backends/platform/openpandora/build/runscummvm.sh b/backends/platform/openpandora/build/runscummvm.sh index 48d24a2b81..c641235219 100755 --- a/backends/platform/openpandora/build/runscummvm.sh +++ b/backends/platform/openpandora/build/runscummvm.sh @@ -11,4 +11,5 @@ mkdir saves  mkdir runtime  cd runtime -../bin/scummvm --fullscreen --gfx-mode=2x --config=../scummvm.config  +../bin/scummvm --fullscreen  --gfx-mode=2x --config=../scummvm.config  --themepath=../data + diff --git a/backends/platform/openpandora/op-bundle.mk b/backends/platform/openpandora/op-bundle.mk index 163f4711ce..089430f43c 100755 --- a/backends/platform/openpandora/op-bundle.mk +++ b/backends/platform/openpandora/op-bundle.mk @@ -75,11 +75,10 @@ endif  	$(CP) $(libloc)/../arm-angstrom-linux-gnueabi/usr/lib/libFLAC.so.8.2.0 $(bundle_name)/scummvm/lib/libFLAC.so.8 -	$(srcdir)/backends/platform/openpandora/build/pnd_make.sh -p $(bundle_name).pnd -d $(bundle_name)/scummvm -x $(bundle_name)/scummvm/data/PXML.xml -i $(bundle_name)/scummvm/icon/scummvm.png +	$(srcdir)/backends/platform/openpandora/build/pnd_make.sh -p $(bundle_name).pnd -c -d $(bundle_name)/scummvm -x $(bundle_name)/scummvm/data/PXML.xml -i $(bundle_name)/scummvm/icon/scummvm.png  	$(CP) $(srcdir)/backends/platform/openpandora/build/README-PND.txt $(bundle_name)  	tar -cvjf $(bundle_name)-pnd.tar.bz2 $(bundle_name).pnd $(bundle_name)/README-PND.txt  	rm -R ./$(bundle_name) -#	rm $(bundle_name).pnd  .PHONY: op-bundle op-pnd diff --git a/backends/platform/sdl/macosx/appmenu_osx.h b/backends/platform/sdl/macosx/appmenu_osx.h new file mode 100755 index 0000000000..005414b789 --- /dev/null +++ b/backends/platform/sdl/macosx/appmenu_osx.h @@ -0,0 +1,32 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +#ifndef APPMENU_OSX_H +#define APPMENU_OSX_H + +#if defined(MACOSX) + +void replaceApplicationMenuItems(); + +#endif // MACOSX + +#endif diff --git a/backends/platform/sdl/macosx/appmenu_osx.mm b/backends/platform/sdl/macosx/appmenu_osx.mm new file mode 100755 index 0000000000..bb089a6b61 --- /dev/null +++ b/backends/platform/sdl/macosx/appmenu_osx.mm @@ -0,0 +1,110 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +// Disable symbol overrides so that we can use system headers. +#define FORBIDDEN_SYMBOL_ALLOW_ALL + +#include "backends/platform/sdl/macosx/appmenu_osx.h" +#include "common/translation.h" + +#include <Cocoa/Cocoa.h> + +// Apple removed setAppleMenu from the header files in 10.4, +// but as the method still exists we declare it ourselves here. +// Yes, this works :) +@interface NSApplication(MissingFunction) +- (void)setAppleMenu:(NSMenu *)menu; +@end + +void replaceApplicationMenuItems() { + +	// Code mainly copied and adapted from SDLmain.m +	NSMenu *appleMenu; +	NSMenu *windowMenu; +	NSMenuItem *menuItem; + +	// For some reason [[NSApp mainMenu] removeAllItems] doesn't work and crashes, so we need +	// to remove the SDL generated menus one by one +	[[NSApp mainMenu] removeItemAtIndex:0];		// Remove application menu +	[[NSApp mainMenu] removeItemAtIndex:0];		// Remove "Windows" menu + +	// Create new application menu +	appleMenu = [[NSMenu alloc] initWithTitle:@""]; + +	// Get current encoding +#ifdef USE_TRANSLATION +	NSStringEncoding stringEncoding = CFStringConvertEncodingToNSStringEncoding(CFStringConvertIANACharSetNameToEncoding((CFStringRef)[NSString stringWithCString:(TransMan.getCurrentCharset()).c_str() encoding:NSASCIIStringEncoding])); +#else +	NSStringEncoding stringEncoding = NSASCIIStringEncoding; +#endif +	 +	// Add "About ScummVM" menu item +	[appleMenu addItemWithTitle:[NSString stringWithCString:_("About ScummVM") encoding:stringEncoding] action:@selector(orderFrontStandardAboutPanel:) keyEquivalent:@""]; + +	// Add separator +	[appleMenu addItem:[NSMenuItem separatorItem]]; + +	// Add "Hide ScummVM" menu item +	[appleMenu addItemWithTitle:[NSString stringWithCString:_("Hide ScummVM") encoding:stringEncoding] action:@selector(hide:) keyEquivalent:@"h"]; + +	// Add "Hide Others" menu item +	menuItem = (NSMenuItem *)[appleMenu addItemWithTitle:[NSString stringWithCString:_("Hide Others") encoding:stringEncoding] action:@selector(hideOtherApplications:) keyEquivalent:@"h"]; +	[menuItem setKeyEquivalentModifierMask:(NSAlternateKeyMask|NSCommandKeyMask)]; + +	// Add "Show All" menu item +	[appleMenu addItemWithTitle:[NSString stringWithCString:_("Show All") encoding:stringEncoding] action:@selector(unhideAllApplications:) keyEquivalent:@""]; + +	// Add separator +	[appleMenu addItem:[NSMenuItem separatorItem]]; + +	// Add "Quit ScummVM" menu item +	[appleMenu addItemWithTitle:[NSString stringWithCString:_("Quit ScummVM") encoding:stringEncoding] action:@selector(terminate:) keyEquivalent:@"q"]; + +	// Put application menu into the menubar +	menuItem = [[NSMenuItem alloc] initWithTitle:@"" action:nil keyEquivalent:@""]; +	[menuItem setSubmenu:appleMenu]; +	[[NSApp mainMenu] addItem:menuItem]; + +	// Tell the application object that this is now the application menu +	[NSApp setAppleMenu:appleMenu]; + + +	// Create new "Window" menu +	windowMenu = [[NSMenu alloc] initWithTitle:[NSString stringWithCString:_("Window") encoding:stringEncoding]]; + +	// Add "Minimize" menu item +	menuItem = [[NSMenuItem alloc] initWithTitle:[NSString stringWithCString:_("Minimize") encoding:stringEncoding] action:@selector(performMiniaturize:) keyEquivalent:@"m"]; +	[windowMenu addItem:menuItem]; + +	// Put menu into the menubar +	menuItem = [[NSMenuItem alloc] initWithTitle:[NSString stringWithCString:_("Window") encoding:stringEncoding] action:nil keyEquivalent:@""]; +	[menuItem setSubmenu:windowMenu]; +	[[NSApp mainMenu] addItem:menuItem]; + +	// Tell the application object that this is now the window menu. +	[NSApp setWindowsMenu:windowMenu]; + +	// Finally give up our references to the objects +	[appleMenu release]; +	[windowMenu release]; +	[menuItem release]; +} diff --git a/backends/platform/sdl/macosx/macosx.cpp b/backends/platform/sdl/macosx/macosx.cpp index 817f61e864..ddfc99570a 100644 --- a/backends/platform/sdl/macosx/macosx.cpp +++ b/backends/platform/sdl/macosx/macosx.cpp @@ -29,9 +29,12 @@  #include "backends/platform/sdl/macosx/macosx.h"  #include "backends/mixer/doublebuffersdl/doublebuffersdl-mixer.h" +#include "backends/platform/sdl/macosx/appmenu_osx.h"  #include "common/archive.h" +#include "common/config-manager.h"  #include "common/fs.h" +#include "common/translation.h"  #include "ApplicationServices/ApplicationServices.h"	// for LSOpenFSRef  #include "CoreFoundation/CoreFoundation.h"	// for CF* stuff @@ -51,6 +54,15 @@ void OSystem_MacOSX::initBackend() {  		_mixerManager->init();  	} +#ifdef USE_TRANSLATION +	// We need to initialize the translataion manager here for the following +	// call to replaceApplicationMenuItems() work correctly +	TransMan.setLanguage(ConfMan.get("gui_language").c_str()); +#endif // USE_TRANSLATION + +	// Replace the SDL generated menu items with our own translated ones on Mac OS X +	replaceApplicationMenuItems(); +  	// Invoke parent implementation of this method  	OSystem_POSIX::initBackend();  } diff --git a/backends/platform/sdl/module.mk b/backends/platform/sdl/module.mk index e67bf859d6..f1afe37349 100644 --- a/backends/platform/sdl/module.mk +++ b/backends/platform/sdl/module.mk @@ -14,7 +14,8 @@ endif  ifdef MACOSX  MODULE_OBJS += \  	macosx/macosx-main.o \ -	macosx/macosx.o +	macosx/macosx.o \ +	macosx/appmenu_osx.o  endif  ifdef WIN32 diff --git a/backends/platform/sdl/ps3/ps3.cpp b/backends/platform/sdl/ps3/ps3.cpp index 16722ccdb7..33586ce693 100644 --- a/backends/platform/sdl/ps3/ps3.cpp +++ b/backends/platform/sdl/ps3/ps3.cpp @@ -21,7 +21,7 @@   */  #define FORBIDDEN_SYMBOL_EXCEPTION_mkdir -#define FORBIDDEN_SYMBOL_EXCEPTION_time_h	//On IRIX, sys/stat.h includes sys/time.h +#define FORBIDDEN_SYMBOL_EXCEPTION_time_h	// sys/stat.h includes sys/time.h  #define FORBIDDEN_SYMBOL_EXCEPTION_unistd_h  #include "common/scummsys.h" diff --git a/backends/platform/wince/README-WinCE.txt b/backends/platform/wince/README-WinCE.txt index 8f1262051a..87f6e78ffe 100644 --- a/backends/platform/wince/README-WinCE.txt +++ b/backends/platform/wince/README-WinCE.txt @@ -1,10 +1,15 @@  ScummVM Windows CE FAQ -Last updated: 2011-07-01 -Release version: 1.3.1 +Last updated: 2011-07-14 +Release version: x.x.x  ------------------------------------------------------------------------  New in this version  ------------------- +x.x.x: +- Changed default values for "high_sample_rate" & "FM_high_quality" to "true" as +  most devices today are fast enough to handle this. It's still possible to set +  this to "false" if you have a slower device. +  1.3.1:  - Fix for Normal2xAspect scaler which was causing screen update issues in some    games. @@ -361,14 +366,13 @@ Some parameters are specific to this port :  Game specific sections (f.e. [monkey2]) - performance options   *  high_sample_rate       bool     Desktop quality (22 kHz) sound output if -                                    set.  The default is 11 kHz. -                                    If you have a fast device, you can set this -                                    to true to enjoy better sound effects and -                                    music. +                                    set.  This is the default. +                                    If you have a slow device, you can set this +                                    to false to prevent lags/delays in the game.   *  FM_high_quality        bool     Desktop quality FM synthesis if set. Lower -                                    quality otherwise. The default is low +                                    quality otherwise. The default is high                                      quality. You can change this if you have a -                                    fast device. +                                    slow device.   *  sound_thread_priority  int      Set the priority of the sound thread (0, 1,                                      2). Depending on the release, this is set                                      to 1 internally (above normal).  | 
