mirror of
https://github.com/libretro/RetroArch
synced 2025-04-16 17:43:02 +00:00
(BB10/QNX) Don't need Cascades
This commit is contained in:
parent
5ad9f131ce
commit
208815fd8e
@ -1,151 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<?fileVersion 4.0.0?>
|
|
||||||
|
|
||||||
<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
|
||||||
<cconfiguration id="com.qnx.qcc.toolChain.414809724">
|
|
||||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.qnx.qcc.toolChain.414809724" moduleId="org.eclipse.cdt.core.settings" name="Device-Debug">
|
|
||||||
<externalSettings/>
|
|
||||||
<extensions>
|
|
||||||
<extension id="com.qnx.tools.ide.qde.core.QDEBynaryParser" point="org.eclipse.cdt.core.BinaryParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
</extensions>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
|
||||||
<configuration artifactName="${ProjName}" buildProperties="" description="" id="com.qnx.qcc.toolChain.414809724" name="Device-Debug" parent="org.eclipse.cdt.build.core.emptycfg">
|
|
||||||
<folderInfo id="com.qnx.qcc.toolChain.414809724.748301597" name="/" resourcePath="">
|
|
||||||
<toolChain id="com.qnx.qcc.toolChain.494081130" name="com.qnx.qcc.toolChain" superClass="com.qnx.qcc.toolChain">
|
|
||||||
<option id="com.qnx.qcc.option.os.317987501" name="Target OS:" superClass="com.qnx.qcc.option.os"/>
|
|
||||||
<option id="com.qnx.qcc.option.cpu.1681499148" name="Target CPU:" superClass="com.qnx.qcc.option.cpu" value="com.qnx.qcc.option.gen.cpu.armle-v7" valueType="enumerated"/>
|
|
||||||
<option id="com.qnx.qcc.option.compiler.669133629" name="Compiler:" superClass="com.qnx.qcc.option.compiler"/>
|
|
||||||
<option id="com.qnx.qcc.option.runtime.110549946" name="Runtime:" superClass="com.qnx.qcc.option.runtime"/>
|
|
||||||
<targetPlatform archList="all" binaryParser="com.qnx.tools.ide.qde.core.QDEBynaryParser" id="com.qnx.qcc.targetPlatform.2027315673" osList="all" superClass="com.qnx.qcc.targetPlatform"/>
|
|
||||||
<builder autoBuildTarget="Device-Debug" enableAutoBuild="true" id="com.qnx.qcc.toolChain.414809724.1907527802" incrementalBuildTarget="Device-Debug" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
|
|
||||||
<tool id="com.qnx.qcc.tool.compiler.1147733376" name="QCC Compiler" superClass="com.qnx.qcc.tool.compiler">
|
|
||||||
<option id="com.qnx.qcc.option.compiler.optlevel.892006936" name="Optimization Level" superClass="com.qnx.qcc.option.compiler.optlevel" value="com.qnx.qcc.option.compiler.optlevel.0" valueType="enumerated"/>
|
|
||||||
<option id="com.qnx.qcc.option.compiler.includePath.648804544" name="Include Directories (-I)" superClass="com.qnx.qcc.option.compiler.includePath" valueType="includePath">
|
|
||||||
<listOptionValue builtIn="false" value=""/>
|
|
||||||
</option>
|
|
||||||
<inputType id="com.qnx.qcc.inputType.compiler.1380205468" superClass="com.qnx.qcc.inputType.compiler"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="com.qnx.qcc.tool.assembler.877192143" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler">
|
|
||||||
<inputType id="com.qnx.qcc.inputType.assembler.1283361903" superClass="com.qnx.qcc.inputType.assembler"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="com.qnx.qcc.tool.linker.787059897" name="QCC Linker" superClass="com.qnx.qcc.tool.linker"/>
|
|
||||||
<tool id="com.qnx.qcc.tool.archiver.1074360033" name="QCC Archiver" superClass="com.qnx.qcc.tool.archiver"/>
|
|
||||||
</toolChain>
|
|
||||||
</folderInfo>
|
|
||||||
<sourceEntries>
|
|
||||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
|
|
||||||
</sourceEntries>
|
|
||||||
</configuration>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
|
||||||
</cconfiguration>
|
|
||||||
<cconfiguration id="com.qnx.qcc.toolChain.802312629">
|
|
||||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.qnx.qcc.toolChain.802312629" moduleId="org.eclipse.cdt.core.settings" name="Device-Release">
|
|
||||||
<externalSettings/>
|
|
||||||
<extensions>
|
|
||||||
<extension id="com.qnx.tools.ide.qde.core.QDEBynaryParser" point="org.eclipse.cdt.core.BinaryParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
</extensions>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
|
||||||
<configuration artifactName="${ProjName}" buildProperties="" description="" id="com.qnx.qcc.toolChain.802312629" name="Device-Release" parent="org.eclipse.cdt.build.core.emptycfg">
|
|
||||||
<folderInfo id="com.qnx.qcc.toolChain.802312629.2121268128" name="/" resourcePath="">
|
|
||||||
<toolChain id="com.qnx.qcc.toolChain.1665491796" name="com.qnx.qcc.toolChain" superClass="com.qnx.qcc.toolChain">
|
|
||||||
<option id="com.qnx.qcc.option.os.690144348" name="Target OS:" superClass="com.qnx.qcc.option.os"/>
|
|
||||||
<option id="com.qnx.qcc.option.cpu.1530592596" name="Target CPU:" superClass="com.qnx.qcc.option.cpu" value="com.qnx.qcc.option.gen.cpu.armle-v7" valueType="enumerated"/>
|
|
||||||
<option id="com.qnx.qcc.option.compiler.2076959219" name="Compiler:" superClass="com.qnx.qcc.option.compiler"/>
|
|
||||||
<option id="com.qnx.qcc.option.runtime.99136040" name="Runtime:" superClass="com.qnx.qcc.option.runtime"/>
|
|
||||||
<targetPlatform archList="all" binaryParser="com.qnx.tools.ide.qde.core.QDEBynaryParser" id="com.qnx.qcc.targetPlatform.1355398824" osList="all" superClass="com.qnx.qcc.targetPlatform"/>
|
|
||||||
<builder autoBuildTarget="Device-Release" enableAutoBuild="true" id="com.qnx.qcc.toolChain.802312629.1163625502" incrementalBuildTarget="Device-Release" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
|
|
||||||
<tool id="com.qnx.qcc.tool.compiler.328487697" name="QCC Compiler" superClass="com.qnx.qcc.tool.compiler">
|
|
||||||
<option id="com.qnx.qcc.option.compiler.optlevel.2044863902" name="Optimization Level" superClass="com.qnx.qcc.option.compiler.optlevel" value="com.qnx.qcc.option.compiler.optlevel.0" valueType="enumerated"/>
|
|
||||||
<option id="com.qnx.qcc.option.compiler.includePath.338882043" name="Include Directories (-I)" superClass="com.qnx.qcc.option.compiler.includePath" valueType="includePath">
|
|
||||||
<listOptionValue builtIn="false" value=""/>
|
|
||||||
</option>
|
|
||||||
<inputType id="com.qnx.qcc.inputType.compiler.654111043" superClass="com.qnx.qcc.inputType.compiler"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="com.qnx.qcc.tool.assembler.1149485049" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler">
|
|
||||||
<inputType id="com.qnx.qcc.inputType.assembler.1795878575" superClass="com.qnx.qcc.inputType.assembler"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="com.qnx.qcc.tool.linker.642751169" name="QCC Linker" superClass="com.qnx.qcc.tool.linker"/>
|
|
||||||
<tool id="com.qnx.qcc.tool.archiver.1694580280" name="QCC Archiver" superClass="com.qnx.qcc.tool.archiver"/>
|
|
||||||
</toolChain>
|
|
||||||
</folderInfo>
|
|
||||||
<sourceEntries>
|
|
||||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
|
|
||||||
</sourceEntries>
|
|
||||||
</configuration>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
|
||||||
</cconfiguration>
|
|
||||||
<cconfiguration id="com.qnx.qcc.toolChain.1305277251">
|
|
||||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.qnx.qcc.toolChain.1305277251" moduleId="org.eclipse.cdt.core.settings" name="Device-Profile">
|
|
||||||
<externalSettings/>
|
|
||||||
<extensions>
|
|
||||||
<extension id="com.qnx.tools.ide.qde.core.QDEBynaryParser" point="org.eclipse.cdt.core.BinaryParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
</extensions>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
|
||||||
<configuration artifactName="${ProjName}" buildProperties="" description="" id="com.qnx.qcc.toolChain.1305277251" name="Device-Profile" parent="org.eclipse.cdt.build.core.emptycfg">
|
|
||||||
<folderInfo id="com.qnx.qcc.toolChain.1305277251.410832586" name="/" resourcePath="">
|
|
||||||
<toolChain id="com.qnx.qcc.toolChain.1357024988" name="com.qnx.qcc.toolChain" superClass="com.qnx.qcc.toolChain">
|
|
||||||
<option id="com.qnx.qcc.option.os.638265752" name="Target OS:" superClass="com.qnx.qcc.option.os"/>
|
|
||||||
<option id="com.qnx.qcc.option.cpu.55068589" name="Target CPU:" superClass="com.qnx.qcc.option.cpu" value="com.qnx.qcc.option.gen.cpu.armle-v7" valueType="enumerated"/>
|
|
||||||
<option id="com.qnx.qcc.option.compiler.1829915230" name="Compiler:" superClass="com.qnx.qcc.option.compiler"/>
|
|
||||||
<option id="com.qnx.qcc.option.runtime.1415220474" name="Runtime:" superClass="com.qnx.qcc.option.runtime"/>
|
|
||||||
<targetPlatform archList="all" binaryParser="com.qnx.tools.ide.qde.core.QDEBynaryParser" id="com.qnx.qcc.targetPlatform.1664275345" osList="all" superClass="com.qnx.qcc.targetPlatform"/>
|
|
||||||
<builder autoBuildTarget="Device-Profile" enableAutoBuild="true" id="com.qnx.qcc.toolChain.1305277251.1788172497" incrementalBuildTarget="Device-Profile" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
|
|
||||||
<tool id="com.qnx.qcc.tool.compiler.1589772650" name="QCC Compiler" superClass="com.qnx.qcc.tool.compiler">
|
|
||||||
<option id="com.qnx.qcc.option.compiler.optlevel.657360321" name="Optimization Level" superClass="com.qnx.qcc.option.compiler.optlevel" value="com.qnx.qcc.option.compiler.optlevel.0" valueType="enumerated"/>
|
|
||||||
<option id="com.qnx.qcc.option.compiler.includePath.562881203" name="Include Directories (-I)" superClass="com.qnx.qcc.option.compiler.includePath" valueType="includePath">
|
|
||||||
<listOptionValue builtIn="false" value=""/>
|
|
||||||
</option>
|
|
||||||
<inputType id="com.qnx.qcc.inputType.compiler.1900117338" superClass="com.qnx.qcc.inputType.compiler"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="com.qnx.qcc.tool.assembler.1050656095" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler">
|
|
||||||
<inputType id="com.qnx.qcc.inputType.assembler.1704624842" superClass="com.qnx.qcc.inputType.assembler"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="com.qnx.qcc.tool.linker.72689410" name="QCC Linker" superClass="com.qnx.qcc.tool.linker"/>
|
|
||||||
<tool id="com.qnx.qcc.tool.archiver.1815242815" name="QCC Archiver" superClass="com.qnx.qcc.tool.archiver"/>
|
|
||||||
</toolChain>
|
|
||||||
</folderInfo>
|
|
||||||
<sourceEntries>
|
|
||||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
|
|
||||||
</sourceEntries>
|
|
||||||
</configuration>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
|
||||||
</cconfiguration>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
|
||||||
<project id="helloforeignwindow.null.1735512392" name="helloforeignwindow"/>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="scannerConfiguration">
|
|
||||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
|
||||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.909118143">
|
|
||||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
|
||||||
</scannerConfigBuildInfo>
|
|
||||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.414809724">
|
|
||||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
|
||||||
</scannerConfigBuildInfo>
|
|
||||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.802312629">
|
|
||||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
|
||||||
</scannerConfigBuildInfo>
|
|
||||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.1305277251">
|
|
||||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
|
||||||
</scannerConfigBuildInfo>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="refreshScope" versionNumber="1">
|
|
||||||
<resource resourceType="PROJECT" workspacePath="/RetroArch-Cascades"/>
|
|
||||||
</storageModule>
|
|
||||||
</cproject>
|
|
@ -1,97 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<projectDescription>
|
|
||||||
<name>RetroArch-Cascades</name>
|
|
||||||
<comment></comment>
|
|
||||||
<projects>
|
|
||||||
</projects>
|
|
||||||
<buildSpec>
|
|
||||||
<buildCommand>
|
|
||||||
<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
|
|
||||||
<arguments>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
<buildCommand>
|
|
||||||
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
|
||||||
<arguments>
|
|
||||||
<dictionary>
|
|
||||||
<key>?name?</key>
|
|
||||||
<value></value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.append_environment</key>
|
|
||||||
<value>true</value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.autoBuildTarget</key>
|
|
||||||
<value>Device-Debug</value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.buildArguments</key>
|
|
||||||
<value></value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.buildCommand</key>
|
|
||||||
<value>make</value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
|
|
||||||
<value>clean</value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.contents</key>
|
|
||||||
<value>org.eclipse.cdt.make.core.activeConfigSettings</value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.enableAutoBuild</key>
|
|
||||||
<value>true</value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.enableCleanBuild</key>
|
|
||||||
<value>true</value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.enableFullBuild</key>
|
|
||||||
<value>true</value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.fullBuildTarget</key>
|
|
||||||
<value>Device-Debug</value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.stopOnError</key>
|
|
||||||
<value>true</value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
|
|
||||||
<value>true</value>
|
|
||||||
</dictionary>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
<buildCommand>
|
|
||||||
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
|
||||||
<triggers>full,incremental,</triggers>
|
|
||||||
<arguments>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
<buildCommand>
|
|
||||||
<name>com.rim.tad.tools.qml.core.qmlFileBuilder</name>
|
|
||||||
<arguments>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
<buildCommand>
|
|
||||||
<name>com.qnx.tools.bbt.xml.core.bbtXMLValidationBuilder</name>
|
|
||||||
<arguments>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
</buildSpec>
|
|
||||||
<natures>
|
|
||||||
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
|
|
||||||
<nature>org.eclipse.cdt.core.cnature</nature>
|
|
||||||
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
|
||||||
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
|
||||||
<nature>com.qnx.tools.ide.bbt.core.bbtnature</nature>
|
|
||||||
<nature>org.eclipse.cdt.core.ccnature</nature>
|
|
||||||
<nature>com.rim.tad.tools.qml.core.qmlNature</nature>
|
|
||||||
<nature>org.eclipse.cdt.qt.core.qtNature</nature>
|
|
||||||
</natures>
|
|
||||||
</projectDescription>
|
|
@ -1,6 +0,0 @@
|
|||||||
QMAKE_TARGET = RetroArch-Cascades
|
|
||||||
PROJECT_DIR := $(dir $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)))
|
|
||||||
I18N_DIR := $(PROJECT_DIR)/translations
|
|
||||||
|
|
||||||
include mk/cs-base.mk
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
|||||||
APP_NAME = RetroArch-Cascades
|
|
||||||
|
|
||||||
CONFIG += qt warn_on cascades10
|
|
||||||
|
|
||||||
LIBS += -lscreen -lbps -lOpenAL -lpng -lEGL -lGLESv2
|
|
||||||
LIBS += -lbbcascadespickers -lbbdata -lbbdevice
|
|
||||||
|
|
||||||
DEFINES += HAVE_RGUI HAVE_MENU RARCH_MOBILE \
|
|
||||||
SINC_LOWER_QUALITY RARCH_INTERNAL \
|
|
||||||
HAVE_FBO HAVE_GRIFFIN __LIBRETRO__ \
|
|
||||||
HAVE_DYNAMIC HAVE_ZLIB HAVE_OPENGLES \
|
|
||||||
HAVE_OPENGLES2 HAVE_BUILTIN_FILTERS \
|
|
||||||
HAVE_AL HAVE_THREADS WANT_ZLIB HAVE_OVERLAY HAVE_GLSL \
|
|
||||||
USING_GL20 HAVE_OPENGL __STDC_CONSTANT_MACROS HAVE_BB10
|
|
||||||
|
|
||||||
INCLUDEPATH += ../../../../RetroArch
|
|
||||||
|
|
||||||
QMAKE_CXXFLAGS +=
|
|
||||||
QMAKE_CFLAGS += -Wc,-std=gnu99 -marm -mfpu=neon
|
|
||||||
|
|
||||||
SOURCES += ../../../griffin/griffin.c \
|
|
||||||
../../../audio/sinc_neon.S \
|
|
||||||
../../../audio/utils_neon.S
|
|
||||||
|
|
||||||
include(config.pri)
|
|
@ -1,156 +0,0 @@
|
|||||||
import bb.cascades 1.0
|
|
||||||
|
|
||||||
Page
|
|
||||||
{
|
|
||||||
titleBar: TitleBar {
|
|
||||||
id: players
|
|
||||||
kind: TitleBarKind.Segmented
|
|
||||||
options: [
|
|
||||||
Option {
|
|
||||||
id: p1
|
|
||||||
text: "User 1"
|
|
||||||
value: 0
|
|
||||||
selected: true
|
|
||||||
},
|
|
||||||
Option {
|
|
||||||
id: p2
|
|
||||||
text: "User 2"
|
|
||||||
value: 1
|
|
||||||
},
|
|
||||||
Option {
|
|
||||||
id: p3
|
|
||||||
text: "User 3"
|
|
||||||
value: 2
|
|
||||||
},
|
|
||||||
Option {
|
|
||||||
id: p4
|
|
||||||
text: "User 4"
|
|
||||||
value: 3
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
onSelectedValueChanged:
|
|
||||||
{
|
|
||||||
ButtonMap.refreshButtonMap(selectedValue)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
actions: [
|
|
||||||
ActionItem {
|
|
||||||
title: "Rescan"
|
|
||||||
ActionBar.placement: ActionBarPlacement.OnBar
|
|
||||||
imageSource: "asset:///images/search.png"
|
|
||||||
onTriggered: {
|
|
||||||
RetroArch.discoverController(players.selectedValue);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
Container
|
|
||||||
{
|
|
||||||
Container
|
|
||||||
{
|
|
||||||
preferredWidth: 650
|
|
||||||
horizontalAlignment: HorizontalAlignment.Center
|
|
||||||
|
|
||||||
Container
|
|
||||||
{
|
|
||||||
horizontalAlignment: HorizontalAlignment.Center
|
|
||||||
layout: StackLayout
|
|
||||||
{
|
|
||||||
orientation: LayoutOrientation.LeftToRight
|
|
||||||
}
|
|
||||||
|
|
||||||
DropDown
|
|
||||||
{
|
|
||||||
horizontalAlignment: HorizontalAlignment.Left
|
|
||||||
id: dropdown_device
|
|
||||||
objectName: "dropdown_devices"
|
|
||||||
title: "Device"
|
|
||||||
}
|
|
||||||
|
|
||||||
Button
|
|
||||||
{
|
|
||||||
horizontalAlignment: HorizontalAlignment.Right
|
|
||||||
text: "Set"
|
|
||||||
|
|
||||||
onClicked:
|
|
||||||
{
|
|
||||||
ButtonMap.mapDevice(dropdown_device.selectedValue, players.selectedValue);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ListView
|
|
||||||
{
|
|
||||||
id: buttonMapList
|
|
||||||
objectName: "buttonMapList"
|
|
||||||
|
|
||||||
listItemComponents: [
|
|
||||||
ListItemComponent
|
|
||||||
{
|
|
||||||
type: "item"
|
|
||||||
|
|
||||||
Container
|
|
||||||
{
|
|
||||||
id: itemRoot
|
|
||||||
horizontalAlignment: HorizontalAlignment.Center
|
|
||||||
rightPadding: 20
|
|
||||||
|
|
||||||
Divider {}
|
|
||||||
|
|
||||||
Container
|
|
||||||
{
|
|
||||||
horizontalAlignment: HorizontalAlignment.Fill
|
|
||||||
topPadding: 10
|
|
||||||
bottomPadding: 10
|
|
||||||
|
|
||||||
|
|
||||||
layout: DockLayout {
|
|
||||||
}
|
|
||||||
|
|
||||||
Label
|
|
||||||
{
|
|
||||||
horizontalAlignment: HorizontalAlignment.Left
|
|
||||||
verticalAlignment: VerticalAlignment.Center
|
|
||||||
text: ListItemData.label
|
|
||||||
textStyle
|
|
||||||
{
|
|
||||||
base: SystemDefaults.TextStyles.PrimaryText
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Label
|
|
||||||
{
|
|
||||||
horizontalAlignment: HorizontalAlignment.Right
|
|
||||||
verticalAlignment: VerticalAlignment.Center
|
|
||||||
text: ListItemData.button
|
|
||||||
textStyle
|
|
||||||
{
|
|
||||||
base: SystemDefaults.TextStyles.PrimaryText
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Divider {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
onTriggered:
|
|
||||||
{
|
|
||||||
var sym, data;
|
|
||||||
data = dataModel.data(indexPath);
|
|
||||||
sym = ButtonMap.mapButton(0, players.selectedValue, data["index"]);
|
|
||||||
data["button"] = ButtonMap.buttonToString(players.selectedValue, sym);
|
|
||||||
dataModel.replace(indexPath, data);
|
|
||||||
}
|
|
||||||
|
|
||||||
function itemType(data, indexPath)
|
|
||||||
{
|
|
||||||
return "item";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,106 +0,0 @@
|
|||||||
import bb.cascades 1.0
|
|
||||||
import bb.cascades.pickers 1.0
|
|
||||||
|
|
||||||
Page {
|
|
||||||
actions: [
|
|
||||||
ActionItem {
|
|
||||||
title: "Play"
|
|
||||||
ActionBar.placement: ActionBarPlacement.OnBar
|
|
||||||
imageSource: "asset:///images/open.png"
|
|
||||||
onTriggered: {
|
|
||||||
if(RetroArch.content == "" || RetroArch.core == "")
|
|
||||||
{
|
|
||||||
//Do something to focus on select content box
|
|
||||||
}
|
|
||||||
else
|
|
||||||
RetroArch.start();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
titleBar: TitleBar {
|
|
||||||
id: titleBar
|
|
||||||
title: "RetroArch"
|
|
||||||
}
|
|
||||||
|
|
||||||
Container {
|
|
||||||
horizontalAlignment: HorizontalAlignment.Fill
|
|
||||||
verticalAlignment: VerticalAlignment.Fill
|
|
||||||
rightPadding: 20
|
|
||||||
leftPadding: 20
|
|
||||||
|
|
||||||
layout: DockLayout {}
|
|
||||||
|
|
||||||
Container {
|
|
||||||
preferredWidth: 680
|
|
||||||
horizontalAlignment: HorizontalAlignment.Center
|
|
||||||
verticalAlignment: VerticalAlignment.Center
|
|
||||||
|
|
||||||
ImageView
|
|
||||||
{
|
|
||||||
horizontalAlignment: HorizontalAlignment.Center
|
|
||||||
imageSource: "asset:///images/icon.png"
|
|
||||||
preferredWidth: 200
|
|
||||||
preferredHeight: 200
|
|
||||||
}
|
|
||||||
|
|
||||||
DropDown
|
|
||||||
{
|
|
||||||
id: _core
|
|
||||||
objectName: "dropdown_core"
|
|
||||||
horizontalAlignment: HorizontalAlignment.Center
|
|
||||||
title: "Core Selection"
|
|
||||||
//Handled in C++
|
|
||||||
}
|
|
||||||
|
|
||||||
Container {
|
|
||||||
horizontalAlignment: HorizontalAlignment.Center
|
|
||||||
preferredWidth: 680
|
|
||||||
|
|
||||||
layout: StackLayout {
|
|
||||||
orientation: LayoutOrientation.LeftToRight
|
|
||||||
}
|
|
||||||
|
|
||||||
//I like the look as a textbox
|
|
||||||
DropDown
|
|
||||||
{
|
|
||||||
id: contentName
|
|
||||||
verticalAlignment: VerticalAlignment.Center
|
|
||||||
horizontalAlignment: HorizontalAlignment.Center
|
|
||||||
preferredWidth: 600
|
|
||||||
enabled: false
|
|
||||||
title: if(picker.selectedFile)
|
|
||||||
picker.selectedFile
|
|
||||||
else
|
|
||||||
"Content Selection"
|
|
||||||
}
|
|
||||||
|
|
||||||
ImageButton {
|
|
||||||
horizontalAlignment: HorizontalAlignment.Right
|
|
||||||
defaultImageSource: "asset:///images/file.png"
|
|
||||||
onClicked: {
|
|
||||||
picker.open();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
attachedObjects: [
|
|
||||||
FilePicker {
|
|
||||||
id: picker
|
|
||||||
|
|
||||||
property string selectedFile
|
|
||||||
|
|
||||||
title: "Content Selector"
|
|
||||||
filter: { RetroArch.contentExtensions.split("|") }
|
|
||||||
type: FileType.Other
|
|
||||||
directories: ["/accounts/1000/shared/documents/content"]
|
|
||||||
|
|
||||||
onFileSelected: {
|
|
||||||
RetroArch.content = selectedFiles[0];
|
|
||||||
selectedFile = RetroArch.content.substr(RetroArch.content.lastIndexOf('/')+1);
|
|
||||||
picker.directories = [RetroArch.content.substr(0, RetroArch.content.lastIndexOf('/'))];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
Binary file not shown.
Before Width: | Height: | Size: 1.6 KiB |
Binary file not shown.
Before Width: | Height: | Size: 2.9 KiB |
Binary file not shown.
Before Width: | Height: | Size: 669 B |
Binary file not shown.
Before Width: | Height: | Size: 2.4 KiB |
@ -1,19 +0,0 @@
|
|||||||
import bb.cascades 1.0
|
|
||||||
import bb.cascades.pickers 1.0
|
|
||||||
|
|
||||||
TabbedPane {
|
|
||||||
Tab {
|
|
||||||
title: "Main Menu"
|
|
||||||
MainMenu
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Tab {
|
|
||||||
title: "Input"
|
|
||||||
Controllers
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,84 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
|
||||||
<qnx xmlns="http://www.qnx.com/schemas/application/1.0">
|
|
||||||
|
|
||||||
<!-- BlackBerry 10 application descriptor file.
|
|
||||||
|
|
||||||
Specifies parameters for identifying, installing, and launching native applications on BlackBerry 10.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!-- A universally unique application identifier. Must be unique across all BlackBerry 10 applications.
|
|
||||||
Using a reverse DNS-style name as the id is recommended. (Eg. com.example.ExampleApplication.) Required. -->
|
|
||||||
<id>com.example.RetroArch</id>
|
|
||||||
|
|
||||||
<!-- The name that is displayed in the BlackBerry 10 application installer.
|
|
||||||
May have multiple values for each language. See samples or xsd schema file. Optional. -->
|
|
||||||
<name>RetroArch</name>
|
|
||||||
|
|
||||||
<!-- A string value of the format <0-999>.<0-999>.<0-999> that represents application version which can be used to check for application upgrade.
|
|
||||||
Values can also be 1-part or 2-part. It is not necessary to have a 3-part value.
|
|
||||||
An updated version of application must have a versionNumber value higher than the previous version. Required. -->
|
|
||||||
<versionNumber>1.0.0</versionNumber>
|
|
||||||
|
|
||||||
<!-- Fourth digit segment of the package version. First three segments are taken from the
|
|
||||||
<versionNumber> element. Must be an integer from 0 to 2^16-1 -->
|
|
||||||
<buildId>2</buildId>
|
|
||||||
|
|
||||||
<!-- Description, displayed in the BlackBerry 10 application installer.
|
|
||||||
May have multiple values for each language. See samples or xsd schema file. Optional. -->
|
|
||||||
|
|
||||||
<!-- Name of author which is used for signing. Must match the developer name of your development certificate. -->
|
|
||||||
|
|
||||||
<initialWindow>
|
|
||||||
<autoOrients>true</autoOrients>
|
|
||||||
<systemChrome>none</systemChrome>
|
|
||||||
<transparent>false</transparent>
|
|
||||||
</initialWindow>
|
|
||||||
|
|
||||||
<!-- The category where the application appears. Either core.games or core.media. -->
|
|
||||||
<category>core.games</category>
|
|
||||||
<configuration name="Device-Debug">
|
|
||||||
<platformArchitecture>armle-v7</platformArchitecture>
|
|
||||||
<asset path="arm/o.le-v7-g/RetroArch-Cascades" entry="true" type="Qnx/Elf">RetroArch-Cascades</asset>
|
|
||||||
</configuration>
|
|
||||||
<configuration name="Device-Release">
|
|
||||||
<entryPointType>Qnx/Cascades</entryPointType>
|
|
||||||
<platformArchitecture>armle-v7</platformArchitecture>
|
|
||||||
<asset path="arm/o.le-v7/RetroArch-Cascades.so" entry="true" type="Qnx/Elf">RetroArch-Cascades.so</asset>
|
|
||||||
</configuration>
|
|
||||||
<configuration name="Device-Profile">
|
|
||||||
<platformArchitecture>armle-v7</platformArchitecture>
|
|
||||||
<asset path="arm-p/o.le-v7-g/RetroArch-Cascades" entry="true" type="Qnx/Elf">RetroArch-Cascades</asset>
|
|
||||||
</configuration>
|
|
||||||
|
|
||||||
<!-- The icon for the application, which should be 114x114. -->
|
|
||||||
<icon>
|
|
||||||
<image></image>
|
|
||||||
<image>icon.png</image>
|
|
||||||
</icon>
|
|
||||||
|
|
||||||
<!-- The splash screen that will appear when your application is launching. -->
|
|
||||||
<splashScreens>
|
|
||||||
<image></image>
|
|
||||||
<image></image>
|
|
||||||
</splashScreens>
|
|
||||||
|
|
||||||
<!-- Application assets -->
|
|
||||||
<asset path="../../retroarch.cfg">retroarch.cfg</asset>
|
|
||||||
<asset path="lib">lib</asset>
|
|
||||||
<asset path="../../media/overlays">overlays</asset>
|
|
||||||
<asset path="assets">assets</asset>
|
|
||||||
<asset path="assets/images/icon.png">icon.png</asset>
|
|
||||||
<asset path="../../apple/modules">lib</asset>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Bright theme is used for this application. -->
|
|
||||||
<cascadesTheme>dark</cascadesTheme>
|
|
||||||
|
|
||||||
<!-- Request permission to execute native code. Required for native applications. -->
|
|
||||||
<permission system="true">run_native</permission>
|
|
||||||
<permission>access_shared</permission>
|
|
||||||
<env var="LD_LIBRARY_PATH" value="app/native/lib:/usr/lib/qt4/lib"/>
|
|
||||||
|
|
||||||
|
|
||||||
</qnx>
|
|
Binary file not shown.
Before Width: | Height: | Size: 5.3 KiB |
@ -1,220 +0,0 @@
|
|||||||
#include <screen/screen.h>
|
|
||||||
#include <bps/screen.h>
|
|
||||||
#include <bps/navigator.h>
|
|
||||||
#include <bps/bps.h>
|
|
||||||
|
|
||||||
#include "ButtonMap.h"
|
|
||||||
#include "RetroArch-Cascades.h"
|
|
||||||
#include "../../../input/input_common.h"
|
|
||||||
#include "../../frontend_qnx.h"
|
|
||||||
|
|
||||||
ButtonMap::ButtonMap(screen_context_t screen_ctx, QString groupId, int coid)
|
|
||||||
{
|
|
||||||
int rc, usage, format, z;
|
|
||||||
screen_display_t screen_disp;
|
|
||||||
|
|
||||||
this->screen_cxt = screen_ctx;
|
|
||||||
this->groupId = groupId;
|
|
||||||
this->coid = coid;
|
|
||||||
|
|
||||||
usage = SCREEN_USAGE_NATIVE | SCREEN_USAGE_WRITE | SCREEN_USAGE_READ;
|
|
||||||
|
|
||||||
if(screen_create_window_type(&screen_win, screen_cxt, SCREEN_CHILD_WINDOW))
|
|
||||||
{
|
|
||||||
RARCH_ERR("ButtonMap: screen_create_window_type failed.\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
screen_join_window_group(screen_win, (const char *)groupId.toAscii().constData());
|
|
||||||
format = SCREEN_FORMAT_RGBA8888;
|
|
||||||
screen_set_window_property_iv(screen_win, SCREEN_PROPERTY_FORMAT, &format);
|
|
||||||
|
|
||||||
screen_set_window_property_iv(screen_win, SCREEN_PROPERTY_USAGE, &usage);
|
|
||||||
|
|
||||||
if (screen_get_window_property_pv(screen_win, SCREEN_PROPERTY_DISPLAY, (void **)&screen_disp))
|
|
||||||
{
|
|
||||||
RARCH_ERR("screen_get_window_property_pv [SCREEN_PROPERTY_DISPLAY] failed.\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (screen_get_display_property_iv(screen_disp, SCREEN_PROPERTY_SIZE, screen_resolution))
|
|
||||||
{
|
|
||||||
RARCH_ERR("screen_get_window_property_iv [SCREEN_PROPERTY_SIZE] failed.\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
rc = screen_set_window_property_iv(screen_win, SCREEN_PROPERTY_BUFFER_SIZE, screen_resolution);
|
|
||||||
if (rc)
|
|
||||||
perror("screen_set_window_property_iv");
|
|
||||||
|
|
||||||
z = -10;
|
|
||||||
if (screen_set_window_property_iv(screen_win, SCREEN_PROPERTY_ZORDER, &z) != 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
rc = screen_create_window_buffers(screen_win, 1);
|
|
||||||
if (rc)
|
|
||||||
perror("screen_create_window_buffers");
|
|
||||||
|
|
||||||
screen_get_window_property_pv(screen_win, SCREEN_PROPERTY_RENDER_BUFFERS, (void **)&screen_buf);
|
|
||||||
|
|
||||||
int bg[] = { SCREEN_BLIT_COLOR, 0x00000000,
|
|
||||||
SCREEN_BLIT_GLOBAL_ALPHA, 0x80,
|
|
||||||
SCREEN_BLIT_END };
|
|
||||||
screen_fill(screen_cxt, screen_buf, bg);
|
|
||||||
|
|
||||||
screen_post_window(screen_win, screen_buf, 1, screen_resolution, 0);
|
|
||||||
|
|
||||||
buttonDataModel = new ArrayDataModel();
|
|
||||||
|
|
||||||
refreshButtonMap(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
ButtonMap::~ButtonMap()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
QString ButtonMap::getLabel(int button)
|
|
||||||
{
|
|
||||||
return QString((uint)platform_keys[button].joykey);
|
|
||||||
}
|
|
||||||
|
|
||||||
int ButtonMap::mapNextButtonPressed()
|
|
||||||
{
|
|
||||||
int sym, z;
|
|
||||||
bps_event_t *event = NULL;
|
|
||||||
|
|
||||||
//use in frontend run loop, get key pressed back, and map
|
|
||||||
z = 10;
|
|
||||||
if (screen_set_window_property_iv(screen_win, SCREEN_PROPERTY_ZORDER, &z) != 0)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
screen_post_window(screen_win, screen_buf, 1, screen_resolution, 0);
|
|
||||||
|
|
||||||
while(1)
|
|
||||||
{
|
|
||||||
if (BPS_SUCCESS != bps_get_event(&event, -1))
|
|
||||||
{
|
|
||||||
fprintf(stderr, "bps_get_event failed\n");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (event)
|
|
||||||
{
|
|
||||||
int domain = bps_event_get_domain(event);
|
|
||||||
|
|
||||||
if (domain == screen_get_domain())
|
|
||||||
{
|
|
||||||
int screen_val;
|
|
||||||
screen_event_t screen_event = screen_event_get_event(event);
|
|
||||||
screen_get_event_property_iv(screen_event, SCREEN_PROPERTY_TYPE, &screen_val);
|
|
||||||
|
|
||||||
//TODO: Should we only let the buttons through that we are trying to map?
|
|
||||||
if(screen_val == SCREEN_EVENT_MTOUCH_TOUCH)
|
|
||||||
{
|
|
||||||
//This is touch screen event
|
|
||||||
sym = NO_BTN;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
else if(screen_val == SCREEN_EVENT_KEYBOARD)
|
|
||||||
{
|
|
||||||
screen_get_event_property_iv(screen_event, SCREEN_PROPERTY_KEY_SYM, &sym);
|
|
||||||
sym &= 0xFF;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
else if( (screen_val == SCREEN_EVENT_GAMEPAD) || (screen_val == SCREEN_EVENT_JOYSTICK) )
|
|
||||||
{
|
|
||||||
screen_get_event_property_iv(screen_event, SCREEN_PROPERTY_BUTTONS, &sym);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
z = -10;
|
|
||||||
if (screen_set_window_property_iv(screen_win, SCREEN_PROPERTY_ZORDER, &z) != 0)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
screen_post_window(screen_win, screen_buf, 1, screen_resolution, 0);
|
|
||||||
|
|
||||||
return (g_settings.input.binds[player][button].joykey = sym);
|
|
||||||
}
|
|
||||||
|
|
||||||
int ButtonMap::getButtonMapping(int player, int button)
|
|
||||||
{
|
|
||||||
return g_settings.input.binds[player][button].joykey;
|
|
||||||
}
|
|
||||||
|
|
||||||
void ButtonMap::mapDevice(int index, int player)
|
|
||||||
{
|
|
||||||
// stub - set keybinds
|
|
||||||
// stub_set_keybinds_call_here()
|
|
||||||
|
|
||||||
refreshButtonMap(player);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ButtonMap::refreshButtonMap(int player)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
QVariantMap map;
|
|
||||||
|
|
||||||
buttonDataModel->clear();
|
|
||||||
|
|
||||||
for (i=0; i < 16; ++i)
|
|
||||||
{
|
|
||||||
QString desc = QString(input_config_bind_map[i].desc);
|
|
||||||
int index = desc.indexOf("(");
|
|
||||||
if(index != -1)
|
|
||||||
{
|
|
||||||
desc.truncate(index);
|
|
||||||
}
|
|
||||||
|
|
||||||
map.insert("label",QVariant(desc));
|
|
||||||
map.insert("button", buttonToString(player, g_settings.input.binds[player][i].joykey));
|
|
||||||
map.insert("type", QVariant("item"));
|
|
||||||
map.insert("index", QVariant(i));
|
|
||||||
buttonDataModel->append(map);
|
|
||||||
}
|
|
||||||
|
|
||||||
map.insert("label",QVariant("RetroArch Menu"));
|
|
||||||
map.insert("button", buttonToString(player, g_settings.input.binds[player][RARCH_MENU_TOGGLE].joykey));
|
|
||||||
map.insert("type", QVariant("item"));
|
|
||||||
map.insert("index", QVariant(RARCH_MENU_TOGGLE));
|
|
||||||
buttonDataModel->append(map);
|
|
||||||
|
|
||||||
//Update device dropdown
|
|
||||||
if (deviceSelection)
|
|
||||||
{
|
|
||||||
if(port_device[player])
|
|
||||||
deviceSelection->setSelectedIndex(port_device[player]->index);
|
|
||||||
else
|
|
||||||
deviceSelection->resetSelectedIndex();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Button map
|
|
||||||
int ButtonMap::mapButton(int player, int button)
|
|
||||||
{
|
|
||||||
recv_msg msg;
|
|
||||||
msg.code = RETROARCH_BUTTON_MAP;
|
|
||||||
|
|
||||||
this->player = player;
|
|
||||||
this->button = button;
|
|
||||||
|
|
||||||
return MsgSend(coid, (void*)&msg, sizeof(msg), (void*)NULL, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
QString ButtonMap::buttonToString(int player, int button)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
if(g_settings.input.device[player] == DEVICE_KEYPAD || g_settings.input.device[player] == DEVICE_KEYBOARD)
|
|
||||||
return QString(button);
|
|
||||||
else
|
|
||||||
{
|
|
||||||
for(i = 0; i < 20; ++i)
|
|
||||||
{
|
|
||||||
if(platform_keys[i].joykey == (uint)button)
|
|
||||||
return QString(platform_keys[i].desc);
|
|
||||||
}
|
|
||||||
|
|
||||||
return (button!=NO_BTN) ? QString(button) : QString("Not Mapped");
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,62 +0,0 @@
|
|||||||
#ifndef _BUTTONMAP_H_
|
|
||||||
#define _BUTTONMAP_H_
|
|
||||||
|
|
||||||
#include <bb/cascades/Application>
|
|
||||||
#include <bb/cascades/ArrayDataModel>
|
|
||||||
#include <bb/cascades/DropDown>
|
|
||||||
|
|
||||||
#include <screen/screen.h>
|
|
||||||
#include <sys/neutrino.h>
|
|
||||||
#include "../../../general.h"
|
|
||||||
#include <file/config_file.h>
|
|
||||||
#include "../../../content.h"
|
|
||||||
|
|
||||||
/*
|
|
||||||
typedef struct {
|
|
||||||
int32_t button;
|
|
||||||
QString label;
|
|
||||||
} ButtonMap_t;
|
|
||||||
*/
|
|
||||||
|
|
||||||
using namespace bb::cascades;
|
|
||||||
|
|
||||||
class ButtonMap: public QObject
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
ButtonMap(screen_context_t screen_cxt, QString groupId, int coid);
|
|
||||||
~ ButtonMap();
|
|
||||||
|
|
||||||
QString getLabel(int button);
|
|
||||||
//pass in RARCH button enum for button, map to g_setting
|
|
||||||
int mapNextButtonPressed();
|
|
||||||
//Call in our RetroArch thread with seperate screen_cxt
|
|
||||||
int getButtonMapping(int player, int button);
|
|
||||||
//Call from frontend
|
|
||||||
int requestButtonMapping(screen_device_t device, int player, int button);
|
|
||||||
|
|
||||||
|
|
||||||
Q_INVOKABLE int mapButton(int player, int button);
|
|
||||||
Q_INVOKABLE QString buttonToString(int player, int button);
|
|
||||||
Q_INVOKABLE void refreshButtonMap(int player);
|
|
||||||
Q_INVOKABLE void mapDevice(int index, int player);
|
|
||||||
|
|
||||||
ArrayDataModel *buttonDataModel;
|
|
||||||
DropDown *deviceSelection;
|
|
||||||
|
|
||||||
private:
|
|
||||||
screen_context_t screen_cxt;
|
|
||||||
screen_window_t screen_win;
|
|
||||||
screen_buffer_t screen_buf;
|
|
||||||
screen_device_t device;
|
|
||||||
int player;
|
|
||||||
int button;
|
|
||||||
int screen_resolution[2];
|
|
||||||
QString groupId;
|
|
||||||
int coid;
|
|
||||||
|
|
||||||
//use g_settings.input.binds[port][i].joykey = SCREEN_* for mapping
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
@ -1,318 +0,0 @@
|
|||||||
#include "RetroArch-Cascades.h"
|
|
||||||
#include "../../../general.h"
|
|
||||||
#include <file/config_file.h>
|
|
||||||
#include "../../../content.h"
|
|
||||||
#include "../../../frontend/info/core_info.h"
|
|
||||||
|
|
||||||
#include "../../frontend_qnx.h"
|
|
||||||
|
|
||||||
#include <bb/cascades/Application>
|
|
||||||
#include <bb/cascades/AbsoluteLayoutProperties>
|
|
||||||
#include <bb/cascades/ForeignWindowControl>
|
|
||||||
#include <bb/cascades/AbstractPane>
|
|
||||||
#include <bb/cascades/QmlDocument>
|
|
||||||
#include <bb/cascades/Window>
|
|
||||||
#include <bb/cascades/pickers/FilePicker>
|
|
||||||
#include <bb/data/JsonDataAccess>
|
|
||||||
#include <bb/device/HardwareInfo>
|
|
||||||
#include <bb/cascades/ListView>
|
|
||||||
|
|
||||||
|
|
||||||
#include <screen/screen.h>
|
|
||||||
#include <bps/screen.h>
|
|
||||||
#include <bps/navigator.h>
|
|
||||||
#include <bps/bps.h>
|
|
||||||
|
|
||||||
#include <math.h>
|
|
||||||
#include <dirent.h>
|
|
||||||
#include <bb/cascades/DropDown>
|
|
||||||
|
|
||||||
using namespace bb::cascades;
|
|
||||||
using namespace bb::data;
|
|
||||||
using namespace bb::device;
|
|
||||||
|
|
||||||
extern screen_window_t screen_win;
|
|
||||||
extern screen_context_t screen_ctx;
|
|
||||||
|
|
||||||
RetroArch::RetroArch() :
|
|
||||||
QObject()
|
|
||||||
{
|
|
||||||
bool res;
|
|
||||||
QmlDocument *qml;
|
|
||||||
|
|
||||||
qmlRegisterType<bb::cascades::pickers::FilePicker>("bb.cascades.pickers", 1, 0, "FilePicker");
|
|
||||||
qmlRegisterUncreatableType<bb::cascades::pickers::FileType>("bb.cascades.pickers", 1, 0, "FileType", "");
|
|
||||||
|
|
||||||
// Create channel to signal threads on
|
|
||||||
chid = ChannelCreate(0);
|
|
||||||
coid = ConnectAttach(0, 0, chid, _NTO_SIDE_CHANNEL, 0);
|
|
||||||
|
|
||||||
res = connect(
|
|
||||||
OrientationSupport::instance(), SIGNAL(rotationCompleted()),
|
|
||||||
this, SLOT(onRotationCompleted()));
|
|
||||||
(void)res;
|
|
||||||
|
|
||||||
rarch_main_clear_state();
|
|
||||||
strlcpy(g_extern.config_path, "app/native/retroarch.cfg", sizeof(g_extern.config_path));
|
|
||||||
config_load();
|
|
||||||
strlcpy(g_settings.libretro, "app/native/lib", sizeof(g_settings.libretro));
|
|
||||||
g_extern.verbosity = 1;
|
|
||||||
coreSelectedIndex = -1;
|
|
||||||
|
|
||||||
//Stop config overwritting values
|
|
||||||
g_extern.block_config_read = true;
|
|
||||||
|
|
||||||
qml = QmlDocument::create("asset:///main.qml");
|
|
||||||
|
|
||||||
if (!qml->hasErrors())
|
|
||||||
{
|
|
||||||
qml->setContextProperty("RetroArch", this);
|
|
||||||
|
|
||||||
AbstractPane *mAppPane = qml->createRootObject<AbstractPane>();
|
|
||||||
|
|
||||||
if (mAppPane)
|
|
||||||
{
|
|
||||||
//Get core DropDown reference to populate it in C++
|
|
||||||
coreSelection = mAppPane->findChild<DropDown*>("dropdown_core");
|
|
||||||
connect(coreSelection, SIGNAL(selectedValueChanged(QVariant)), this, SLOT(onCoreSelected(QVariant)));
|
|
||||||
core_info_list = (core_info_list_t*)core_info_list_new(g_settings.libretro);
|
|
||||||
populateCores(core_info_list);
|
|
||||||
|
|
||||||
Application::instance()->setScene(mAppPane);
|
|
||||||
|
|
||||||
screen_create_context(&screen_ctx, 0);
|
|
||||||
input_qnx.init();
|
|
||||||
buttonMap = new ButtonMap(screen_ctx, (const char*)Application::instance()->mainWindow()->groupId().toAscii().constData(), coid);
|
|
||||||
qml->setContextProperty("ButtonMap", buttonMap);
|
|
||||||
|
|
||||||
deviceSelection = mAppPane->findChild<DropDown*>("dropdown_devices");
|
|
||||||
buttonMap->deviceSelection = deviceSelection;
|
|
||||||
findDevices();
|
|
||||||
|
|
||||||
//Setup the datamodel for button mapping.
|
|
||||||
mAppPane->findChild<ListView*>("buttonMapList")->setDataModel(buttonMap->buttonDataModel);
|
|
||||||
|
|
||||||
// Start the thread in which we render to the custom window.
|
|
||||||
start();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
RetroArch::~RetroArch()
|
|
||||||
{
|
|
||||||
core_info_list_free(core_info_list);
|
|
||||||
}
|
|
||||||
|
|
||||||
void RetroArch::run()
|
|
||||||
{
|
|
||||||
int rcvid = -1;
|
|
||||||
recv_msg msg;
|
|
||||||
|
|
||||||
bps_initialize();
|
|
||||||
|
|
||||||
if (screen_request_events(screen_ctx) != BPS_SUCCESS)
|
|
||||||
{
|
|
||||||
RARCH_ERR("screen_request_events failed.\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (navigator_request_events(0) != BPS_SUCCESS)
|
|
||||||
{
|
|
||||||
RARCH_ERR("navigator_request_events failed.\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (navigator_rotation_lock(false) != BPS_SUCCESS)
|
|
||||||
{
|
|
||||||
RARCH_ERR("navigator_location_lock failed.\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
while (true)
|
|
||||||
{
|
|
||||||
rcvid = MsgReceive(chid, &msg, sizeof(msg), 0);
|
|
||||||
|
|
||||||
if (rcvid > 0)
|
|
||||||
{
|
|
||||||
switch (msg.code)
|
|
||||||
{
|
|
||||||
case RETROARCH_START_REQUESTED:
|
|
||||||
{
|
|
||||||
char win_id[64];
|
|
||||||
MsgReply(rcvid,0,NULL,0);
|
|
||||||
|
|
||||||
if (screen_create_window_type(&screen_win, screen_ctx, SCREEN_CHILD_WINDOW) != BPS_SUCCESS)
|
|
||||||
{
|
|
||||||
RARCH_ERR("Screen create window failed.\n");
|
|
||||||
}
|
|
||||||
if (screen_join_window_group(screen_win, (const char*)Application::instance()->mainWindow()->groupId().toAscii().constData()) != BPS_SUCCESS)
|
|
||||||
{
|
|
||||||
RARCH_ERR("Screen join window group failed.\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
strlcpy(win_id, "RetroArch_Window", sizeof(win_id));
|
|
||||||
screen_set_window_property_cv(screen_win, SCREEN_PROPERTY_ID_STRING, strlen(win_id), win_id);
|
|
||||||
|
|
||||||
int z = 10;
|
|
||||||
if (screen_set_window_property_iv(screen_win, SCREEN_PROPERTY_ZORDER, &z) != 0) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
initRASettings();
|
|
||||||
|
|
||||||
rarch_main(0, NULL);
|
|
||||||
Application::instance()->exit();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
//The class should probably be it's own QThread, simplify things
|
|
||||||
case RETROARCH_BUTTON_MAP:
|
|
||||||
MsgReply(rcvid, buttonMap->mapNextButtonPressed(), NULL, 0);
|
|
||||||
break;
|
|
||||||
case RETROARCH_EXIT:
|
|
||||||
MsgReply(rcvid,0,NULL,0);
|
|
||||||
goto exit;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
exit:
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Properties
|
|
||||||
*/
|
|
||||||
QString RetroArch::getContent()
|
|
||||||
{
|
|
||||||
return content;
|
|
||||||
}
|
|
||||||
|
|
||||||
void RetroArch::setContent(QString content)
|
|
||||||
{
|
|
||||||
this->content = content;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString RetroArch::getCore()
|
|
||||||
{
|
|
||||||
return core;
|
|
||||||
}
|
|
||||||
|
|
||||||
void RetroArch::setCore(QString core)
|
|
||||||
{
|
|
||||||
this->core = core;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString RetroArch::getContentExtensions()
|
|
||||||
{
|
|
||||||
return contentExtensions;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Slots
|
|
||||||
*/
|
|
||||||
void RetroArch::onRotationCompleted()
|
|
||||||
{
|
|
||||||
if (OrientationSupport::instance()->orientation() == UIOrientation::Landscape)
|
|
||||||
{
|
|
||||||
if (state == RETROARCH_START_REQUESTED)
|
|
||||||
start();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void RetroArch::onCoreSelected(QVariant value)
|
|
||||||
{
|
|
||||||
coreSelectedIndex = value.toInt();
|
|
||||||
|
|
||||||
core.clear();
|
|
||||||
core.append(core_info_list->list[coreSelectedIndex].path);
|
|
||||||
emit coreChanged(core);
|
|
||||||
|
|
||||||
contentExtensions = QString("*.%1").arg(core_info_list->list[coreSelectedIndex].supported_extensions);
|
|
||||||
contentExtensions.replace("|", "|*.");
|
|
||||||
emit contentExtensionsChanged(contentExtensions);
|
|
||||||
|
|
||||||
qDebug() << "Core Selected: " << core;
|
|
||||||
qDebug() << "Supported Extensions: " << contentExtensions;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Functions
|
|
||||||
*/
|
|
||||||
void RetroArch::start()
|
|
||||||
{
|
|
||||||
state = RETROARCH_START_REQUESTED;
|
|
||||||
|
|
||||||
if (OrientationSupport::instance()->orientation() == UIOrientation::Portrait &&
|
|
||||||
OrientationSupport::instance()->supportedDisplayOrientation() != SupportedDisplayOrientation::DeviceNorth)
|
|
||||||
OrientationSupport::instance()->setSupportedDisplayOrientation(SupportedDisplayOrientation::DisplayLandscape);
|
|
||||||
else
|
|
||||||
{
|
|
||||||
recv_msg msg;
|
|
||||||
msg.code = RETROARCH_START_REQUESTED;
|
|
||||||
|
|
||||||
MsgSend(coid, (void*)&msg, sizeof(msg), (void*)NULL, 0);
|
|
||||||
|
|
||||||
state = RETROARCH_RUNNING;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void RetroArch::populateCores(core_info_list_t * info)
|
|
||||||
{
|
|
||||||
unsigned i;
|
|
||||||
Option *tmp;
|
|
||||||
|
|
||||||
//Populate DropDown
|
|
||||||
for (i = 0; i < info->count; ++i)
|
|
||||||
{
|
|
||||||
tmp = Option::create().text(QString(info->list[i].display_name))
|
|
||||||
.value(i);
|
|
||||||
|
|
||||||
coreSelection->add(tmp);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void RetroArch::findDevices()
|
|
||||||
{
|
|
||||||
unsigned i;
|
|
||||||
Option *tmp;
|
|
||||||
|
|
||||||
deviceSelection->removeAll();
|
|
||||||
|
|
||||||
//Find all connected devices
|
|
||||||
//Populate DropDown
|
|
||||||
for (i = 0; i < pads_connected; ++i)
|
|
||||||
{
|
|
||||||
tmp = Option::create().text(devices[i].device_name)
|
|
||||||
.value(i);
|
|
||||||
|
|
||||||
deviceSelection->add(tmp);
|
|
||||||
|
|
||||||
//QML shows player 1 by default, so set dropdown to their controller.
|
|
||||||
if(devices[i].port == 0 || devices[i].device == DEVICE_KEYPAD)
|
|
||||||
deviceSelection->setSelectedIndex(i);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
extern "C" void discoverControllers();
|
|
||||||
void RetroArch::discoverController(int player)
|
|
||||||
{
|
|
||||||
//TODO: Check device, gamepad/keyboard and return accordingly.
|
|
||||||
discoverControllers();
|
|
||||||
findDevices();
|
|
||||||
buttonMap->refreshButtonMap(player);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
void RetroArch::initRASettings()
|
|
||||||
{
|
|
||||||
HardwareInfo *hwInfo;
|
|
||||||
|
|
||||||
strlcpy(g_settings.libretro,(char *)core.toAscii().constData(), sizeof(g_settings.libretro));
|
|
||||||
strlcpy(g_extern.fullpath, (char *)content.toAscii().constData(), sizeof(g_extern.fullpath));
|
|
||||||
|
|
||||||
hwInfo = new HardwareInfo();
|
|
||||||
|
|
||||||
//If Physical keyboard or a device mapped to player 1, hide overlay
|
|
||||||
//TODO: Should there be a minimized/quick settings only overlay?
|
|
||||||
if(hwInfo->isPhysicalKeyboardDevice() || port_device[0])
|
|
||||||
*g_settings.input.overlay = '\0';
|
|
||||||
}
|
|
@ -1,95 +0,0 @@
|
|||||||
#ifndef _RETROARCHCASCADES_H_
|
|
||||||
#define _RETROARCHCASCADES_H_
|
|
||||||
|
|
||||||
#include <bb/cascades/Application>
|
|
||||||
#include <bb/cascades/DropDown>
|
|
||||||
#include <bb/cascades/OrientationSupport>
|
|
||||||
#include <QThread>
|
|
||||||
|
|
||||||
#include <screen/screen.h>
|
|
||||||
#include <sys/neutrino.h>
|
|
||||||
#include "ButtonMap.h"
|
|
||||||
#include "../../../frontend/info/core_info.h"
|
|
||||||
|
|
||||||
using namespace bb::cascades;
|
|
||||||
|
|
||||||
namespace bb
|
|
||||||
{
|
|
||||||
namespace cascades
|
|
||||||
{
|
|
||||||
class Page;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class RetroArch : public QObject
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
Q_PROPERTY(QString content READ getContent WRITE setContent NOTIFY contentChanged)
|
|
||||||
Q_PROPERTY(QString core READ getCore WRITE setCore NOTIFY coreChanged)
|
|
||||||
Q_PROPERTY(QString contentExtensions READ getContentExtensions NOTIFY contentExtensionsChanged)
|
|
||||||
|
|
||||||
public:
|
|
||||||
RetroArch();
|
|
||||||
~ RetroArch();
|
|
||||||
|
|
||||||
Q_INVOKABLE void start();
|
|
||||||
Q_INVOKABLE void findDevices();
|
|
||||||
Q_INVOKABLE void discoverController(int player);
|
|
||||||
void populateCores(core_info_list_t * info);
|
|
||||||
|
|
||||||
signals:
|
|
||||||
void contentChanged(QString);
|
|
||||||
void coreChanged(QString);
|
|
||||||
void contentExtensionsChanged(QString);
|
|
||||||
|
|
||||||
public slots:
|
|
||||||
void onRotationCompleted();
|
|
||||||
void onCoreSelected(QVariant);
|
|
||||||
|
|
||||||
private:
|
|
||||||
/**
|
|
||||||
* This QThread-run function runs the custom window rendering in a separate thread to avoid lag
|
|
||||||
* in the rest of the Cascades UI.
|
|
||||||
*/
|
|
||||||
void run();
|
|
||||||
|
|
||||||
QString content;
|
|
||||||
QString getContent();
|
|
||||||
void setContent(QString content);
|
|
||||||
|
|
||||||
QString core;
|
|
||||||
QString getCore();
|
|
||||||
void setCore(QString core);
|
|
||||||
|
|
||||||
QString contentExtensions;
|
|
||||||
QString getContentExtensions();
|
|
||||||
|
|
||||||
void initRASettings();
|
|
||||||
|
|
||||||
int chid, coid;
|
|
||||||
int state;
|
|
||||||
DropDown *coreSelection;
|
|
||||||
DropDown *deviceSelection;
|
|
||||||
QVariantMap coreInfo;
|
|
||||||
char **coreList;
|
|
||||||
int coreSelectedIndex;
|
|
||||||
core_info_list_t *core_info_list;
|
|
||||||
|
|
||||||
ButtonMap *buttonMap;
|
|
||||||
};
|
|
||||||
|
|
||||||
enum {
|
|
||||||
RETROARCH_RUNNING,
|
|
||||||
RETROARCH_START_REQUESTED,
|
|
||||||
RETROARCH_BUTTON_MAP,
|
|
||||||
RETROARCH_EXIT
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
typedef union {
|
|
||||||
_pulse pulse;
|
|
||||||
int code;
|
|
||||||
} recv_msg;
|
|
||||||
|
|
||||||
#endif
|
|
@ -1,19 +0,0 @@
|
|||||||
#include "RetroArch-Cascades.h"
|
|
||||||
#include <Qt/qdeclarativedebug.h>
|
|
||||||
|
|
||||||
using ::bb::cascades::Application;
|
|
||||||
|
|
||||||
Q_DECL_EXPORT int main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
Application app(argc, argv);
|
|
||||||
|
|
||||||
// Create the Application UI object, this is where the main.qml file
|
|
||||||
// is loaded and the application scene is set.
|
|
||||||
RetroArch appui;
|
|
||||||
|
|
||||||
// We complete the transaction started in the main application constructor and start the
|
|
||||||
// client event loop here. When loop is exited the Application deletes the scene which
|
|
||||||
// deletes all its children.
|
|
||||||
return Application::exec();
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
|||||||
QMAKE_TARGET = RetroArch-Cascades
|
|
||||||
LUPDATE = $(QNX_HOST)/usr/bin/lupdate
|
|
||||||
LRELEASE = $(QNX_HOST)/usr/bin/lrelease
|
|
||||||
|
|
||||||
update: $(QMAKE_TARGET).pro FORCE
|
|
||||||
$(LUPDATE) $(QMAKE_TARGET).pro
|
|
||||||
|
|
||||||
release: $(QMAKE_TARGET).pro $(QMAKE_TARGET).ts
|
|
||||||
$(LRELEASE) $(QMAKE_TARGET).pro
|
|
||||||
|
|
||||||
FORCE:
|
|
||||||
|
|
@ -1 +0,0 @@
|
|||||||
include (../RetroArch-Cascades.pro)
|
|
@ -1,4 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!DOCTYPE TS>
|
|
||||||
<TS version="2.0">
|
|
||||||
</TS>
|
|
Loading…
x
Reference in New Issue
Block a user