diff options
Diffstat (limited to 'demos/mobile/quickhit')
140 files changed, 0 insertions, 7293 deletions
diff --git a/demos/mobile/quickhit/Game.js b/demos/mobile/quickhit/Game.js deleted file mode 100644 index 40db422..0000000 --- a/demos/mobile/quickhit/Game.js +++ /dev/null @@ -1,180 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -var levelPlugin = null - -// --------------------------------------------------------------------------- -// hideMissiles -function hideMissiles() { - missile_1.stop() - missile_1.opacity = 0; - - missile_2.stop() - missile_2.opacity = 0; - - missile_3.stop() - missile_3.opacity = 0; - - missile_4.stop() - missile_4.opacity = 0; - - missile_5.stop() - missile_5.opacity = 0; - - enemy_missile_1.opacity = 0; - enemy_missile_2.opacity = 0; -} - -// --------------------------------------------------------------------------- -// GameOver -function gameOver() { - - // Stop GameEngine timers - GameEngine.enableEngineTimer(false) - - // Delete loaded plugin level - deleteLevel() - - // Hiding - myShip.opacity = 0 - btnPause.opacity = 0 -} - -// --------------------------------------------------------------------------- -// Pause game -function pauseGame(doPause) { - missile_1.pause(doPause) - missile_2.pause(doPause) - missile_3.pause(doPause) - missile_4.pause(doPause) - missile_5.pause(doPause) - enemy_missile_1.pause(doPause) - enemy_missile_2.pause(doPause) - - if (doPause) { - btnPause.opacity = 0 - } else { - btnPause.opacity = 1 - } - - GameEngine.pauseLevel(doPause) -} - -// --------------------------------------------------------------------------- -// Fire your missile -function fireMissile(aXpox, aFromYpos, aToYpos) { - if (missile_1.opacity<1) { - missile_1.fire(aXpox,aFromYpos,aToYpos) - } - else if (missile_2.opacity<1) { - missile_2.fire(aXpox,aFromYpos,aToYpos) - } - else if (missile_3.opacity<1) { - missile_3.fire(aXpox,aFromYpos,aToYpos) - } - else if (missile_4.opacity<1) { - missile_4.fire(aXpox,aFromYpos,aToYpos) - } - else if (missile_5.opacity<1) { - missile_5.fire(aXpox,aFromYpos,aToYpos) - } -} - -// --------------------------------------------------------------------------- -// Fire enemy missile -function fireEnemyMissile(aXpox, aFromYpos, aToYpos) { - if (enemy_missile_1.opacity==0) { - enemy_missile_1.enemyFire(aXpox,aFromYpos,aToYpos) - } - else if (enemy_missile_2.opacity==0) { - enemy_missile_2.enemyFire(aXpox,aFromYpos,aToYpos) - } -} - -// --------------------------------------------------------------------------- -// Create level QML component -function createLevel() { - console.log("Creating level "+LevelPlugin.qmlRootPath()+"Level.qml") - var levelComponent = Qt.createComponent("file:/"+LevelPlugin.qmlRootPath()+"Level.qml"); - if (levelComponent.status == Component.Ready) { - if (levelPlugin) { - deleteLevel() - } - levelPlugin = levelComponent.createObject(levelId); - if (levelPlugin != null) { - console.log("Level created") - } else { - console.log("Can not create level") - messageBox.showErrorMessage("ERROR: Can not create level!",6000) - return 1 - } - } else { - console.log("Can not find level, error:"+levelComponent.errorString()) - messageBox.showErrorMessage("ERROR: Can not find level!",6000) - return 1 - } - - missile_1.createGraphicsForLevel() - missile_1.setToDefaultPos() - missile_2.createGraphicsForLevel() - missile_2.setToDefaultPos() - missile_3.createGraphicsForLevel() - missile_3.setToDefaultPos() - missile_4.createGraphicsForLevel() - missile_4.setToDefaultPos() - missile_5.createGraphicsForLevel() - missile_5.setToDefaultPos() - enemy_missile_1.createGraphicsForLevel() - enemy_missile_2.createGraphicsForLevel() - myShip.createGraphicsForLevel() - - return 0 -} - -// --------------------------------------------------------------------------- -// Delete level -function deleteLevel() { - if (levelPlugin) { - GameEngine.clearQmlObjects() - levelPlugin.destroy() - - } - levelPlugin = null; -} diff --git a/demos/mobile/quickhit/InvSounds.cpp b/demos/mobile/quickhit/InvSounds.cpp deleted file mode 100644 index 7342ba2..0000000 --- a/demos/mobile/quickhit/InvSounds.cpp +++ /dev/null @@ -1,189 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "InvSounds.h" -#include <QDir> -#include <QDebug> - -using namespace GE; - -CInvSounds::CInvSounds(QObject *parent) : QObject( parent ) -{ - m_musicInstance = 0; - m_sounds = 0; - m_internalSounds = 0; - m_soundCount = 0; - m_internalSoundCount = 0; - - enableSounds(true); - - m_audioOut = new AudioOut( this, &m_mixer ); - - enableInternalSounds(); -} - -void CInvSounds::enableSounds(bool enable) -{ - if (enable) - m_mixer.setGeneralVolume(0.2f); - else - m_mixer.setGeneralVolume(0); -} - -void CInvSounds::enableInternalSounds() -{ - disableInternalSounds(); - - // Application internal sounda - m_internalSoundPaths.append(":/sound/menu1.wav"); - m_internalSoundPaths.append(":/sound/menu2.wav"); - m_internalSoundPaths.append(":/sound/gamestart.wav"); - m_internalSoundPaths.append(":/sound/gameover.wav"); - m_internalSoundPaths.append(":/sound/youwin.wav"); - - m_internalSoundCount = m_internalSoundPaths.count(); - m_internalSounds = new CAudioBuffer*[m_internalSoundCount]; - - // Load general application sounds - for (int ff=0; ff<m_internalSoundPaths.count(); ff++) { - m_internalSounds[ff] = CAudioBuffer::loadWav(m_internalSoundPaths[ff]); - } -} - -void CInvSounds::enableSounds(QStringList sounds) -{ - disableSounds(); - - // Sounds from the level - m_soundPaths = sounds; - m_soundCount = sounds.count(); - m_sounds = new CAudioBuffer*[m_soundCount]; - // Load level sounds - for (int f=0; f<m_soundPaths.count(); f++) { - m_sounds[f] = CAudioBuffer::loadWav(m_soundPaths[f]); - } - -} - -void CInvSounds::disableInternalSounds() -{ - for (int f=0; f<m_internalSoundCount; f++) { - if (m_internalSounds[f]) { - delete m_internalSounds[f]; - } - } - delete [] m_internalSounds; - m_internalSoundCount = 0; - m_internalSoundPaths.clear(); - - m_musicInstance = 0; -} - -void CInvSounds::disableSounds() -{ - for (int f=0; f<m_soundCount; f++) { - if (m_sounds[f]) { - delete m_sounds[f]; - } - } - delete [] m_sounds; - m_sounds = 0; - m_soundCount = 0; - m_soundPaths.clear(); - - m_musicInstance = 0; -} - -CInvSounds::~CInvSounds() { - if (m_audioOut) { - delete m_audioOut; - m_audioOut = 0; - } - - disableSounds(); - disableInternalSounds(); -} - - -void CInvSounds::beginMusicOn() { - m_musicInstance = (GE::CAudioBufferPlayInstance*)m_mixer.addAudioSource( new GE::CAudioBufferPlayInstance( m_sounds[0] ) ); - m_musicInstance->setLoopTimes(-1); -} - - -void CInvSounds::beginMusicOff() { - if (!m_musicInstance) return; - m_musicInstance->setLoopTimes(0); // stop when finished - m_musicInstance = 0; -}; - - -void CInvSounds::playSound(int index) { - if (index < m_soundCount && index > -1) { - m_sounds[index]->playWithMixer( m_mixer ); - } -} - -void CInvSounds::playSounds(int index, int count) -{ - if (index < m_soundCount && index > -1) { - CAudioBufferPlayInstance* i = m_sounds[index]->playWithMixer( m_mixer ); - i->setLoopTimes(count); - } -} - -void CInvSounds::playInternalSound(int index) { - if (index < m_internalSoundCount && index > -1) { - m_internalSounds[index]->playWithMixer( m_mixer ); - } -} - -void CInvSounds::playInternalSounds(int index, int count) -{ - if (index < m_internalSoundCount && index > -1) { - CAudioBufferPlayInstance* i = m_internalSounds[index]->playWithMixer( m_mixer ); - i->setLoopTimes(count); - } -} - -void CInvSounds::gameStartSound() { - CAudioBufferPlayInstance* i = m_internalSounds[2]->playWithMixer( m_mixer ); - i->setLoopTimes(2); -}; diff --git a/demos/mobile/quickhit/InvSounds.h b/demos/mobile/quickhit/InvSounds.h deleted file mode 100644 index 65422f2..0000000 --- a/demos/mobile/quickhit/InvSounds.h +++ /dev/null @@ -1,91 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef __CINVSOUNDS__ -#define __CINVSOUNDS__ - -#include <QObject> -#include <QStringList> - -#include "ga_src/GEAudioBuffer.h" -#include "ga_src/GEAudioOut.h" - -class CInvSounds : public QObject -{ - Q_OBJECT - -public: - CInvSounds(QObject *parent); - ~CInvSounds(); - - void enableInternalSounds(); - void enableSounds(QStringList sounds); - void disableInternalSounds(); - void disableSounds(); - - void beginMusicOn(); - void beginMusicOff(); - - void enableSounds(bool enable); - - - void gameStartSound(); - -public slots: - void playSound(int index); - void playSounds(int index, int count); - void playInternalSound(int index); - void playInternalSounds(int index, int count); - -protected: - QStringList m_soundPaths; - QStringList m_internalSoundPaths; - GE::CAudioBufferPlayInstance *m_musicInstance; - GE::CAudioMixer m_mixer; - GE::AudioOut *m_audioOut; - - GE::CAudioBuffer **m_sounds; - int m_soundCount; - - GE::CAudioBuffer **m_internalSounds; - int m_internalSoundCount; -}; - -#endif diff --git a/demos/mobile/quickhit/QuickHit.pro.user b/demos/mobile/quickhit/QuickHit.pro.user deleted file mode 100644 index 4713ff8..0000000 --- a/demos/mobile/quickhit/QuickHit.pro.user +++ /dev/null @@ -1,382 +0,0 @@ -<!DOCTYPE QtCreatorProject> -<qtcreator> - <data> - <variable>ProjectExplorer.Project.ActiveTarget</variable> - <value type="int">2</value> - </data> - <data> - <variable>ProjectExplorer.Project.EditorSettings</variable> - <valuemap type="QVariantMap"> - <value key="EditorConfiguration.Codec" type="QByteArray">Default</value> - </valuemap> - </data> - <data> - <variable>ProjectExplorer.Project.Target.0</variable> - <valuemap type="QVariantMap"> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Desktop</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Desktop</value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Target.DesktopTarget</value> - <value key="ProjectExplorer.Target.ActiveBuildConfiguration" type="int">0</value> - <value key="ProjectExplorer.Target.ActiveDeployConfiguration" type="int">0</value> - <value key="ProjectExplorer.Target.ActiveRunConfiguration" type="int">0</value> - <valuemap key="ProjectExplorer.Target.BuildConfiguration.0" type="QVariantMap"> - <valuemap key="ProjectExplorer.BuildConfiguration.BuildStepList.0" type="QVariantMap"> - <valuemap key="ProjectExplorer.BuildStepList.Step.0" type="QVariantMap"> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">qmake</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value> - <valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/> - <value key="QtProjectManager.QMakeBuildStep.QMakeForced" type="bool">false</value> - </valuemap> - <valuemap key="ProjectExplorer.BuildStepList.Step.1" type="QVariantMap"> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Make</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value> - <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value> - <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/> - <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value> - </valuemap> - <value key="ProjectExplorer.BuildStepList.StepsCount" type="int">2</value> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Build</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.BuildSteps.Build</value> - </valuemap> - <valuemap key="ProjectExplorer.BuildConfiguration.BuildStepList.1" type="QVariantMap"> - <valuemap key="ProjectExplorer.BuildStepList.Step.0" type="QVariantMap"> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Make</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value> - <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value> - <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"> - <value type="QString">clean</value> - </valuelist> - <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value> - </valuemap> - <value key="ProjectExplorer.BuildStepList.StepsCount" type="int">1</value> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Clean</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.BuildSteps.Clean</value> - </valuemap> - <value key="ProjectExplorer.BuildConfiguration.BuildStepListCount" type="int">2</value> - <value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value> - <valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Release</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value> - <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">0</value> - <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">/home/jpasion/gitorious/jpasions-qt-doc-team-qtquick/demos/mobile/QuickHit-build-desktop</value> - <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">4</value> - <value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">0</value> - <value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">true</value> - </valuemap> - <valuemap key="ProjectExplorer.Target.BuildConfiguration.1" type="QVariantMap"> - <valuemap key="ProjectExplorer.BuildConfiguration.BuildStepList.0" type="QVariantMap"> - <valuemap key="ProjectExplorer.BuildStepList.Step.0" type="QVariantMap"> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">qmake</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value> - <valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/> - <value key="QtProjectManager.QMakeBuildStep.QMakeForced" type="bool">false</value> - </valuemap> - <valuemap key="ProjectExplorer.BuildStepList.Step.1" type="QVariantMap"> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Make</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value> - <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value> - <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/> - <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value> - </valuemap> - <value key="ProjectExplorer.BuildStepList.StepsCount" type="int">2</value> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Build</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.BuildSteps.Build</value> - </valuemap> - <valuemap key="ProjectExplorer.BuildConfiguration.BuildStepList.1" type="QVariantMap"> - <valuemap key="ProjectExplorer.BuildStepList.Step.0" type="QVariantMap"> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Make</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value> - <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value> - <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"> - <value type="QString">clean</value> - </valuelist> - <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value> - </valuemap> - <value key="ProjectExplorer.BuildStepList.StepsCount" type="int">1</value> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Clean</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.BuildSteps.Clean</value> - </valuemap> - <value key="ProjectExplorer.BuildConfiguration.BuildStepListCount" type="int">2</value> - <value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value> - <valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Debug</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value> - <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">2</value> - <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">/home/jpasion/gitorious/jpasions-qt-doc-team-qtquick/demos/mobile/QuickHit-build-desktop</value> - <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">4</value> - <value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">0</value> - <value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">true</value> - </valuemap> - <value key="ProjectExplorer.Target.BuildConfigurationCount" type="int">2</value> - <valuemap key="ProjectExplorer.Target.DeployConfiguration.0" type="QVariantMap"> - <valuemap key="ProjectExplorer.BuildConfiguration.BuildStepList.0" type="QVariantMap"> - <value key="ProjectExplorer.BuildStepList.StepsCount" type="int">0</value> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Deploy</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.BuildSteps.Deploy</value> - </valuemap> - <value key="ProjectExplorer.BuildConfiguration.BuildStepListCount" type="int">1</value> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">No deployment</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.DefaultDeployConfiguration</value> - </valuemap> - <value key="ProjectExplorer.Target.DeployConfigurationCount" type="int">1</value> - <valuemap key="ProjectExplorer.Target.RunConfiguration.0" type="QVariantMap"> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">QuickHit</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4RunConfiguration</value> - <value key="Qt4ProjectManager.Qt4RunConfiguration.BaseEnvironmentBase" type="int">2</value> - <valuelist key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments" type="QVariantList"/> - <value key="Qt4ProjectManager.Qt4RunConfiguration.ProFile" type="QString">QuickHit.pro</value> - <value key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix" type="bool">false</value> - <value key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal" type="bool">false</value> - <valuelist key="Qt4ProjectManager.Qt4RunConfiguration.UserEnvironmentChanges" type="QVariantList"/> - <value key="Qt4ProjectManager.Qt4RunConfiguration.UserSetWorkingDirectory" type="bool">false</value> - <value key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory" type="QString"></value> - <value key="RunConfiguration.QmlDebugServerPort" type="uint">3768</value> - <value key="RunConfiguration.UseCppDebugger" type="bool">true</value> - <value key="RunConfiguration.UseQmlDebugger" type="bool">false</value> - </valuemap> - <value key="ProjectExplorer.Target.RunConfigurationCount" type="int">1</value> - </valuemap> - </data> - <data> - <variable>ProjectExplorer.Project.Target.1</variable> - <valuemap type="QVariantMap"> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Qt Simulator</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Qt Simulator</value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Target.QtSimulatorTarget</value> - <value key="ProjectExplorer.Target.ActiveBuildConfiguration" type="int">1</value> - <value key="ProjectExplorer.Target.ActiveDeployConfiguration" type="int">0</value> - <value key="ProjectExplorer.Target.ActiveRunConfiguration" type="int">0</value> - <valuemap key="ProjectExplorer.Target.BuildConfiguration.0" type="QVariantMap"> - <valuemap key="ProjectExplorer.BuildConfiguration.BuildStepList.0" type="QVariantMap"> - <valuemap key="ProjectExplorer.BuildStepList.Step.0" type="QVariantMap"> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">qmake</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value> - <valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/> - <value key="QtProjectManager.QMakeBuildStep.QMakeForced" type="bool">false</value> - </valuemap> - <valuemap key="ProjectExplorer.BuildStepList.Step.1" type="QVariantMap"> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Make</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value> - <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value> - <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/> - <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value> - </valuemap> - <value key="ProjectExplorer.BuildStepList.StepsCount" type="int">2</value> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Build</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.BuildSteps.Build</value> - </valuemap> - <valuemap key="ProjectExplorer.BuildConfiguration.BuildStepList.1" type="QVariantMap"> - <valuemap key="ProjectExplorer.BuildStepList.Step.0" type="QVariantMap"> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Make</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value> - <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value> - <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"> - <value type="QString">clean</value> - </valuelist> - <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value> - </valuemap> - <value key="ProjectExplorer.BuildStepList.StepsCount" type="int">1</value> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Clean</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.BuildSteps.Clean</value> - </valuemap> - <value key="ProjectExplorer.BuildConfiguration.BuildStepListCount" type="int">2</value> - <value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value> - <valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Release</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value> - <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">0</value> - <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">/home/jpasion/gitorious/jpasions-qt-doc-team-qtquick/demos/mobile/QuickHit-build-simulator</value> - <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">6</value> - <value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">0</value> - <value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">true</value> - </valuemap> - <valuemap key="ProjectExplorer.Target.BuildConfiguration.1" type="QVariantMap"> - <valuemap key="ProjectExplorer.BuildConfiguration.BuildStepList.0" type="QVariantMap"> - <valuemap key="ProjectExplorer.BuildStepList.Step.0" type="QVariantMap"> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">qmake</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value> - <valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/> - <value key="QtProjectManager.QMakeBuildStep.QMakeForced" type="bool">false</value> - </valuemap> - <valuemap key="ProjectExplorer.BuildStepList.Step.1" type="QVariantMap"> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Make</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value> - <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value> - <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/> - <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value> - </valuemap> - <value key="ProjectExplorer.BuildStepList.StepsCount" type="int">2</value> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Build</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.BuildSteps.Build</value> - </valuemap> - <valuemap key="ProjectExplorer.BuildConfiguration.BuildStepList.1" type="QVariantMap"> - <valuemap key="ProjectExplorer.BuildStepList.Step.0" type="QVariantMap"> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Make</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value> - <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value> - <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"> - <value type="QString">clean</value> - </valuelist> - <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value> - </valuemap> - <value key="ProjectExplorer.BuildStepList.StepsCount" type="int">1</value> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Clean</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.BuildSteps.Clean</value> - </valuemap> - <value key="ProjectExplorer.BuildConfiguration.BuildStepListCount" type="int">2</value> - <value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value> - <valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Debug</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value> - <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">2</value> - <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">/home/jpasion/gitorious/jpasions-qt-doc-team-qtquick/demos/mobile/QuickHit-build-simulator</value> - <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">6</value> - <value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">0</value> - <value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">true</value> - </valuemap> - <value key="ProjectExplorer.Target.BuildConfigurationCount" type="int">2</value> - <valuemap key="ProjectExplorer.Target.DeployConfiguration.0" type="QVariantMap"> - <valuemap key="ProjectExplorer.BuildConfiguration.BuildStepList.0" type="QVariantMap"> - <value key="ProjectExplorer.BuildStepList.StepsCount" type="int">0</value> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Deploy</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.BuildSteps.Deploy</value> - </valuemap> - <value key="ProjectExplorer.BuildConfiguration.BuildStepListCount" type="int">1</value> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">No deployment</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.DefaultDeployConfiguration</value> - </valuemap> - <value key="ProjectExplorer.Target.DeployConfigurationCount" type="int">1</value> - <valuemap key="ProjectExplorer.Target.RunConfiguration.0" type="QVariantMap"> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">QuickHit</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4RunConfiguration</value> - <value key="Qt4ProjectManager.Qt4RunConfiguration.BaseEnvironmentBase" type="int">2</value> - <valuelist key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments" type="QVariantList"/> - <value key="Qt4ProjectManager.Qt4RunConfiguration.ProFile" type="QString">QuickHit.pro</value> - <value key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix" type="bool">false</value> - <value key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal" type="bool">false</value> - <valuelist key="Qt4ProjectManager.Qt4RunConfiguration.UserEnvironmentChanges" type="QVariantList"/> - <value key="Qt4ProjectManager.Qt4RunConfiguration.UserSetWorkingDirectory" type="bool">false</value> - <value key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory" type="QString"></value> - <value key="RunConfiguration.QmlDebugServerPort" type="uint">3768</value> - <value key="RunConfiguration.UseCppDebugger" type="bool">true</value> - <value key="RunConfiguration.UseQmlDebugger" type="bool">false</value> - </valuemap> - <value key="ProjectExplorer.Target.RunConfigurationCount" type="int">1</value> - </valuemap> - </data> - <data> - <variable>ProjectExplorer.Project.Target.2</variable> - <valuemap type="QVariantMap"> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Remote Compiler</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Remote Compiler</value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Target.WccCompilerTarget</value> - <value key="ProjectExplorer.Target.ActiveBuildConfiguration" type="int">0</value> - <value key="ProjectExplorer.Target.ActiveDeployConfiguration" type="int">0</value> - <value key="ProjectExplorer.Target.ActiveRunConfiguration" type="int">0</value> - <valuemap key="ProjectExplorer.Target.BuildConfiguration.0" type="QVariantMap"> - <valuemap key="ProjectExplorer.BuildConfiguration.BuildStepList.0" type="QVariantMap"> - <valuemap key="ProjectExplorer.BuildStepList.Step.0" type="QVariantMap"> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.WccBuildStep</value> - <value key="Qt4ProjectManager.WccBuildStep.CertFile" type="QString"></value> - <value key="Qt4ProjectManager.WccBuildStep.CertKeyFile" type="QString"></value> - <value key="Qt4ProjectManager.WccBuildStep.CertKeyPass" type="QString"></value> - <value key="Qt4ProjectManager.WccBuildStep.PkgOpt" type="int">1</value> - <value key="Qt4ProjectManager.WccBuildStep.PostOp" type="int">1</value> - <value key="Qt4ProjectManager.WccBuildStep.QtVersion" type="QString">4_7_0_m1_0_2</value> - <value key="Qt4ProjectManager.WccBuildStep.SisOpt" type="int">1</value> - <value key="Qt4ProjectManager.WccBuildStep.Target" type="QString">maemo5</value> - </valuemap> - <value key="ProjectExplorer.BuildStepList.StepsCount" type="int">1</value> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Build</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.BuildSteps.Build</value> - </valuemap> - <valuemap key="ProjectExplorer.BuildConfiguration.BuildStepList.1" type="QVariantMap"> - <value key="ProjectExplorer.BuildStepList.StepsCount" type="int">0</value> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Clean</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.BuildSteps.Clean</value> - </valuemap> - <value key="ProjectExplorer.BuildConfiguration.BuildStepListCount" type="int">2</value> - <value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value> - <valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Remote Compiler</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value> - <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">0</value> - <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">/home/jpasion/gitorious/jpasions-qt-doc-team-qtquick/demos/mobile/QuickHit-build-remote</value> - <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">7</value> - <value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">12</value> - <value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">true</value> - </valuemap> - <value key="ProjectExplorer.Target.BuildConfigurationCount" type="int">1</value> - <valuemap key="ProjectExplorer.Target.DeployConfiguration.0" type="QVariantMap"> - <valuemap key="ProjectExplorer.BuildConfiguration.BuildStepList.0" type="QVariantMap"> - <value key="ProjectExplorer.BuildStepList.StepsCount" type="int">0</value> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Deploy</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.BuildSteps.Deploy</value> - </valuemap> - <value key="ProjectExplorer.BuildConfiguration.BuildStepListCount" type="int">1</value> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">No deployment</value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.DefaultDeployConfiguration</value> - </valuemap> - <value key="ProjectExplorer.Target.DeployConfigurationCount" type="int">1</value> - <valuemap key="ProjectExplorer.Target.RunConfiguration.0" type="QVariantMap"> - <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString"></value> - <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Remote Compiler - Empty Run Configuration</value> - <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.WccRunConfiguration</value> - <value key="Qt4ProjectManager.WccRunConfiguration.ProFile" type="QString">QuickHit.pro</value> - <value key="RunConfiguration.QmlDebugServerPort" type="uint">3768</value> - <value key="RunConfiguration.UseCppDebugger" type="bool">true</value> - <value key="RunConfiguration.UseQmlDebugger" type="bool">false</value> - </valuemap> - <value key="ProjectExplorer.Target.RunConfigurationCount" type="int">1</value> - </valuemap> - </data> - <data> - <variable>ProjectExplorer.Project.TargetCount</variable> - <value type="int">3</value> - </data> - <data> - <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable> - <value type="QString">{7d0e1b67-5eac-4464-8506-ed03165c2662}</value> - </data> - <data> - <variable>ProjectExplorer.Project.Updater.FileVersion</variable> - <value type="int">8</value> - </data> -</qtcreator> diff --git a/demos/mobile/quickhit/button.qml b/demos/mobile/quickhit/button.qml deleted file mode 100755 index 881a0e2..0000000 --- a/demos/mobile/quickhit/button.qml +++ /dev/null @@ -1,79 +0,0 @@ -/****************************************************************************** - * - * Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * Contact: Nokia Corporation (qt-info@nokia.com) - * - * $QT_BEGIN_LICENSE:BSD$ - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the author organization nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * $QT_END_LICENSE$ - * - *****************************************************************************/ - -import Qt 4.7 - -Item { - width: 30 - height: 30 - smooth: true - - property string buttonPath // for example "qrc:/gfx/exit.png" - property int buttonId: 0 - - signal btnClicked(int buttonId) - - property bool animationEnabled: true - - Image { - id: image - anchors.fill: parent - source: buttonPath - fillMode: Image.PreserveAspectFit - smooth: true - } - - SequentialAnimation { - id:anim - PropertyAction { target: image; property: "scale"; value:"0.7"} - PauseAnimation { duration: 200 } - PropertyAction { target: image; property: "scale"; value:"1.0"} - } - - Timer { - id: buttonPressedTimer - interval: 300; running: false; repeat: false - onTriggered: btnClicked(buttonId) - } - - MouseArea { - anchors.fill: parent - onPressed: { - if (animationEnabled && !anim.running) { - anim.restart() - } - buttonPressedTimer.restart() - } - } - -} diff --git a/demos/mobile/quickhit/debian/changelog b/demos/mobile/quickhit/debian/changelog deleted file mode 100644 index 226e172..0000000 --- a/demos/mobile/quickhit/debian/changelog +++ /dev/null @@ -1,11 +0,0 @@ -quickhit (1.1.0) unstable; urgency=low - - * First version - - -- Antonio Aloisio <antonio.aloisio@nokia.com> Wed, 5 Jan 2011 10:05:04 +0200 - -quickhit (1.0.0) unstable; urgency=low - - * First version - - -- Antonio Aloisio <antonio.aloisio@nokia.com> Tue, 19 Oct 2010 10:05:04 +0200 diff --git a/demos/mobile/quickhit/debian/compat b/demos/mobile/quickhit/debian/compat deleted file mode 100644 index 7f8f011..0000000 --- a/demos/mobile/quickhit/debian/compat +++ /dev/null @@ -1 +0,0 @@ -7 diff --git a/demos/mobile/quickhit/debian/control b/demos/mobile/quickhit/debian/control deleted file mode 100644 index 7253285..0000000 --- a/demos/mobile/quickhit/debian/control +++ /dev/null @@ -1,11 +0,0 @@ -Source: quickhit -Section: user/games -Priority: extra -Maintainer: Antonio Aloisio <antonio.aloisio@nokia.com> -Standards-Version: 3.7.2 - -Package: quickhit -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: QuickHit - Qt Quick Game example diff --git a/demos/mobile/quickhit/debian/copyright b/demos/mobile/quickhit/debian/copyright deleted file mode 100644 index b0aadaf..0000000 --- a/demos/mobile/quickhit/debian/copyright +++ /dev/null @@ -1,8 +0,0 @@ -This is quickhit, written and maintained by Forum Nokia Antonio Aloisio <antonio.aloisio@nokia.com> -on Tue, 19 Oct 2010 10:05:04 +0200 - - -Copyright Holder: Nokia (c) 2010 - -License: - diff --git a/demos/mobile/quickhit/debian/dirs b/demos/mobile/quickhit/debian/dirs deleted file mode 100644 index 80507f1..0000000 --- a/demos/mobile/quickhit/debian/dirs +++ /dev/null @@ -1,2 +0,0 @@ -usr/bin -usr/share/applications/hildon diff --git a/demos/mobile/quickhit/debian/postinst b/demos/mobile/quickhit/debian/postinst deleted file mode 100644 index 79fb6dd..0000000 --- a/demos/mobile/quickhit/debian/postinst +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -gtk-update-icon-cache -f /usr/share/icons/hicolor - -exit 0 diff --git a/demos/mobile/quickhit/debian/rules b/demos/mobile/quickhit/debian/rules deleted file mode 100644 index b485428..0000000 --- a/demos/mobile/quickhit/debian/rules +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/bin/make -f -# -*- makefile -*- -# Sample debian/rules that uses debhelper. -# This file was originally written by Joey Hess and Craig Small. -# As a special exception, when this file is copied by dh-make into a -# dh-make output file, you may use that output file without restriction. -# This special exception was added by Craig Small in version 0.37 of dh-make. - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - - -APPNAME := quickhit - - -configure: configure-stamp -configure-stamp: - dh_testdir - # Add here commands to configure the package. - - touch configure-stamp - - -build: build-stamp - -build-stamp: configure-stamp - dh_testdir - - # Add here commands to compile the package. - $(MAKE) - #docbook-to-man debian/$(APPNAME).sgml > $(APPNAME).1 - - touch $@ - -clean: - dh_testdir - dh_testroot - rm -f build-stamp configure-stamp - - # Add here commands to clean up after the build process. - $(MAKE) clean - - dh_clean - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - - # Add here commands to install the package into debian/$(APPNAME). - $(MAKE) INSTALL_ROOT="$(CURDIR)"/debian/$(APPNAME) install - - -# Build architecture-independent files here. -binary-indep: build install -# We have nothing to do by default. - -# Build architecture-dependent files here. -binary-arch: build install - dh_testdir - dh_testroot - dh_installchangelogs - dh_installdocs - dh_installexamples -# dh_install -# dh_installmenu -# dh_installdebconf -# dh_installlogrotate -# dh_installemacsen -# dh_installpam -# dh_installmime -# dh_python -# dh_installinit -# dh_installcron -# dh_installinfo - dh_installman - dh_link - # dh_strip - dh_compress - dh_fixperms -# dh_perl - dh_makeshlibs - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/demos/mobile/quickhit/freesound.org.licence.txt b/demos/mobile/quickhit/freesound.org.licence.txt deleted file mode 100644 index 8714ea0..0000000 --- a/demos/mobile/quickhit/freesound.org.licence.txt +++ /dev/null @@ -1,24 +0,0 @@ - -Sounds were loaded from www.freesound.org under Creative Commons Sampling Plus 1.0 license. - -Sounds were created by these nicknames: HardPCM, Matt_G, klankbeeld, steveygos93, joe93barlow, ljudman, Jovica, patchen, nthompson - -78677__joe93barlow__strike2.wav -47251__nthompson__rocket.wav -3378__patchen__Rhino_03.wav -3258__Jovica__Dronetail_02.wav -30351__Matt_G__Space_Fighter_Pass.wav -32954__HardPCM__Chip054.wav -32985__HardPCM__Alarm001.wav -33245__ljudman__grenade.wav -78678__joe93barlow__swing0.wav -80401__steveygos93__Explosion2.wav -109438__klankbeeld__intro_brass_01.wav - - - - - - - - diff --git a/demos/mobile/quickhit/ga_src/GEAudioBuffer.cpp b/demos/mobile/quickhit/ga_src/GEAudioBuffer.cpp deleted file mode 100644 index 7da9219..0000000 --- a/demos/mobile/quickhit/ga_src/GEAudioBuffer.cpp +++ /dev/null @@ -1,391 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <QDebug> -#include <math.h> -#include "GEAudioBuffer.h" - -using namespace GE; - - -struct SWavHeader { - char chunkID[4]; - unsigned int chunkSize; - char format[4]; - - unsigned char subchunk1id[4]; - unsigned int subchunk1size; - unsigned short audioFormat; - unsigned short nofChannels; - unsigned int sampleRate; - unsigned int byteRate; - - unsigned short blockAlign; - unsigned short bitsPerSample; - - unsigned char subchunk2id[4]; - unsigned int subchunk2size; - -}; - -CAudioBuffer::CAudioBuffer() { - m_data = 0; - m_dataLength = 0; - m_sampleFunction = 0; -}; - - -CAudioBuffer::~CAudioBuffer() { - reallocate(0); -} - -void CAudioBuffer::reallocate( int length ) { - if (m_data) delete [] ((char*)m_data); - m_dataLength = length; - if (m_dataLength>0) { - m_data = new char[ m_dataLength ]; - } else m_data = 0; -}; - - -CAudioBuffer* CAudioBuffer::loadWav( QString fileName ) { - QFile *wavFile = new QFile( fileName ); - - - if (wavFile->open(QIODevice::ReadOnly)) { - SWavHeader header; - - wavFile->read( header.chunkID, 4 ); - if (header.chunkID[0]!='R' || header.chunkID[1]!='I' || header.chunkID[2]!='F' || header.chunkID[3]!='F') return 0; // incorrect header - - wavFile->read( (char*)&header.chunkSize,4 ); - wavFile->read( (char*)&header.format,4 ); - - if (header.format[0]!='W' || header.format[1]!='A' || header.format[2]!='V' || header.format[3]!='E') return 0; // incorrect header - - wavFile->read( (char*)&header.subchunk1id,4 ); - if (header.subchunk1id[0]!='f' || header.subchunk1id[1]!='m' || header.subchunk1id[2]!='t' || header.subchunk1id[3]!=' ') return 0; // incorrect header - - wavFile->read( (char*)&header.subchunk1size,4 ); - wavFile->read( (char*)&header.audioFormat,2 ); - wavFile->read( (char*)&header.nofChannels,2 ); - wavFile->read( (char*)&header.sampleRate,4 ); - wavFile->read( (char*)&header.byteRate,4 ); - wavFile->read( (char*)&header.blockAlign,2 ); - wavFile->read( (char*)&header.bitsPerSample,2 ); - - qDebug() << fileName << " opened"; - - while (1) { - if (wavFile->read( (char*)&header.subchunk2id,4 ) != 4) return 0; - if (wavFile->read( (char*)&header.subchunk2size,4 ) != 4) return 0; - //int deb_size = header.subchunk2size; - //char tes[4]; - //memcpy(tes, header.subchunk2id, 4 ); - //if (header.subchunk2id[0]!='d' || header.subchunk2id[1]!='a' || header.subchunk2id[2]!='t' || header.subchunk2id[3]!='a') return 0; // incorrect header - if (header.subchunk2id[0]=='d' && header.subchunk2id[1]=='a' && header.subchunk2id[2]=='t' && header.subchunk2id[3]=='a') break; // found the data, chunk - // this was not the data-chunk. skip it - if (header.subchunk2size<1) return 0; // error in file - char *unused = new char[header.subchunk2size]; - wavFile->read( unused, header.subchunk2size ); - delete [] unused; - } - - - - // the data follows. - if (header.subchunk2size<1) return 0; - - CAudioBuffer *rval = new CAudioBuffer; - rval->m_nofChannels = header.nofChannels; - rval->m_bitsPerSample = header.bitsPerSample; - rval->m_samplesPerSec = header.sampleRate; - rval->m_signedData = 0; // where to know this? - rval->reallocate( header.subchunk2size ); - - wavFile->read( (char*)rval->m_data, header.subchunk2size ); - - // choose a good sampling function. - rval->m_sampleFunction = 0; - if (rval->m_nofChannels==1) { - if (rval->m_bitsPerSample == 8) rval->m_sampleFunction = sampleFunction8bitMono; - if (rval->m_bitsPerSample == 16) rval->m_sampleFunction = sampleFunction16bitMono; - } else { - if (rval->m_bitsPerSample == 8) rval->m_sampleFunction = sampleFunction8bitStereo; - if (rval->m_bitsPerSample == 16) rval->m_sampleFunction = sampleFunction16bitStereo; - } - - return rval; - - - } else { - qDebug() << fileName << " NOT opened"; - return 0; - } - - delete wavFile; -}; - - -CAudioBuffer* CAudioBuffer::loadWav( FILE *wavFile ) { - // read the header. - SWavHeader header; - fread( header.chunkID, 4, 1, wavFile ); - if (header.chunkID[0]!='R' || header.chunkID[1]!='I' || header.chunkID[2]!='F' || header.chunkID[3]!='F') return 0; // incorrect header - - fread( &header.chunkSize, 4, 1, wavFile ); - fread( header.format, 4, 1, wavFile ); - if (header.format[0]!='W' || header.format[1]!='A' || header.format[2]!='V' || header.format[3]!='E') return 0; // incorrect header - - fread( header.subchunk1id, 4, 1, wavFile ); - if (header.subchunk1id[0]!='f' || header.subchunk1id[1]!='m' || header.subchunk1id[2]!='t' || header.subchunk1id[3]!=' ') return 0; // incorrect header - - fread( &header.subchunk1size, 4, 1, wavFile ); - fread( &header.audioFormat, 2, 1, wavFile ); - fread( &header.nofChannels, 2, 1, wavFile ); - fread( &header.sampleRate, 4, 1, wavFile ); - fread( &header.byteRate, 4, 1, wavFile ); - - fread( &header.blockAlign, 2, 1, wavFile ); - fread( &header.bitsPerSample, 2, 1, wavFile ); - - fread( header.subchunk2id, 4, 1, wavFile ); - if (header.subchunk2id[0]!='d' || header.subchunk2id[1]!='a' || header.subchunk2id[2]!='t' || header.subchunk2id[3]!='a') return 0; // incorrect header - fread( &header.subchunk2size, 4, 1, wavFile ); - - - // the data follows. - if (header.subchunk2size<1) return 0; - - CAudioBuffer *rval = new CAudioBuffer; - rval->m_nofChannels = header.nofChannels; - rval->m_bitsPerSample = header.bitsPerSample; - rval->m_samplesPerSec = header.sampleRate; - rval->m_signedData = 0; // where to know this? - rval->reallocate( header.subchunk2size ); - - fread( rval->m_data, 1, header.subchunk2size, wavFile ); - - - - // choose a good sampling function. - rval->m_sampleFunction = 0; - if (rval->m_nofChannels==1) { - if (rval->m_bitsPerSample == 8) rval->m_sampleFunction = sampleFunction8bitMono; - if (rval->m_bitsPerSample == 16) rval->m_sampleFunction = sampleFunction16bitMono; - } else { - if (rval->m_bitsPerSample == 8) rval->m_sampleFunction = sampleFunction8bitStereo; - if (rval->m_bitsPerSample == 16) rval->m_sampleFunction = sampleFunction16bitStereo; - } - - return rval; -}; - - - -AUDIO_SAMPLE_TYPE CAudioBuffer::sampleFunction8bitMono( CAudioBuffer *abuffer, int pos, int channel ) { - return (AUDIO_SAMPLE_TYPE)(((unsigned char*)(abuffer->m_data))[pos]-128)<<8; -}; - -AUDIO_SAMPLE_TYPE CAudioBuffer::sampleFunction16bitMono( CAudioBuffer *abuffer, int pos, int channel ) { - return (AUDIO_SAMPLE_TYPE)(((short*)(abuffer->m_data))[pos]); -}; - -AUDIO_SAMPLE_TYPE CAudioBuffer::sampleFunction8bitStereo( CAudioBuffer *abuffer, int pos, int channel ) { - return ((AUDIO_SAMPLE_TYPE)(((char*)(abuffer->m_data))[pos*abuffer->m_nofChannels + channel])<<8); -}; - - -AUDIO_SAMPLE_TYPE CAudioBuffer::sampleFunction16bitStereo( CAudioBuffer *abuffer, int pos, int channel ) { - return (AUDIO_SAMPLE_TYPE)(((short*)(abuffer->m_data))[pos*abuffer->m_nofChannels + channel]); -}; - -CAudioBufferPlayInstance *CAudioBuffer::playWithMixer( CAudioMixer &mixer ) { - CAudioBufferPlayInstance *i = (CAudioBufferPlayInstance*)mixer.addAudioSource( new CAudioBufferPlayInstance( this )); - return i; -}; - - -CAudioBufferPlayInstance::CAudioBufferPlayInstance() { - m_fixedPos = 0; - m_fixedInc = 0; - m_buffer = 0; - m_fixedLeftVolume = 4096; - m_fixedRightVolume = 4096; - m_destroyWhenFinished = true; - m_finished = false; -}; - -CAudioBufferPlayInstance::CAudioBufferPlayInstance( CAudioBuffer *startPlaying ) { - m_fixedPos = 0; - m_fixedInc = 0; - m_fixedLeftVolume = 4096; - m_fixedRightVolume = 4096; - m_destroyWhenFinished = true; - m_finished = false; - playBuffer( startPlaying, 1.0f, 1.0f ); -}; - -void CAudioBufferPlayInstance::playBuffer( CAudioBuffer *startPlaying, float volume, float speed, int loopTimes ) { - m_buffer = startPlaying; - m_fixedLeftVolume = (int)(4096.0f*volume); - m_fixedRightVolume = m_fixedLeftVolume; - m_fixedPos = 0; - //m_fixedInc = ( startPlaying->getSamplesPerSec() * (int)(4096.0f*speed)) / AUDIO_FREQUENCY; - setSpeed( speed ); - m_loopTimes = loopTimes; - -}; - -CAudioBufferPlayInstance::~CAudioBufferPlayInstance() { - -}; - - -void CAudioBufferPlayInstance::stop() { - m_buffer = 0; - m_finished = true; -}; - -void CAudioBufferPlayInstance::setSpeed( float speed ) { - if (!m_buffer) return; - m_fixedInc = (int)( ((float)m_buffer->getSamplesPerSec() * 4096.0f*speed) / (float)AUDIO_FREQUENCY ); -}; - -void CAudioBufferPlayInstance::setLeftVolume( float vol ) { - m_fixedLeftVolume = (int)(4096.0f*vol); -}; - -void CAudioBufferPlayInstance::setRightVolume( float vol ) { - m_fixedRightVolume = (int)(4096.0f*vol); -}; - -bool CAudioBufferPlayInstance::canBeDestroyed() { - if (m_finished==true && - m_destroyWhenFinished==true) return true; else return false; -}; - - - -// Does not do any bound-checking. Must be checked before called. -int CAudioBufferPlayInstance::mixBlock( AUDIO_SAMPLE_TYPE *target, int samplesToMix ) { - SAMPLE_FUNCTION_TYPE sampleFunction = m_buffer->getSampleFunction(); - if (!sampleFunction) return 0; // unsupported sampletype - AUDIO_SAMPLE_TYPE *t_target = target+samplesToMix*2; - int sourcepos; - //int tempCounter = 0; - - if (m_buffer->getNofChannels() == 2) { // stereo - while (target!=t_target) { - sourcepos = m_fixedPos>>12; - target[0] = (((((sampleFunction)( m_buffer, sourcepos, 0) * (4096-(m_fixedPos&4095)) + (sampleFunction)( m_buffer, sourcepos+1, 0) * (m_fixedPos&4095) ) >> 12) * m_fixedLeftVolume) >> 12); - target[1] = (((((sampleFunction)( m_buffer, sourcepos, 1) * (4096-(m_fixedPos&4095)) + (sampleFunction)( m_buffer, sourcepos+1, 1) * (m_fixedPos&4095) ) >> 12) * m_fixedRightVolume) >> 12); - m_fixedPos+=m_fixedInc; - target+=2; - //tempCounter++; - }; - } else { // mono - int temp; - while (target!=t_target) { - sourcepos = m_fixedPos>>12; - temp = (((sampleFunction)( m_buffer, sourcepos, 0 ) * (4096-(m_fixedPos&4095)) + (sampleFunction)( m_buffer, sourcepos+1, 0 ) * (m_fixedPos&4095) ) >> 12); - target[0] = ((temp*m_fixedLeftVolume)>>12); - target[1] = ((temp*m_fixedRightVolume)>>12); - m_fixedPos+=m_fixedInc; - target+=2; - //tempCounter++; - }; - - }; - - return samplesToMix; -}; - - - -int CAudioBufferPlayInstance::pullAudio( AUDIO_SAMPLE_TYPE *target, int bufferLength ) { - if (!m_buffer) return 0; // no sample associated to mix.. - - int channelLength = ((m_buffer->getDataLength()) / (m_buffer->getNofChannels()*m_buffer->getBytesPerSample()))-2; - - int samplesToWrite = bufferLength/2; - int amount; - int totalMixed = 0; - - - while (samplesToWrite>0) { - int samplesLeft = channelLength - (m_fixedPos>>12); - int maxMixAmount = (int)(((long long int)(samplesLeft)<<12) / m_fixedInc ); // This is how much we can mix at least - //int maxMixAmount = (int)((float)samplesLeft / ((float)m_fixedInc/4096.0f)); - //if (maxMixAmount<1) maxMixAmount = 1; // NOTE, THIS MIGHT CAUSE PROBLEMS. NEEDS CHECKING - if (maxMixAmount>samplesToWrite) { - maxMixAmount=samplesToWrite; - } - - if (maxMixAmount > 0) { - amount=mixBlock(target+totalMixed * 2, maxMixAmount); - - if (amount == 0) - { - // Error! - break; - } - - totalMixed+=amount; - } else { - amount = 0; - m_fixedPos = channelLength<<12; - } - - // sample is ended,.. check the looping variables and see what to do. - if ((m_fixedPos>>12)>=channelLength) { - m_fixedPos -= (channelLength<<12); - if (m_loopTimes>0) m_loopTimes--; - if (m_loopTimes==0) { - stop(); - return totalMixed; - } - } - - samplesToWrite-=amount; - if (samplesToWrite<1) break; - }; - return totalMixed*2; -}; diff --git a/demos/mobile/quickhit/ga_src/GEAudioBuffer.h b/demos/mobile/quickhit/ga_src/GEAudioBuffer.h deleted file mode 100644 index 5fe5f00..0000000 --- a/demos/mobile/quickhit/ga_src/GEAudioBuffer.h +++ /dev/null @@ -1,137 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef __GE_IGA_AUDIOBUFFER__ -#define __GE_IGA_AUDIOBUFFER__ - -#include <QFile> -#include "GEInterfaces.h" - - -namespace GE { - - class CAudioBufferPlayInstance; - class CAudioBuffer; // forward declaration - typedef AUDIO_SAMPLE_TYPE(*SAMPLE_FUNCTION_TYPE)(CAudioBuffer *abuffer, int pos, int channel); - - class CAudioBuffer { // container for a sound - public: - CAudioBuffer(); - virtual ~CAudioBuffer(); - - static CAudioBuffer* loadWav( QString fileName ); - static CAudioBuffer* loadWav( FILE *wavFile ); // support for stdio - void reallocate( int length ); - - - inline void* getRawData() { return m_data; } - inline int getDataLength() { return m_dataLength; } - - inline int getBytesPerSample() { return (m_bitsPerSample>>3); } - inline int getBitsPerSample() { return m_bitsPerSample; } - inline int getSamplesPerSec() { return m_samplesPerSec; } - inline short getNofChannels() { return m_nofChannels; } - inline SAMPLE_FUNCTION_TYPE getSampleFunction() { return m_sampleFunction; } - - - // static implementations of sample functions - static AUDIO_SAMPLE_TYPE sampleFunction8bitMono( CAudioBuffer *abuffer, int pos, int channel ); - static AUDIO_SAMPLE_TYPE sampleFunction16bitMono( CAudioBuffer *abuffer, int pos, int channel ); - static AUDIO_SAMPLE_TYPE sampleFunction8bitStereo( CAudioBuffer *abuffer, int pos, int channel ); - static AUDIO_SAMPLE_TYPE sampleFunction16bitStereo( CAudioBuffer *abuffer, int pos, int channel ); - - CAudioBufferPlayInstance *playWithMixer( GE::CAudioMixer &mixer ); - - protected: - SAMPLE_FUNCTION_TYPE m_sampleFunction; - short m_nofChannels; - void *m_data; - int m_dataLength; // in bytes - short m_bitsPerSample; - bool m_signedData; - int m_samplesPerSec; - }; - - - - class CAudioBufferPlayInstance : public IAudioSource { - public: - CAudioBufferPlayInstance(); - CAudioBufferPlayInstance( CAudioBuffer *start_playing ); - virtual ~CAudioBufferPlayInstance(); - void playBuffer( CAudioBuffer *startPlaying, float volume, float fixedSpeed, int loopTimes = 0 ); // looptimes -1 = loop forever - - void setSpeed( float speed ); - void setLeftVolume( float lvol ); - void setRightVolume( float rvol ); - - - inline void setLoopTimes( int ltimes ) { m_loopTimes = ltimes; } - void stop(); - - - - int pullAudio( AUDIO_SAMPLE_TYPE *target, int bufferLength ); - bool canBeDestroyed(); - - bool isPlaying() { if (m_buffer) return true; else return false; } - inline bool isFinished() { return m_finished; } - inline bool destroyWhenFinished() { return m_destroyWhenFinished; } - inline void setDestroyWhenFinished( bool set ) { m_destroyWhenFinished = set; } - - protected: - int mixBlock( AUDIO_SAMPLE_TYPE *target, int bufferLength ); - bool m_finished; - bool m_destroyWhenFinished; - int m_fixedPos; - int m_fixedInc; - - int m_fixedLeftVolume; - int m_fixedRightVolume; - int m_fixedCenter; - int m_loopTimes; - CAudioBuffer *m_buffer; - }; - -}; - - - -#endif diff --git a/demos/mobile/quickhit/ga_src/GEAudioOut.cpp b/demos/mobile/quickhit/ga_src/GEAudioOut.cpp deleted file mode 100644 index 73a765c..0000000 --- a/demos/mobile/quickhit/ga_src/GEAudioOut.cpp +++ /dev/null @@ -1,144 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <QtCore/qstring.h> -#include <QAudioOutput> - -#include "GEAudioOut.h" - -using namespace GE; -//using namespace QTM_NAMESPACE; - -/* -#ifndef Q_OS_WIN32 -QTM_USE_NAMESPACE -#endif -*/ - -const int CHANNELS = 2; -const QString CODEC = "audio/pcm"; -const QAudioFormat::Endian BYTEORDER = QAudioFormat::LittleEndian; -const QAudioFormat::SampleType SAMTYPE = QAudioFormat::SignedInt; - - - -AudioOut::AudioOut( QObject *parent, GE::IAudioSource *source ) : QThread(parent) { // qobject - m_source = source; - QAudioFormat format; - format.setFrequency(AUDIO_FREQUENCY); - format.setChannels(CHANNELS); - format.setSampleSize(AUDIO_SAMPLE_BITS); - format.setCodec(CODEC); - format.setByteOrder(BYTEORDER); - format.setSampleType(SAMTYPE); - - QAudioDeviceInfo info(QAudioDeviceInfo::defaultOutputDevice()); - if (!info.isFormatSupported(format)) - format = info.nearestFormat(format); - - - m_audioOutput = new QAudioOutput(info,format); - -#ifdef Q_WS_MAEMO_5 - m_audioOutput->setBufferSize(20000); - m_sendBufferSize = 5000; -#else - m_audioOutput->setBufferSize(16000); - m_sendBufferSize = 4000; -#endif - - m_outTarget = m_audioOutput->start(); - - - m_sendBuffer = new AUDIO_SAMPLE_TYPE[ m_sendBufferSize ]; - m_samplesMixed = 0; - - m_runstate=0; - -#ifndef Q_OS_SYMBIAN - start(); -#else - m_audioOutput->setNotifyInterval(5); - connect(m_audioOutput,SIGNAL(notify()),SLOT(audioNotify())); -#endif - -}; - - -AudioOut::~AudioOut() { - if (m_runstate==0) m_runstate = 1; - if (QThread::isRunning() == false) m_runstate = 2; - while (m_runstate!=2) { msleep(50); } // wait until the thread is finished - m_audioOutput->stop(); - delete m_audioOutput; - delete [] m_sendBuffer; -}; - - -void AudioOut::audioNotify() { - tick(); -}; - -void AudioOut::tick() { - // fill data to buffer as much as free space is available.. - int samplesToWrite = m_audioOutput->bytesFree() / (CHANNELS*AUDIO_SAMPLE_BITS/8); - samplesToWrite*=2; - - if (samplesToWrite > m_sendBufferSize) samplesToWrite = m_sendBufferSize; - if (samplesToWrite<=0) return; - int mixedSamples = m_source->pullAudio( m_sendBuffer, samplesToWrite ); - m_outTarget->write( (char*)m_sendBuffer, mixedSamples*2 ); - -}; - - -void AudioOut::run() { - if (!m_source) { m_runstate=2; return; } - int sleepTime = m_sendBufferSize * 340 / AUDIO_FREQUENCY; - if (sleepTime<2) sleepTime = 2; - - while (m_runstate==0) { - tick(); - msleep(sleepTime); - }; - m_runstate = 2; -}; - - diff --git a/demos/mobile/quickhit/ga_src/GEAudioOut.h b/demos/mobile/quickhit/ga_src/GEAudioOut.h deleted file mode 100644 index dc1f744..0000000 --- a/demos/mobile/quickhit/ga_src/GEAudioOut.h +++ /dev/null @@ -1,89 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef __GE_QTAUDIOOUT__ -#define __GE_QTAUDIOOUT__ - -#include <QtCore/qobject.h> -#include <QtCore/qfile.h> -#include <QtMultimedia> -#include <QtCore/qtimer.h> -#include <QtCore/qstring.h> -#include <QThread> - -#include "GEInterfaces.h" - - -class QAudioOutput; - -namespace GE { - - - - class AudioOut : public QThread { - Q_OBJECT - - public: - AudioOut(QObject *parent, GE::IAudioSource *source); - virtual ~AudioOut(); - - - - private slots: - void audioNotify(); // for internal notify "solution" - - - protected: - void tick(); - virtual void run(); // this is for the threaded mode only - - - qint64 m_samplesMixed; - - QAudioOutput *m_audioOutput; - QIODevice *m_outTarget; - GE::IAudioSource *m_source; - int m_runstate; - AUDIO_SAMPLE_TYPE *m_sendBuffer; - int m_sendBufferSize; - }; -} - -#endif diff --git a/demos/mobile/quickhit/ga_src/GEInterfaces.cpp b/demos/mobile/quickhit/ga_src/GEInterfaces.cpp deleted file mode 100644 index a71f738..0000000 --- a/demos/mobile/quickhit/ga_src/GEInterfaces.cpp +++ /dev/null @@ -1,177 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <memory.h> -#include "GEInterfaces.h" - - -using namespace GE; - -/** - * CAudioSource - * common functionality - * - */ -IAudioSource::IAudioSource() { - m_next = 0; -}; - -IAudioSource::~IAudioSource() { - - -}; - -/** - * CAudioMixer - * - */ -CAudioMixer::CAudioMixer() { - m_sourceList = 0; - m_mixingBuffer = 0; - m_mixingBufferLength = 0; - m_fixedGeneralVolume = 4096; -}; - - -CAudioMixer::~CAudioMixer() { - destroyList(); - if (m_mixingBuffer) { - delete [] m_mixingBuffer; - m_mixingBuffer = 0; - }; -}; - -void CAudioMixer::destroyList() { - m_mutex.lock(); - IAudioSource *l = m_sourceList; - while (l) { - IAudioSource *n = l->m_next; - delete l; - l = n; - }; - m_sourceList = 0; - m_mutex.unlock(); -}; - - -IAudioSource* CAudioMixer::addAudioSource( IAudioSource *source ) { - m_mutex.lock(); - source->m_next = 0; - if (m_sourceList) { - IAudioSource *l = m_sourceList; - while (l->m_next) l = l->m_next; - l->m_next = source; - } else m_sourceList = source; - m_mutex.unlock(); - return source; - -}; - - -bool CAudioMixer::removeAudioSource( IAudioSource *source ) { - return true; -}; - -void CAudioMixer::setGeneralVolume( float vol ) { - m_fixedGeneralVolume = (4096.0f*vol); -}; - -int CAudioMixer::pullAudio( AUDIO_SAMPLE_TYPE *target, int bufferLength ) { - - if (!m_sourceList) return 0; - - m_mutex.lock(); - - - if (m_mixingBufferLength<bufferLength) { - if (m_mixingBuffer) delete [] m_mixingBuffer; - m_mixingBufferLength = bufferLength; - m_mixingBuffer = new AUDIO_SAMPLE_TYPE[ m_mixingBufferLength ]; - }; - - memset( target, 0, sizeof( AUDIO_SAMPLE_TYPE ) * bufferLength ); - - AUDIO_SAMPLE_TYPE *t; - AUDIO_SAMPLE_TYPE *t_target; - AUDIO_SAMPLE_TYPE *s; - - IAudioSource *prev = 0; - IAudioSource *l = m_sourceList; - while (l) { - IAudioSource *next = l->m_next; - - // process l - int mixed = l->pullAudio( m_mixingBuffer, bufferLength ); - if (mixed>0) { - // mix to main.. - t = target; - t_target = t+mixed; - s = m_mixingBuffer; - while (t!=t_target) { - *t +=(((*s)*m_fixedGeneralVolume)>>12); - t++; - s++; - }; - }; - - - - // autodestroy - if (l->canBeDestroyed() == true) { // NOTE, IS UNDER TESTING,... MIGHT CAUSE UNPREDICTABLE CRASHING WITH SOME USE CASES!!! - if (!prev) - m_sourceList = next; - else prev->m_next = next; - delete l; - l = 0; - }; - - - - - prev = l; - l = next; - }; - m_mutex.unlock(); - return bufferLength; -}; - - - - diff --git a/demos/mobile/quickhit/ga_src/GEInterfaces.h b/demos/mobile/quickhit/ga_src/GEInterfaces.h deleted file mode 100644 index 7abd984..0000000 --- a/demos/mobile/quickhit/ga_src/GEInterfaces.h +++ /dev/null @@ -1,88 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef __GE_IGA_INTERFACES__ -#define __GE_IGA_INTERFACES__ - -#include <QMutex> - -namespace GE { - -#define AUDIO_FREQUENCY 22050 -#define AUDIO_SAMPLE_TYPE short -#define AUDIO_SAMPLE_BITS 16 - - class IAudioSource { - public: - IAudioSource(); - virtual ~IAudioSource(); - - virtual int pullAudio( AUDIO_SAMPLE_TYPE *target, int bufferLength ) = 0; - virtual bool canBeDestroyed() { return false; } - - IAudioSource *m_next; // for listing, do not touch if you dont know what you are doing. - }; - - - class CAudioMixer : public IAudioSource { - public: - CAudioMixer(); - virtual ~CAudioMixer(); - void destroyList(); // destroy all the sources in the list - - - IAudioSource* addAudioSource( IAudioSource *s ); // add new audio source to the list - bool removeAudioSource( IAudioSource *s ); // remove an audio source from the list - int pullAudio( AUDIO_SAMPLE_TYPE *target, int bufferLength ); - void setGeneralVolume( float vol ); - - - protected: - QMutex m_mutex; - int m_fixedGeneralVolume; - AUDIO_SAMPLE_TYPE *m_mixingBuffer; - int m_mixingBufferLength; - IAudioSource *m_sourceList; - }; - -}; - - -#endif diff --git a/demos/mobile/quickhit/game.qml b/demos/mobile/quickhit/game.qml deleted file mode 100755 index 44b196e..0000000 --- a/demos/mobile/quickhit/game.qml +++ /dev/null @@ -1,432 +0,0 @@ -/****************************************************************************** - * - * Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * Contact: Nokia Corporation (qt-info@nokia.com) - * - * $QT_BEGIN_LICENSE:BSD$ - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the author organization nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * $QT_END_LICENSE$ - * - *****************************************************************************/ - -import Qt 4.7 -import "Game.js" as GameScript - -Item { - id: gameArea - width: 360; height: 640 // NOTE: have to exists some default sizes - anchors.fill: parent - objectName: "gameArea" - - - // Who win, you or computer - property bool gameOverProperty: false - - // for info message to user - property variant messageBox - - // Level activated signal for Qt side to load activated level - signal levelActivated(int index) - - // Pause whole game, if level is loaded - function pauseGame() { - if (GameScript.levelPlugin) { - GameScript.pauseGame(true) - myShip.focus = false - btnPause.opacity = 0 - menu.showPauseMenu() - } - } - - // Qt side call this for QML take new level into use - function levelReadyForCreation() { - // Hide menu - menu.hideMenu() - // Show message - message.showMessage("Loading Level...",2000) - // Wait before create level - levelCreationTimer.restart() - } - - // Fires ememy missile. Function is called from Qt side - function fireEnemyMissile(aXpox, aFromYpos, aToYpos) { - GameScript.fireEnemyMissile(aXpox, aFromYpos, aToYpos) - } - - // Game Over handling. Function is called from Qt side - function gameOver(youWin) { - // Stop GameEngine timers - GameEngine.enableEngineTimer(false) - gameOverProperty = youWin - GameScript.hideMissiles() - gameOverTimer.restart() - //GameEngine.vibra() - } - - // End game and show menu - function endGame(showMessage) { - backgroundPic.opacity = 1 - // Stop GameEngine timers - GameEngine.enableEngineTimer(false) - // Do game over - GameScript.gameOver() - GameScript.hideMissiles() - // Clear GameEngine QML objects - GameEngine.clearQmlObjects() - myShip.opacity = 0 - myShip.focus = false - btnPause.opacity = 0 - idMainLogo.opacity = 1 - menu.showLevelMenu() - if (showMessage) { - message.showMessage("Game End",2000) - } - } - - // Timer for level creationing - Timer { - id: levelCreationTimer - interval: 1000; running: false; repeat: false - onTriggered: { - btnPause.opacity = 1 - myShip.opacity = 1 - myShip.focus = true - // Create new level - var ret = GameScript.createLevel() - if (ret==0) { - backgroundPic.opacity = 0 - // Find QML object for GameEngine - GameEngine.findQmlObjects() - // Enable GameEngine timer - GameEngine.enableEngineTimer(true) - } else { - // Level cannot be created! - endGame(false) - } - } - } - - // Timer for game over - Timer { - id: gameOverTimer - interval: 1500; running: false; repeat: false - onTriggered: { - backgroundPic.opacity = 1 - idMainLogo.opacity = 1 - // Do game over - GameScript.gameOver() - // Clear GameEngine QML objects - GameEngine.clearQmlObjects() - menu.showLevelMenu() - if (gameOverProperty) { - GameEngine.playInternalSound(4) - message.showMessage("Game Over, You win!",2000) - } else { - GameEngine.playInternalSounds(3,3) - message.showMessage("Game Over, You lose",2000) - } - } - } - - // Menu signal to slot connections - Connections { - target: menu - // Level selected - onLevelSelected: { - // Stop bigship animation - bigShipAnim.stop() - bigShip.opacity = 0 - // Hide logo - idMainLogo.opacity = 0 - // Signal level activated - gameArea.levelActivated(levelIndex) - } - // Level resumed selected - onResumeSelected: { - menu.hideMenu() - GameScript.pauseGame(false) - myShip.focus = true - } - } - - // This component creation completed - Component.onCompleted: { - // Show main Level selection menu - menu.showLevelMenu() - - // Start big ship animation - bigShipAnim.restart() - - // Set variable - messageBox = message - - // Play game start sound - GameEngine.gameStartSound() - - // Fade splash screen - fadeAnim.restart() - // Rotate splash logo - rotAnim.restart() - } - - - // Background image for the game - Image { - id: backgroundPic - z:1 - source: "qrc:/gfx/background2.png" - fillMode: Image.PreserveAspectCrop - smooth: true - anchors.fill: parent - } - - Image { - id: bigShip - source: "qrc:/gfx/bigship.png" - z:1.5 - smooth: true - x: width * -1 - y: parent.height * 0.55 - } - SequentialAnimation { - id: bigShipAnim; - NumberAnimation {target:bigShip; property:"x"; to:gameArea.width; easing.type: Easing.Linear; duration: 80000 } - PropertyAction {target:bigShip; properties: "opacity"; value: 0} - } - - - // Enemies grid - Item { - // This is general level QML plaseholder - // Into this is level QML created in createLevel() - id:levelId - anchors.fill: parent - z:2 - } - - Image { - id: idMainLogo - z:19 - source: "qrc:/gfx/quickhit_logo.png" - smooth: true - anchors.horizontalCenter: gameArea.horizontalCenter - y:gameArea.height / 10 * 1 - } - - // Game menu - Menu { - z:20 - id:menu - width: gameArea.width / 5 * 4 - height: gameArea.height / 10 * 4 - anchors.verticalCenter: gameArea.verticalCenter - anchors.horizontalCenter: gameArea.horizontalCenter - } - - // My ship - MyShip { - z:10 - id: myShip - opacity: 0 - } - - // Mouse area of your ship - MouseArea { - //anchors.fill: parent - width: parent.width - height: myShip.height - x:0 - y:gameArea.height - myShip.height - - drag.target: myShip - drag.axis: Drag.XAxis - drag.minimumX: 0 - drag.maximumX: gameArea.width - myShip.width - - property int startPos: 0 - property int dragCount: 0 - - onPressed: { - startPos = mouseX - dragCount = 0 - } - onPositionChanged: { - //dragCount = Math.abs(mouseX-startPos) - } - onReleased: { - //if (dragCount<20) { - myShip.fire() - //} - } - } - - // Pause button - Button { - id: btnSound - z:12 - //animationEnabled: false - anchors.top: parent.top - anchors.topMargin: 10 - buttonPath: "qrc:/gfx/soundOn.png" - buttonId: 4 - width: gameArea.width / 10 - height: gameArea.width / 10 - x: gameArea.width - width - 15 - opacity: 1 - Connections { - target: btnSound - onBtnClicked: { - if (btnSound.buttonId==4) { - // Sound off - btnSound.buttonPath = "qrc:/gfx/soundOff.png" - btnSound.buttonId = 5 - GameEngine.enableSounds(false) - } else { - // Sound on - btnSound.buttonPath = "qrc:/gfx/soundOn.png" - btnSound.buttonId = 4 - GameEngine.enableSounds(true) - } - } - } - } - - // Pause button - Button { - id: btnPause - z:13 - anchors.top: parent.top - anchors.topMargin: 10 - buttonPath: "qrc:/gfx/pause.png" - buttonId: 3 - width: gameArea.width / 10 - height: gameArea.width / 10 - x: gameArea.width - width - btnPause.width - 15*2 - opacity: 0 - Connections { - target: btnPause - onBtnClicked: { - GameScript.pauseGame(true) - myShip.focus = false - btnPause.opacity = 0 - menu.showPauseMenu() - } - } - } - - - // Hidden missiles ready for to be launched - Missile { - z:3 - id: missile_1 - x:0 - y:10 - } - Missile { - z:4 - id: missile_2 - x: 20 - y:10 - } - Missile { - z:5 - id: missile_3 - x: 40 - y:10 - } - Missile { - z:6 - id: missile_4 - x: 60 - y:10 - } - Missile { - z:7 - id: missile_5 - x: 80 - y:10 - } - Missile { - z:8 - objectName: "enemy_missile" - id: enemy_missile_1 - enemyMissile: true - } - Missile { - z:9 - objectName: "enemy_missile" - id: enemy_missile_2 - enemyMissile: true - } - - // Messages to the user - Message { - id: message - z:21 - } - - - // Splach screen - Rectangle { - id: blackFace - x:-2 - y:0 - width: parent.width + 2 - height: parent.height - z:100 - color: "black" - opacity: 1 - - MouseArea { - anchors.fill: parent - onPressed: { - mouse.accepted = true - fadeAnim.stop() - blackFace.opacity = 0 - } - } - - Image { - id: idLogo - source: "qrc:/gfx/quickhit_logo.png" - smooth: true - anchors.horizontalCenter: parent.horizontalCenter - anchors.verticalCenter: parent.verticalCenter - opacity: 0 - } - NumberAnimation { id: rotAnim; target: idLogo; property: "rotation"; to: 20; duration: 9000 } - - } - // Splach screen animation - SequentialAnimation { - id: fadeAnim - PauseAnimation {duration: 1000 } - NumberAnimation {target: idLogo; property: "opacity"; from: 0; to: 1; duration: 2000 } - PauseAnimation {duration: 2000 } - NumberAnimation {target: idLogo; property: "opacity"; from: 1; to: 0; duration: 2000 } - NumberAnimation {target: blackFace; property: "opacity"; from: 1; to: 0; duration: 2000 } - } - -} diff --git a/demos/mobile/quickhit/gameengine.cpp b/demos/mobile/quickhit/gameengine.cpp deleted file mode 100644 index 99e7d53..0000000 --- a/demos/mobile/quickhit/gameengine.cpp +++ /dev/null @@ -1,592 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "gameengine.h" -#include "plugins/levelplugininterface.h" -#include "InvSounds.h" - -#include <QDebug> -#include <QTimerEvent> -#include <QTime> -#include <QDesktopServices> - -const int TIMER_SPEED = 80; - -GameEngine::GameEngine(QObject* parent) - :QObject(parent) -{ - m_timerId = 0; - m_doEnemyMissile = 1500 / TIMER_SPEED; - m_GameGml = 0; - m_gameLevel = 0; - - clearQmlObjects(); - - // For random - QTime time = QTime::currentTime(); - qsrand((uint)time.msec()); - - // Sound engine - m_soundEngine = new CInvSounds(this); - - // Device profile - m_silent = false; - -#ifdef Q_OS_SYMBIAN - iVibrate = CHWRMVibra::NewL(); -#endif - - // Get device profile, is it silent? -#if defined Q_OS_SYMBIAN || defined Q_WS_MAEMO_5 - m_systemDeviceInfo = new QSystemDeviceInfo(this); - QObject::connect(m_systemDeviceInfo,SIGNAL(currentProfileChanged(QSystemDeviceInfo::Profile)),this, - SLOT(currentProfileChanged(QSystemDeviceInfo::Profile))); - QSystemDeviceInfo::Profile p = m_systemDeviceInfo->currentProfile(); - if (p == QSystemDeviceInfo::SilentProfile) { - m_silent = true; - } -#endif - -} - - -GameEngine::~GameEngine() -{ -#ifdef Q_OS_SYMBIAN - delete iVibrate; -#endif - -} - -void GameEngine::gameStartSound() -{ - if (!m_silent) - m_soundEngine->gameStartSound(); -} - -#if defined Q_OS_SYMBIAN || defined Q_WS_MAEMO_5 -void GameEngine::currentProfileChanged(QSystemDeviceInfo::Profile p) -{ - if (p == QSystemDeviceInfo::SilentProfile) { - enableSounds(QVariant(false)); - } else { - enableSounds(QVariant(true)); - } -} -#endif - -void GameEngine::enableSounds(QVariant enable) -{ - m_silent = !enable.toBool(); - - if (m_silent) - this->m_soundEngine->enableSounds(false); - else - this->m_soundEngine->enableSounds(true); - -} - -QVariant GameEngine::randInt(QVariant low, QVariant high) -{ - // Random number between low and high - return qrand() % ((high.toInt() + 1) - low.toInt()) + low.toInt(); -} - -void GameEngine::setGameLevel(LevelPluginInterface* level) -{ - // Set used game level - m_gameLevel = level; - - if (m_gameLevel) { - // Set used sound from the level into sound engine - m_soundEngine->enableSounds(m_gameLevel->levelSounds()); - // Invoke QML to take new level in use - QMetaObject::invokeMethod(m_GameGml, "levelReadyForCreation", Qt::AutoConnection); - - m_doEnemyMissile = m_gameLevel->enemyFireSpeed().toInt() / TIMER_SPEED; - } -} - -void GameEngine::setPluginList(QList<QPluginLoader*> plugins) -{ - m_pluginList = plugins; -} - -QVariant GameEngine::pluginList() -{ - QStringList list; - QPluginLoader* loader; - foreach (loader,m_pluginList) { - QString s = loader->fileName(); - s = s.mid(s.lastIndexOf("/")+1); - s = s.left(s.lastIndexOf(".")); - s = s.toUpper(); -#ifdef Q_WS_MAEMO_5 - if (s.contains("LIB")) { - s = s.right(s.length() - (s.indexOf("LIB")+3)); - } -#endif - list.append(s); - } - return QVariant(list); -} - -void GameEngine::pauseLevel(QVariant doPause) -{ - bool enableTimer = !doPause.toBool(); - enableEngineTimer(QVariant(enableTimer)); - QMetaObject::invokeMethod(m_levelQml, "pause", Qt::AutoConnection,Q_ARG(QVariant, doPause)); -} - - -void GameEngine::findQmlObjects() -{ - if (m_GameGml) { - qDebug() << "GameEngine::findQmlObjects()"; - - // Find Missiles objects - m_missileList.clear(); - m_enemyMissileList.clear(); - findMissiles(m_GameGml); - - // Set QMLs - setLevelQml(m_GameGml->findChild<QObject*>("level")); - setEnemiesGridQml(m_GameGml->findChild<QObject*>("enemiesGrid")); - setMyShipQml(m_GameGml->findChild<QObject*>("myShip")); - - // Find Enemies objects - m_enemyList.clear(); - qDebug() << "GameEngine::findQmlObjects() find enemies from: level QML"; - findEnemies(m_levelQml); - - - } else { - qDebug() << "GameEngine::findQmlObjects() rootObject NULL"; - } -} - -void GameEngine::clearQmlObjects() -{ - m_missileList.clear(); - m_enemyMissileList.clear(); - m_enemyList.clear(); - m_levelQml = 0; - m_enemiesGridGml = 0; - m_myShipGml = 0; - //m_GameGml = 0; // NOTE: Do not delete this -} - - -void GameEngine::findMissiles(QObject *rootObject) -{ - if (rootObject) { - QObjectList list = rootObject->children(); - QObject* item; - foreach (item,list) { - if (item->children().count()>0) { - findMissiles(item); - } else { - if (rootObject->objectName()=="missile") { - QDeclarativeItem* missile = static_cast<QDeclarativeItem*>(rootObject); - m_missileList.append(missile); - } else if (rootObject->objectName()=="enemy_missile") { - QDeclarativeItem* enemyMissile = static_cast<QDeclarativeItem*>(rootObject); - m_enemyMissileList.append(enemyMissile); - } - } - } - } else { - qDebug() << "GameEngine::findMissiles() rootObject NULL"; - } -} - -void GameEngine::findEnemies(QObject *rootObject) -{ - if (rootObject) { - QObjectList list = rootObject->children(); - QObject* item; - foreach (item,list) { - if (item->children().count()>0 && item->objectName()!="enemy") { - //qDebug() << "Enemy children found from: " << item->objectName(); - findEnemies(item); - } else { - if (item->objectName()=="enemy") { - //qDebug() << "Enemy child founds: " << item->objectName(); - QDeclarativeItem* enemy = static_cast<QDeclarativeItem*>(item); - m_enemyList.append(enemy); - } - } - } - } else { - qDebug() << "GameEngine::findEnemies() rootObject NULL"; - } -} - -void GameEngine::setEnemiesGridQml(QObject* o) -{ - m_enemiesGridGml = static_cast<QDeclarativeItem*>(o); -} - -void GameEngine::setMyShipQml(QObject* o) -{ - m_myShipGml = static_cast<QDeclarativeItem*>(o); -} - -void GameEngine::setGameQml(QObject* o) -{ - m_GameGml = static_cast<QDeclarativeItem*>(o); -} - - -void GameEngine::timerEvent(QTimerEvent *e) -{ - if (e->timerId()==m_timerId) { - // Do hit test - doHitTest(); - - m_doEnemyMissile--; - - if (m_gameLevel && m_doEnemyMissile<0) { - m_doEnemyMissile = m_gameLevel->enemyFireSpeed().toInt() / TIMER_SPEED; - // Do emeny missile launch - doEnemyMissile(); - } - } -} - -void GameEngine::enableEngineTimer(QVariant enable) -{ - if (m_gameLevel) { - if (m_timerId==0 && enable.toBool()) { - m_timerId = QObject::startTimer(TIMER_SPEED); - } - else if (m_timerId != 0 && !enable.toBool()) { - QObject::killTimer(m_timerId); - m_timerId = 0; - } - } -} - -void GameEngine::selectVisibleEnemy(int& start, int& end) -{ - QDeclarativeItem* enemy = 0; - for (int i=0 ; i<m_enemyList.count() ; i++) { - enemy = m_enemyList[i]; - if (enemy->opacity()==1) { - start = i; - break; - } - } - enemy = 0; - for (int e=m_enemyList.count()-1 ; e>0 ; e--) { - enemy = m_enemyList[e]; - if (enemy->opacity()==1) { - end = e; - break; - } - } -} - -void GameEngine::doEnemyMissile() -{ - QMutexLocker locker(&m_enemyListMutex); - - QDeclarativeItem* missile = 0; - QDeclarativeItem* enemy = 0; - - // Find free missile - foreach (missile, m_enemyMissileList) { - if (missile->opacity()==0){ - // Random select enemy who fire - int start=0; int end=0; - selectVisibleEnemy(start,end); - int whoWillFire = randInt(QVariant(start),QVariant(end)).toInt(); - if (m_enemyList.count() < whoWillFire+1) - break; - - enemy = m_enemyList.at(whoWillFire); - if (enemy && enemy->opacity()==1) { - QPointF enemyP = enemy->pos(); - if (m_enemiesGridGml) { - enemyP += m_enemiesGridGml->pos(); - } - //qDebug() << "QMetaObject::invokeMethod() - fireEnemyMissile"; - QMetaObject::invokeMethod(m_GameGml, "fireEnemyMissile", Qt::AutoConnection, - Q_ARG(QVariant, enemyP.x()+enemy->boundingRect().width()/4), - Q_ARG(QVariant, enemyP.y()+enemy->boundingRect().height()), - Q_ARG(QVariant, m_GameGml->boundingRect().height())); - } - break; - } - } -} - -void GameEngine::doHitTest() -{ - QMutexLocker locker(&m_enemyListMutex); - - QDeclarativeItem* missile = 0; - QDeclarativeItem* enemy = 0; - - // No enemies? - if (m_enemyList.count()==0) { - enableEngineTimer(QVariant(false)); - qDebug() << "No enemies left"; - gameOver(true); - return; - } - - if (!m_myShipGml) { - return; - } - - // Check ship collision - if (m_myShipGml->opacity()==1) { - for (int e=0; e<m_enemyList.count(); e++) { - enemy = m_enemyList[e]; - if (enemy->opacity()==0) { - break; - } - QPointF enemyP = enemy->pos(); - if (m_enemiesGridGml) { - enemyP += m_enemiesGridGml->pos(); - } - QRectF enemyR(enemyP,QSize(enemy->boundingRect().width(),enemy->boundingRect().height())); - // Collision? - if (enemyR.contains(m_myShipGml->pos())) { - enableEngineTimer(QVariant(false)); - - // Collision explosion - QPointF myP = m_myShipGml->pos(); - playSound(1); - QMetaObject::invokeMethod(m_levelQml, "explode", Qt::AutoConnection, - Q_ARG(QVariant, myP.x()+m_myShipGml->boundingRect().width()/2), - Q_ARG(QVariant, myP.y()+m_myShipGml->boundingRect().height())); - m_myShipGml->setOpacity(0); - - gameOver(false); - qDebug() << "Collision"; - return; - } - // Enemy too deep? - else if (enemyR.bottomLeft().y() > m_myShipGml->pos().y()+m_myShipGml->pos().y()*0.1) { - enableEngineTimer(QVariant(false)); - - // Enemy too deep explosion - QPointF myP = m_myShipGml->pos(); - playSound(1); - QMetaObject::invokeMethod(m_levelQml, "explode", Qt::AutoConnection, - Q_ARG(QVariant, myP.x()+m_myShipGml->boundingRect().width()/2), - Q_ARG(QVariant, myP.y()+m_myShipGml->boundingRect().height())); - m_myShipGml->setOpacity(0); - - gameOver(false); - qDebug() << "Enemy too deep"; - return; - } - } - } - - // Check your missiles hit to enemies - foreach (missile, m_missileList) { - if (missile->opacity()==1){ - for (int e=0; e<m_enemyList.count(); e++) { - enemy = m_enemyList[e]; - if (enemy->opacity()<1) { - break; - } - QPointF missileP = missile->pos(); - missileP.setX(missileP.rx() + missile->boundingRect().width()/2); - - QPointF enemyP = enemy->pos(); - if (m_enemiesGridGml) { - enemyP += m_enemiesGridGml->pos(); - } - - QRectF r(enemyP,QSize(enemy->boundingRect().width(),enemy->boundingRect().height())); - if (r.contains(missileP)) { - // Hit ! - playSound(0); - //qDebug() << "QMetaObject::invokeMethod() - explode"; - QMetaObject::invokeMethod(m_levelQml, "explode", Qt::AutoConnection, - Q_ARG(QVariant, enemyP.x()+enemy->boundingRect().width()/2), - Q_ARG(QVariant, enemyP.y()+enemy->boundingRect().height())); - missile->setOpacity(0); - //fastVibra(); - if (m_enemiesGridGml) { - // Set transparent placeholder for enemy when using GridView - enemy->setProperty("source",QVariant("file:/"+m_gameLevel->pathToTransparentEnemyPic().toString())); - } else { - // Hide enemy after explode - enemy->setOpacity(0); - } - - // Remove enemy from list - m_enemyList.removeAt(e); - e--; - } - enemy = 0; - } - } - } - - // Check enemies missiles hit to you - if (m_myShipGml->opacity()==1) { - foreach (missile, m_enemyMissileList) { - if (missile->opacity()==1){ - QPointF missileP = missile->pos(); - missileP.setX(missileP.rx() + missile->boundingRect().width()/2); - - QPointF myP = m_myShipGml->pos(); - - QRectF r(myP,QSize(m_myShipGml->boundingRect().width(),m_myShipGml->boundingRect().height())); - if (r.contains(missileP)) { - // Hit ! - playSound(1); - //qDebug() << "QMetaObject::invokeMethod() - explode"; - QMetaObject::invokeMethod(m_levelQml, "explode", Qt::AutoConnection, - Q_ARG(QVariant, myP.x()+m_myShipGml->boundingRect().width()/2), - Q_ARG(QVariant, myP.y()+m_myShipGml->boundingRect().height())); - missile->setOpacity(0); - m_myShipGml->setOpacity(0); - break; - } - } - } - } else { - // You was killed - enableEngineTimer(QVariant(false)); - gameOver(false); - qDebug() << "You was killed by enemy missile"; - } - -} - - -void GameEngine::playSound(QVariant index) -{ - if (!m_silent) { - int i = index.toInt(); - m_soundEngine->playSound(i); - } -} - -void GameEngine::playSounds(QVariant index, QVariant count) -{ - if (!m_silent) { - m_soundEngine->playSounds(index.toInt(),count.toInt()); - } -} - -void GameEngine::playInternalSound(QVariant index) -{ - if (!m_silent) { - m_soundEngine->playInternalSound(index.toInt()); - } -} - -void GameEngine::playInternalSounds(QVariant index, QVariant count) -{ - if (!m_silent) { - m_soundEngine->playInternalSounds(index.toInt(),count.toInt()); - } -} - -void GameEngine::gameOver(bool youWin) -{ - qDebug() << "GameEngine::gameOver() "<< youWin; - QMetaObject::invokeMethod(m_GameGml, "gameOver", Qt::AutoConnection,Q_ARG(QVariant, youWin)); -} - -void GameEngine::pauseGame() { - QMetaObject::invokeMethod(m_GameGml, "pauseGame", Qt::AutoConnection); -} - - -QVariant GameEngine::isSymbian() -{ -#ifdef Q_OS_SYMBIAN - return QVariant(true); -#else - return QVariant(false); -#endif -} - -QVariant GameEngine::isMaemo() -{ -#ifdef Q_WS_MAEMO_5 - return QVariant(true); -#else - return QVariant(false); -#endif -} - -QVariant GameEngine::isWindows() -{ -#ifdef Q_OS_WIN - return QVariant(true); -#else - return QVariant(false); -#endif -} - -void GameEngine::vibra() -{ -#ifdef Q_OS_SYMBIAN - if (iVibrate){ - TRAPD(err, iVibrate->StartVibraL(4000,KHWRMVibraMaxIntensity)); - } -#endif -} - -void GameEngine::fastVibra() -{ -#ifdef Q_OS_SYMBIAN - if (iVibrate){ - TRAPD(err, iVibrate->StartVibraL(100,KHWRMVibraMaxIntensity)); - } -#endif -} - -void GameEngine::openLink(QVariant link) -{ -QDesktopServices::openUrl(QUrl(link.toString())); -} - diff --git a/demos/mobile/quickhit/gameengine.h b/demos/mobile/quickhit/gameengine.h deleted file mode 100644 index c8c8b8c..0000000 --- a/demos/mobile/quickhit/gameengine.h +++ /dev/null @@ -1,148 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef GAMEENGINE_H -#define GAMEENGINE_H - -#include <QObject> -#include <QDeclarativeItem> -#include <QMutex> -#include <QPluginLoader> -#include <QList> - -#ifdef Q_OS_SYMBIAN -#include <hwrmvibra.h> -#endif - -// QtMobility -#if defined Q_OS_SYMBIAN || defined Q_WS_MAEMO_5 -#include <QSystemDeviceInfo> -QTM_USE_NAMESPACE -#endif - -class CInvSounds; -class LevelPluginInterface; -class GameEngine : public QObject -{ - Q_OBJECT - -public: - GameEngine(QObject* parent); - ~GameEngine(); - void timerEvent(QTimerEvent *); - void setGameLevel(LevelPluginInterface* level); - void setPluginList(QList<QPluginLoader*> plugins); - void pauseGame(); - -public: - Q_INVOKABLE void enableEngineTimer(QVariant enable); - Q_INVOKABLE QVariant randInt(QVariant low, QVariant high); - Q_INVOKABLE void enableSounds(QVariant enable); - Q_INVOKABLE void playSound(QVariant index); - Q_INVOKABLE void playSounds(QVariant index, QVariant count); - Q_INVOKABLE void playInternalSound(QVariant index); - Q_INVOKABLE void playInternalSounds(QVariant index, QVariant count); - Q_INVOKABLE QVariant pluginList(); - Q_INVOKABLE void findQmlObjects(); - Q_INVOKABLE void clearQmlObjects(); - Q_INVOKABLE void pauseLevel(QVariant doPause); - Q_INVOKABLE void gameStartSound(); - - Q_INVOKABLE QVariant isSymbian(); - Q_INVOKABLE QVariant isMaemo(); - Q_INVOKABLE QVariant isWindows(); - - Q_INVOKABLE void vibra(); - Q_INVOKABLE void fastVibra(); - - Q_INVOKABLE void openLink(QVariant link); - - -private slots: -#if defined Q_OS_SYMBIAN || defined Q_WS_MAEMO_5 - void currentProfileChanged (QSystemDeviceInfo::Profile); -#endif - -public: - void setGameQml(QObject* o); - -private: - void findMissiles(QObject* rootObject); - void findEnemies(QObject* rootObject); - void setLevelQml(QObject* o) {m_levelQml = o;} - void setEnemiesGridQml(QObject* o); - void setMyShipQml(QObject* o); - void gameOver(bool youWin); - void selectVisibleEnemy(int& start, int& end); - -private: - void doHitTest(); - void doEnemyMissile(); - -private: - bool m_enableEnemyMissiles; - QMutex m_enemyListMutex; - QList<QDeclarativeItem*> m_enemyList; - QList<QDeclarativeItem*> m_missileList; - QList<QDeclarativeItem*> m_enemyMissileList; - QObject* m_levelQml; - QDeclarativeItem* m_enemiesGridGml; - QDeclarativeItem* m_myShipGml; - QDeclarativeItem* m_GameGml; - - LevelPluginInterface* m_gameLevel; - CInvSounds* m_soundEngine; - QList<QPluginLoader*> m_pluginList; - - int m_timerId; - int m_doEnemyMissile; - -#if defined Q_OS_SYMBIAN || defined Q_WS_MAEMO_5 - QSystemDeviceInfo* m_systemDeviceInfo; -#endif - bool m_silent; - -#ifdef Q_OS_SYMBIAN - CHWRMVibra* iVibrate; -#endif - -}; - -#endif // GAMEENGINE_H diff --git a/demos/mobile/quickhit/gfx/back.png b/demos/mobile/quickhit/gfx/back.png Binary files differdeleted file mode 100644 index bb66f74..0000000 --- a/demos/mobile/quickhit/gfx/back.png +++ /dev/null diff --git a/demos/mobile/quickhit/gfx/background2.png b/demos/mobile/quickhit/gfx/background2.png Binary files differdeleted file mode 100644 index c81875a..0000000 --- a/demos/mobile/quickhit/gfx/background2.png +++ /dev/null diff --git a/demos/mobile/quickhit/gfx/bigship.png b/demos/mobile/quickhit/gfx/bigship.png Binary files differdeleted file mode 100644 index b88dc32..0000000 --- a/demos/mobile/quickhit/gfx/bigship.png +++ /dev/null diff --git a/demos/mobile/quickhit/gfx/exit.png b/demos/mobile/quickhit/gfx/exit.png Binary files differdeleted file mode 100644 index a45abd6..0000000 --- a/demos/mobile/quickhit/gfx/exit.png +++ /dev/null diff --git a/demos/mobile/quickhit/gfx/pause.png b/demos/mobile/quickhit/gfx/pause.png Binary files differdeleted file mode 100644 index 0570908..0000000 --- a/demos/mobile/quickhit/gfx/pause.png +++ /dev/null diff --git a/demos/mobile/quickhit/gfx/quickhit_logo.png b/demos/mobile/quickhit/gfx/quickhit_logo.png Binary files differdeleted file mode 100644 index 0b505c7..0000000 --- a/demos/mobile/quickhit/gfx/quickhit_logo.png +++ /dev/null diff --git a/demos/mobile/quickhit/gfx/soundOff.png b/demos/mobile/quickhit/gfx/soundOff.png Binary files differdeleted file mode 100644 index fed8520..0000000 --- a/demos/mobile/quickhit/gfx/soundOff.png +++ /dev/null diff --git a/demos/mobile/quickhit/gfx/soundOn.png b/demos/mobile/quickhit/gfx/soundOn.png Binary files differdeleted file mode 100644 index 03bd80e..0000000 --- a/demos/mobile/quickhit/gfx/soundOn.png +++ /dev/null diff --git a/demos/mobile/quickhit/icon.svg b/demos/mobile/quickhit/icon.svg deleted file mode 100644 index 3795e8d..0000000 --- a/demos/mobile/quickhit/icon.svg +++ /dev/null @@ -1,305 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="128" - height="128" - id="svg2" - version="1.1" - inkscape:version="0.48.0 r9654" - sodipodi:docname="New document 1"> - <defs - id="defs4" /> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="2.8" - inkscape:cx="151.3239" - inkscape:cy="33.99485" - inkscape:document-units="px" - inkscape:current-layer="layer1" - showgrid="false" - inkscape:window-width="1680" - inkscape:window-height="1003" - inkscape:window-x="-4" - inkscape:window-y="-4" - inkscape:window-maximized="1" /> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title></dc:title> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1" - transform="translate(0,-924.36218)"> - <image - y="924.6955" - x="-0.20219566" - id="image2993" - xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABHNCSVQICAgIfAhkiAAAIABJREFU -eJztvWmwZdd1HvatPZxz7vDm169HdANozA0QBCmKFBCKIGmpaJFlhYloKypJsUpUEvtHVJVQJblU -KlmlHxQVJT/ilEuRVJVU+Y9t2VbRYlGxhsQUpYikJBAEAZAYuoGe3jzd+Zyzh5Uf+5xzz32vmwbR -/V73Q7hQF/f1Hfbd5+y11/CttdcivEOp0+2Sc47m5+Z8/fWNjY13jUajTxpj/oFz7lFrLYwx30rT -9F9tbe38wY/8yMdeqH/+T/7kT8X15RX+h//1T/HhXsHhEN3pCRwmGWtOdDvdp9M0/VFr7Q9Za09a -a5Hn+cpwOPyTzc3tz7/44kv/7y/+4mdW7/RcD4vknZ7AYREzt5z37zd5/mye509nWXYuz3NprYW1 -LrHWKeedjaJo+Pob11ZWV66ZOz3nw6B3FANsbm3Rb/7mb+57nZkXrPfvH/T7Hx8OBh/pdDpPbG1t -yc3NTXS7XWRZJr13S+y5DVB04cKj6ezC0u43nn9udAcu41DpHcUAN1n8FgPfb4356GAw+Gin03l0 -bW1NXb58BVevXMHW9hbyPIMQkpRS80rLZhTFbnFxId3ppGtXLl98R0uCdwQDbO/s0Oc+97l9r2d5 -dpyI3t/v9T4xGAw+sr29/e7VlVX55puXcfHiRVy5chVbW9tI0xRCEJTSUkp5QirRFkLGjzz8YH7v -ufO9r33trwZ7x/5f/9n/Rn/0R188lOs7SHpHMMCNFp+ZFz3z087ajw4Ggw/v7u4+vLK8rK5cuYor -V65gfX3d93pdjEYpsixj7z0JKaC1RhRFM0qqqSiKMDXVtotLp7ae//rfTKiDd8LiA+8QBthLnW73 -HBE9k45GnxgOhx/e2tp6fGVlRV2+fBnLK8vY3d2FtY4BEDNgrUGe5+SchxAErZVWSp2QSs5IKVvH -jy/ZJ9/97sGff+k/du70td1uescxADMvWWefAeOH0jR9ttvtPriyvEJXrl7B8vIKRsORl1Jxq9Wi -pNEgrTURCLkxnJucnXMkpUIcRUiSZEFpPRNpLaIoyu87/8DGV7/yV8M7fY23k95RDNDpdk979k/n -Wf73sjx7ttPpnF9ZWaXLV65gZXkVw+EISSPh9lQbzVaLlFIgEiBB8N7DGIMsz8g7C6UU4iQRURQt -aK3npZDx/Px8+r73v7/zf//Zn/bu9LXeLhJ3egJvh3Z3d/cBWMzcBuNJ7/yz3vun01F6//bODpZX -lrG6sorhaOjjJPHz8/M0Nz9P7XYbcRwjSWI0W020p9qUxDHlee43Nzf96toqOp1dMHskcXz/1FT7 -6dnZmWdPnTz51K9/9rNTe3//d37n944kqKbu9ATeDu3u7k78Ozf5dJqm7/HO/pBz+PBoNHpge3sb -K8srWF5eQafbgdKa2u022u02iARGoxGYGcwMQQJxFME7hzzPaDgcYX1tHUmcIEkSRFGMOI4eJCFy -ZuZG0hj+3u/9n899+tP/sLIJtnd2983zKNCRZIB77713ApcfDIbntZTvB/ABZ+2Dw8EAm5ubWFlZ -wdbWtjfWot1uU9JIIKSENQZZliLLMhhj4JwFEZUeAIwx6PZ6fmV1Fc1WS7TbbczOzkJr/SB7PwBj -dYBBB8Bz5Rx+6Rc/cyRjBUfeBmDmc2maPgvgh421PzAcDZO1tXW8+eabuHL1Knq9PkspaardRtJI -IIRAbgylaUpZmsFaC+89ASD2DOccjLEYjVLKshxgpqTRQLvdQpIkkgjHnPMuz83gg//Zhzf+wx// -0ZH2DI6UDdDpdCb0rHd+Os/zB4noSWZ+yFqb9Ht9rK+vY2V5xe/u7LJzjrTWUFqDGHDWwjkHzwwA -RKAwZrF/lVKIoxhSSKSjlNbW13l5edl3Oh1476G1jqIoekgp9WSc6If+0T/6+Zn6nP75P//fj5Qt -cKRUwMzMzKToHw5Oa60vENHjzrmzo9EQGxsbuH7tOlbX1nkwGGJqaoqSOEEcx9CRBglBGkCkNYzW -YO9BBQ+AiDTAznnoKEKWZeh0Ory8vMKzs7NotdqYmppCFOl74jh6Ior0K3PzM8sAKinwj//xf3uk -VMGRYoA6MbPudnsnANwjhFjK8zzq9fpYW1/H2vo6hoMBlJTUbDbRareQNBLESUJCiCD2nWdrLMAM -ISwAEFkCCUHee240G7DGYDgaUme3w2tra1hYWEAcJ1BKRlEcLSmt7tFanQDwGoD8jt6Qt0lHSgXs -oSkh6JgQ4jgR5nKTY7fTwdraGra2tmGMpThJ0G630Wg2EMVxeEQRoiiCjjS0VlCFelBaQSkFrRS0 -1sFFbCSQUmI4GtLGxiY2NjYxHA5BRIi0noui6HgURcee/ejf2ecWHhU6ygwQCykaJChmhsyzHL1e -D51uD7nJoSNN7XYLzVYTkY4giEAAU3gOmTBE4Z/hHyAiEBETEbRSSJLgBhIRjUYj9LpdjEZDeO8h -lSKtdRxFOjm+dDy+o3fiFujIqgAASgoRERA571SWZRgORxiNRvDOI04SREnQ+yCQtRZCCBARrDEw -1sBZC+s8vAtZY+w92Dsq7QKlFAe0kGCMwXA0QpZl8N5BCqEirVUcxbrdmjqy3tRRZgAWJDwzO++8 -s87Bew9BAkpraK0hhIBzDnmewzkHZy2IiK21yNKMsjwvcQACg521cNaSNQbOuQASCQGpFIQQYGa4 -4DZCCOmUUi6KIqdVdKQMvzodaQZgZgaDvffBmCNASgkpgmazxiLLMjhrIaWELbB/5x3y3MBZB+9c -kABcYADOwgRGgPOBqUofkb2H8x7sGUIRtNYcRTEirb/HAHeA2DnvBcgD7GUVyw8731qLNE1LQ48j -rQlEkILB3hMzM4IVACIwA8QFT3nvYJ3lkC9owb5Y3woyYADkhRBeKemllN9jgDtB1jkokgQQCSEh -pQQJAe89rLUwWsPaENkjISClhBACIIKQjqSUYGYUdiEAgJlhpASMhS+QQWsdlPLw3qPgGwhBJKUk -qSSkPrImwNFmAOcdJAfDTggR9LRnlDvXM5OUElEcI0kSjuMYRETOBT3urAMAeC9AVIoDsHMOzjky -1oIZ8N6zK2wMZpSfHT+OsC91pBmAvScwV9vXM8N5B+c9QAWsG8eI4xhRpKGUAoPDgteORATmKcQ7 -M6y2cDbsfClF8Z1C/4MrhpNSQAii8rtHkY4wAzCV2piBIK6th3NhVyupEEUR6yiClBIAkWcPZmbv -ffl3IdKBAIkQExEFy1+yVgEcKo1KLgxAYCwBCslzZDngCDNABeegNNy8dwADUgRXUClFRATvPAxK -1y5gAtZYWGfh3TgWwOyJmRGkSsEIUkFKyUJS8XOlDRBsCikllDq6t/HozhyoFs770kALiymlhJIS -JCjYBM5C+MJGQDDsnA/un2cP4rCbi7UPj8L1I4HKeJRSQgSxX+j+MKaSR/c2Ht2ZFxREeCmWg16W -MhiG7D2ss2AAgvwkA1hX+PQegghMAegBjxmrpJKptNLQSkMVDEEFYijE97yAQ6cikaPmlgkoJSGl -Klw9rnS89x4MoLTkiwOhyHMD5sAYWrlCCnA1ZmUnFgCT1gpRUC1BChQMc5TpyDKAKeBarVW1Q4O+ -DrsfDHge++4h28fDOQuTG+R5DmPyIB2EgNUaUgS14ZnD+hNVz6WoV0pVKqGUFEfYBjy6DGCtLXbr -eIFk4ZqBijTv3GA0GgVx78YPYyysMWEMcGXISSlBhVPv2cMXRmK5y0kQiILeJ4gCEADoeyrg8Gks -/gt/oAJmwgI655BlObznQloEbECQAMAQUkCRAjOK3SzgPYPZVrYBc+n7F+NXaoEqMEiKoBqOKh3Z -mZeql8LqVwzAzCGpcziCkDmSOIaUAs1GhGazgUYSQKGx64dK7+fGYBxWzpBmBtZYGGNgo2isToKl -CBLhUIlU35MAh07sy8ov48UHEZzzsMYgzw0aDYlms4H5uVnMz89iYX4W7XYzZAcXn6/bBsNRiuFw -hJ2dXezsdLG1vYssywtJ4uE4RAZLiSMK1aO/hwMcPlXin8Y+fNDvObx3SGKFUycWcN999+LMmVNY -WFzE7OwMdJEr4D0X0HGI8TN75FmGPM/R7XSwvb2D5eUVKMlYdgagcS6Ax6Tdob8nAQ6fuLIBAiOU -YBAANJsNzE638fBDD+Khhx/E4tJJqKgBFhppbtEbMDJjYYyDcwzmsJCCBCLdxPRcE43WDBqNJgCC -cw79wQhUGJdlxlAQ/wpxHN25G3GLdGQZoHTPvC8CNUUMoNVMcOrkMZw+dRL3n38Ac4unMbIxtrYy -bO3uYrc7Qq+fYZRZpJmB9x5EQKQlWonEdDvG7JTCTEujObWAk6cy5HmKjc1tNBthoUtbgEBQUiLS -32OAO0LljnTOAcxIYo1jxxbg3BzmFk9g4FrYvJzijWvrePPqNlbWuuj2RugNMmTGIzcWnhlSELQU -aDc1ptoxlhabOHV8CmeOJ4iRoDm1iHlPiGONSCsAXHgMQJmIclTpyDKAL0C40rfXSmC63YI/toju -wGJnoLB8bRtvLI/w8mvrWFnZwfb2AMY4ZLmFZ8AW8X0pgkEXRxI6UpiZSbB0bAoPnJvBqXmJY22B -hm5huh0hSTSkoBB8YgYz4SgnVx9ZBjA27Pqgu4FGotFqt9AfWawvd/DtKzt4/tUuLl3r4tryLjDK -gNwBgoLvV7iPAOCKhxkGBHFne4Q3Vwe4sj7AmcUID56SuO+4wPR0FIxIVSSQFEAUH2E4+MgygDXh -RK+MGZIEoDRIRNjuM771Rh9f+eYGvvHqNvLdETDIABkWF1JUYE4R+QkDMsJKega8BzKH1dxhc1ui -39ewpoHFuSZOehEYQBIsqPr4UaUDZ4B//fu/PwuQATj7+5/6lL1d43rnIGRYDEGAdUAvZVxaHuH5 -13bwzde3ka/1UeVwSVGG8gsq/lHleCH8O+SOAJ6AzMOmFq86Ay2BMycM7j2LwvcXBe/QvujhrdK/ -/Ff/VgGIAegf/wf/5YEWHjgECUCLAAYAugBuGwNQAchEOujfzDjs9HK8udLHpWtdpOt9YJgDiQIi -CTQ0oCWkDn67FNW54AoPsNbDWQ9YBnIPeACZg991WN7MsbZj0U8ZDIJSISFFiGAI3k4SAjGAaQBt -AEebAZj5fgAbCIu/r97e2yUpASEJWgl4D1jH6A4s1rdTbOykwCAPslkLiJkES/MtHFtoYqqdoN3S -UEpAyQI6th5ZbtHvZ+j2c2ztptjuZPADG1RCyugOgc4QGOWAY0AQQckgWJS67UZgE8AJAMcRDp4e -GB04AxDRWQR5u3VbxxUUYvKCIMBwjjFKLXZ7GfKhCb8438Tp++bxwLl53H/PLO45MYPpqRitVhQs -fwGwDzGAPDfY7abY6YxwbbWHq6t9XF7uYf06AwMDY4IdaRzBe4CIIQQKCXC7w8HcALAI4OxtHngf -HYYR+AAAA+Ba/cV//fv/hv7+p37sFuznQoSLEKVznpEbh+Go2LWzDTz8yBI+9P6zeOrCSdxzcgbz -s80QERQE60KCJ7MvIF6HURqSRDa3+7i62sVLr27jrxXh6pUeAEJqGNaF4Uu9T0QQt8gAN7gXLQCn -ADx4SwO/BToMBjgDYF0IMXGCttfr39qoZcJGYc1b62GshyRgfrGFk4st/NAz9+KjP3Af7j0zC6Uk -stxhu5tiMDJIMxtcSc8APJQElGQ0GwrnTk1haT7C4rSCVoyvSKAzDPCvsQxrgTIdmejWE0LiePJw -sfccE9ECEc7c0sBvgQ7DBjhLRFcBNPa8c0vjSkkhXZuD+M9NyAhemG3giYcX8fgDx/CBp07j9Ikp -9IYG19e2sbzex9rWALu9FFnmwncQxHikCa1EYX46wsKsxvyUxPGFBE88OIXM5HhzNUW7IQubgeHC -WTIIoltWAfUzCgU1ABwD6NwtDfwW6DAkwCwzt621E4D57OzsLQ2qpISUBG898tzDe0a7qfDQvbOw -dgr3n52DEISXXt/Ei69t4pU3trCy3kN/aDAYmWD1u8CEUgQx3owlWg2NY3MJzp1s4N6TMaRgnDsR -Q0nCVFsjUiH+YG04jBrsgFtjgOFosiq9lDJi5jaAuVsa+C3QYUiAKe99K8uyCQnwyU/+57c0riRi -QcTGMnLroJTA4lwD58/OoNsPyRx/++IKXru8i+deXsPyWg/5KA9mu+ewclVWCVCkDgMgJInC8YUE -D59r4cScRDNhLEwJzM9rTDUlhACMY0jBIBAL0C2Js+efn+hSA611w1rbYuYDrzxyKEig916ORiNd -/J4FAEG3dtOsZWIwqSIo00gU5mcSdPsjLK93cfFyBy++to1LVzvornQDUkQAYhUWmvwYBQTGzGA8 -0n6Oy50MO90Mx+ckzh7XOH0sRisBppqESBeeAADPITv8Vq7lNz7769W9YGb1xT/6D9o5J/kQMObD -YADy3os8NxI1BrhVynILzYRGQqSVRCsBokigN8zxyhs7+OtvruHiGzvAKBSCQlMXPtvetaqnfxOg -RACALKO7naHbZfQHCsyMc6cctARiTZAyHCRzDrDutrqBSkkpiQ7nyOlhMIBjhufqkP3toaTR9N57 -H2nlAeaMGGnmcG21j5cvbuPipW1gazRGAhM9ueNLor1/FzEDcEAEhxYr3qPV0nika2EdQ0lCpAQz -syehfBQ3b280gMJxx+JxoHQoKoAITCTG6Tu3gSKt2RjjpZbhxGdm0O0bXF8f4Pr6AOjnAMDQkqAl -hJaslSCtBJQK2T/Fmc+QF+gZ1joY52Ess1c+sEYGRuqx1XXY6jqMsrAmShJXRSJub4UQ5nqq0wHT -YUUDWQgqufq20PTM9CjPshQkLciwsYzewGBzJ+hu5A7QgtCKuNWKMDMV03QrRrOhkMQaSgYkEQw4 -52GsxXBkMEgNegND/ZHl4cgCmSM4z/0RozvkAAV7QAqwkMI2m0n65FNP3c7mUr7GAAfOBIfFALTn -+buiX/u1X6df/dVf2XszxGg0VFHckAAL5xmZYQxGFj73wdCbbeD+s7M4e3IGJ5faWJpvodWM0EpU -OORJALOHMQ55btHtp+gNMqxvD7C2PcLKxhDXHAO9HMYBqQGMBbxjeGYBa2WWjdTlN1/fp69/8Zd+ -iT73G7/xdhbwlu7Vd0tHIh/gBouPL3/pz1tLx4/NtOKltoqiyBUBIWM5uHqzDTxw/wK//12n6NHz -x3DmxDQvLbQoiRWSKGTxUlH4ITcGxlh0eykGwwyrmz1e3ujRa5c7AJivXfdF3SHAeoLzgLMuSk3W -3tramnnxxRdbAHbq83ubi1/Q4R01OxIMsJcWFs8e+49f+tLj3/d977kwO6XPLCwuNpwHPBOUFDi+ -2MLCbIwPve8sPvR9Z/HwfYuYn21iZioJhr4M5//KTGKTh2Nig2GKPDfY2m1ic7uFkwsRkgiQ5NFP -izQBT3BMMNY1dnZ7Z5aXVy68/PK33rzn3keyq29+e+NO35vvlo4iA7SffNcjT3Y6u09vbW891en2 -Tk/PzCrvQ6LG7HTMD983Rw+dm8Wz77sH3//EKRw/NoVQ7SMc/wIYznt4R3CeIIpYAKDRiAlKNjDd -BGLlYE2ONM1wfTNHMxEMIvKeYK1T/cHwdLfTeWo4HO489sh5e/XNb38FwC0GOQ6XjhQDPP30DyxY -y++Znml/zBjz9Gg4fHw4StvGMjxCVu99p6dw36kmP/HQIt574Tjde2YGkLoI+pTVRHyRBOLDqaDi -dBAXuYJaCehWBFpqIB21qN9vcSsR3GhKRCpIAOsYaWaOpVnWcNbJqXar9eyHP0KRpuf++I//7LaG -vg+S7sp01p/7uZ/bpwSfeeaZ5J57zr7r2NLihyKtf9Czf9w517aW4cLu59mpmM/fM43Hzs/h/jPT -mJ2KQ9Gn3KA/yNDrZ+gPM/SHOfrDHIPR+NEvnwc5BiOLUebATGg3JU4uaNyzpLE0K9GMBRPAnssz -Ca7N4Me1Vj84Nzv7oWPHjr/r4x//WPJWruluoLtSAvzu7/7uhAH1C7/wCzPr6+vvZua/673/sFLy -vQAo7GKAIRApycfmG/BmiuIIODabQElCbnww2ioJgCKdm6ts3vJwaIUHFJVDrfOQAphuCpyYEyAp -MNUkDmEEIj921NpCivfGcQyto+j48VP+M5/5zPO/9Vu/1bnZNd0tdFdKgDr9yq/8iur3+49KKT8o -hPiQlPICFdkYRAIgwQTiSAvMtCKan4nQboRycMORwWBokGYu5Pv5IO6rBd/z8IUqsNYjyx2GaQB+ -mD1iDbQbQCMCBXuBGBCMcWIISSkuCCE+REQfHAwGj/7yL//yXX9o8K5mgJ/5mZ+J19fXH/XeP0tE -f4eI3ktEjXEiSMBMEQ5oUquhMNXUaMQh6dMz2BcLXhX4Kihs3v1MAC5GDfg1vGcmMLT0SDQj1gwp -QjrSuDpBVaOgUczxI977D25sbDzykz/5k3f1saG7UgWUJIQ4wcxPAvh+AI+haHJVRMl8We6/SMog -KYmJimKPLux4z1zrjEVlCbBAtWpgVRWQsjA0APYBJbSuPHjqISiUluVQJCAkBxbB5GJUCeBRZt4E -cDWO4y6Aqwd1j26V7moJQERnmfk9AN5DRMf2598Xq1EVbCSSZQm32lpXa87lvg9/lzUBJ6QAMKkW -qqJR1YPK6iBALXQ0Gbo9AeA9AJ4ionsO7AbdBrprGeCnf/qnNYAFhJzCE/s+EBaeRDimTQCBmeA8 -yHsmDjF64lDRgQEeJyB8h+peYy1QmolMzEzeM3nHVDsKVpkixXRqUyMAWAJwmojmP/3pT9+1tsBd -ywBCCIVwMGIO4ZRMSZ5CNhCVBRuBmn9fJIiMDfTxzi7/Lj8fLP/J3VvaBX6vfVCOu4dxikIj9TKi -xes0hXC4o4G7uD/jXWsDJEkiioaOXF/kopMHWWu57OrBzrOzjmzoCch1vc8c8rWoPNBfjDNWDVzZ -AjWVwMzhK8U/6yqi3PGVVqlqEU6qE0tEDgAnyT5Y4K6hu5YBZmZmRLfbFcxM9V1b3ugSxy+LPjrv -kWVZUfqtjKZwuUJj474Yh4vvByTQjccNi0dcLagn9hVzjMGD8lwCxnaCr7mYKBI6hBBYWFi4K0Eg -4C5mgM997nPDT33qU4MkSUZEVPUAGA6HkFIizzKyxoQ+wHkGYS3nWQ7nLAkhi/OeIdtzUsSPwaCA -C7jKW/Clc7jPNSx3P1cSqSb2wZ7LfgJkjCk7luTe++FoNOr/9m//dnYn7uFboTtuA7z88st08eLF -G+0Qt729bQaDgc2yjMvKoEIIiqMIjUYDURSBmZFlOY9GI2R5FuoBYpxrX4nomkVfShDnbMVYZRnZ -+mfYh0e9tHxtpwcIgsYVRIUQAKqqJZxlmet0OuZG1/3lL3+Znn/++ZtIhsMDDQ9TAtzwYh977LGb -Xm2WZc47xxRFUEXt/larxVNTU3Ti+HGem5uDjiKy1lKpDoLWH5+1qInkylSvDD3nKwYAQmpYmQ+4 -1w2s2QNUdg5hZkgpOU5iNEwTzoXmVIV6Iu893ax8zAc/+MHvsMqVT3HgquMQGaCC794SfeELXzj2 -1a9+9eRwOJwSQlCx+Gg0GpiZmcHc3ByWjh1Ds9kM5eGsYWstVfqfMSnG61TYAKEfUGAAAmGv6Pfs -K1uh6B5GhfTg0jaRSqPVakHKUDuoZAAiUlLK2QsXHj/7T/7JLx3/4Ad/cO2t3qjv5j7dKh0KAzCz -z/MsB/AddeHrr7/eOH/+fAzgxPXr1x+IoujC5ubmkrUWURSh3Q7Nm1utFidJgkjrAvVzcAVaVzpj -lZVfMkBZEKT+uvehbZx1oOJQSGnn+RoTjI27crziNYQq4knShI5iaCVZRxEJIiildavVPDU/v/Bk -uz3VuXbt2mWt1dq3X3lldP3a9e2f+ImfuKEEIKLsi1/8vzJmPpS6I4eWFOrKOm41WllZbg2Ho7k4 -jo8ppWaklMf7/f4MEZ1pNBpnHnrooQunz5w55Z2D1hpJo4FmowGpFMBclHUdIsvzsJAcGkfuXfwS -4y/TvksVUC8cXTadQlkyvrbzPfvCDqjVJyaCoFChXEcRNJiTJEGz0UAcR4jjRLZarbPtdhve+2Nb -W1urRLTcbrV3H3nkkZXnnntuh4hWAew89dRTE0UgnPcWCFDEQS/MgTOAtdYbY+1wOJrorr2xsXHO -OXdfkiTnpJQPCCGWhBAnjTFTQogFIcTU9PT03NTUVBO1qpwidPeGMabUs+NFmZCeNSiIuaojXIoI -BsNxUT7eWihZ5AkWHUInQaBwlLwKLFEoDyOVhBCCiIh9EW4WUiKKYiRJgjiO54UQTef8CSI3EEJs -CyEGAFaZed17/zozX/7a17526X3ve99rBW4ApZQ1xjgStG/T3G46jLOBLIRQS0vHZv7tv/uDMx// -kY8Re3641+8/TkQPSSnPCSHuJ6JFZp5nZlFW4hRSQoRegAxm750jYwxZaynP89LvD6hNHY3d68bt -mxMqI9CYgCN4paARILtJi7/EC+pt44ikFKxDiXlCOP3EQRU5HxJFWHjnlbOuba1tl/GKAtTqMvMO -gDeY+TIzv/rCN77xzdWV668A5F/+9quLeZ5Fvix9eoB04AyglILSemphcf7+hx54MBkMhgtCiCcB -PEZEZ4holohmgTEk68tFc64UyVwugqu5beUzECqGENM4ZFNngDIyhEn54Av7wRReQNV7MPj8NQi4 -fIzbyAohqv5BAMM5R9YYzvMcmcogSHgZGgsUreklmKuTxNNENM3Mi8z8IDM/luX5Iyur6y8KQdtE -dJyEuLXj02+RDpwBpqenoyiKzszMTD/TaCTOWntCCPEQM+8L8OxF+saQbUDknAtGm3WuYAhPHCo1 -oogMltHcmv/vIcY9H0DVcSBUnkChTqqoYmkzsB9LgHGcgYuTTkRSFBIqnHqqMILQY9CRK4zTYKBy -odInDPwWgBYzn3bOnXfOPeY9rxljyFm3ZKw98FyCA2eA+fnZJIqiM81tqndBAAAVSUlEQVRm84QQ -IvbezwJo1uHdkth7X6Rrs/fFgnPwpyvL2wcEj0unvMRkC/VfLjzqO1jUfmOPSijxA/YeVkrowrOY -kAKVKhnbFbXOoVy2likZtVIb4Tq4mDujYNYQxKyVuQ/zmHfOTxlru1mWpXmeU55nBy+hD/oHZmZm -YinltFa6AUxW9d7LBOy98Fw0diw6ddZAFXjvuNxNQGGJF2VeaUK479fjJYlaYKl8z1oLh6L+X50B -9kiA0gsosn+qDiVlj6LabxJXaQJcxBJ8FUou8wnGz2FOzjltjFkIDa2yNEuz9ACXBsAhMECkI0FE -qrTCS53NY4VaBntKkGWsBlxo0uCLPn+uaPXu/bh9qyCJPWtfBfW5vOM18oVHUBEzfBFVNEUfIVF2 -Ct0XF5j8mRueNgaKE+fj9/ZEIhDSFAIqUUgQCsfBC4DKWhhjhDH5gUP1hwYE1d21giYQrwp2re36 -0ODRVwWhrXPki3Bv2amDC/y9GrK0GzAO4lS/ART1fSdfL6UAEcEYA6VULTro90iBPVPfU2OCuewm -x7V3qxDzxPWXuQRCEJhF1e8ojBPUx9u742+dDgUHICJDJEgI0rgJzLnH7RqrgLD4bK2DdZaccwGC -lRIyNIIcx2dRQfkon3jPb3i+AWMwV16Fsbamz3mCCWqMQ2XyYK28RF0NlTMYp68GsXODBaXim1Uf -YhZEhoiMEHT03cCxdQ3yflJm7lkEKm9w6XO7ws0zYfErt6809KSUtTHGemC/8TZhZ0x4GeEbCB3H -rYXJ86pORBUF9OMHar+2XwPUWK4am+sfpD1Cb4JKRiEKfYsPo0jIYTAACyEqRqhn99Seq6bNBfLG -NUsa3jvyod0r25rfXyxmlaFDkyL3hmDQxO/wGGutpICzEC4UkKhjAJ5LZJbL1OFxaHHvxi7VANdy -U1DMsvYPlAKrGmHckzj0Jzz4mNBh2QATf+/blTzeNcwMF/Q/F7qfrK3EM5VGZNCbe2yKcaTnhh5A -ncrYf91IHNsCAqoK647PEpaG4DgTBAC4TA6rSZRKslBN99NeRinxqb3B37F0eQcwwD45hwkmoNr7 -vGfX0hgTcBUI5FzR49eX2p8qN2w8ECaYYN98biAByve88/DCwYMqCVAZpzzGF+q/NeFtFHOqeAJl -bmH9A+XqVhPnIndpPAQw6a0cEB0aA3DN/dq382uf5SLhwo+tf6rH7a1zkEIGd65cfBDqpfoYqM7/ -32xOZfevfcag9xDWgTDuEFZ6Jjf6/FhFcHFaZMwMjLFdE1QVYw/Pjal0HWm8+w/cBcAhqoAqGld7 -re4YEVG1U+o3zvtiVxb2AHuPypYsAUCiiQ1ItUUBc802H4toz/vc0uozvmKQm9gSNPn5UjVUD9Sk -wuT75fTKqU5SJfYrU+bA6Y6ogNrr+0xiLpAz731Y+OD/F0kfwTso8fwxGlcfuAbg+DLNs3yLAV8T -9fuxiUo6eKJaLiDqK1utU/k7BUqJsotZiRpWeQTlLHhCqdddA54MZh9eUtChpYTdjBFu+FmUO6sG -wpRZP+whS6uK9ujJuhq+gQ3AHOICN97VdeSufiSsNnBtS5afDsmmvkhGdXtAozH7VX8xY+/W5gpW -oImx37FGYEl7Ld3y1pQLX2/5HiRA0TJeqbD4osTTa9+v2Rfs/URdugkJUKiTUndMCJFCl5f/7Zt3 -lXVahII9V/hEwCr2ZxlXVuHN7lM19vj5EGzAu+xcQF3vc5m3P2aEulFXYQp77lLwBGv6t/xOmepV -lwAYewzVlydGKg3M/VMNKWHFtEv7hDEx10kV89Yk4Ngo2jehA6HDaBnzlj/LQJV6NQaCynhAeAhB -leEnykhcXYrQ2DUL4JMoPLNiN3uelAA3EOuTDnkd8RkDz+XviwKt886DyU+eM3B+j62xX/zf4I5V -i///Ewkwhsgrn7vKxK1Z2ZU4Lo6D01gQj2nC3ENwpcaGATPD1423miQYz2Xv7AiVnuHabxCN+xYV -iI4vVEF94euJpTVE6OZscDi2X0WH0TYu/H8cqql2UZ3Ght+kBCj/5rr4F1U9gP0SpvLJASJfSxIK -WH7pjt7Ir98zm0oP7802YBQSQMgqz4/BVch678MXTFGBUDe4Q1STNuNcgbd8k982HYIK+E+/z/Wd -hbpPvcdaZw47j8Q4EWMPTRiCqNsEwbgcG24e9SNfN5/8GGyqxiZUuz8wQM19LELYpfryrp7YchMj -sBAJJbA1ZoJ3gA2wl258r+uACY996MK/Hp/UDbtSVBm24gY4QNjpXBPVJfOU6GFYLAdnx8Zb+dm9 -VGabldMsn4kIUooyNRwAggoo5lyeOA5MUGYU75c4VaWR2q7fmy52kHSIDMA3Wfzy3fFnJnR0XQXU -d0nlBewZh1EwAAAKNaOLuj5VV1hw6CnpNWANwWgC+0k0cUx7ZHFhzJVROylEkRg6hrl93dDk8cFU -v0falOqolrQ8KQW+21v8NuiO4QD1AE6pAZjHGICvSYGxmK7XAypsgLoHUBp6lQcAgEODyLCzGAKB -wQiMsvmjFJjMKyzd9moxxu/V/XUpJZTWCOcDFIhMZWzWYwSlVOOayhE1NLPUASVD08TrB0t31guo -WVZ1I7C8YdhTlqUEf0Iu4PgGTdoMYUAlQ1sXJQlEYxXAjFqeQQCCwlm+MJ5nKhpDhocsOoMKSZX0 -KOcTqpPJ4uTy2CCs2buF0XdjCVDdhhqiWXkdN8EfbjcdqgS4iU6rXIP6jhnvwrIQmICQgqWUkFJW -xhdqbBRMhPHuJoSzJblxyIxDmjkYwzBFZ5C8KDDB3kBSKBgtJRUeBMCF6ggSJCxMwagMgISQUEqx -1hG01qFGgBRlVg8qx7Fkaj/JBMXC06QEKB/1Szs4uqMSgMeG+hgx54ofxqKQiIudT6X4JzFRAgBA -iBFpRZAUsPXceoxSi+1ujk7fYLdnMMo80tzBWEZuLNg7xNpjtkVYnBaYbhMiFXqTO0dBAghACYas -lqqsPkaQUpIuahcoJUsVxYWLWnm/tTIz46ufkBVjiVb+9Q5xA8fGURkWrt5DqTKZwDxxb+quUKkv -S3ErZaECaiHmUlxDAnnuMBwZrG+nWNvOcG19iO2uwXbHYJR7pLlHbovGkcxoNwgn5iQeOB3hrBCY -n5YQBBjPyDKPLPewDtXvlEndoYO4QhRpxHGMPM8BAqRS4VxjyazlZTFPqKoKoqigobpxeziI0KFJ -gNLinWAC5hteZiEaubC0SRTJcUUmMFeHLLkAeZmhJFgEjsBgZHBtbYhvvdnDm8sjXF4dYXdg0enb -YueHxfcMOMdoJQLHZhUGqYdxwbpvJQK5EeiOgO6Q4XKPOebgUQQlQABBSsFKa0SRho40mEFSSRqr -qeI6CiBhjGhydflEVd2hQ3H96nQoEuBGMXdgQsNNfKJ0sYSUkMGnIhYi6FulIIWsMH5CyA9UkpBa -RrdvcOl6Hy+8tovnXuniylqG9R0DtgxkBfZfWY0AHGMgCYOeRG4cQgtiwrG5CM4xrm8xtjYZkhlz -c2GmQgQ7QwiClApxFKORNGCthWfPSmkqbAKuM0KBSlU/TzUXZq///47xAvamgdWpWEDef50B6y8B -HxTp36owAEsVQERQSkBJASU9+oMMa9sZXrrUx998q4cXLg5g+i50EJMEwAHSI3QNLVp/uoIRcsLK -Rg5JBsQWxxebIFK4uuqxuwO0NOFUJsAkQkMJJeC9nFQBJof3HlKKQlXVDFaxh91LXYBJJkDJCBUC -ebB04AxQpoQD++yAwvTFpBlExKGnnwh5/wBxaDlXHDVXEEJWJV20Eoh0OHrd6Vt+/eoQz7/axTcv -9WE20lAHTXuoFqMZOTQjpoZmaAlWMtT8tx48yhzl1sMbxyvrDr2BgaMYy5s5ej3CfEvj/Egjd6pY -YMB5glQKcRyj2WwU7qWFIMFKq+AZaMVSFYxA1SmmqsI0atZguAdlajhV5xgPkg5FAtTVQI2rCxcJ -hT0NhMsXJARBsgAVu6i0CbTWiKMISdKgOA6Vw5rNCLEWGKaGOkPGG6s5Li2nyHdzABY0RTg2ZbE4 -w5hrMdoJcbshEGtFkZIgIeAZNMo994YOw9TSKB9hOMjRSSOsbnq4oYPzGt2sCYMGojhBI4kghEOj -kZAxbXjvWWsN5xwzmGoeS90eqIn2MYYRjILg++1XAwdLh9I7eN8L4eK4njIFoLhhXCz62DcWQngh -JWulSClFWmuWImB6BA/nGINhjrXtFNfWR9jqpIBPSU0bnD9OOL3gsTQrsTCj0W5GmG4niKOIkzgi -pRRAgp1n9IcG3X6K1a0hVrdSYGOEdXIYOYHUaO6lGv1MIM0drM3BPtgfcRKjzVOIoqhEMT0YwnPo -PlpKMyELVVBbfwBcZhmWAHAFJr0T3EDUMLF64ANFkcoSuStFnyx8OVEucBCHgigUbiiTLTJCONMf -/sDqdobV9R10e0NoMohmDN97zOCRMxKnFhXmphuYm2lT0mjSVLuFOI6RJAlrrSGlIikJubFIRyOs -be7y9bUdzLS6YG9wkT2gmIapxdbOACtrW2A7AEOgN7RVrEIqCcmycO65EnFl/oIq1EANdK5UfbAG -DicJpE6H1Du4EmfhMvcZhsG5Lo0lIYRl9t5aK5xzKh/lEyVhrLXw3sFag0iGLJy1HYsrVwYY9buY -baSYb1o8egZ44LTC8cUptFrTmJqeRZy00GpPIQoMAK0VtNJQqjgJ5HIsLHRwfLGNufYqYr2DSKXY -6Fvkow6uXvN4OdnB5lzA/40VkEqDqIgMEkEpDaUVoihyWqtUScVEpIkoFnsWOcg53ivuSz/xO4TP -bg8dlgqQRBTd/AMEEDIiDISQHQZ3vfN5Okpb3V53qdPpLI5GI4zSFNaYUNTJWVhrQAgMsd1jbK4z -lHc4PWdxchZ0dinmxblWWPjGDJLmDKKkiShpI4oj1nEcrPXgrpEigiCG1AmajRhaCYAkrNuiSys5 -cruD9dUOvmWB9WkKx9OhoXQEISS0DjZL0mig2WxidnZ2dXZmZiVuxkMCEgbm2ftpImoCSML9ryOD -1XpHeKd0DxdCEPPECZmSsS0R9QEMGLxFoB2AN6JIr0gp14yx+erq6rGVldVHNjbWHx0MBseGw6E2 -xua5yT1757yzBDi2ltEdkeiNoigmGc9O6ejEnMLcTEKNRot11IbSTSgdRL7SEkpJKCVJSgEpBQsp -uBLVuomkxZibS3H6hKGdToo8z7Gy0Xe93TS/luam1wQrJYiEJqU0E0mllCQlZZQ0G1m71V7Osuwb -cRS9eOLEiU1BlBhjTqRZdpyIFikUxloEUOsrMGYCBgQfQp+Bw/ACplDpewYCV28C2AZ4pfj7OhFt -MON6s9m8Pjc7u9brD8xf/MVfnnzjjTeWd3a2d7I8P5PnecM5l3vnHYEtERPgrWdyWSa1BJbasTo9 -1ZBLSSxAFMFyTMYrFp5CG7jioGkJMZfh5vLMIZGAMQ7eCTjEUDpBqxlhti3Q69punpm1LEu3RoKs -IAgSuSouT1Oo/RNFke7FcfLGYDD4iiD6+jNPP72sldLrGxtLWZ6fJKITABaZcYaIFgA+TYRFIiwB -aBTBsAi4udS8XXQYEkBwqBCSEdE6gDVmvgRgmRmXmbEBYJmIdoho4+zZc5tEVFbYvvTUU0+tz87O -Xoui6IQQokmheIIXgqySQhBhxFDGOxdr7R+OI/eeRPuYwDOhmbSHtZakNT43OREBQhYLD66qgYxD -uQRjLRuTi1GaI80NwB6J9r1WzN+G5RescRe9lxmDNXkkzlt4Zs3eSx8eHWvMlReef/6Fz372s6/+ -7M/+bHk9r7z00ktz3vtFZp5l5pMA5olwlohOEdF5AKeY+QSzb4E5vsEtva10GAww8N73KZRF/TYz -vw7gFYRqmdeZucvMu1rr7MKFC3tLq+df//rXXzt58uTuvffeOz07MxPpKPJxHLPWysdRRI0kGiSN -dr661Yvy3KwRfMTen81zOzMYZRBqBKk0QERKCmb2BELZeQROh7y9yvVkcJ5nNBwOsb3TwfZOF/3h -EM7aTS3xQjPRX0LcfvHE0kxubR5Zy61QqNqpUNfHoN/rDVaWl7defPnlNQAT13ThwoWdS29c2h32 -h7GHe1NK0bTWn1BKHWfGgwDOe+8f9Z5PMXj+oNfnwBlASvk3RLTJzBcBPM/MF733V7TWnSeeeGL0 -FobIV1ZWrq+srFz/T33wUz/290ZCNVtgec5asZBm2YyQIaZQIvCRjdh7T1ppstZyGceXSjKBmD0j -TUfodnu0vb2N3d0ORsNBx9nsJbjRX7pR7y/+4A//sGoD91M/89+pza0NluTFYDDA5Tcv86VLl+x3 -muf9993PANLigevLl69MtWfbKyurr6Zpeq/z/pLz7v5CQhwoHYYE+FMA60KIN5j51cFgsPaBD3zg -O5Y/+7Vf+6d04bEL+LFPfeq7coN+/9/8+7X/4pOffFmp6BuAOSWy9L0lluC8E845xHEMZ0PxaWNN -1YdASEHeM5y1GA6G6Ha72NndRa/XxWAweD1N068PBv1vfv4P//Ba/Tf/xf/x2+Vi37Su7xe+8AW6 -dPEi/fc///M3tOpPnzrHAHrM/Mrf/u3XN40xm87ZS8x+6bu5/rdDh1Eq9osAOlEUrT/wwAO9t/Kd -X/3Vf/q2/d/e+muvxGef+DKDI2QkvPcPMXPLGIM8yxHHMdIkQ6Q1tNYocfpSLeR5jtFwhMFggF6v -PxyNhq8Oh8M/M3n65Vef++Nvo+arvVX6xCc+MeHj3YwoNKHc/B9+4X/cfejBhy5LIafexi34rujA -GaDVar08PT2dE9244tU3vvENIiK8613vetuL/uM/9d/Qv/wXv8MA8Cd/+eLox04+8qJkFgFu9lsA -nnDOLVprZZ7nyLMcumCACp5lVA2o0jT1aZpujUajb2ZZ9jfpaPT/ZOnopW9dS29b4cayXcxgMMAz -zzwzce3/y//0P1sAG//Vj39s83b93s3okIHHw6OPfuSj03MLCxeUUu9SSn2/lPK81vqMVjpRSiVK -KZJSytAjAK5wBVNjTJbn+bUsyy6mafrX6Sh9/vVXX33xxZdf7N7pazoIOnQGeOONN+i+++47cIgT -AP7uxz7earQap7XWjwshHlZSPSKEOKGUWhJCxFLKqIBgjWefeec3rbVrxppvG2NeGQ6HL6yvrV/7 -6lf/qn8Y8/385z9PP/qjP3oo96akd6wEqNMP//DHTjcajQe11u+WUj4opbxXCDEjhEhC+iin3vue -tfaKtfZimqbPd7qdV77851+6fKfnftD0/wHqxrHboq02DgAAAABJRU5ErkJggg== -" - height="128" - width="128" /> - </g> -</svg> diff --git a/demos/mobile/quickhit/main.cpp b/demos/mobile/quickhit/main.cpp deleted file mode 100644 index e2eb8cf2..0000000 --- a/demos/mobile/quickhit/main.cpp +++ /dev/null @@ -1,101 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <QtGui/QApplication> -#include <QDesktopWidget> -#include "mainwindow.h" - -// Lock S60 orientation -#ifdef Q_OS_SYMBIAN -#include <eikenv.h> -#include <eikappui.h> -#include <aknenv.h> -#include <aknappui.h> -#endif - -#ifndef QT_NO_OPENGL - #include <QGLWidget> -#endif - - -int main(int argc, char *argv[]) -{ - QApplication a(argc, argv); - - // Lock S60 orientation -#ifdef Q_OS_SYMBIAN - CAknAppUi* appUi = dynamic_cast<CAknAppUi*> (CEikonEnv::Static()->AppUi()); - TRAPD(error, - if (appUi) { - appUi->SetOrientationL(CAknAppUi::EAppUiOrientationPortrait); - } - ); -#endif - - MainWindow w; - -#ifndef QT_NO_OPENGL - // Use QGLWidget to get the opengl support if available - QGLFormat format = QGLFormat::defaultFormat(); - format.setSampleBuffers(false); - - QGLWidget *glWidget = new QGLWidget(format); - glWidget->setAutoFillBackground(false); - w.setViewport(glWidget); // ownership of glWidget is taken -#endif - - QObject *rootObject = dynamic_cast<QObject*>(w.rootObject()); - - // For Qt.exit() from QML - QObject::connect((QObject*)w.engine(), SIGNAL(quit()), &a, SLOT(quit())); - // Level activation signal from QML - QObject::connect(rootObject, SIGNAL(levelActivated(int)), &w, SLOT(levelActivated(int))); - -#if defined (Q_OS_SYMBIAN) || defined (Q_WS_MAEMO_5) - w.setGeometry(QApplication::desktop()->screenGeometry()); - w.showFullScreen(); -#else - w.setGeometry(100,100,360,640); - w.setFixedSize(360,640); - w.show(); -#endif - - return a.exec(); -} diff --git a/demos/mobile/quickhit/mainwindow.cpp b/demos/mobile/quickhit/mainwindow.cpp deleted file mode 100644 index 51c440b..0000000 --- a/demos/mobile/quickhit/mainwindow.cpp +++ /dev/null @@ -1,248 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "mainwindow.h" -#include "gameengine.h" -#include "plugins/levelplugininterface.h" - -#include <QDebug> -#include <QDir> -#include <QMessageBox> -#include <QLibraryInfo> -#include <QDeclarativeEngine> -#include <QDesktopWidget> - -MainWindow::MainWindow(QWidget *parent) - : QDeclarativeView(parent) -{ - -#ifdef Q_WS_MAEMO_5 - window()->setAttribute(Qt::WA_Maemo5PortraitOrientation, true); -#endif - - // Game engine - m_gameEngine = new GameEngine(this); - - // Load all levels plugins - m_levelPlugin = 0; - loadLevelPlugins(); - - // QML main window - engine()->addImportPath("./imports"); - setResizeMode(QDeclarativeView::SizeRootObjectToView); - - // Set game engine visible to QML - rootContext()->setContextProperty("GameEngine", m_gameEngine); - - // Set QML source - setSource(QUrl("qrc:/Game.qml")); - //setSource(QUrl("../QuickHit/Game.qml")); - - // Store QML root object for game engine - QObject *ro = static_cast<QObject*>(rootObject()); - m_gameEngine->setGameQml(ro); - m_gameEngine->findQmlObjects(); - - // Application foreground / background event filter for filterin incoming call (window) - // when game will be paused - m_eventFilter = new MyEventFilter(this); - QObject::connect(m_eventFilter,SIGNAL(activationChangeFiltered()),this,SLOT(activationChangeFiltered())); - qApp->installEventFilter(m_eventFilter); - - // Remove context menu from the all widgets - QWidgetList widgets = QApplication::allWidgets(); - QWidget* w = 0; - foreach (w,widgets){ - w->setContextMenuPolicy(Qt::NoContextMenu); - } -} - -MainWindow::~MainWindow() -{ - for (int i=0;i<m_plugins.count();i++) { - m_plugins[i]->unload(); - } - m_plugins.clear(); - -} - -void MainWindow::activationChangeFiltered() -{ - m_gameEngine->pauseGame(); -} - -void MainWindow::levelActivated(int index) -{ - // Set level for the game engine - createPlugin(index); - rootContext()->setContextProperty("LevelPlugin", m_levelPlugin); - m_gameEngine->setGameLevel(m_levelPlugin); -} - -void MainWindow::loadLevelPlugins() -{ -#if defined (Q_OS_SYMBIAN) - bool exists_c = loadPlugins("c", "quickhitlevels"); - bool exists_e = loadPlugins("e", "quickhitlevels"); - bool exists_f = loadPlugins("f", "quickhitlevels"); - if (exists_c || exists_e || exists_f) { - m_gameEngine->setPluginList(m_plugins); - createPlugin(); - } - else { - //QMessageBox::information(this, "QuickHit", "Could not load any of the quickhitlevels"); - } -#else - if (loadPlugins("c", "quickhitlevels")) { - m_gameEngine->setPluginList(m_plugins); - createPlugin(); - } - else { - //QMessageBox::information(this, "QuickHit", "Could not load any of the quickhitlevels"); - } - - -#endif -} - -bool MainWindow::loadPlugins(QString drive, QString pluginDir) -{ -#if defined (Q_OS_SYMBIAN) - QDir pluginsDir(drive + ":" + QLibraryInfo::location(QLibraryInfo::PluginsPath)); -#elif defined Q_OS_WIN32 - QDir pluginsDir = QDir::currentPath(); -#else - QDir pluginsDir(QLibraryInfo::location(QLibraryInfo::PluginsPath)); -#endif - pluginsDir.cd(pluginDir); - - qDebug() << "Loads plugins from : " << pluginsDir.path(); - - bool newPluginsLoaded = false; - - foreach (QString fileName, pluginsDir.entryList(QDir::Files)) - { - // Accept only plugin files -#if defined (Q_OS_SYMBIAN) - if (fileName.contains(".qtplugin",Qt::CaseInsensitive)) { -#elif defined (Q_WS_MAEMO_5) - if (fileName.contains(".so",Qt::CaseInsensitive)) { -#else - if (fileName.contains(".dll",Qt::CaseInsensitive)) { -#endif - - // Create plugin loader - QPluginLoader* pluginLoader = new QPluginLoader(pluginsDir.absoluteFilePath(fileName)); - // Load plugin - bool ret = pluginLoader->load(); - if (!ret) { - // Loading failed - qDebug() << "Could not load plugin " << fileName; - } else { - // Loading done - // Test creating plugin - QObject *plugin = 0; - LevelPluginInterface* pluginIF = 0; - plugin = pluginLoader->instance(); - pluginIF = qobject_cast<LevelPluginInterface*> (plugin); - if (pluginIF) { - qDebug() << "Plugin can be created"; - // Store loader to array - m_plugins.append(pluginLoader); - newPluginsLoaded = true; - } else { - pluginLoader->unload(); - qDebug() << "Plugin can NOT be created!"; - } - } - } - } - - return newPluginsLoaded; -} - - -void MainWindow::createPlugin(int index) -{ - if (index == -1) { - return; - } - - m_levelPlugin = 0; - - // Try to create plugin instance - QPluginLoader* pluginLoader = m_plugins[index]; - QObject *plugin = pluginLoader->instance(); - if (plugin) { - // Plugin instance created - // Cast plugin to LevelPluginInterface, that is common for all plugins - LevelPluginInterface* pluginIF = qobject_cast<LevelPluginInterface*> (plugin); - m_levelPlugin = pluginIF; - qDebug() << "Plugin created: " << index; - } - else { - qDebug() << "Creating plugin failed!"; - QMessageBox::information(this, "QuickHit", "Could not create quickhitlevels"); - } -} - -void MainWindow::printObjectTree(QObject* parent) -{ - if (parent) { - qDebug() << "className:" << parent->metaObject()->className(); - qDebug() << "objectName:" << parent->objectName(); - - QObjectList list = parent->children(); - QObject* item; - foreach (item,list) { - if (item->children().count()>0) { - qDebug() << "--Childrens found--"; - printObjectTree(item); - } else { - qDebug() << "className:" << item->metaObject()->className(); - qDebug() << "objectName:" << item->objectName(); - } - } - } else { - qDebug() << "object NULL"; - } - -} - diff --git a/demos/mobile/quickhit/mainwindow.h b/demos/mobile/quickhit/mainwindow.h deleted file mode 100644 index 69846ef..0000000 --- a/demos/mobile/quickhit/mainwindow.h +++ /dev/null @@ -1,85 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef MAINWINDOW_H -#define MAINWINDOW_H - -#include <QtGui/QMainWindow> -#include <QDeclarativeView> - -#include <QApplication> -#include <QDeclarativeView> -#include <QDeclarativeContext> -#include <QGraphicsObject> -#include <QMouseEvent> -#include <QPluginLoader> - -#include "myeventfilter.h" - -class GameEngine; -class LevelPluginInterface; - -class MainWindow : public QDeclarativeView -{ - Q_OBJECT - -public: - MainWindow(QWidget *parent = 0); - ~MainWindow(); - -public slots: - void levelActivated(int); - void activationChangeFiltered(); - -private: - void printObjectTree(QObject* parent); - void loadLevelPlugins(); - bool loadPlugins(QString drive, QString pluginDir); - void createPlugin(int index = -1); - -private: - GameEngine* m_gameEngine; - LevelPluginInterface* m_levelPlugin; - QList<QPluginLoader*> m_plugins; - - MyEventFilter* m_eventFilter; -}; - -#endif // MAINWINDOW_H diff --git a/demos/mobile/quickhit/menu.qml b/demos/mobile/quickhit/menu.qml deleted file mode 100755 index 861c9d0..0000000 --- a/demos/mobile/quickhit/menu.qml +++ /dev/null @@ -1,156 +0,0 @@ -/****************************************************************************** - * - * Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * Contact: Nokia Corporation (qt-info@nokia.com) - * - * $QT_BEGIN_LICENSE:BSD$ - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the author organization nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * $QT_END_LICENSE$ - * - *****************************************************************************/ - -import Qt 4.7 -import "Game.js" as GameScript - - -Rectangle { - id: menu - - Text { - id: title - smooth: true - anchors.bottom: menu.top - anchors.horizontalCenter: menu.horizontalCenter - color: "red" - font.pixelSize: gameArea.width / 12 - font.bold: true - horizontalAlignment: Text.AlignHCenter - } - - border.color: "black" - border.width: 2 - radius: 8 - smooth: true - opacity: 0 // transparent by default - - color: "black" -// gradient: Gradient { -// GradientStop { position: 0.0; color: "white" } -// GradientStop { position: 1.0; color: "black" } -// } - - // Signals - signal levelSelected(int levelIndex) - signal resumeSelected() - - // Show level menu - function showLevelMenu() { - menuData.clear() - title.text = "Select Your Level" - var plugins = GameEngine.pluginList() - for (var i = 0; i < plugins.length; i++) { - menuData.append({"name": plugins[i],"type":"0"}) - } - menuData.append({"name": "About","type":"4"}) - menuData.append({"name": "Exit","type":"1"}) - menu.opacity = 0.8 - listView.focus = true - } - - function showPauseMenu() { - menuData.clear() - title.text = "Resume level?" - menuData.append({"name": "Resume","type":"2"}) - menuData.append({"name": "End Game","type":"3"}) - menu.opacity = 0.8 - listView.focus = true - } - - // Hide menu - function hideMenu() { - menu.opacity = 0 - listView.focus = false - } - - function menuItemSelected(index, type) { - switch (type) { - case "0": { - // Level selection - menu.levelSelected(index) - break; - } - case "1": { - // Exit - Qt.quit() - break; - } - case "2": { - // Resume - menu.resumeSelected() - break; - } - case "3": { - // End Game - gameArea.endGame() - break; - } - case "4": { - // Show about - gameArea.messageBox.showInfoMessage() - break; - } - default: { - break; - } - } - } - - ListModel { - id: menuData - } - - ListView { - id: listView - clip: true - anchors.fill: parent - keyNavigationWraps: true - - function doSelect() { - menu.menuItemSelected(listView.currentIndex,menuData.get(listView.currentIndex).type) - } - - model: menuData - - delegate: MenuItem { - id: menuItem - selectedItem: menuItem.ListView.isCurrentItem ? true : false - onItemSelected: { - listView.currentIndex = model.index - listView.doSelect() - } - - } - } -} diff --git a/demos/mobile/quickhit/menuitem.qml b/demos/mobile/quickhit/menuitem.qml deleted file mode 100755 index 7973c33..0000000 --- a/demos/mobile/quickhit/menuitem.qml +++ /dev/null @@ -1,96 +0,0 @@ -/****************************************************************************** - * - * Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * Contact: Nokia Corporation (qt-info@nokia.com) - * - * $QT_BEGIN_LICENSE:BSD$ - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the author organization nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * $QT_END_LICENSE$ - * - *****************************************************************************/ - -import Qt 4.7 - -Text { - id: menuItem - text: name - color: "white" - opacity: 1 - font.family: "Calibri" - font.pixelSize: menu.width / 8 - x: (parent.width - width )/ 2 - - property bool selectedItem: false - property int type - - signal itemSelected() - - transform: Rotation { id:rotationId; origin.x:width/2; origin.y:height/2; axis { x: 1; y: 0; z: 0 } angle: 0 } - SequentialAnimation { - id: toRotateRightAndCenterAnim - PropertyAnimation { target: rotationId; easing.type: Easing.Linear; - properties: "angle"; from: 0; to: 180; duration: 300 } - PropertyAction { target: menuItem; property: "color"; value:"red"} - PropertyAnimation { target: rotationId; easing.type: Easing.Linear; - properties: "angle"; from: 180; to: 360; duration: 300 } - PropertyAction { target: menuItem; property: "color"; value:"white"} - } - - function selectItem(doSelect) { - if (!toRotateRightAndCenterAnim.running) { - GameEngine.playInternalSound(0) - toRotateRightAndCenterAnim.restart() - if (doSelect) { - GameEngine.playInternalSound(1) - selectionTimer.restart() - } - } - } - - Timer { - id: selectionTimer - interval: 1000; running: false; repeat: false - onTriggered: menuItem.itemSelected() - } - - MouseArea { - id: mouseArea; - anchors.fill: parent - onClicked: { - selectItem(true) - } - } - - Keys.onSpacePressed: { selectItem(true) } - Keys.onSelectPressed: { selectItem(true) } - Keys.onEnterPressed: { selectItem(true) } - Keys.onReleased: { - if (event.key == Qt.Key_Down || event.key == Qt.Key_Up) { - selectItem(false) - } - event.accepted = false - } -} - diff --git a/demos/mobile/quickhit/message.qml b/demos/mobile/quickhit/message.qml deleted file mode 100755 index 2ddd4a4..0000000 --- a/demos/mobile/quickhit/message.qml +++ /dev/null @@ -1,140 +0,0 @@ -/****************************************************************************** - * - * Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * Contact: Nokia Corporation (qt-info@nokia.com) - * - * $QT_BEGIN_LICENSE:BSD$ - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the author organization nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * $QT_END_LICENSE$ - * - *****************************************************************************/ - -import Qt 4.7 - -Rectangle { - id: message - border.color: "black" - border.width: 1 - radius: 8 - smooth: true - opacity: 0 // transparent = 0 by default - color: "black" - - property string txt - property int animSpeed - - function showMessage(text,speed) { - message.border.color = "black" - message.y = 50 - message.width = gameArea.width / 5 * 4 - message.height = gameArea.height / 8 * 1 - txt = text - animSpeed = speed - message.opacity = 1 - messageText.font.pixelSize = parent.width / 14 - messageAnim.restart() - } - - function showErrorMessage(text,speed) { - message.border.color = "red" - message.y = 50 - message.width = gameArea.width / 5 * 4 - message.height = gameArea.height / 8 * 1 - txt = text - animSpeed = speed - message.opacity = 1 - messageText.font.pixelSize = parent.width / 14 - messageAnim.restart() - } - - function showInfoMessage() { - message.border.color = "white" - txt = "<a href=\"https://projects.forum.nokia.com/quickhit\">QuickHit</a>" + - "<p>" + - "Forum Nokia <br>" + - "Qt Quick Game Example <br>" + - "</p>" + - "<p>" + - "Sounds were loaded from freesound.org under Creative Commons Sampling Plus 1.0 license.<br>" + - "</p>" + - "<p>" + - "Sounds were created by these nicknames:<br>" + - "HardPCM<br>" + - "Matt_G<br>" + - "klankbeeld<br>" + - "steveygos93<br>" + - "joe93barlow<br>" + - "ljudman<br>" + - "Jovica<br>" + - "patchen<br>" + - "nthompson<br>" + - "</p>" - - animSpeed = 9000 - message.opacity = 1 - message.y = 10 - message.height = gameArea.height - message.y - 10 - message.width = gameArea.width - 20 - - messageText.font.pixelSize = parent.width / 16 - messageAnim.restart() - } - - //gradient: Gradient { - // GradientStop { position: 0.0; color: "white" } - // GradientStop { position: 1.0; color: "black" } - //} - - SequentialAnimation { - id: messageAnim - PropertyAnimation { - target: message; properties: "x"; - from: message.width*-1; to: gameArea.width; duration: animSpeed; easing.type: Easing.OutInExpo} - PropertyAction { target: message; properties: "opacity"; value: 0 } - } - - MouseArea { - anchors.fill: parent - onClicked: { - messageAnim.stop() - message.opacity = 0 - } - } - - Text { - id: messageText - anchors.fill: parent - anchors.margins: 10 - text: txt - wrapMode: Text.WordWrap - color: "white" - font.family: "Calibri" - font.pixelSize: parent.width / 14 - font.bold: true - onLinkActivated: { - GameEngine.openLink(link) - } - } -} diff --git a/demos/mobile/quickhit/missile.qml b/demos/mobile/quickhit/missile.qml deleted file mode 100755 index 3ff2816..0000000 --- a/demos/mobile/quickhit/missile.qml +++ /dev/null @@ -1,136 +0,0 @@ -/****************************************************************************** - * - * Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * Contact: Nokia Corporation (qt-info@nokia.com) - * - * $QT_BEGIN_LICENSE:BSD$ - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the author organization nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * $QT_END_LICENSE$ - * - *****************************************************************************/ - -import Qt 4.7 - -Item { - id: missile - objectName: "missile" - opacity: 0 // transparent by default - - property int fromYpos - property int toYpos - property variant myMissileSize - property bool enemyMissile: false - property int defaultX: 0 - property int defaultY: 0 - - function storeDefaultPos() { - defaultX = missile.x - defaultY = missile.y - } - - function setToDefaultPos() { - missile.x = defaultX - missile.y = defaultY - opacity = 0.5 - } - - function createGraphicsForLevel() { - missile.myMissileSize = LevelPlugin.graphSize(LevelPlugin.pathToMissilePic()) - missile.height = myMissileSize.height; - missile.width = myMissileSize.width; - if (missile.enemyMissile) { - missileImage.source = "file:/"+LevelPlugin.pathToEnemyMissilePic() - } else { - missileImage.source = "file:/"+LevelPlugin.pathToMissilePic() - } - } - - // Execute fire! - function fire(aXpox, aFromYpos, aToYpos) { - missile.x = aXpox - missile.width / 2 - missile.y = aFromYpos - missile.fromYpos = aFromYpos - missile.toYpos = aToYpos - missile.opacity = 1 - GameEngine.playSound(2) // NOTE: 3 for your missile sound - flying.restart() - } - - // Enemy fires! - function enemyFire(aXpox, aFromYpos, aToYpos) { - missile.x = aXpox - missile.width / 2 - missile.y = aFromYpos - missile.fromYpos = aFromYpos - missile.toYpos = aToYpos - missile.opacity = 1 - GameEngine.playSound(3) // NOTE: 3 for enemy missile sound - flyingEnemy.restart() - } - - // Stop missile - function stop() { - flying.stop() - } - - // Pause missile - function pause(doPause) { - if (doPause) { - flying.pause() - flyingEnemy.pause() - } else { - flying.resume() - flyingEnemy.resume() - } - } - - Component.onCompleted: { - if (!enemyMissile) { - storeDefaultPos() - setToDefaultPos() - } - } - - // Animates missile flying to the target - SequentialAnimation { - id: flying - PropertyAnimation {target: missile; properties: "y"; - from: fromYpos; to: toYpos; duration: 2000; easing.type: Easing.InCubic } - //PropertyAction {target: missile; properties: "opacity"; value: 0} - ScriptAction { script: setToDefaultPos() } - } - - SequentialAnimation { - id: flyingEnemy - PropertyAnimation {target: missile; properties: "y"; - from: fromYpos; to: toYpos; duration: 2000; easing.type: Easing.InCubic } - PropertyAction {target: missile; properties: "opacity"; value: 0} - } - - Image { - id: missileImage - smooth: true - } -} - diff --git a/demos/mobile/quickhit/myeventfilter.cpp b/demos/mobile/quickhit/myeventfilter.cpp deleted file mode 100644 index 6ff8890..0000000 --- a/demos/mobile/quickhit/myeventfilter.cpp +++ /dev/null @@ -1,67 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <QDebug> -#include "myeventfilter.h" - -MyEventFilter::MyEventFilter(QObject *parent) : - QObject(parent) -{ -} - -MyEventFilter::~MyEventFilter() -{ -} - -bool MyEventFilter::eventFilter(QObject *obj, QEvent *event) -{ - // http://doc.trolltech.com/4.7/qevent.html#QEvent - - // QEvent::ActivationChange : The application has been made available to the user. - - if (event->type() == QEvent::ActivationChange) { - emit activationChangeFiltered(); - qDebug() << "ActivationChangeFiltered()"; - return false; - } else { - // standard event processing - return QObject::eventFilter(obj, event); - } -} diff --git a/demos/mobile/quickhit/myeventfilter.h b/demos/mobile/quickhit/myeventfilter.h deleted file mode 100644 index 279cd26..0000000 --- a/demos/mobile/quickhit/myeventfilter.h +++ /dev/null @@ -1,63 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef KEYEVENTLISTENER_H -#define KEYEVENTLISTENER_H - -#include <QObject> -#include <QKeyEvent> - -class MyEventFilter : public QObject -{ - Q_OBJECT - -public: - MyEventFilter(QObject *parent = 0); - ~MyEventFilter(); - -protected: - bool eventFilter(QObject *obj, QEvent *event); - -signals: - void activationChangeFiltered(); - -}; - -#endif // KEYEVENTLISTENER_H diff --git a/demos/mobile/quickhit/myship.qml b/demos/mobile/quickhit/myship.qml deleted file mode 100755 index d435694..0000000 --- a/demos/mobile/quickhit/myship.qml +++ /dev/null @@ -1,177 +0,0 @@ -/****************************************************************************** - * - * Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * Contact: Nokia Corporation (qt-info@nokia.com) - * - * $QT_BEGIN_LICENSE:BSD$ - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the author organization nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * $QT_END_LICENSE$ - * - *****************************************************************************/ - -import Qt 4.7 -import "Game.js" as GameScript - -Item { - id: myShip - objectName: "myShip" - - property variant myShipSize - property int originalY - - // Fires missile if exists - function fire() { - if (myShip.opacity==1) { - GameScript.fireMissile(myShip.x+myShip.width/2,myShip.y,myShip.height*-1) - if (myShip.y+myShip.height < gameArea.height+5) { - goDownAnim.restart() - } - } - } - - function createGraphicsForLevel() { - myShip.myShipSize = LevelPlugin.graphSize(LevelPlugin.pathToMyShipPic()) - myShip.height = myShipSize.height - myShip.width = myShipSize.width - image.source = "file:/"+LevelPlugin.pathToMyShipPic() - myShip.y = gameArea.height - myShip.height - 10 - originalY = myShip.y - myShip.x = (gameArea.width - myShip.width)/ 2 - } - - Image { - id: image - smooth: true - } - - Keys.onSpacePressed: { fire() } - Keys.onSelectPressed: { fire() } - Keys.onRightPressed: { - if (myShip.x < (gameArea.width - myShip.width - 20)) { - toRightAnim.restart() - } - } - Keys.onLeftPressed: { - if (myShip.x > 20) { - toLeftAnim.restart() - } - } - - // To right animation - PropertyAnimation { id: toRightAnim; target: myShip; easing.type: Easing.OutQuint; - properties: "x"; from: myShip.x; to: myShip.x + 20; duration: 500 } - - // To left animation - PropertyAnimation { id: toLeftAnim; target: myShip; easing.type: Easing.OutQuint; - properties: "x"; from: myShip.x; to: myShip.x - 20; duration: 500 } - - // Go down on fire animation - SequentialAnimation { - id: goDownAnim - NumberAnimation { target: myShip; property:"y"; from: myShip.y; to: myShip.y+5; - easing.type: Easing.Linear; duration: 200 } - NumberAnimation { target: myShip; property:"y"; from: myShip.y; to: originalY; - easing.type: Easing.Linear; duration: 200 } - } - - - /* - MouseArea { - anchors.fill: parent - drag.target: myShip - drag.axis: Drag.XAxis - drag.minimumX: 0 - drag.maximumX: gameArea.width - myShip.width - onReleased: { - fire() - } - } - */ - - - /* - property bool isAutoRepeat: false - Keys.onPressed: { - if (event.key == Qt.Key_Right) { - if (event.isAutoRepeat) { - isAutoRepeat = true - toRightAnim.restart() - } else { - isAutoRepeat = false - toRotateRightAndCenterAnim.restart() - } - event.accepted = true - } - else if (event.key == Qt.Key_Left) { - if (event.isAutoRepeat) { - isAutoRepeat = true - toLeftAnim.restart() - } else { - isAutoRepeat = false - toRotateLeftAndCenterAnim.restart() - } - event.accepted = true - } - } - - Keys.onReleased: { - if (isAutoRepeat) { - toRotateRightAndCenterAnim.stop() - toRotateLeftAndCenterAnim.stop() - } else { - toRotateCenter.restart() - } - event.accepted = true - } - - // Rotation on movement animation - transform: Rotation { id:rotationId; origin.x: width/2; origin.y: height/2; axis { x: 0; y: 1; z: 0 } angle: 0 } - SequentialAnimation { - id: toRotateRightAndCenterAnim - PropertyAnimation { target: rotationId; easing.type: Easing.Linear; - properties: "angle"; from: 0; to: 30; duration: 100 } - PropertyAnimation { target: myShip; easing.type: Easing.OutQuint; - properties: "x"; from: myShip.x; to: myShip.x + 20; duration: 500 } - PropertyAnimation { target: rotationId; easing.type: Easing.Linear; - properties: "angle"; to: 0; duration: 100 } - } - SequentialAnimation { - id: toRotateLeftAndCenterAnim - PropertyAnimation { target: rotationId; easing.type: Easing.Linear; - properties: "angle"; from: 0; to: -30; duration: 100 } - PropertyAnimation { target: myShip; easing.type: Easing.OutQuint; - properties: "x"; from: myShip.x; to: myShip.x - 20; duration: 500 } - PropertyAnimation { target: rotationId; easing.type: Easing.Linear; - properties: "angle"; to: 0; duration: 100 } - } - PropertyAnimation { id: toRotateRight; target: rotationId; easing.type: Easing.Linear; - properties: "angle"; from: 0; to: 30; duration: 100 } - PropertyAnimation { id: toRotateCenter; target: rotationId; easing.type: Easing.Linear; - properties: "angle"; to: 0; duration: 100 } - PropertyAnimation { id: toRotateLeft; target: rotationId; easing.type: Easing.Linear; - properties: "angle"; from: 0; to: -30; duration: 100 } -*/ - -} diff --git a/demos/mobile/quickhit/plugins/LevelOne/Level.qml b/demos/mobile/quickhit/plugins/LevelOne/Level.qml deleted file mode 100644 index d564e6e..0000000 --- a/demos/mobile/quickhit/plugins/LevelOne/Level.qml +++ /dev/null @@ -1,214 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 -import Qt.labs.particles 1.0 - -Rectangle { - id: enemies - anchors.fill: parent - color: "black" - - - // Background image for the level - Image { - id: background1 - source: "file:/"+LevelPlugin.pictureRootPath()+"background3.png" - fillMode: Image.PreserveAspectCrop - smooth: true - //anchors.fill: parent - width: parent.width - height: parent.height - } - - - // *************************************************** - // *** NOTE: This is mandatory for all level QML files - function pause(doPause) { - if (doPause) { - rightLeftAnim.pause() - upToDownAnim.pause() - } else { - rightLeftAnim.resume() - upToDownAnim.resume() - } - } - - - // *************************************************** - // *** NOTE: This is mandatory for all level QML files - objectName: "level" - - property int enemySpeed: LevelPlugin.enemySpeed() - property int enemyMaxWidth - - // Create enemies dynamically - function createEnemies(amount) { - var b = false; - for (var i=0;i<amount;i++) { - if (b){ - Qt.createQmlObject('import QtQuick 1.0; Image { property bool hit:false; width:50; objectName:"enemy"; smooth:true; fillMode:Image.PreserveAspectFit; source:"file:/"+LevelPlugin.pictureRootPath()+"enemy1.png";}',enemiesGrid); - } else { - Qt.createQmlObject('import QtQuick 1.0; Image { property bool hit:false; width:50; objectName:"enemy"; smooth:true; fillMode:Image.PreserveAspectFit; source:"file:/"+LevelPlugin.pictureRootPath()+"enemy2.png";}',enemiesGrid); - } - b = !b; - } - } - - // Calculate enemy max width - function calEnemyMaxWidth() { - var enemyCountInCol = LevelPlugin.enemyCount() / LevelPlugin.enemyRowCount(); - enemyCountInCol++; // add some extra space needs for width - if (enemyCountInCol*LevelPlugin.graphSize(LevelPlugin.pictureRootPath()+"enemy1.png").width > gameArea.width) { - enemyMaxWidth = gameArea.width / (enemyCountInCol + 1); - } - else { - enemyMaxWidth = LevelPlugin.graphSize(LevelPlugin.pictureRootPath()+"enemy1.png").width; - } - } - - - Component.onCompleted: { - // Calculate enemy max width - calEnemyMaxWidth() - - // Create enemies dynamically after component created - createEnemies(LevelPlugin.enemyCount()) - - // Start animations - enemiesGrid.y = enemiesGrid.height * -1 - rightLeftAnim.restart() - upToDownAnim.restart() - - // Flying stars animation, not in Maemo - if (!GameEngine.isMaemo()) { - starBurstTimer.restart() - } - - GameEngine.playSound(4) // NOTE: Level start sound - } - - - Timer { - id: starBurstTimer - interval: starParticles.lifeSpan+GameEngine.randInt(100,2000); running: false; repeat: true - onTriggered: { - starParticles.burst(GameEngine.randInt(4,10)) - } - } - - - // Right-left animation - SequentialAnimation { - id: rightLeftAnim - loops: Animation.Infinite - NumberAnimation { target:enemiesGrid; property:"x"; from: 0; to:gameArea.width - enemiesGrid.width; easing.type: Easing.OutQuad; duration: 3000 } - NumberAnimation { target:enemiesGrid; property:"x"; to: 0; easing.type: Easing.OutQuad; duration: 3000 } - } - - // Up to down animation - PropertyAnimation { id: upToDownAnim; target:enemiesGrid; property:"y"; to: gameArea.height; - easing.type: Easing.Linear; duration: enemies.enemySpeed } - - Grid { - id: enemiesGrid - objectName: "enemiesGrid" - columns: LevelPlugin.enemyCount() / LevelPlugin.enemyRowCount() - spacing: 8 - } - - // *************************************************** - // *** NOTE: This is mandatory for all level QML files - // Execute explode particle effect - function explode(x,y) { - explodeParticles.x = x - explodeParticles.y = y - explodeParticles.burst(20) - explodeParticles.opacity = 1 - } - // *************************************************** - // *** NOTE: This is mandatory for all level QML files - // Explode particle effect - Particles { - id: explodeParticles - opacity: 0 - width: 1 - height: 1 - emissionRate: 0 - source: "file:/"+LevelPlugin.pictureRootPath()+"red_fire.png" - lifeSpan: 500 - lifeSpanDeviation: 2000 - count: -1 - angle: 270 - angleDeviation: 65 - velocity: 100 - velocityDeviation: 100 - ParticleMotionGravity { - yattractor: 1000 - xattractor: 300 - acceleration: 50 - } - } - - Particles { - id: starParticles - y: -50 - x: 0 - width: parent.width - height: 50 - emissionRate: 0 - source: "file:/"+LevelPlugin.pictureRootPath()+"star3.png" - lifeSpan: 3000 - count: -1 - angle: 90 - velocity: 100 - ParticleMotionGravity { - yattractor: 1000 - xattractor: 500 - } - } - - -} - - - - - diff --git a/demos/mobile/quickhit/plugins/LevelOne/debian/changelog b/demos/mobile/quickhit/plugins/LevelOne/debian/changelog deleted file mode 100644 index de7ac98..0000000 --- a/demos/mobile/quickhit/plugins/LevelOne/debian/changelog +++ /dev/null @@ -1,11 +0,0 @@ -levelone (1.1.0) unstable; urgency=low - - * Final graphics - - -- Antonio Aloisio <antonio.aloisio@nokia.com> Wed, 5 Jan 2011 10:05:04 +0200 - -levelone (1.0.0) unstable; urgency=low - - * First version - - -- Antonio Aloisio <antonio.aloisio@nokia.com> Tue, 19 Oct 2010 10:05:04 +0200 diff --git a/demos/mobile/quickhit/plugins/LevelOne/debian/compat b/demos/mobile/quickhit/plugins/LevelOne/debian/compat deleted file mode 100644 index 7f8f011..0000000 --- a/demos/mobile/quickhit/plugins/LevelOne/debian/compat +++ /dev/null @@ -1 +0,0 @@ -7 diff --git a/demos/mobile/quickhit/plugins/LevelOne/debian/control b/demos/mobile/quickhit/plugins/LevelOne/debian/control deleted file mode 100644 index c46afef..0000000 --- a/demos/mobile/quickhit/plugins/LevelOne/debian/control +++ /dev/null @@ -1,11 +0,0 @@ -Source: levelone -Section: user/games -Priority: extra -Maintainer: Antonio Aloisio <antonio.aloisio@nokia.com> -Standards-Version: 3.7.2 - -Package: levelone -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: QuickHit - LevelOne - QuickHit - LevelOne diff --git a/demos/mobile/quickhit/plugins/LevelOne/debian/copyright b/demos/mobile/quickhit/plugins/LevelOne/debian/copyright deleted file mode 100644 index fb9e5a8..0000000 --- a/demos/mobile/quickhit/plugins/LevelOne/debian/copyright +++ /dev/null @@ -1,8 +0,0 @@ -This is qmultiwinexample, written and maintained by Forum Nokia Antonio Aloisio <antonio.aloisio@nokia.com> -on Tue, 19 Oct 2010 10:05:04 +0200 - - -Copyright Holder: Nokia (c) 2010 - -License: - diff --git a/demos/mobile/quickhit/plugins/LevelOne/debian/dirs b/demos/mobile/quickhit/plugins/LevelOne/debian/dirs deleted file mode 100644 index 80507f1..0000000 --- a/demos/mobile/quickhit/plugins/LevelOne/debian/dirs +++ /dev/null @@ -1,2 +0,0 @@ -usr/bin -usr/share/applications/hildon diff --git a/demos/mobile/quickhit/plugins/LevelOne/debian/postinst b/demos/mobile/quickhit/plugins/LevelOne/debian/postinst deleted file mode 100644 index 79fb6dd..0000000 --- a/demos/mobile/quickhit/plugins/LevelOne/debian/postinst +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -gtk-update-icon-cache -f /usr/share/icons/hicolor - -exit 0 diff --git a/demos/mobile/quickhit/plugins/LevelOne/debian/rules b/demos/mobile/quickhit/plugins/LevelOne/debian/rules deleted file mode 100644 index 53a1d2e..0000000 --- a/demos/mobile/quickhit/plugins/LevelOne/debian/rules +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/bin/make -f -# -*- makefile -*- -# Sample debian/rules that uses debhelper. -# This file was originally written by Joey Hess and Craig Small. -# As a special exception, when this file is copied by dh-make into a -# dh-make output file, you may use that output file without restriction. -# This special exception was added by Craig Small in version 0.37 of dh-make. - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - - -APPNAME := levelone - - -configure: configure-stamp -configure-stamp: - dh_testdir - # Add here commands to configure the package. - - touch configure-stamp - - -build: build-stamp - -build-stamp: configure-stamp - dh_testdir - - # Add here commands to compile the package. - $(MAKE) - #docbook-to-man debian/$(APPNAME).sgml > $(APPNAME).1 - - touch $@ - -clean: - dh_testdir - dh_testroot - rm -f build-stamp configure-stamp - - # Add here commands to clean up after the build process. - $(MAKE) clean - - dh_clean - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - - # Add here commands to install the package into debian/$(APPNAME). - $(MAKE) INSTALL_ROOT="$(CURDIR)"/debian/$(APPNAME) install - - -# Build architecture-independent files here. -binary-indep: build install -# We have nothing to do by default. - -# Build architecture-dependent files here. -binary-arch: build install - dh_testdir - dh_testroot - dh_installchangelogs - dh_installdocs - dh_installexamples -# dh_install -# dh_installmenu -# dh_installdebconf -# dh_installlogrotate -# dh_installemacsen -# dh_installpam -# dh_installmime -# dh_python -# dh_installinit -# dh_installcron -# dh_installinfo - dh_installman - dh_link - # dh_strip - dh_compress - dh_fixperms -# dh_perl - dh_makeshlibs - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/demos/mobile/quickhit/plugins/LevelOne/gfx/background3.png b/demos/mobile/quickhit/plugins/LevelOne/gfx/background3.png Binary files differdeleted file mode 100644 index c81875a..0000000 --- a/demos/mobile/quickhit/plugins/LevelOne/gfx/background3.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelOne/gfx/enemy1.png b/demos/mobile/quickhit/plugins/LevelOne/gfx/enemy1.png Binary files differdeleted file mode 100644 index 94f149b..0000000 --- a/demos/mobile/quickhit/plugins/LevelOne/gfx/enemy1.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelOne/gfx/enemy2.png b/demos/mobile/quickhit/plugins/LevelOne/gfx/enemy2.png Binary files differdeleted file mode 100644 index 448f8ca..0000000 --- a/demos/mobile/quickhit/plugins/LevelOne/gfx/enemy2.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelOne/gfx/enemy_missile2.png b/demos/mobile/quickhit/plugins/LevelOne/gfx/enemy_missile2.png Binary files differdeleted file mode 100644 index c0b28d8..0000000 --- a/demos/mobile/quickhit/plugins/LevelOne/gfx/enemy_missile2.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelOne/gfx/fire.png b/demos/mobile/quickhit/plugins/LevelOne/gfx/fire.png Binary files differdeleted file mode 100644 index 8401034..0000000 --- a/demos/mobile/quickhit/plugins/LevelOne/gfx/fire.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelOne/gfx/fire2.png b/demos/mobile/quickhit/plugins/LevelOne/gfx/fire2.png Binary files differdeleted file mode 100644 index 139aa61..0000000 --- a/demos/mobile/quickhit/plugins/LevelOne/gfx/fire2.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelOne/gfx/missile2.png b/demos/mobile/quickhit/plugins/LevelOne/gfx/missile2.png Binary files differdeleted file mode 100644 index dacd610..0000000 --- a/demos/mobile/quickhit/plugins/LevelOne/gfx/missile2.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelOne/gfx/red_fire.png b/demos/mobile/quickhit/plugins/LevelOne/gfx/red_fire.png Binary files differdeleted file mode 100644 index 464d603..0000000 --- a/demos/mobile/quickhit/plugins/LevelOne/gfx/red_fire.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelOne/gfx/ship.png b/demos/mobile/quickhit/plugins/LevelOne/gfx/ship.png Binary files differdeleted file mode 100644 index cb7851c..0000000 --- a/demos/mobile/quickhit/plugins/LevelOne/gfx/ship.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelOne/gfx/star3.png b/demos/mobile/quickhit/plugins/LevelOne/gfx/star3.png Binary files differdeleted file mode 100644 index f37a391..0000000 --- a/demos/mobile/quickhit/plugins/LevelOne/gfx/star3.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelOne/gfx/transparent.png b/demos/mobile/quickhit/plugins/LevelOne/gfx/transparent.png Binary files differdeleted file mode 100644 index 3aa1e41..0000000 --- a/demos/mobile/quickhit/plugins/LevelOne/gfx/transparent.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelOne/levelone.cpp b/demos/mobile/quickhit/plugins/LevelOne/levelone.cpp deleted file mode 100644 index a3aa1f6..0000000 --- a/demos/mobile/quickhit/plugins/LevelOne/levelone.cpp +++ /dev/null @@ -1,120 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "levelone.h" -#include <QtCore/qplugin.h> - - -LevelOne::LevelOne() -{ -} - -LevelOne::~LevelOne() -{ -} - -QString LevelOne::pathPrefix() -{ - /* -QDir::rootPath() -For Unix operating systems this returns "/". -For Windows file systems this normally returns "c:/". -On Symbian this typically returns "c:/data", -*/ - -#ifdef Q_WS_MAEMO_5 - return "/home/user/."; -#elif defined Q_OS_WIN32 - return QDir::rootPath(); -#else - //return QDir::rootPath()+"/"; - return "c:/System/"; -#endif -} - -QStringList LevelOne::levelSounds() -{ - QStringList list; - - // NOTE: Mandatory sounds/indexs for the all levels - // 0 = Enemy explode - list.append(LevelOne::pathPrefix()+"quickhitdata/levelone/sound/rocket_explosion.wav"); - // 1 = You explode - list.append(LevelOne::pathPrefix()+"quickhitdata/levelone/sound/crash.wav"); - // 2 = Missile fires - list.append(LevelOne::pathPrefix()+"quickhitdata/levelone/sound/rocket_explosion.wav"); - // 3 = Emeny Missile fires - list.append(LevelOne::pathPrefix()+"quickhitdata/levelone/sound/rocket.wav"); - - // Additional sounds - // Level starts - list.append(LevelOne::pathPrefix()+"quickhitdata/levelone/sound/levelonestart.wav"); - - return list; -} - -QVariant LevelOne::getData(QVariant key) -{ - QVariant ret; - switch (key.toInt()) { - case 1: { - // Any data what you need for this key - // Set your data into QVariant (ret) - break; - } - default: { - break; - } - } - return ret; -} - -QVariant LevelOne::graphSize(QVariant pathToGraph) -{ - QVariant ret; - m_imageReader.setFileName(pathToGraph.toString()); - QSize imageSize = m_imageReader.size(); - ret.setValue(imageSize); - return ret; -} - -// This Qt macro exports the plugin class LevelOne with the name levelplugins. -// There should be exactly one occurrence of this LevelOne macro in a Qt plugin's source code. -Q_EXPORT_PLUGIN2(levelplugins, LevelOne); diff --git a/demos/mobile/quickhit/plugins/LevelOne/levelone.h b/demos/mobile/quickhit/plugins/LevelOne/levelone.h deleted file mode 100644 index 6c64d79..0000000 --- a/demos/mobile/quickhit/plugins/LevelOne/levelone.h +++ /dev/null @@ -1,91 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef LEVELONE_H -#define LEVELONE_H - -#include <QObject> -#include <QDir> -#include <QImageReader> - -#include "levelplugininterface.h" - -class LevelOne : public LevelPluginInterface -{ - Q_OBJECT - - // This macro tells Qt which interfaces the class implements. - // This is used when implementing plugins. - Q_INTERFACES(LevelPluginInterface) - -public: - LevelOne(); - ~LevelOne(); - - static QString pathPrefix(); - -public: // From LevelPluginInterface - - QStringList levelSounds(); - - Q_INVOKABLE QVariant getData(QVariant key); - - Q_INVOKABLE QVariant graphSize(QVariant pathToGraph); - - Q_INVOKABLE QVariant enemyCount() { return QVariant(30); } // 6x5=30 - Q_INVOKABLE QVariant enemyRowCount() { return QVariant(6); } // 6 rows of enemies - Q_INVOKABLE QVariant enemySpeed() { return QVariant(36000); } - Q_INVOKABLE QVariant enemyFireSpeed() { return QVariant(200); } - - // Root paths for the QML, Pictures and Sounds - Q_INVOKABLE QVariant qmlRootPath() { return QVariant(LevelOne::pathPrefix()+"quickhitdata/levelone/"); } - Q_INVOKABLE QVariant pictureRootPath() { return QVariant(LevelOne::pathPrefix()+"quickhitdata/levelone/gfx/"); } - - // Full paths - Q_INVOKABLE QVariant pathToTransparentEnemyPic() {return QVariant(LevelOne::pathPrefix()+"quickhitdata/levelone/gfx/transparent.png");} - Q_INVOKABLE QVariant pathToMissilePic() {return QVariant(LevelOne::pathPrefix()+"quickhitdata/levelone/gfx/missile2.png");} - Q_INVOKABLE QVariant pathToEnemyMissilePic() {return QVariant(LevelOne::pathPrefix()+"quickhitdata/levelone/gfx/enemy_missile2.png");} - Q_INVOKABLE QVariant pathToMyShipPic() {return QVariant(LevelOne::pathPrefix()+"quickhitdata/levelone/gfx/ship.png");} - -protected: - QImageReader m_imageReader; -}; - -#endif // LEVELONE_H diff --git a/demos/mobile/quickhit/plugins/LevelOne/levelone.pro b/demos/mobile/quickhit/plugins/LevelOne/levelone.pro deleted file mode 100644 index fcbfc56..0000000 --- a/demos/mobile/quickhit/plugins/LevelOne/levelone.pro +++ /dev/null @@ -1,100 +0,0 @@ - -# Copyright (c) 2010 Nokia Corporation. - -TEMPLATE = lib - -#VERSION = 1.1.0 - -CONFIG += plugin - -INCLUDEPATH += ../ - -HEADERS = levelone.h - -SOURCES = levelone.cpp - -TARGET = $$qtLibraryTarget(levelone) - -OTHER_FILES += Level.qml - - -# SYMBIAN --------------------------- -symbian: { -# Load predefined include paths (e.g. QT_PLUGINS_BASE_DIR) to be used in the pro-files -load(data_caging_paths) - -# EPOCALLOWDLLDATA have to set true because Qt macros has initialised global data -TARGET.EPOCALLOWDLLDATA=1 -TARGET.UID3 = 0xE07dfb66 - -TARGET.CAPABILITY = NetworkServices \ - Location \ - ReadUserData \ - WriteUserData \ - LocalServices \ - UserEnvironment - -# Defines plugin stub file into Symbian .pkg package -pluginDep.sources = levelone.dll -pluginDep.path = $$QT_PLUGINS_BASE_DIR/quickhitlevels -DEPLOYMENT += pluginDep - -# Graphics and Sounds for the plugin -BLD_INF_RULES.prj_exports += "gfx/background3.png ../winscw/c/Data/gfx/background3.png" \ -"gfx/enemy1.png ../winscw/c/Data/gfx/enemy1.png" \ -"gfx/enemy2.png ../winscw/c/Data/gfx/enemy2.png" \ -"gfx/red_fire.png ../winscw/c/Data/gfx/red_fire.png" \ -"gfx/missile2.png ../winscw/c/Data/gfx/missile2.png" \ -"gfx/enemy_missile2.png ../winscw/c/Data/gfx/enemy_missile2.png" \ -"gfx/ship.png ../winscw/c/Data/gfx/ship.png" \ -"gfx/transparent.png ../winscw/c/Data/gfx/transparent.png" \ -"gfx/star3.png ../winscw/c/Data/gfx/star3.png" \ -"sound/crash.wav ../winscw/c/Data/sound/crash.wav" \ -"sound/rocket.wav ../winscw/c/Data/sound/rocket.wav" \ -"sound/rocket_explosion.wav ../winscw/c/Data/sound/rocket_explosion.wav" \ -"sound/levelonestart.wav ../winscw/c/Data/sound/levelonestart.wav" \ -"Level.qml ../winscw/c/Data/Level.qml" - - -myQml.sources = level.qml -myQml.path = c:/System/quickhitdata/levelone -myGraphic.sources = gfx/* -myGraphic.path = c:/System/quickhitdata/levelone/gfx -mySound.sources = sound/* -mySound.path = c:/System/quickhitdata/levelone/sound -# Takes qml, graphics and sounds into Symbian SIS package file (.pkg) -DEPLOYMENT += myQml myGraphic mySound - -target.path += $$[QT_INSTALL_PLUGINS]/quickhitlevels -# Installs binaries -INSTALLS += target -} - -# WINDOWS --------------------------- -win32: { -# Copy level sounds and graphics into right destination -system(mkdir c:\\quickhitdata\\levelone) -system(mkdir c:\\quickhitdata\\levelone\\gfx) -system(mkdir c:\\quickhitdata\\levelone\\sound) -system(copy *.qml c:\\quickhitdata\\levelone) -system(copy gfx\\*.* c:\\quickhitdata\\levelone\\gfx) -system(copy sound\\*.* c:\\quickhitdata\\levelone\\sound) - -# Installs binaries -target.path += $$[QT_INSTALL_PLUGINS]/quickhitlevels -INSTALLS += target -} - -# MAEMO_5 --------------------------- -maemo5: { -myQml.path = /home/user/.quickhitdata/levelone/ -myQml.files += Level.qml -myGraphic.path = /home/user/.quickhitdata/levelone/gfx/ -myGraphic.files += gfx/* -mySound.path = /home/user/.quickhitdata/levelone/sound/ -mySound.files += sound/* - -target.path += /usr/lib/qt4/plugins/quickhitlevels -# Installs qml, binaries, sounds and graphics -INSTALLS += target myGraphic mySound myQml -} diff --git a/demos/mobile/quickhit/plugins/LevelOne/sound/crash.wav b/demos/mobile/quickhit/plugins/LevelOne/sound/crash.wav Binary files differdeleted file mode 100644 index 8076f0f..0000000 --- a/demos/mobile/quickhit/plugins/LevelOne/sound/crash.wav +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelOne/sound/levelonestart.wav b/demos/mobile/quickhit/plugins/LevelOne/sound/levelonestart.wav Binary files differdeleted file mode 100644 index e9e3ac0..0000000 --- a/demos/mobile/quickhit/plugins/LevelOne/sound/levelonestart.wav +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelOne/sound/rocket.wav b/demos/mobile/quickhit/plugins/LevelOne/sound/rocket.wav Binary files differdeleted file mode 100644 index 8c0dee9..0000000 --- a/demos/mobile/quickhit/plugins/LevelOne/sound/rocket.wav +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelOne/sound/rocket_explosion.wav b/demos/mobile/quickhit/plugins/LevelOne/sound/rocket_explosion.wav Binary files differdeleted file mode 100644 index d2b451c..0000000 --- a/demos/mobile/quickhit/plugins/LevelOne/sound/rocket_explosion.wav +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/debian/changelog b/demos/mobile/quickhit/plugins/LevelTemplate/debian/changelog deleted file mode 100644 index a5e0a1b..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/debian/changelog +++ /dev/null @@ -1,11 +0,0 @@ -leveltemplate (1.1.0) unstable; urgency=low - - * Final graphics - - -- Antonio Aloisio <antonio.aloisio@nokia.com> Wed, 5 Jan 2011 10:05:04 +0200 - -leveltemplate (1.0.0) unstable; urgency=low - - * First version - - -- Antonio Aloisio <antonio.aloisio@nokia.com> Tue, 19 Oct 2010 10:05:04 +0200 diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/debian/compat b/demos/mobile/quickhit/plugins/LevelTemplate/debian/compat deleted file mode 100644 index 7f8f011..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/debian/compat +++ /dev/null @@ -1 +0,0 @@ -7 diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/debian/control b/demos/mobile/quickhit/plugins/LevelTemplate/debian/control deleted file mode 100644 index 68742fd..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/debian/control +++ /dev/null @@ -1,11 +0,0 @@ -Source: leveltemplate -Section: user/games -Priority: extra -Maintainer: Antonio Aloisio <antonio.aloisio@nokia.com> -Standards-Version: 3.7.2 - -Package: leveltemplate -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: QuickHit - Level Template - QuickHit - Level Template diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/debian/copyright b/demos/mobile/quickhit/plugins/LevelTemplate/debian/copyright deleted file mode 100644 index f9ee8e2..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/debian/copyright +++ /dev/null @@ -1,8 +0,0 @@ -This is leveltemplate, written and maintained by Forum Nokia Antonio Aloisio <antonio.aloisio@nokia.com> -on Tue, 19 Oct 2010 10:05:04 +0200 - - -Copyright Holder: Nokia (c) 2010 - -License: - diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/debian/dirs b/demos/mobile/quickhit/plugins/LevelTemplate/debian/dirs deleted file mode 100644 index 80507f1..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/debian/dirs +++ /dev/null @@ -1,2 +0,0 @@ -usr/bin -usr/share/applications/hildon diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/debian/levelone.tarlist b/demos/mobile/quickhit/plugins/LevelTemplate/debian/levelone.tarlist deleted file mode 100644 index f3146fa1..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/debian/levelone.tarlist +++ /dev/null @@ -1,41 +0,0 @@ -755 root root . home / -755 root root . home/maemo / -755 root root . home/maemo/quickhitdata / -755 root root . home/maemo/quickhitdata/levelone / -644 root root . home/maemo/quickhitdata/levelone/Level.qml debian/levelone/home/maemo/quickhitdata/levelone/Level.qml -755 root root . home/maemo/quickhitdata/leveltwo / -755 root root . home/maemo/quickhitdata/leveltwo/gfx / -644 root root . home/maemo/quickhitdata/leveltwo/gfx/background3.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/background3.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/blue_fire.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/blue_fire.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/enemy1.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/enemy1.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/enemy2.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/enemy2.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/enemy_missile2.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/enemy_missile2.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/fire.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/fire.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/fire2.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/fire2.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/missile.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/missile.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/missile2.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/missile2.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/moon.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/moon.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/ship.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/ship.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/star3.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/star3.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/transparent.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/transparent.png -755 root root . home/maemo/quickhitdata/leveltwo/sound / -644 root root . home/maemo/quickhitdata/leveltwo/sound/crash.wav debian/levelone/home/maemo/quickhitdata/leveltwo/sound/crash.wav -644 root root . home/maemo/quickhitdata/leveltwo/sound/enemy_explosion.wav debian/levelone/home/maemo/quickhitdata/leveltwo/sound/enemy_explosion.wav -644 root root . home/maemo/quickhitdata/leveltwo/sound/laser.wav debian/levelone/home/maemo/quickhitdata/leveltwo/sound/laser.wav -644 root root . home/maemo/quickhitdata/leveltwo/sound/myship_explosion.wav debian/levelone/home/maemo/quickhitdata/leveltwo/sound/myship_explosion.wav -644 root root . home/maemo/quickhitdata/leveltwo/sound/rocket.wav debian/levelone/home/maemo/quickhitdata/leveltwo/sound/rocket.wav -644 root root . home/maemo/quickhitdata/leveltwo/sound/rocket_explosion.wav debian/levelone/home/maemo/quickhitdata/leveltwo/sound/rocket_explosion.wav -755 root root . usr / -755 root root . usr/bin / -755 root root . usr/lib / -755 root root . usr/lib/qt4 / -755 root root . usr/lib/qt4/plugins / -755 root root . usr/lib/qt4/plugins/quickhitlevels / -644 root root . usr/lib/qt4/plugins/quickhitlevels/libleveltwo.so debian/levelone/usr/lib/qt4/plugins/quickhitlevels/libleveltwo.so -755 root root . usr/share / -755 root root . usr/share/applications / -755 root root . usr/share/applications/hildon / -755 root root . usr/share/doc / -755 root root . usr/share/doc/levelone / -644 root root . usr/share/doc/levelone/changelog.gz debian/levelone/usr/share/doc/levelone/changelog.gz -644 root root . usr/share/doc/levelone/copyright debian/levelone/usr/share/doc/levelone/copyright diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/debian/postinst b/demos/mobile/quickhit/plugins/LevelTemplate/debian/postinst deleted file mode 100644 index 79fb6dd..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/debian/postinst +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -gtk-update-icon-cache -f /usr/share/icons/hicolor - -exit 0 diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/debian/rules b/demos/mobile/quickhit/plugins/LevelTemplate/debian/rules deleted file mode 100644 index 7f30ca3..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/debian/rules +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/bin/make -f -# -*- makefile -*- -# Sample debian/rules that uses debhelper. -# This file was originally written by Joey Hess and Craig Small. -# As a special exception, when this file is copied by dh-make into a -# dh-make output file, you may use that output file without restriction. -# This special exception was added by Craig Small in version 0.37 of dh-make. - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - - -APPNAME := leveltemplate - - -configure: configure-stamp -configure-stamp: - dh_testdir - # Add here commands to configure the package. - - touch configure-stamp - - -build: build-stamp - -build-stamp: configure-stamp - dh_testdir - - # Add here commands to compile the package. - $(MAKE) - #docbook-to-man debian/$(APPNAME).sgml > $(APPNAME).1 - - touch $@ - -clean: - dh_testdir - dh_testroot - rm -f build-stamp configure-stamp - - # Add here commands to clean up after the build process. - $(MAKE) clean - - dh_clean - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - - # Add here commands to install the package into debian/$(APPNAME). - $(MAKE) INSTALL_ROOT="$(CURDIR)"/debian/$(APPNAME) install - - -# Build architecture-independent files here. -binary-indep: build install -# We have nothing to do by default. - -# Build architecture-dependent files here. -binary-arch: build install - dh_testdir - dh_testroot - dh_installchangelogs - dh_installdocs - dh_installexamples -# dh_install -# dh_installmenu -# dh_installdebconf -# dh_installlogrotate -# dh_installemacsen -# dh_installpam -# dh_installmime -# dh_python -# dh_installinit -# dh_installcron -# dh_installinfo - dh_installman - dh_link - # dh_strip - dh_compress - dh_fixperms -# dh_perl - dh_makeshlibs - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/gfx/blue_fire.png b/demos/mobile/quickhit/plugins/LevelTemplate/gfx/blue_fire.png Binary files differdeleted file mode 100644 index 8667a39..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/gfx/blue_fire.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/gfx/enemy1.png b/demos/mobile/quickhit/plugins/LevelTemplate/gfx/enemy1.png Binary files differdeleted file mode 100644 index 94f149b..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/gfx/enemy1.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/gfx/enemy2.png b/demos/mobile/quickhit/plugins/LevelTemplate/gfx/enemy2.png Binary files differdeleted file mode 100644 index 448f8ca..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/gfx/enemy2.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/gfx/enemy_missile2.png b/demos/mobile/quickhit/plugins/LevelTemplate/gfx/enemy_missile2.png Binary files differdeleted file mode 100644 index c0b28d8..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/gfx/enemy_missile2.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/gfx/missile2.png b/demos/mobile/quickhit/plugins/LevelTemplate/gfx/missile2.png Binary files differdeleted file mode 100644 index dacd610..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/gfx/missile2.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/gfx/ship.png b/demos/mobile/quickhit/plugins/LevelTemplate/gfx/ship.png Binary files differdeleted file mode 100644 index cb7851c..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/gfx/ship.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/gfx/transparent.png b/demos/mobile/quickhit/plugins/LevelTemplate/gfx/transparent.png Binary files differdeleted file mode 100644 index 3aa1e41..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/gfx/transparent.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/leveltemplate.cpp b/demos/mobile/quickhit/plugins/LevelTemplate/leveltemplate.cpp deleted file mode 100644 index fffec69..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/leveltemplate.cpp +++ /dev/null @@ -1,126 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "leveltemplate.h" -#include <QtCore/qplugin.h> - - -LevelTemplate::LevelTemplate() -{ -} - -LevelTemplate::~LevelTemplate() -{ -} - -QString LevelTemplate::pathPrefix() -{ -/* -QDir::rootPath() -For Unix operating systems this returns "/". -For Windows file systems this normally returns "c:/". -On Symbian this typically returns "c:/data", -*/ - -#ifdef Q_WS_MAEMO_5 - return "/home/user/."; -#elif defined Q_OS_WIN32 - return QDir::rootPath(); -#else - //return QDir::rootPath()+"/"; - return "c:/System/"; -#endif -} - -QStringList LevelTemplate::levelSounds() -{ - QStringList list; - - - // NOTE: Mandatory sounds/indexs for the all levels - // 0 = Enemy explode - list.append(LevelTemplate::pathPrefix()+"quickhitdata/"+LEVEL_NAME+"/sound/enemy_explosion.wav"); - // 1 = You explode - list.append(LevelTemplate::pathPrefix()+"quickhitdata/"+LEVEL_NAME+"/sound/myship_explosion.wav"); - // 2 = Missile fires - list.append(LevelTemplate::pathPrefix()+"quickhitdata/"+LEVEL_NAME+"/sound/laser.wav"); - // 3 = Emeny Missile fires - list.append(LevelTemplate::pathPrefix()+"quickhitdata/"+LEVEL_NAME+"/sound/rocket.wav"); - - // Additional sounds - list.append(LevelTemplate::pathPrefix()+"quickhitdata/"+LEVEL_NAME+"/sound/enableship.wav"); - list.append(LevelTemplate::pathPrefix()+"quickhitdata/"+LEVEL_NAME+"/sound/level2.wav"); - - - return list; -} - -QVariant LevelTemplate::getData(QVariant key) -{ - QVariant ret; - switch (key.toInt()) { - case 1: { - // Any data what you need for this key - // Set your data into QVariant (ret) - break; - } - default: { - break; - } - } - return ret; -} - -QVariant LevelTemplate::graphSize(QVariant pathToGraph) -{ - QVariant ret; - m_imageReader.setFileName(pathToGraph.toString()); - QSize imageSize = m_imageReader.size(); - ret.setValue(imageSize); - return ret; -} - -// This Qt macro exports the plugin class level with the name levelplugins. -// There should be exactly one occurrence of this macro in a Qt plugin's source code. -Q_EXPORT_PLUGIN2(levelplugins, LevelTemplate); - - - - diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/leveltemplate.h b/demos/mobile/quickhit/plugins/LevelTemplate/leveltemplate.h deleted file mode 100644 index f13705a..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/leveltemplate.h +++ /dev/null @@ -1,95 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef LevelTemplate_H -#define LevelTemplate_H - -#include <QObject> -#include <QDir> -#include <QImageReader> - -// Common interface header for all level plugins -#include "levelplugininterface.h" - -// Level name -#define LEVEL_NAME "leveltemplate" - -class LevelTemplate : public LevelPluginInterface -{ - Q_OBJECT - - // This macro tells Qt which interfaces the class implements. - // This is used when implementing plugins. - Q_INTERFACES(LevelPluginInterface) - -public: - LevelTemplate(); - ~LevelTemplate(); - - static QString pathPrefix(); - -public: // From LevelPluginInterface - - QStringList levelSounds(); - - Q_INVOKABLE QVariant getData(QVariant key); - - Q_INVOKABLE QVariant graphSize(QVariant pathToGraph); - - Q_INVOKABLE QVariant enemyCount() { return QVariant(1); } - Q_INVOKABLE QVariant enemyRowCount() { return QVariant(0); } - Q_INVOKABLE QVariant enemySpeed() { return QVariant(20000); } - Q_INVOKABLE QVariant enemyFireSpeed() { return QVariant(2000); } - - // Root paths for the QML, Pictures and Sounds - Q_INVOKABLE QVariant qmlRootPath() { return QVariant(LevelTemplate::pathPrefix()+"quickhitdata/"+LEVEL_NAME+"/"); } - Q_INVOKABLE QVariant pictureRootPath() { return QVariant(LevelTemplate::pathPrefix()+"quickhitdata/"+LEVEL_NAME+"/gfx/"); } - - // Full paths - Q_INVOKABLE QVariant pathToTransparentEnemyPic() {return QVariant(LevelTemplate::pathPrefix()+"quickhitdata/"+LEVEL_NAME+"/gfx/transparent.png");} - Q_INVOKABLE QVariant pathToMissilePic() {return QVariant(LevelTemplate::pathPrefix()+"quickhitdata/"+LEVEL_NAME+"/gfx/missile2.png");} - Q_INVOKABLE QVariant pathToEnemyMissilePic() {return QVariant(LevelTemplate::pathPrefix()+"quickhitdata/"+LEVEL_NAME+"/gfx/enemy_missile2.png");} - Q_INVOKABLE QVariant pathToMyShipPic() {return QVariant(LevelTemplate::pathPrefix()+"quickhitdata/"+LEVEL_NAME+"/gfx/ship.png");} - -protected: - QImageReader m_imageReader; -}; - -#endif // LevelTemplate_H diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/leveltemplate.pro b/demos/mobile/quickhit/plugins/LevelTemplate/leveltemplate.pro deleted file mode 100644 index a4f5900..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/leveltemplate.pro +++ /dev/null @@ -1,103 +0,0 @@ - -# Copyright (c) 2010 Nokia Corporation. - -TEMPLATE = lib - -#VERSION = 1.1.0 - -CONFIG += plugin - -INCLUDEPATH += ../ - -HEADERS = leveltemplate.h - -SOURCES = leveltemplate.cpp - -TARGET = $$qtLibraryTarget(leveltemplate) - -OTHER_FILES += qml/Level.qml \ - qml/Enemy.qml \ - qml/Level.js - - -# SYMBIAN --------------------------- -symbian: { -# Load predefined include paths (e.g. QT_PLUGINS_BASE_DIR) to be used in the pro-files -load(data_caging_paths) - -# EPOCALLOWDLLDATA have to set true because Qt macros has initialised global data -TARGET.EPOCALLOWDLLDATA=1 -TARGET.UID3 = 0xE07dfb68 - -TARGET.CAPABILITY = NetworkServices \ - Location \ - ReadUserData \ - WriteUserData \ - LocalServices \ - UserEnvironment - -# Defines plugin stub file into Symbian .pkg package -pluginDep.sources = leveltemplate.dll -pluginDep.path = $$QT_PLUGINS_BASE_DIR/quickhitlevels -DEPLOYMENT += pluginDep - -# Graphics and Sounds for the plugin -BLD_INF_RULES.prj_exports += "gfx/enemy1.png ../winscw/c/Data/gfx/enemy1.png" \ -"gfx/enemy2.png ../winscw/c/Data/gfx/enemy2.png" \ -"gfx/missile2.png ../winscw/c/Data/gfx/missile2.png" \ -"gfx/enemy_missile2.png ../winscw/c/Data/gfx/enemy_missile2.png" \ -"gfx/ship.png ../winscw/c/Data/gfx/ship.png" \ -"gfx/transparent.png ../winscw/c/Data/gfx/transparent.png" \ -"gfx/blue_fire.png ../winscw/c/Data/gfx/blue_fire.png" \ -"sound/enemy_explosion.wav ../winscw/c/Data/sound/enemy_explosion.wav" \ -"sound/myship_explosion.wav ../winscw/c/Data/sound/myship_explosion.wav" \ -"sound/enableship.wav ../winscw/c/Data/sound/enableship.wav" \ -"sound/laser.wav ../winscw/c/Data/sound/laser.wav" \ -"sound/level2.wav ../winscw/c/Data/sound/level2.wav" \ -"qml/Level.qml ../winscw/c/Data/Level.qml" \ -"qml/Level.js ../winscw/c/Data/Level.js" \ -"qml/Enemy.qml ../winscw/c/Data/Enemy.qml" - - -myQml.sources = qml/* -myQml.path = c:/System/quickhitdata/leveltemplate -myGraphic.sources = gfx/* -myGraphic.path = c:/System/quickhitdata/leveltemplate/gfx -mySound.sources = sound/* -mySound.path = c:/System/quickhitdata/leveltemplate/sound -# Takes qml, graphics and sounds into Symbian SIS package file (.pkg) -DEPLOYMENT += myQml myGraphic mySound - -target.path += $$[QT_INSTALL_PLUGINS]/quickhitlevels -# Installs binaries -INSTALLS += target -} - -# WINDOWS --------------------------- -win32: { -# Copy level sounds and graphics into right destination -system(mkdir c:\quickhitdata\leveltemplate) -system(mkdir c:\quickhitdata\leveltemplate\gfx) -system(mkdir c:\quickhitdata\leveltemplate\sound) -system(copy qml\*.* c:\quickhitdata\leveltemplate) -system(copy gfx\*.* c:\quickhitdata\leveltemplate\gfx) -system(copy sound\*.* c:\quickhitdata\leveltemplate\sound) - -# Installs binaries -target.path += $$[QT_INSTALL_PLUGINS]/quickhitlevels -INSTALLS += target -} - -# MAEMO_5 --------------------------- -maemo5: { -myQml.path = /home/user/.quickhitdata/leveltemplate/ -myQml.files += qml/* -myGraphic.path = /home/user/.quickhitdata/leveltemplate/gfx/ -myGraphic.files += gfx/* -mySound.path = /home/user/.quickhitdata/leveltemplate/sound/ -mySound.files += sound/* - -target.path += /usr/lib/qt4/plugins/quickhitlevels -# Installs qml, binaries, sounds and graphics -INSTALLS += target myGraphic mySound myQml -} diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/qml/Enemy.qml b/demos/mobile/quickhit/plugins/LevelTemplate/qml/Enemy.qml deleted file mode 100644 index b187c03..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/qml/Enemy.qml +++ /dev/null @@ -1,61 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 - -Image { - id: enemy - - // *************************************************** - // *** NOTE: This "enemy "is mandatory enemy object name for all enemy QML files - objectName: "enemy" - - smooth:true - opacity: 0 // 0=hidden by default - fillMode:Image.PreserveAspectFit - source:"file:/"+LevelPlugin.pictureRootPath()+"enemy1.png" - - property int enemySpeed: LevelPlugin.enemySpeed() - - // *************************************************** - // *** NOTE: This "pause(bool)" function is mandatory for all enemies QML files - function pause(doPause) { - } -} diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/qml/Level.js b/demos/mobile/quickhit/plugins/LevelTemplate/qml/Level.js deleted file mode 100644 index e2e1d3a..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/qml/Level.js +++ /dev/null @@ -1,42 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -var hiddenEnemies = new Array() - diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/qml/Level.qml b/demos/mobile/quickhit/plugins/LevelTemplate/qml/Level.qml deleted file mode 100644 index 3a383cf..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/qml/Level.qml +++ /dev/null @@ -1,103 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 -import Qt.labs.particles 1.0 - -// Level own JavaScript file -import "Level.js" as LevelScript - -Rectangle { - id: enemies - anchors.fill: parent - property int enemiesCreated: 0 - property int enemiesEnabled: 0 - color: "black" - - // *************************************************** - // *** NOTE: This "pause(bool)" function is mandatory for all level QML files - function pause(doPause) { - } - - // *************************************************** - // *** NOTE: Level object name "level" is mandatory for all level QML files - objectName: "level" - - // Enemy placeholder. Have to exist at least one enemy for prevent to level be stopped - Enemy { - x: parent.width / 2 - y: parent.height / 2 - opacity: 1 - } - - // *************************************************** - // *** NOTE: This is mandatory for all level QML files - // Execute explode particle effect - function explode(x,y) { - explodeParticles.x = x - explodeParticles.y = y - explodeParticles.burst(20) - explodeParticles.opacity = 1 - } - - // *************************************************** - // *** NOTE: This is mandatory for all level QML files - // Explode particle effect - Particles { - id: explodeParticles - opacity: 0 - width: 1 - height: 1 - emissionRate: 0 - source: "file:/"+LevelPlugin.pictureRootPath()+"blue_fire.png" - lifeSpan: 500 - lifeSpanDeviation: 2000 - count: -1 - angle: 270 - angleDeviation: 65 - velocity: 100 - velocityDeviation: 100 - ParticleMotionGravity { - yattractor: 1000 - xattractor: 300 - acceleration: 50 - } - } -} diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/sound/crash.wav b/demos/mobile/quickhit/plugins/LevelTemplate/sound/crash.wav Binary files differdeleted file mode 100644 index 8076f0f..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/sound/crash.wav +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/sound/enableship.wav b/demos/mobile/quickhit/plugins/LevelTemplate/sound/enableship.wav Binary files differdeleted file mode 100644 index 6fe5fe8..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/sound/enableship.wav +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/sound/enemy_explosion.wav b/demos/mobile/quickhit/plugins/LevelTemplate/sound/enemy_explosion.wav Binary files differdeleted file mode 100644 index fd338e6..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/sound/enemy_explosion.wav +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/sound/laser.wav b/demos/mobile/quickhit/plugins/LevelTemplate/sound/laser.wav Binary files differdeleted file mode 100644 index c3b58b2..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/sound/laser.wav +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/sound/level2.wav b/demos/mobile/quickhit/plugins/LevelTemplate/sound/level2.wav Binary files differdeleted file mode 100644 index 24d3917..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/sound/level2.wav +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/sound/myship_explosion.wav b/demos/mobile/quickhit/plugins/LevelTemplate/sound/myship_explosion.wav Binary files differdeleted file mode 100644 index e22d030..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/sound/myship_explosion.wav +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/sound/rocket.wav b/demos/mobile/quickhit/plugins/LevelTemplate/sound/rocket.wav Binary files differdeleted file mode 100644 index 8c0dee9..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/sound/rocket.wav +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTemplate/sound/rocket_explosion.wav b/demos/mobile/quickhit/plugins/LevelTemplate/sound/rocket_explosion.wav Binary files differdeleted file mode 100644 index d2b451c..0000000 --- a/demos/mobile/quickhit/plugins/LevelTemplate/sound/rocket_explosion.wav +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTwo/debian/changelog b/demos/mobile/quickhit/plugins/LevelTwo/debian/changelog deleted file mode 100644 index 106ef66..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/debian/changelog +++ /dev/null @@ -1,11 +0,0 @@ -leveltwo (1.1.0) unstable; urgency=low - - * Final graphics - - -- Antonio Aloisio <antonio.aloisio@nokia.com> Wed, 5 Jan 2011 10:05:04 +0200 - -leveltwo (1.0.0) unstable; urgency=low - - * First version - - -- Antonio Aloisio <antonio.aloisio@nokia.com> Tue, 19 Oct 2010 10:05:04 +0200 diff --git a/demos/mobile/quickhit/plugins/LevelTwo/debian/compat b/demos/mobile/quickhit/plugins/LevelTwo/debian/compat deleted file mode 100644 index 7f8f011..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/debian/compat +++ /dev/null @@ -1 +0,0 @@ -7 diff --git a/demos/mobile/quickhit/plugins/LevelTwo/debian/control b/demos/mobile/quickhit/plugins/LevelTwo/debian/control deleted file mode 100644 index 8f9d05e..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/debian/control +++ /dev/null @@ -1,11 +0,0 @@ -Source: leveltwo -Section: user/games -Priority: extra -Maintainer: Antonio Aloisio <antonio.aloisio@nokia.com> -Standards-Version: 3.7.2 - -Package: leveltwo -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: QuickHit - LevelTwo - QuickHit - LevelTwo diff --git a/demos/mobile/quickhit/plugins/LevelTwo/debian/copyright b/demos/mobile/quickhit/plugins/LevelTwo/debian/copyright deleted file mode 100644 index fb9e5a8..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/debian/copyright +++ /dev/null @@ -1,8 +0,0 @@ -This is qmultiwinexample, written and maintained by Forum Nokia Antonio Aloisio <antonio.aloisio@nokia.com> -on Tue, 19 Oct 2010 10:05:04 +0200 - - -Copyright Holder: Nokia (c) 2010 - -License: - diff --git a/demos/mobile/quickhit/plugins/LevelTwo/debian/dirs b/demos/mobile/quickhit/plugins/LevelTwo/debian/dirs deleted file mode 100644 index 80507f1..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/debian/dirs +++ /dev/null @@ -1,2 +0,0 @@ -usr/bin -usr/share/applications/hildon diff --git a/demos/mobile/quickhit/plugins/LevelTwo/debian/levelone.tarlist b/demos/mobile/quickhit/plugins/LevelTwo/debian/levelone.tarlist deleted file mode 100644 index f3146fa1..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/debian/levelone.tarlist +++ /dev/null @@ -1,41 +0,0 @@ -755 root root . home / -755 root root . home/maemo / -755 root root . home/maemo/quickhitdata / -755 root root . home/maemo/quickhitdata/levelone / -644 root root . home/maemo/quickhitdata/levelone/Level.qml debian/levelone/home/maemo/quickhitdata/levelone/Level.qml -755 root root . home/maemo/quickhitdata/leveltwo / -755 root root . home/maemo/quickhitdata/leveltwo/gfx / -644 root root . home/maemo/quickhitdata/leveltwo/gfx/background3.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/background3.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/blue_fire.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/blue_fire.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/enemy1.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/enemy1.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/enemy2.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/enemy2.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/enemy_missile2.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/enemy_missile2.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/fire.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/fire.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/fire2.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/fire2.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/missile.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/missile.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/missile2.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/missile2.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/moon.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/moon.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/ship.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/ship.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/star3.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/star3.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/transparent.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/transparent.png -755 root root . home/maemo/quickhitdata/leveltwo/sound / -644 root root . home/maemo/quickhitdata/leveltwo/sound/crash.wav debian/levelone/home/maemo/quickhitdata/leveltwo/sound/crash.wav -644 root root . home/maemo/quickhitdata/leveltwo/sound/enemy_explosion.wav debian/levelone/home/maemo/quickhitdata/leveltwo/sound/enemy_explosion.wav -644 root root . home/maemo/quickhitdata/leveltwo/sound/laser.wav debian/levelone/home/maemo/quickhitdata/leveltwo/sound/laser.wav -644 root root . home/maemo/quickhitdata/leveltwo/sound/myship_explosion.wav debian/levelone/home/maemo/quickhitdata/leveltwo/sound/myship_explosion.wav -644 root root . home/maemo/quickhitdata/leveltwo/sound/rocket.wav debian/levelone/home/maemo/quickhitdata/leveltwo/sound/rocket.wav -644 root root . home/maemo/quickhitdata/leveltwo/sound/rocket_explosion.wav debian/levelone/home/maemo/quickhitdata/leveltwo/sound/rocket_explosion.wav -755 root root . usr / -755 root root . usr/bin / -755 root root . usr/lib / -755 root root . usr/lib/qt4 / -755 root root . usr/lib/qt4/plugins / -755 root root . usr/lib/qt4/plugins/quickhitlevels / -644 root root . usr/lib/qt4/plugins/quickhitlevels/libleveltwo.so debian/levelone/usr/lib/qt4/plugins/quickhitlevels/libleveltwo.so -755 root root . usr/share / -755 root root . usr/share/applications / -755 root root . usr/share/applications/hildon / -755 root root . usr/share/doc / -755 root root . usr/share/doc/levelone / -644 root root . usr/share/doc/levelone/changelog.gz debian/levelone/usr/share/doc/levelone/changelog.gz -644 root root . usr/share/doc/levelone/copyright debian/levelone/usr/share/doc/levelone/copyright diff --git a/demos/mobile/quickhit/plugins/LevelTwo/debian/postinst b/demos/mobile/quickhit/plugins/LevelTwo/debian/postinst deleted file mode 100644 index 79fb6dd..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/debian/postinst +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -gtk-update-icon-cache -f /usr/share/icons/hicolor - -exit 0 diff --git a/demos/mobile/quickhit/plugins/LevelTwo/debian/rules b/demos/mobile/quickhit/plugins/LevelTwo/debian/rules deleted file mode 100644 index 5dac6e0..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/debian/rules +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/bin/make -f -# -*- makefile -*- -# Sample debian/rules that uses debhelper. -# This file was originally written by Joey Hess and Craig Small. -# As a special exception, when this file is copied by dh-make into a -# dh-make output file, you may use that output file without restriction. -# This special exception was added by Craig Small in version 0.37 of dh-make. - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - - -APPNAME := leveltwo - - -configure: configure-stamp -configure-stamp: - dh_testdir - # Add here commands to configure the package. - - touch configure-stamp - - -build: build-stamp - -build-stamp: configure-stamp - dh_testdir - - # Add here commands to compile the package. - $(MAKE) - #docbook-to-man debian/$(APPNAME).sgml > $(APPNAME).1 - - touch $@ - -clean: - dh_testdir - dh_testroot - rm -f build-stamp configure-stamp - - # Add here commands to clean up after the build process. - $(MAKE) clean - - dh_clean - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - - # Add here commands to install the package into debian/$(APPNAME). - $(MAKE) INSTALL_ROOT="$(CURDIR)"/debian/$(APPNAME) install - - -# Build architecture-independent files here. -binary-indep: build install -# We have nothing to do by default. - -# Build architecture-dependent files here. -binary-arch: build install - dh_testdir - dh_testroot - dh_installchangelogs - dh_installdocs - dh_installexamples -# dh_install -# dh_installmenu -# dh_installdebconf -# dh_installlogrotate -# dh_installemacsen -# dh_installpam -# dh_installmime -# dh_python -# dh_installinit -# dh_installcron -# dh_installinfo - dh_installman - dh_link - # dh_strip - dh_compress - dh_fixperms -# dh_perl - dh_makeshlibs - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/demos/mobile/quickhit/plugins/LevelTwo/gfx/background2.png b/demos/mobile/quickhit/plugins/LevelTwo/gfx/background2.png Binary files differdeleted file mode 100644 index 8fbf2f4..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/gfx/background2.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTwo/gfx/background_loop.png b/demos/mobile/quickhit/plugins/LevelTwo/gfx/background_loop.png Binary files differdeleted file mode 100644 index 3a135d2..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/gfx/background_loop.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTwo/gfx/blue_fire.png b/demos/mobile/quickhit/plugins/LevelTwo/gfx/blue_fire.png Binary files differdeleted file mode 100644 index 8667a39..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/gfx/blue_fire.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTwo/gfx/enemy1.png b/demos/mobile/quickhit/plugins/LevelTwo/gfx/enemy1.png Binary files differdeleted file mode 100644 index 94f149b..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/gfx/enemy1.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTwo/gfx/enemy_missile2.png b/demos/mobile/quickhit/plugins/LevelTwo/gfx/enemy_missile2.png Binary files differdeleted file mode 100644 index 5011d75..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/gfx/enemy_missile2.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTwo/gfx/fire.png b/demos/mobile/quickhit/plugins/LevelTwo/gfx/fire.png Binary files differdeleted file mode 100644 index 8401034..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/gfx/fire.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTwo/gfx/fire2.png b/demos/mobile/quickhit/plugins/LevelTwo/gfx/fire2.png Binary files differdeleted file mode 100644 index 139aa61..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/gfx/fire2.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTwo/gfx/missile.png b/demos/mobile/quickhit/plugins/LevelTwo/gfx/missile.png Binary files differdeleted file mode 100644 index 86bb41b..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/gfx/missile.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTwo/gfx/missile2.png b/demos/mobile/quickhit/plugins/LevelTwo/gfx/missile2.png Binary files differdeleted file mode 100644 index dacd610..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/gfx/missile2.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTwo/gfx/ship.png b/demos/mobile/quickhit/plugins/LevelTwo/gfx/ship.png Binary files differdeleted file mode 100644 index cb7851c..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/gfx/ship.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTwo/gfx/star3.png b/demos/mobile/quickhit/plugins/LevelTwo/gfx/star3.png Binary files differdeleted file mode 100644 index 70af0f3..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/gfx/star3.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTwo/gfx/transparent.png b/demos/mobile/quickhit/plugins/LevelTwo/gfx/transparent.png Binary files differdeleted file mode 100644 index 3aa1e41..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/gfx/transparent.png +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTwo/leveltwo.cpp b/demos/mobile/quickhit/plugins/LevelTwo/leveltwo.cpp deleted file mode 100644 index 45a39e3..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/leveltwo.cpp +++ /dev/null @@ -1,122 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "leveltwo.h" -#include <QtCore/qplugin.h> - - -LevelTwo::LevelTwo() -{ -} - -LevelTwo::~LevelTwo() -{ -} - -QString LevelTwo::pathPrefix() -{ - /* -QDir::rootPath() -For Unix operating systems this returns "/". -For Windows file systems this normally returns "c:/". -On Symbian this typically returns "c:/data", -*/ - -#ifdef Q_WS_MAEMO_5 - return "/home/user/."; -#elif defined Q_OS_WIN32 - return QDir::rootPath(); -#else - //return QDir::rootPath()+"/"; - return "c:/System/"; -#endif -} - -QStringList LevelTwo::levelSounds() -{ - QStringList list; - - - // NOTE: Mandatory sounds/indexs for the all levels - // 0 = Enemy explode - list.append(LevelTwo::pathPrefix()+"quickhitdata/leveltwo/sound/enemy_explosion.wav"); - // 1 = You explode - list.append(LevelTwo::pathPrefix()+"quickhitdata/leveltwo/sound/myship_explosion.wav"); - // 2 = Missile fires - list.append(LevelTwo::pathPrefix()+"quickhitdata/leveltwo/sound/laser.wav"); - // 3 = Emeny Missile fires - list.append(LevelTwo::pathPrefix()+"quickhitdata/leveltwo/sound/rocket.wav"); - - // Additional sounds - list.append(LevelTwo::pathPrefix()+"quickhitdata/leveltwo/sound/enableship.wav"); - list.append(LevelTwo::pathPrefix()+"quickhitdata/leveltwo/sound/level2.wav"); - - - return list; -} - -QVariant LevelTwo::getData(QVariant key) -{ - QVariant ret; - switch (key.toInt()) { - case 1: { - // Any data what you need for this key - // Set your data into QVariant (ret) - break; - } - default: { - break; - } - } - return ret; -} - -QVariant LevelTwo::graphSize(QVariant pathToGraph) -{ - QVariant ret; - m_imageReader.setFileName(pathToGraph.toString()); - QSize imageSize = m_imageReader.size(); - ret.setValue(imageSize); - return ret; -} - -// This Qt macro exports the plugin class LevelTwo with the name levelplugins. -// There should be exactly one occurrence of this LevelTwo macro in a Qt plugin's source code. -Q_EXPORT_PLUGIN2(levelplugins, LevelTwo); diff --git a/demos/mobile/quickhit/plugins/LevelTwo/leveltwo.h b/demos/mobile/quickhit/plugins/LevelTwo/leveltwo.h deleted file mode 100644 index b983210..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/leveltwo.h +++ /dev/null @@ -1,91 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef LevelTwo_H -#define LevelTwo_H - -#include <QObject> -#include <QDir> -#include <QImageReader> - -#include "levelplugininterface.h" - -class LevelTwo : public LevelPluginInterface -{ - Q_OBJECT - - // This macro tells Qt which interfaces the class implements. - // This is used when implementing plugins. - Q_INTERFACES(LevelPluginInterface) - -public: - LevelTwo(); - ~LevelTwo(); - - static QString pathPrefix(); - -public: // From LevelPluginInterface - - QStringList levelSounds(); - - Q_INVOKABLE QVariant getData(QVariant key); - - Q_INVOKABLE QVariant graphSize(QVariant pathToGraph); - - Q_INVOKABLE QVariant enemyCount() { return QVariant(35); } - Q_INVOKABLE QVariant enemyRowCount() { return QVariant(0); } - Q_INVOKABLE QVariant enemySpeed() { return QVariant(20000); } - Q_INVOKABLE QVariant enemyFireSpeed() { return QVariant(500); } - - // Root paths for the QML, Pictures and Sounds - Q_INVOKABLE QVariant qmlRootPath() { return QVariant(LevelTwo::pathPrefix()+"quickhitdata/leveltwo/"); } - Q_INVOKABLE QVariant pictureRootPath() { return QVariant(LevelTwo::pathPrefix()+"quickhitdata/leveltwo/gfx/"); } - - // Full paths - Q_INVOKABLE QVariant pathToTransparentEnemyPic() {return QVariant(LevelTwo::pathPrefix()+"quickhitdata/leveltwo/gfx/transparent.png");} - Q_INVOKABLE QVariant pathToMissilePic() {return QVariant(LevelTwo::pathPrefix()+"quickhitdata/leveltwo/gfx/missile2.png");} - Q_INVOKABLE QVariant pathToEnemyMissilePic() {return QVariant(LevelTwo::pathPrefix()+"quickhitdata/leveltwo/gfx/enemy_missile2.png");} - Q_INVOKABLE QVariant pathToMyShipPic() {return QVariant(LevelTwo::pathPrefix()+"quickhitdata/leveltwo/gfx/ship.png");} - -protected: - QImageReader m_imageReader; -}; - -#endif // LevelTwo_H diff --git a/demos/mobile/quickhit/plugins/LevelTwo/leveltwo.pro b/demos/mobile/quickhit/plugins/LevelTwo/leveltwo.pro deleted file mode 100644 index 171ee6c..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/leveltwo.pro +++ /dev/null @@ -1,108 +0,0 @@ - -# Copyright (c) 2010 Nokia Corporation. - -TEMPLATE = lib - -#VERSION = 1.1.0 - -CONFIG += plugin - -INCLUDEPATH += ../ - -HEADERS = leveltwo.h - -SOURCES = leveltwo.cpp - -TARGET = $$qtLibraryTarget(leveltwo) - -OTHER_FILES += qml/Level.qml \ - qml/Enemy.qml \ - qml/Level.js - - -# SYMBIAN --------------------------- -symbian: { -# Load predefined include paths (e.g. QT_PLUGINS_BASE_DIR) to be used in the pro-files -load(data_caging_paths) - -# EPOCALLOWDLLDATA have to set true because Qt macros has initialised global data -TARGET.EPOCALLOWDLLDATA=1 -TARGET.UID3 = 0xE07dfb67 - -TARGET.CAPABILITY = NetworkServices \ - Location \ - ReadUserData \ - WriteUserData \ - LocalServices \ - UserEnvironment - -# Defines plugin stub file into Symbian .pkg package -pluginDep.sources = leveltwo.dll -pluginDep.path = $$QT_PLUGINS_BASE_DIR/quickhitlevels -DEPLOYMENT += pluginDep - -# Graphics and Sounds for the plugin -BLD_INF_RULES.prj_exports += "gfx/background2.png ../winscw/c/Data/gfx/background2.png" \ -"gfx/background_loop.png ../winscw/c/Data/gfx/background_loop.png" \ -"gfx/enemy1.png ../winscw/c/Data/gfx/enemy1.png" \ -"gfx/fire2.png ../winscw/c/Data/gfx/fire2.png" \ -"gfx/fire.png ../winscw/c/Data/gfx/fire.png" \ -"gfx/missile2.png ../winscw/c/Data/gfx/missile2.png" \ -"gfx/enemy_missile2.png ../winscw/c/Data/gfx/enemy_missile2.png" \ -"gfx/ship.png ../winscw/c/Data/gfx/ship.png" \ -"gfx/transparent.png ../winscw/c/Data/gfx/transparent.png" \ -"gfx/star3.png ../winscw/c/Data/gfx/star3.png" \ -"gfx/blue_fire.png ../winscw/c/Data/gfx/blue_fire.png" \ -"sound/enemy_explosion.wav ../winscw/c/Data/sound/enemy_explosion.wav" \ -"sound/myship_explosion.wav ../winscw/c/Data/sound/myship_explosion.wav" \ -"sound/enableship.wav ../winscw/c/Data/sound/enableship.wav" \ -"sound/laser.wav ../winscw/c/Data/sound/laser.wav" \ -"sound/level2.wav ../winscw/c/Data/sound/level2.wav" \ -"qml/Level.qml ../winscw/c/Data/Level.qml" \ -"qml/Level.js ../winscw/c/Data/Level.js" \ -"qml/Enemy.qml ../winscw/c/Data/Enemy.qml" - - -myQml.sources = qml/* -myQml.path = c:/System/quickhitdata/leveltwo -myGraphic.sources = gfx/* -myGraphic.path = c:/System/quickhitdata/leveltwo/gfx -mySound.sources = sound/* -mySound.path = c:/System/quickhitdata/leveltwo/sound -# Takes qml, graphics and sounds into Symbian SIS package file (.pkg) -DEPLOYMENT += myQml myGraphic mySound - -target.path += $$[QT_INSTALL_PLUGINS]/quickhitlevels -# Installs binaries -INSTALLS += target -} - -# WINDOWS --------------------------- -win32: { - -# Copy level sounds and graphics into right destination -system(mkdir c:\quickhitdata\leveltwo) -system(mkdir c:\quickhitdata\leveltwo\gfx) -system(mkdir c:\quickhitdata\leveltwo\sound) -system(copy qml\*.* c:\quickhitdata\leveltwo) -system(copy gfx\*.* c:\quickhitdata\leveltwo\gfx) -system(copy sound\*.* c:\quickhitdata\leveltwo\sound) - -# Installs binaries -target.path += $$[QT_INSTALL_PLUGINS]/quickhitlevels -INSTALLS += target -} - -# MAEMO_5 --------------------------- -maemo5: { -myQml.path = /home/user/.quickhitdata/leveltwo/ -myQml.files += qml/* -myGraphic.path = /home/user/.quickhitdata/leveltwo/gfx/ -myGraphic.files += gfx/* -mySound.path = /home/user/.quickhitdata/leveltwo/sound/ -mySound.files += sound/* - -target.path += /usr/lib/qt4/plugins/quickhitlevels -# Installs qml, binaries, sounds and graphics -INSTALLS += target myGraphic mySound myQml -} diff --git a/demos/mobile/quickhit/plugins/LevelTwo/qml/Enemy.qml b/demos/mobile/quickhit/plugins/LevelTwo/qml/Enemy.qml deleted file mode 100644 index 1b489b2..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/qml/Enemy.qml +++ /dev/null @@ -1,84 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 - -Image { - id: enemy - objectName: "enemy" - smooth:true - opacity: 0 // 0=hidden by default - fillMode:Image.PreserveAspectFit - source:"file:/"+LevelPlugin.pictureRootPath()+"enemy1.png" - - property int enemySpeed: LevelPlugin.enemySpeed() - - function pause(doPause) { - if (doPause) { - upToDownAnim.pause() - rightLeftAnim.pause() - } else { - upToDownAnim.resume() - rightLeftAnim.resume() - } - } - - function startMovingAnim() { - upToDownAnim.restart() - rightLeftAnim.restart() - } - - // Right-left animation - SequentialAnimation { - id: rightLeftAnim - loops: Animation.Infinite - NumberAnimation { target:enemy; property:"x"; - to:gameArea.width - enemy.width; easing.type: Easing.OutQuad; duration: 3000 } - NumberAnimation { target:enemy; property:"x"; to:0; easing.type: Easing.OutQuad; duration: 3000 } - } - - // Up to down animation - SequentialAnimation { - id: upToDownAnim - PropertyAnimation { target:enemy; property:"y"; to: gameArea.height; - easing.type: Easing.Linear; duration: enemy.enemySpeed } - PropertyAction { target: enemy; properties: "opacity"; value: 0 } - } -} diff --git a/demos/mobile/quickhit/plugins/LevelTwo/qml/Level.js b/demos/mobile/quickhit/plugins/LevelTwo/qml/Level.js deleted file mode 100644 index e2e1d3a..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/qml/Level.js +++ /dev/null @@ -1,42 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -var hiddenEnemies = new Array() - diff --git a/demos/mobile/quickhit/plugins/LevelTwo/qml/Level.qml b/demos/mobile/quickhit/plugins/LevelTwo/qml/Level.qml deleted file mode 100644 index 69a6593..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/qml/Level.qml +++ /dev/null @@ -1,228 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 -import Qt.labs.particles 1.0 -import "Level.js" as LevelScript - -Item { - id: enemies - anchors.fill: parent - - property int enemiesCreated: 0 - property int enemiesEnabled: 0 - - property int backOneTop - property int backTwoTop - - // Long background 2 - Image { - id: longBackground_2 - source: "file:/"+LevelPlugin.pictureRootPath()+"background_loop.png" - fillMode: Image.Stretch - smooth: false - width: gameArea.width - height: gameArea.height - } - - // Long background 1 - Image { - id: longBackground_1 - source: "file:/"+LevelPlugin.pictureRootPath()+"background_loop.png" - fillMode: Image.Stretch - smooth: false - width: gameArea.width - height: gameArea.height - } - - // Long background Up to down animation - ParallelAnimation { - id: backgroundAnim; - loops: Animation.Infinite - PropertyAnimation { target:longBackground_1; property:"y"; - from:backOneTop; to:gameArea.height; easing.type:Easing.Linear; duration:10000 } - PropertyAnimation { target:longBackground_2; property:"y"; - from:backTwoTop; to:backOneTop; easing.type:Easing.Linear; duration:10000 } - } - - - - // *************************************************** - // *** NOTE: This is mandatory for all level QML files - function pause(doPause) { - if (doPause) { - enemyCreationTimer.stop() - backgroundAnim.stop() - } else { - enemyCreationTimer.restart() - backgroundAnim.restart() - } - for (var i=0;i<LevelScript.hiddenEnemies.length;i++) { - var enemy = LevelScript.hiddenEnemies[i] - enemy.pause(doPause) - } - } - - - // *************************************************** - // *** NOTE: This is mandatory for all level QML files - objectName: "level" - - - // Enemy creation timer - Timer { - id: enemyCreationTimer - interval: 1000; running: false; repeat: true - onTriggered: { - enableEnemy() - } - } - - function enableEnemy() { - if (enemiesEnabled < enemiesCreated) { - var enemy = LevelScript.hiddenEnemies[enemiesEnabled] - enemy.opacity = 1 - enemy.x = GameEngine.randInt(0,gameArea.width-enemy.width-50) - enemy.startMovingAnim() - enemyCreationTimer.stop() - enemyCreationTimer.interval = GameEngine.randInt(500,2000) - enemyCreationTimer.restart() - enemiesEnabled = enemiesEnabled + 1 - GameEngine.playSound(4) // NOTE: Enable enemy sound - } else { - enemyCreationTimer.stop() - } - } - - // Hidden enemies group - function createHiddenEnemiesGroup() { - for (var i=0;i<LevelPlugin.enemyCount();i++) { - var enemyComponent = Qt.createComponent("file:/"+LevelPlugin.qmlRootPath()+"Enemy.qml") - var enemyObject = enemyComponent.createObject(enemies) - LevelScript.hiddenEnemies.push(enemyObject) - enemiesCreated = enemiesCreated + 1 - } - } - - Component.onCompleted: { - // Create hidden enemies - createHiddenEnemiesGroup() - // Flying moons animation - starBurstTimer.restart() - // Create enemies timer - enemyCreationTimer.restart() - - // Start Long background loop animation - backOneTop = 0 - longBackground_1.y = backOneTop; - backTwoTop = gameArea.height * -1 - longBackground_2.y = backTwoTop; - backgroundAnim.restart() - - GameEngine.playSounds(5,3) //NOTE: Level starts sound, 3 times - } - - Timer { - id: starBurstTimer - interval: starParticles.lifeSpan+GameEngine.randInt(100,2000); running: false; repeat: true - onTriggered: { - starParticles.burst(GameEngine.randInt(4,6)) - } - } - - // *************************************************** - // *** NOTE: This is mandatory for all level QML files - // Execute explode particle effect - function explode(x,y) { - explodeParticles.x = x - explodeParticles.y = y - explodeParticles.burst(20) - explodeParticles.opacity = 1 - } - // *************************************************** - // *** NOTE: This is mandatory for all level QML files - // Explode particle effect - Particles { - id: explodeParticles - opacity: 0 - width: 1 - height: 1 - emissionRate: 0 - source: "file:/"+LevelPlugin.pictureRootPath()+"blue_fire.png" - lifeSpan: 500 - lifeSpanDeviation: 2000 - count: -1 - angle: 270 - angleDeviation: 65 - velocity: 100 - velocityDeviation: 100 - ParticleMotionGravity { - yattractor: 1000 - xattractor: 300 - acceleration: 50 - } - } - - Particles { - id: starParticles - y: -50 - x: 0 - width: parent.width - height: 50 - emissionRate: 0 - source: "file:/"+LevelPlugin.pictureRootPath()+"star3.png" - lifeSpan: 5000 - count: -1 - angle: 90 - velocity: 100 - opacity: 0.7 - ParticleMotionGravity { - yattractor: 1000 - xattractor: 500 - } - } - - -} - - - - - diff --git a/demos/mobile/quickhit/plugins/LevelTwo/sound/crash.wav b/demos/mobile/quickhit/plugins/LevelTwo/sound/crash.wav Binary files differdeleted file mode 100644 index 8076f0f..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/sound/crash.wav +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTwo/sound/enableship.wav b/demos/mobile/quickhit/plugins/LevelTwo/sound/enableship.wav Binary files differdeleted file mode 100644 index 6fe5fe8..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/sound/enableship.wav +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTwo/sound/enemy_explosion.wav b/demos/mobile/quickhit/plugins/LevelTwo/sound/enemy_explosion.wav Binary files differdeleted file mode 100644 index fd338e6..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/sound/enemy_explosion.wav +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTwo/sound/laser.wav b/demos/mobile/quickhit/plugins/LevelTwo/sound/laser.wav Binary files differdeleted file mode 100644 index c3b58b2..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/sound/laser.wav +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTwo/sound/level2.wav b/demos/mobile/quickhit/plugins/LevelTwo/sound/level2.wav Binary files differdeleted file mode 100644 index 24d3917..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/sound/level2.wav +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTwo/sound/myship_explosion.wav b/demos/mobile/quickhit/plugins/LevelTwo/sound/myship_explosion.wav Binary files differdeleted file mode 100644 index e22d030..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/sound/myship_explosion.wav +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTwo/sound/rocket.wav b/demos/mobile/quickhit/plugins/LevelTwo/sound/rocket.wav Binary files differdeleted file mode 100644 index 8c0dee9..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/sound/rocket.wav +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/LevelTwo/sound/rocket_explosion.wav b/demos/mobile/quickhit/plugins/LevelTwo/sound/rocket_explosion.wav Binary files differdeleted file mode 100644 index d2b451c..0000000 --- a/demos/mobile/quickhit/plugins/LevelTwo/sound/rocket_explosion.wav +++ /dev/null diff --git a/demos/mobile/quickhit/plugins/levelplugininterface.h b/demos/mobile/quickhit/plugins/levelplugininterface.h deleted file mode 100644 index b8d5018..0000000 --- a/demos/mobile/quickhit/plugins/levelplugininterface.h +++ /dev/null @@ -1,86 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef LEVELPLUGININTERFACE_H -#define LEVELPLUGININTERFACE_H - -#include <QObject> -#include <QVariant> - -class LevelPluginInterface : public QObject -{ -public: - // Full paths to level sounds - virtual QStringList levelSounds() = 0; - - // Generic key/value data - virtual QVariant getData(QVariant key) = 0; - - // Request picture size - virtual QVariant graphSize(QVariant pathToGraph) = 0; - - // Enemy count in the level - virtual QVariant enemyCount() = 0; - // Enemy row count in the level - virtual QVariant enemyRowCount() = 0; - // Enemy speed - virtual QVariant enemySpeed() = 0; - // Enemy fire speed - virtual QVariant enemyFireSpeed() = 0; - - // QML root path - virtual QVariant qmlRootPath() = 0; - // Picture root path - virtual QVariant pictureRootPath() = 0; - - // Paths for GameEngine and QuickHit internal QML files - virtual QVariant pathToTransparentEnemyPic() = 0; - virtual QVariant pathToMissilePic() = 0; - virtual QVariant pathToEnemyMissilePic() = 0; - virtual QVariant pathToMyShipPic() = 0; -}; - -// This Qt macro associates the given Identifier "Forum.Nokia.com.QuickHit.LevelPluginInterface/1.0" -// to the interface class called LevelPluginInterface. The Identifier must be unique. -Q_DECLARE_INTERFACE(LevelPluginInterface, - "Forum.Nokia.com.QuickHit.LevelPluginInterface/1.0"); - - -#endif // LEVELPLUGININTERFACE_H diff --git a/demos/mobile/quickhit/qmldir b/demos/mobile/quickhit/qmldir deleted file mode 100644 index 1889870..0000000 --- a/demos/mobile/quickhit/qmldir +++ /dev/null @@ -1,46 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ -Button ./button.qml -MyShip ./myship.qml -Menu ./menu.qml -Game ./game.qml -MenuItem ./menuitem.qml -Message ./message.qml -Missile ./missile.qml diff --git a/demos/mobile/quickhit/quickhit.png b/demos/mobile/quickhit/quickhit.png Binary files differdeleted file mode 100644 index 01d2d60..0000000 --- a/demos/mobile/quickhit/quickhit.png +++ /dev/null diff --git a/demos/mobile/quickhit/quickhit.pro b/demos/mobile/quickhit/quickhit.pro deleted file mode 100755 index e5a4b3d..0000000 --- a/demos/mobile/quickhit/quickhit.pro +++ /dev/null @@ -1,91 +0,0 @@ - -# Copyright (c) 2011 Nokia Corporation. - -QT += core gui declarative opengl - -VERSION = 1.1.1 - -TARGET = quickhit -TEMPLATE = app - -SOURCES += main.cpp \ - mainwindow.cpp \ - gameengine.cpp \ - InvSounds.cpp \ - myeventfilter.cpp \ - ga_src/GEAudioBuffer.cpp \ - ga_src/GEAudioOut.cpp \ - ga_src/GEInterfaces.cpp - -HEADERS += mainwindow.h \ - gameengine.h \ - myeventfilter.h \ - plugins/levelplugininterface.h \ - InvSounds.h \ - ga_src/GEAudioBuffer.h \ - ga_src/GEAudioOut.h \ - ga_src/GEInterfaces.h - -RESOURCES += resources.qrc - -# QtMultimedia from Qt -QT += multimedia - -symbian { - # in Symbian 1 we do not have OpenGL available - contains(SYMBIAN_VERSION, 9.4) { - DEFINES += QT_NO_OPENGL - QT -= opengl - warning("No OpenGL support") - } - - CONFIG += mobility - MOBILITY = systeminfo - TARGET = QuickHit - TARGET.UID3 = 0xe7ced714 - - TARGET.CAPABILITY = NetworkServices \ - Location \ - ReadUserData \ - WriteUserData \ - LocalServices \ - UserEnvironment - - LIBS += -lcone -leikcore -lavkon -lhwrmvibraclient - - ICON = icon.svg - - TARGET.EPOCSTACKSIZE = 0x14000 - TARGET.EPOCHEAPSIZE = 0x100000 0x2000000 -} - -maemo5 { - CONFIG += mobility - MOBILITY = systeminfo - - BINDIR = /opt/usr/bin - DATADIR = /usr/share - DEFINES += DATADIR=\\\"$$DATADIR\\\" \ - PKGDATADIR=\\\"$$PKGDATADIR\\\" - - INSTALLS += target \ - desktop \ - icon64 - - target.path = $$BINDIR - desktop.path = $$DATADIR/applications/hildon - desktop.files += quickhit.desktop - - icon64.path = $$DATADIR/icons/hicolor/64x64/apps - icon64.files += quickhit.png -} - -OTHER_FILES += \ - Game.qml \ - Game.js \ - MyShip.qml \ - Missile.qml \ - Menu.qml \ - MenuItem.qml \ - Button.qml \ - Message.qml diff --git a/demos/mobile/quickhit/resources.qrc b/demos/mobile/quickhit/resources.qrc deleted file mode 100644 index 8063bf7..0000000 --- a/demos/mobile/quickhit/resources.qrc +++ /dev/null @@ -1,25 +0,0 @@ -<RCC> - <qresource prefix="/"> - <file>Game.qml</file> - <file>Game.js</file> - <file>MyShip.qml</file> - <file>Missile.qml</file> - <file>Menu.qml</file> - <file>MenuItem.qml</file> - <file>Button.qml</file> - <file>Message.qml</file> - <file>gfx/back.png</file> - <file>gfx/exit.png</file> - <file>gfx/pause.png</file> - <file>gfx/soundOn.png</file> - <file>gfx/soundOff.png</file> - <file>gfx/background2.png</file> - <file>gfx/bigship.png</file> - <file>gfx/quickhit_logo.png</file> - <file>sound/menu1.wav</file> - <file>sound/menu2.wav</file> - <file>sound/gamestart.wav</file> - <file>sound/youwin.wav</file> - <file>sound/gameover.wav</file> - </qresource> -</RCC> diff --git a/demos/mobile/quickhit/sound/gameover.wav b/demos/mobile/quickhit/sound/gameover.wav Binary files differdeleted file mode 100644 index e5b9e94..0000000 --- a/demos/mobile/quickhit/sound/gameover.wav +++ /dev/null diff --git a/demos/mobile/quickhit/sound/gamestart.wav b/demos/mobile/quickhit/sound/gamestart.wav Binary files differdeleted file mode 100644 index 8632fca..0000000 --- a/demos/mobile/quickhit/sound/gamestart.wav +++ /dev/null diff --git a/demos/mobile/quickhit/sound/menu1.wav b/demos/mobile/quickhit/sound/menu1.wav Binary files differdeleted file mode 100644 index 586ab2c..0000000 --- a/demos/mobile/quickhit/sound/menu1.wav +++ /dev/null diff --git a/demos/mobile/quickhit/sound/menu2.wav b/demos/mobile/quickhit/sound/menu2.wav Binary files differdeleted file mode 100644 index 70a61c1..0000000 --- a/demos/mobile/quickhit/sound/menu2.wav +++ /dev/null diff --git a/demos/mobile/quickhit/sound/youwin.wav b/demos/mobile/quickhit/sound/youwin.wav Binary files differdeleted file mode 100644 index f48297d..0000000 --- a/demos/mobile/quickhit/sound/youwin.wav +++ /dev/null |