code:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<qnx xmlns="http://www.qnx.com/schemas/application/1.0">

<!-- BlackBerry Tablet OS application descriptor file.

    Specifies parameters for identifying, installing, and launching native applications on BlackBerry Tablet OS.

-->

    <!-- A universally unique application identifier. Must be unique across all BlackBerry Tablet OS applications.
         Using a reverse DNS-style name as the id is recommended. (Eg. com.example.ExampleApplication.) Required. -->
    <id>com.example.HelloWorld</id>

    <!-- The name that is displayed in the BlackBerry Tablet OS application installer.
         May have multiple values for each language. See samples or xsd schema file. Optional. -->
    <name>HelloWorld</name>

    <!-- A string value of the format <0-999>.<0-999>.<0-999> that represents application version which can be used to check for application upgrade.
         Values can also be 1-part or 2-part. It is not necessary to have a 3-part value.
         An updated version of application must have a versionNumber value higher than the previous version. Required. -->
    <versionNumber>1.0.0</versionNumber>

    <!-- Fourth digit segment of the package version. First three segments are taken from the
         <versionNumber> element.  Must be an integer from 0 to 2^16-1 -->
    <buildId>1</buildId>

    <!-- A string value (such as "v1", "2.5", or "Alpha 1") that represents the version of the application, as it should be shown to users. Optional. -->
    <!-- <versionLabel></versionLabel> -->

    <!-- Description, displayed in the BlackBerry Tablet OS application installer.
         May have multiple values for each language. See samples or xsd schema file. Optional. -->
    <description>The HelloWorld application</description>

    <!-- Copyright information. Optional. -->
    <!-- <copyright></copyright> -->

    <!--  Name of author which is used for signing. Must match the developer name of your development certificate. -->
    <author>Example Inc.</author>
    <icon>
       <image>icon.png</image>
    </icon>

    <!--  Unique author ID assigned by signing authority. Required if using debug tokens. -->
    <!-- <authorId>ABC1234YjsnUk235h</authorId> -->

    <initialWindow>
        <systemChrome>none</systemChrome>
        <transparent>false</transparent>
    </initialWindow>

    <!--  The category where the application appears. Either core.games or core.media. -->
    <category>core.games</category>
    <asset path="icon.png">icon.png</asset>

    <!-- the variable 'worksparce_loc' is not supported in bbndk2.0, so we create an empty folder to make the relative path work. -->
    <asset path="empty/../../../HelloWorld/Resources">Resources</asset>

    <!-- the path of the three shared libraries as follows in bbndk2.0 is different from bbndk1.0, so if the version of bbndk you use is 1.0, just uncomment the next three lines and comment the following three lines-->

    <!-- used for bbndk1.0 -->
    <!--<asset path="${QNX_TARGET}/../target-override/${CPUVARDIR}/usr/lib/libbps.so" type="Qnx/Elf">lib/libbps.so.1</asset>-->
    <!--<asset path="${QNX_TARGET}/../target-override/${CPUVARDIR}/usr/lib/libOpenAL.so" type="Qnx/Elf">lib/libOpenAL.so.1</asset>-->
    <!--<asset path="${QNX_TARGET}/../target-override/${CPUVARDIR}/usr/lib/libalut.so" type="Qnx/Elf">lib/libalut.so.1</asset>-->

    <!-- used for bbndk2.0 -->
    <asset path="${QNX_TARGET}/${CPUVARDIR}/usr/lib/libbps.so" type="Qnx/Elf">lib/libbps.so.1</asset>
    <asset path="${QNX_TARGET}/${CPUVARDIR}/usr/lib/libOpenAL.so" type="Qnx/Elf">lib/libOpenAL.so.1</asset>
    <asset path="${QNX_TARGET}/${CPUVARDIR}/usr/lib/libalut.so" type="Qnx/Elf">lib/libalut.so.1</asset>

    <configuration id="com.qnx.qcc.configuration.exe.debug.446234419" name="Device-Debug">
       <platformArchitecture>armle-v7</platformArchitecture>
       <asset path="Device-Debug/HelloWorld" entry="true" type="Qnx/Elf">HelloWorld</asset>
       <asset path="empty/../../../cocos2dx/platform/third_party/qnx/libraries/armle-v7/libgrskia.so" type="Qnx/Elf">lib/libgrskia.so</asset>
       <asset path="empty/../../../CocosDenshion/proj.qnx/Device-Debug/libCocosDenshion.so" type="Qnx/Elf">lib/libCocosDenshion.so</asset>
    </configuration>
    <configuration id="com.qnx.qcc.configuration.exe.release.1265921422" name="Device-Release">
       <platformArchitecture>armle-v7</platformArchitecture>
       <asset path="Device-Release/HelloWorld" entry="true" type="Qnx/Elf">HelloWorld</asset>
       <asset path="empty/../../../cocos2dx/platform/third_party/qnx/libraries/armle-v7/libgrskia.so" type="Qnx/Elf">lib/libgrskia.so</asset>
       <asset path="empty/../../../CocosDenshion/proj.qnx/Device-Release/libCocosDenshion.so" type="Qnx/Elf">lib/libCocosDenshion.so</asset>
    </configuration>
    <configuration id="com.qnx.qcc.configuration.exe.profile.1761000041" name="Device-Profile">
       <platformArchitecture>armle-v7</platformArchitecture>
       <asset path="Device-Profile/HelloWorld" entry="true" type="Qnx/Elf">HelloWorld</asset>
       <asset path="empty/../../../cocos2dx/platform/third_party/qnx/libraries/armle-v7/libgrskia.so" type="Qnx/Elf">lib/libgrskia.so</asset>
       <asset path="empty/../../../CocosDenshion/proj.qnx/Device-Profile/libCocosDenshion.so" type="Qnx/Elf">lib/libCocosDenshion.so</asset>
    </configuration>
    <configuration id="com.qnx.qcc.configuration.exe.profile.coverage.1771167181" name="Device-Coverage">
       <platformArchitecture>armle-v7</platformArchitecture>
       <asset path="Device-Coverage/HelloWorld" entry="true" type="Qnx/Elf">HelloWorld</asset>
       <asset path="empty/../../../cocos2dx/platform/third_party/qnx/libraries/armle-v7/libgrskia.so" type="Qnx/Elf">lib/libgrskia.so</asset>
       <asset path="empty/../../../CocosDenshion/proj.qnx/Device-Coverage/libCocosDenshion.so" type="Qnx/Elf">lib/libCocosDenshion.so</asset>
    </configuration>
    <configuration id="com.qnx.qcc.configuration.exe.debug.660208940" name="Simulator">
       <platformArchitecture>x86</platformArchitecture>
       <asset path="Simulator/HelloWorld" entry="true" type="Qnx/Elf">HelloWorld</asset>
       <asset path="empty/../../../CocosDenshion/proj.qnx/Simulator/libCocosDenshion.so" type="Qnx/Elf">lib/libCocosDenshion.so</asset>
       <asset path="empty/../../../cocos2dx/platform/third_party/qnx/libraries/x86/libgrskia.so" type="Qnx/Elf">lib/libgrskia.so</asset>
    </configuration>
    <configuration id="com.qnx.qcc.configuration.exe.profile.1237484173" name="Simulator-Profile">
       <platformArchitecture>x86</platformArchitecture>
       <asset path="Simulator-Profile/HelloWorld" entry="true" type="Qnx/Elf">HelloWorld</asset>
       <asset path="empty/../../../cocos2dx/platform/third_party/qnx/libraries/x86/libgrskia.so" type="Qnx/Elf">lib/libgrskia.so</asset>
       <asset path="empty/../../../CocosDenshion/proj.qnx/Simulator-Profile/libCocosDenshion.so" type="Qnx/Elf">lib/libCocosDenshion.so</asset>
    </configuration>
    <configuration id="com.qnx.qcc.configuration.exe.profile.coverage.181538713" name="Simulator-Coverage">
       <platformArchitecture>x86</platformArchitecture>
       <asset path="Simulator-Coverage/HelloWorld" entry="true" type="Qnx/Elf">HelloWorld</asset>
       <asset path="empty/../../../cocos2dx/platform/third_party/qnx/libraries/x86/libgrskia.so" type="Qnx/Elf">lib/libgrskia.so</asset>
       <asset path="empty/../../../CocosDenshion/proj.qnx/Simulator-Coverage/libCocosDenshion.so" type="Qnx/Elf">lib/libCocosDenshion.so</asset>
    </configuration>

    <!--  The icon for the application, which should be 86x86. -->

    <!--  The splash screen that will appear when your application is launching. Should be 1024x600. -->
    <!-- <splashscreen></splashscreen> -->

    <!-- Request permission to execute native code.  Required for native applications. -->
    <action system="true">run_native</action>

    <!--  The permissions requested by your application. -->
    <!--  <action>access_shared</action> -->
    <!--  <action>record_audio</action> -->
    <!--  <action>read_geolocation</action> -->
    <!--  <action>use_camera</action> -->
    <!--  <action>access_internet</action> -->
    <!--  <action>play_audio</action> -->
    <!--  <action>post_notification</action> -->
    <!--  <action>set_audio_volume</action> -->
    <!--  <action>read_device_identifying_information</action> -->

    <!-- Ensure that shared libraries in the package are found at run-time. -->
    <env var="LD_LIBRARY_PATH" value="app/native/lib"/>

</qnx>


code:
#include "cocos2d.h"
#include "AppDelegate.h"

USING_NS_CC;

int main(int argc, char **argv)
{
	AppDelegate* app;
	int ret = 0;
	app = new AppDelegate();
	ret = cocos2d::CCApplication::sharedApplication().run();
	delete app;

	return ret;
}

license: mit


code:
#
# Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
#
# For the applicable distribution terms see the license text file included in
# the distribution.
#

TARGET = helloworld
TEMPLATE = app

VERSION = 0.6

INCLUDEPATH += \
    ../Classes

QT += core gui

DEFINES += COCOS2D_DEBUG

COCOSBUILDMODE = static
include(../../cocos2d-qt.pri)

CCRESOURCES += \
    ../Resources/CloseNormal.png \
    ../Resources/CloseSelected.png \
    ../Resources/HelloWorld.png

HEADERS += \
    ../Classes/HelloWorldScene.h \
    ../Classes/AppDelegate.h \
    main.h

SOURCES += \
    ../Classes/HelloWorldScene.cpp \
    ../Classes/AppDelegate.cpp \
    main.cpp

symbian {
    DEFINES += Q_OS_SYMBIAN

    TARGET.UID3 = 0xE8AA3F79
    TARGET.CAPABILITY = ReadUserData WriteUserData

    MMP_RULES += "OPTION gcce -march=armv6"
    MMP_RULES += "OPTION gcce -mfpu=vfp"
    MMP_RULES += "OPTION gcce -mfloat-abi=softfp"
    MMP_RULES += "OPTION gcce -marm"

    TARGET.EPOCSTACKSIZE = 0x14000
    TARGET.EPOCHEAPSIZE = 0x020000 0x8000000

    ICON = icons/icon.svg

    ccres.sources = $$CCRESOURCES
    ccres.path = !:/private/E8AA3F79/resources
    DEPLOYMENT += ccres
}

contains(MEEGO_EDITION,harmattan) {
    DEFINES += MEEGO_EDITION_HARMATTAN

    target.path = /opt/helloworld/bin
    INSTALLS += target

    ccres.files = $$CCRESOURCES
    ccres.path = /opt/helloworld/resources
    INSTALLS += ccres

    desktop.path = /usr/share/applications
    desktop.files += qtc_packaging/debian_harmattan/$${TARGET}.desktop
    INSTALLS += desktop

    gameclassify.path = /usr/share/policy/etc/syspart.conf.d
    gameclassify.files += qtc_packaging/debian_harmattan/$${TARGET}.conf
    INSTALLS += gameclassify

    icon80.path = /usr/share/icons/hicolor/64x64/apps
    icon80.files += icons/$${TARGET}.png
    INSTALLS += icon80
}

OTHER_FILES += \
    qtc_packaging/debian_harmattan/rules \
    qtc_packaging/debian_harmattan/README \
    qtc_packaging/debian_harmattan/manifest.aegis \
    qtc_packaging/debian_harmattan/copyright \
    qtc_packaging/debian_harmattan/control \
    qtc_packaging/debian_harmattan/compat \
    qtc_packaging/debian_harmattan/changelog


code:
/**
* Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
*
* For the applicable distribution terms see the license text file included in
* the distribution.
*/

#include "AppDelegate.h"

int main(int argc, char **argv)
{
    // create the application instance
    AppDelegate app(argc, argv);
    return app.run();
}


code:
/**
* Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
*
* For the applicable distribution terms see the license text file included in
* the distribution.
*/

#ifndef __MAIN_H__
#define __MAIN_H__

// C RunTime Header Files
#include "CCStdC.h"

#endif // __MAIN_H__


code:
The Debian Package helloworld
----------------------------

Comments regarding the Package

 -- Kimmo Myllyvirta <ktmyllyv@unknown>  Thu, 08 Mar 2012 14:30:09 +0200


code:
helloworld (0.6.0) unstable; urgency=low

  * Compiled with latest cocos2dx-qt

 -- Kimmo Myllyvirta <ktmyllyv@unknown>  Thu, 24 May 2012 12:15:22 +0200


code:
Source: helloworld
Section: user/other
Priority: optional
Maintainer: Kimmo Myllyvirta <ktmyllyv@unknown>
Build-Depends: debhelper (>= 5), libqt4-dev
Standards-Version: 3.7.3
Homepage: <insert the upstream URL, if relevant>

Package: helloworld
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: <insert up to 60 chars description>
 <insert long description, indented with spaces>
XSBC-Maemo-Display-Name: helloworld


code:
This package was debianized by Kimmo Myllyvirta <ktmyllyv@unknown> on
Thu, 08 Mar 2012 14:30:09 +0200.

It was downloaded from <url://example.com>

Upstream Author(s):

    <put author's name and email here>
    <likewise for another author>

Copyright:

    <Copyright (C) YYYY Name OfAuthor>
    <likewise for another author>

License:

    This package is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This package is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this package; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA

On Debian systems, the complete text of the GNU General
Public License can be found in `/usr/share/common-licenses/GPL'.

The Debian packaging is (C) 2012, Kimmo Myllyvirta <ktmyllyv@unknown> and
is licensed under the GPL, see above.

# Please also look if there are files or directories which have a
# different copyright/license attached and list them here.


code:
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=HelloWorld
Exec=invoker --single-instance --type=e /opt/helloworld/bin/helloworld
Icon=helloworld
StartupWMClass=
X-Window-Icon=helloworld
X-HildonDesk-ShowInToolbar=true
X-Osso-Type=application/x-executable
Terminal=false


code:
#!/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

configure: configure-stamp
configure-stamp:
	dh_testdir
	# qmake PREFIX=/usr# Uncomment this line for use without Qt Creator

	touch configure-stamp

build: build-stamp

build-stamp: configure-stamp
	dh_testdir

	# Add here commands to compile the package.
	# $(MAKE) # Uncomment this line for use without Qt Creator
	#docbook-to-man debian/helloworld.sgml > helloworld.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/helloworld.
	$(MAKE) INSTALL_ROOT="$(CURDIR)"/debian/helloworld 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 -- --ignore-missing-info # Uncomment this line for use without Qt Creator
	dh_gencontrol
	dh_md5sums
	dh_builddeb

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure


code:
<?xml version="1.0" encoding="gb2312"?>
<VisualStudioProject
	ProjectType="Visual C++"
	Version="9.00"
	Name="HelloWorld"
	ProjectGUID="{B8BF9E81-35FD-4582-BA1C-B85FA365BABB}"
	RootNamespace="HelloWorldwin32"
	Keyword="Win32Proj"
	TargetFrameworkVersion="196613"
	>
	<Platforms>
		<Platform
			Name="Win32"
		/>
	</Platforms>
	<ToolFiles>
	</ToolFiles>
	<Configurations>
		<Configuration
			Name="Debug|Win32"
			OutputDirectory="$(SolutionDir)$(ConfigurationName).win32"
			IntermediateDirectory="$(ConfigurationName).win32"
			ConfigurationType="1"
			CharacterSet="1"
			>
			<Tool
				Name="VCPreBuildEventTool"
			/>
			<Tool
				Name="VCCustomBuildTool"
			/>
			<Tool
				Name="VCXMLDataGeneratorTool"
			/>
			<Tool
				Name="VCWebServiceProxyGeneratorTool"
			/>
			<Tool
				Name="VCMIDLTool"
			/>
			<Tool
				Name="VCCLCompilerTool"
				Optimization="0"
				AdditionalIncludeDirectories=""$(SolutionDir)cocos2dx\platform";"$(SolutionDir)cocos2dx\include";"$(SolutionDir)cocos2dx";"$(SolutionDir)cocos2dx\platform\third_party\win32\OGLES";..\Classes"
				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
				MinimalRebuild="true"
				BasicRuntimeChecks="3"
				RuntimeLibrary="3"
				UsePrecompiledHeader="0"
				WarningLevel="3"
				DebugInformationFormat="4"
			/>
			<Tool
				Name="VCManagedResourceCompilerTool"
			/>
			<Tool
				Name="VCResourceCompilerTool"
			/>
			<Tool
				Name="VCPreLinkEventTool"
			/>
			<Tool
				Name="VCLinkerTool"
				AdditionalDependencies="libcocos2d.lib"
				OutputFile="$(OutDir)\$(ProjectName).exe"
				LinkIncremental="2"
				AdditionalLibraryDirectories="$(OutDir)"
				GenerateDebugInformation="true"
				SubSystem="2"
				TargetMachine="1"
			/>
			<Tool
				Name="VCALinkTool"
			/>
			<Tool
				Name="VCManifestTool"
			/>
			<Tool
				Name="VCXDCMakeTool"
			/>
			<Tool
				Name="VCBscMakeTool"
			/>
			<Tool
				Name="VCFxCopTool"
			/>
			<Tool
				Name="VCAppVerifierTool"
			/>
			<Tool
				Name="VCPostBuildEventTool"
				CommandLine=""
			/>
		</Configuration>
		<Configuration
			Name="Release|Win32"
			OutputDirectory="$(SolutionDir)$(ConfigurationName).win32"
			IntermediateDirectory="$(ConfigurationName).win32"
			ConfigurationType="1"
			CharacterSet="1"
			WholeProgramOptimization="1"
			>
			<Tool
				Name="VCPreBuildEventTool"
			/>
			<Tool
				Name="VCCustomBuildTool"
			/>
			<Tool
				Name="VCXMLDataGeneratorTool"
			/>
			<Tool
				Name="VCWebServiceProxyGeneratorTool"
			/>
			<Tool
				Name="VCMIDLTool"
			/>
			<Tool
				Name="VCCLCompilerTool"
				Optimization="2"
				EnableIntrinsicFunctions="true"
				AdditionalIncludeDirectories=""$(SolutionDir)cocos2dx\platform";"$(SolutionDir)cocos2dx\include";"$(SolutionDir)cocos2dx";"$(SolutionDir)cocos2dx\platform\third_party\win32\OGLES";..\Classes"
				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
				RuntimeLibrary="2"
				EnableFunctionLevelLinking="true"
				UsePrecompiledHeader="0"
				WarningLevel="3"
				DebugInformationFormat="3"
			/>
			<Tool
				Name="VCManagedResourceCompilerTool"
			/>
			<Tool
				Name="VCResourceCompilerTool"
			/>
			<Tool
				Name="VCPreLinkEventTool"
			/>
			<Tool
				Name="VCLinkerTool"
				AdditionalDependencies="libcocos2d.lib"
				OutputFile="$(OutDir)\$(ProjectName).exe"
				LinkIncremental="1"
				AdditionalLibraryDirectories="$(OutDir)"
				GenerateDebugInformation="true"
				SubSystem="2"
				OptimizeReferences="2"
				EnableCOMDATFolding="2"
				TargetMachine="1"
			/>
			<Tool
				Name="VCALinkTool"
			/>
			<Tool
				Name="VCManifestTool"
			/>
			<Tool
				Name="VCXDCMakeTool"
			/>
			<Tool
				Name="VCBscMakeTool"
			/>
			<Tool
				Name="VCFxCopTool"
			/>
			<Tool
				Name="VCAppVerifierTool"
			/>
			<Tool
				Name="VCPostBuildEventTool"
				CommandLine=""
			/>
		</Configuration>
	</Configurations>
	<References>
	</References>
	<Files>
		<Filter
			Name="Classes"
			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
			>
			<File
				RelativePath="..\Classes\AppDelegate.cpp"
				>
			</File>
			<File
				RelativePath="..\Classes\AppDelegate.h"
				>
			</File>
			<File
				RelativePath="..\Classes\HelloWorldScene.cpp"
				>
			</File>
			<File
				RelativePath="..\Classes\HelloWorldScene.h"
				>
			</File>
		</Filter>
		<Filter
			Name="win32"
			Filter="h;hpp;hxx;hm;inl;inc;xsd"
			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
			>
			<File
				RelativePath=".\main.cpp"
				>
			</File>
			<File
				RelativePath=".\main.h"
				>
			</File>
		</Filter>
	</Files>
	<Globals>
	</Globals>
</VisualStudioProject>


code:
<?xml version="1.0" encoding="gb2312"?>
<VisualStudioUserFile
	ProjectType="Visual C++"
	Version="9.00"
	ShowAllFiles="false"
	>
	<Configurations>
		<Configuration
			Name="Debug|Win32"
			>
			<DebugSettings
				WorkingDirectory="$(ProjectDir)..\Resources"
			/>
		</Configuration>
		<Configuration
			Name="Release|Win32"
			>
			<DebugSettings
				WorkingDirectory="$(ProjectDir)..\Resources"
			/>
		</Configuration>
	</Configurations>
</VisualStudioUserFile>


code:
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup Label="ProjectConfigurations">
    <ProjectConfiguration Include="Debug|Win32">
      <Configuration>Debug</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|Win32">
      <Configuration>Release</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
  </ItemGroup>
  <PropertyGroup Label="Globals">
    <ProjectName>HelloWorld</ProjectName>
    <ProjectGuid>{B8BF9E81-35FD-4582-BA1C-B85FA365BABB}</ProjectGuid>
    <RootNamespace>HelloWorldwin32</RootNamespace>
    <Keyword>Win32Proj</Keyword>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <CharacterSet>Unicode</CharacterSet>
    <WholeProgramOptimization>true</WholeProgramOptimization>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <CharacterSet>Unicode</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Configuration).win32\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration).win32\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Configuration).win32\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration).win32\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>$(SolutionDir)cocos2dx\platform;$(SolutionDir)cocos2dx\include;$(SolutionDir)cocos2dx;$(SolutionDir)cocos2dx\platform\third_party\win32\OGLES;..\Classes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <MinimalRebuild>true</MinimalRebuild>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
    </ClCompile>
    <Link>
      <AdditionalDependencies>libcocos2d.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
      <AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <SubSystem>Windows</SubSystem>
      <TargetMachine>MachineX86</TargetMachine>
    </Link>
    <PostBuildEvent>
      <Command>
      </Command>
    </PostBuildEvent>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <ClCompile>
      <Optimization>MaxSpeed</Optimization>
      <IntrinsicFunctions>true</IntrinsicFunctions>
      <AdditionalIncludeDirectories>$(SolutionDir)cocos2dx\platform;$(SolutionDir)cocos2dx\include;$(SolutionDir)cocos2dx;$(SolutionDir)cocos2dx\platform\third_party\win32\OGLES;..\Classes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
    </ClCompile>
    <Link>
      <AdditionalDependencies>libcocos2d.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
      <AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <SubSystem>Windows</SubSystem>
      <OptimizeReferences>true</OptimizeReferences>
      <EnableCOMDATFolding>true</EnableCOMDATFolding>
      <TargetMachine>MachineX86</TargetMachine>
    </Link>
    <PostBuildEvent>
      <Command>
      </Command>
    </PostBuildEvent>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="..\Classes\AppDelegate.cpp" />
    <ClCompile Include="..\Classes\HelloWorldScene.cpp" />
    <ClCompile Include="main.cpp" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="..\Classes\AppDelegate.h" />
    <ClInclude Include="..\Classes\HelloWorldScene.h" />
    <ClInclude Include="main.h" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\..\cocos2dx\proj.win32\cocos2d-win32.vcxproj">
      <Project>{98a51ba8-fc3a-415b-ac8f-8c7bd464e93e}</Project>
      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
    </ProjectReference>
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>


code:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Classes">
      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
    </Filter>
    <Filter Include="win32">
      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="main.cpp">
      <Filter>win32</Filter>
    </ClCompile>
    <ClCompile Include="..\Classes\AppDelegate.cpp">
      <Filter>Classes</Filter>
    </ClCompile>
    <ClCompile Include="..\Classes\HelloWorldScene.cpp">
      <Filter>Classes</Filter>
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="main.h">
      <Filter>win32</Filter>
    </ClInclude>
    <ClInclude Include="..\Classes\AppDelegate.h">
      <Filter>Classes</Filter>
    </ClInclude>
    <ClInclude Include="..\Classes\HelloWorldScene.h">
      <Filter>Classes</Filter>
    </ClInclude>
  </ItemGroup>
</Project>


code:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <ShowAllFiles>false</ShowAllFiles>
    <LocalDebuggerWorkingDirectory Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)..\Resources</LocalDebuggerWorkingDirectory>
    <LocalDebuggerWorkingDirectory Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)..\Resources</LocalDebuggerWorkingDirectory>
    <DebuggerFlavor Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WindowsLocalDebugger</DebuggerFlavor>
    <DebuggerFlavor Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WindowsLocalDebugger</DebuggerFlavor>
  </PropertyGroup>
</Project>


code:
#include "main.h"

#include "../Classes/AppDelegate.h"

int APIENTRY _tWinMain(HINSTANCE hInstance,
					   HINSTANCE hPrevInstance,
					   LPTSTR    lpCmdLine,
					   int       nCmdShow)
{
	UNREFERENCED_PARAMETER(hPrevInstance);
	UNREFERENCED_PARAMETER(lpCmdLine);

    // create the application instance
	AppDelegate app;

    return cocos2d::CCApplication::sharedApplication().run();
}


code:
#ifndef __MAIN_H__
#define __MAIN_H__

#define WIN32_LEAN_AND_MEAN             // Exclude rarely-used stuff from Windows headers

// Windows Header Files:
#include <windows.h>
#include <tchar.h>

// C RunTime Header Files
#include "CCStdC.h"

#endif	// __MAIN_H__


code:
;
; TG3 Makefile Auto Create Script
;
; ˵����
;   1.�ڵȺ���߲�Ҫ�пո�
;   2.���е�·����ʹ��"/"���ָ�
;   3.���е��ļ����������пո�
;   4.ֻ�ܶԵ�ǰĿ¼������Ŀ¼�µ�.c��.cpp����Makefile
;

;��TMK3�ļ�Ŀ¼λ�õ���Ŀ��Ŀ¼֮���ת������֧�ֶ����������ж���������һ��Ϊ׼
;�� ./$(TO_PROJECT_ROOT)/ ������Ŀ�ĸ�Ŀ¼
TO_PROJECT_ROOT=../../PRJ_TG3

;���Ŀ������֣���֧�ֶ����������ж���������һ��Ϊ׼
OUTPUT_FILENAME=libHelloWorld.so

;������������TMK3�ļ������ļ��ͱ��ļ�һ�𹹳�MakeFile������
;������Գ�����TMK3�ļ��ڵ�����ط������Ѿ����ڵ����������
;ע�⣺���֧�־���·�������ǿ���ʹ��$(TO_PROJECT_ROOT)�����ļ���
INCLUDE_TMK3=$(TO_PROJECT_ROOT)/MakeInclude/TG3_APP_Arm.TMK3		;TOPS��׼Ӧ�ã�������̬���

;Ԥ���崮������MakeFile��ʱ��ֱ�ӷ���MakeFile��ǰ��
;��ʽ��PRE_DEFINE=STRING������MakeFile��ʱ��"PRE_DEFINE="��������з�ע�ͷ������ַ��������MakeFileǰ��
;���磺PRE_DEFINE=AAA=BBB�������AAA=BBB��MakeFile��
;����ʹ�ö��PRE_DEFINE����Ҳ����ʹ��PRE_DEFINE1��PRE_DEFINE2�ȷ�ʽ��MakeFile�����ݳ���˳��(�������ִ�С)����
;PRE_DEFINE=USE_IMAGEKIT=1	;ʹ�� ImageToolKit �⣬��ʱ���ɵ� Makefile ���Զ������йص�LIB
;PRE_DEFINE=USE_ICU=1				;ʹ�� ICU �⣬��ʱ���ɵ� Makefile ���Զ������йص�LIB
;PRE_DEFINE=USE_MTAPI=1			;ʹ�� MTAPI �⣬��ʱ���ɵ� Makefile ���Զ������йص�LIB

;C��C++Ԥ����꣬����ʹ�ö��DEFINES����Ҳ����ʹ��DEFINES1��DEFINES2�ȷ�ʽ��MakeFile�����ݳ���˳��(�������ִ�С)����
DEFINES=-DCC_UNDER_WOPHONE		;��������Ӧ�õ��Զ���ꡣע�⣺ITOPS�Լ������趨����Զ��������ʴ������������Ӧ���Լ����еĶ��弴��
;DEFINES=-D__TG3_PURE_DLL__		;���ɵ��Ǵ���̬�⣨��˼�ǣ�����TOPSӦ�ã���������TCOM�����
;DEFINES=-D__TCOM_SUPPORT__		;���ɵ���TCOM�����ע�⣺TOPSӦ��Ҳ����ͬʱ��TCOM�����

;����·��������ʹ�ö��INCLUDE_PATH����Ҳ����ʹ��INCLUDE_PATH1��INCLUDE_PATH2�ȷ�ʽ��MakeFile�����ݳ���˳��(�������ִ�С)����
INCLUDE_PATH=-I./Res -I../ -I../wophone -I../cocos2dx -I../cocos2dx/include	-I../cocos2dx/platform	;Ӧ�ö���İ���·����ע�⣺ITOPS�Լ�������·�������Զ��������ʴ������������Ӧ���Լ����е�·������

;���ӵĿ��ļ�������ʹ�ö��LIBS����Ҳ����ʹ��LIBS1��LIBS2�ȷ�ʽ��MakeFile�����ݳ���˳��(�������ִ�С)����
LIBS=-lCocos2dStatic -lTG3_GLESv1_CM -lTG3_EGL -lz -lxml2 -lpng14 -lImageToolKit -ljpeg		;Ӧ�ö�������ӿ⡣ע�⣺ITOPS�Լ���������Զ����������ҿ����·��Ҳ�Ѿ��������ʴ������������Ӧ���Լ����еĿ�����ּ���

;ǿ�ư����ļ������֣�����ʹ��ͨ�����һ��Ҫʹ����Ի��߾���·��
;����Ҫ��ʹ�����·��������ļ�֮��ʹ�á�|���ָ�
;ǿ�ư����ļ�ָ���ǲ��ڱ��ļ��м������ļ����µ�.c��.cpp��.o�ļ�
;����ʹ�ö��INCLUDEFILE����Ҳ����ʹ��INCLUDEFILE1��INCLUDEFILE2�ȷ�ʽ��MakeFile�����ݳ���˳��(�������ִ�С)����
INCLUDEFILE=

;ǿ���ų��ļ�������ʹ��ͨ�����һ��Ҫʹ�����·��
;����ļ�֮��ʹ�á�|���ָ���·��������"./"��"../"��ʼ
;ֻ�ܶ�.c��.cpp�ļ������ų�
;���Ҫ�ų���Ŀ¼���ļ�ҲҪ����"./"
;����ʹ�ö��EXCLUDEFILE����Ҳ����ʹ��EXCLUDEFILE1��EXCLUDEFILE2�ȷ�ʽ��MakeFile�����ݳ���˳��(�������ִ�С)����
EXCLUDEFILE=./android
EXCLUDEFILE=./iphone
EXCLUDEFILE=./win32
EXCLUDEFILE=./wophone/NewDeleteOp.cpp


code:
<?xml version="1.0" encoding="gb2312"?>
<VisualStudioProject
	ProjectType="Visual C++"
	Version="9.00"
	Name="HelloWorld"
	ProjectGUID="{74589012-5241-4918-997A-C0105ABD4DEC}"
	RootNamespace="HelloWorld"
	TargetFrameworkVersion="131072"
	>
	<Platforms>
		<Platform
			Name="Win32"
		/>
	</Platforms>
	<ToolFiles>
	</ToolFiles>
	<Configurations>
		<Configuration
			Name="Debug|Win32"
			OutputDirectory="../../../PRJ_TG3/LIB/Win32Lib"
			IntermediateDirectory="Debug"
			ConfigurationType="2"
			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
			CharacterSet="2"
			>
			<Tool
				Name="VCPreBuildEventTool"
			/>
			<Tool
				Name="VCCustomBuildTool"
			/>
			<Tool
				Name="VCXMLDataGeneratorTool"
			/>
			<Tool
				Name="VCWebServiceProxyGeneratorTool"
			/>
			<Tool
				Name="VCMIDLTool"
			/>
			<Tool
				Name="VCCLCompilerTool"
				Optimization="0"
				AdditionalIncludeDirectories="..\..\..\PRJ_TG3\Include;..\..\..\PRJ_TG3\Include\MTAPI;..\..\..\PRJ_TG3\Include\ThirdParty;..\..\..\PRJ_TG3\Include\TCOM;..\..\..\PRJ_TG3\TG3\Include;..\..\..\PRJ_TG3\TG3\TG3_Implement;..\..\..\PRJ_TG3\EOS_SYS;..\..\..\PRJ_TG3\Common\SoftSupport;..\..\..\PRJ_TG3\Common\ICU\Include;..\..\cocos2dx\include;..\..\cocos2dx;..\..\..\PRJ_TG3\Include\OpenGL;..\wophone;..\;.\Res;..\..\cocos2dx\platform"
				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_TRANZDA_VM_;SS_MAKEDLL"
				MinimalRebuild="true"
				BasicRuntimeChecks="3"
				RuntimeLibrary="3"
				StructMemberAlignment="3"
				TreatWChar_tAsBuiltInType="false"
				UsePrecompiledHeader="0"
				WarningLevel="3"
				DebugInformationFormat="4"
				ForcedIncludeFiles=""
			/>
			<Tool
				Name="VCManagedResourceCompilerTool"
			/>
			<Tool
				Name="VCResourceCompilerTool"
			/>
			<Tool
				Name="VCPreLinkEventTool"
			/>
			<Tool
				Name="VCLinkerTool"
				AdditionalDependencies="WS2_32.Lib EosConfig.lib SoftSupport.lib TG3_DLL.lib libcocos2d.lib"
				OutputFile="$(OutDir)/HelloWorld.dll"
				LinkIncremental="2"
				AdditionalLibraryDirectories="../../../PRJ_TG3/Common/ICU/lib;../../../PRJ_TG3/Mtapi/Win32/lib;../../../PRJ_TG3/LIB/Win32Lib;../../../PRJ_TG3/Common/SoftSupport"
				GenerateDebugInformation="true"
				GenerateMapFile="true"
				MapExports="true"
				SubSystem="1"
				RandomizedBaseAddress="1"
				DataExecutionPrevention="0"
				ImportLibrary="$(OutDir)/$(TargetName).lib"
				TargetMachine="1"
			/>
			<Tool
				Name="VCALinkTool"
			/>
			<Tool
				Name="VCManifestTool"
			/>
			<Tool
				Name="VCXDCMakeTool"
			/>
			<Tool
				Name="VCBscMakeTool"
			/>
			<Tool
				Name="VCFxCopTool"
			/>
			<Tool
				Name="VCAppVerifierTool"
			/>
			<Tool
				Name="VCPostBuildEventTool"
				CommandLine="mkdir D:\Work7\NEWPLUS\TG3\ConstData
copy ..\Resource\*.*  D:\Work7\NEWPLUS\TG3\ConstData
"
			/>
		</Configuration>
		<Configuration
			Name="Release|Win32"
			OutputDirectory="../../../PRJ_TG3/LIB/Win32Lib"
			IntermediateDirectory="Release"
			ConfigurationType="1"
			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
			CharacterSet="2"
			>
			<Tool
				Name="VCPreBuildEventTool"
			/>
			<Tool
				Name="VCCustomBuildTool"
			/>
			<Tool
				Name="VCXMLDataGeneratorTool"
			/>
			<Tool
				Name="VCWebServiceProxyGeneratorTool"
			/>
			<Tool
				Name="VCMIDLTool"
			/>
			<Tool
				Name="VCCLCompilerTool"
				AdditionalIncludeDirectories="..\Res;..\..\..\PRJ_TG3\Include;..\..\..\PRJ_TG3\Include\MTAPI;..\..\..\PRJ_TG3\Include\ThirdParty;..\..\..\PRJ_TG3\Include\TCOM;..\..\..\PRJ_TG3\TG3\Include;..\..\..\PRJ_TG3\TG3\TG3_Implement;..\..\..\PRJ_TG3\EOS_SYS;..\..\..\PRJ_TG3\Common\SoftSupport;..\..\..\PRJ_TG3\Common\ICU\Include"
				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_TRANZDA_VM_;SS_MAKEDLL"
				RuntimeLibrary="0"
				UsePrecompiledHeader="2"
				WarningLevel="3"
				Detect64BitPortabilityProblems="true"
				DebugInformationFormat="3"
			/>
			<Tool
				Name="VCManagedResourceCompilerTool"
			/>
			<Tool
				Name="VCResourceCompilerTool"
			/>
			<Tool
				Name="VCPreLinkEventTool"
			/>
			<Tool
				Name="VCLinkerTool"
				OutputFile="$(OutDir)/HelloWorld.dll"
				LinkIncremental="1"
				GenerateDebugInformation="true"
				SubSystem="1"
				OptimizeReferences="2"
				EnableCOMDATFolding="2"
				RandomizedBaseAddress="1"
				DataExecutionPrevention="0"
				TargetMachine="1"
			/>
			<Tool
				Name="VCALinkTool"
			/>
			<Tool
				Name="VCManifestTool"
			/>
			<Tool
				Name="VCXDCMakeTool"
			/>
			<Tool
				Name="VCBscMakeTool"
			/>
			<Tool
				Name="VCFxCopTool"
			/>
			<Tool
				Name="VCAppVerifierTool"
			/>
			<Tool
				Name="VCPostBuildEventTool"
			/>
		</Configuration>
	</Configurations>
	<References>
	</References>
	<Files>
		<Filter
			Name="Classes"
			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
			>
			<File
				RelativePath="..\AppDelegate.cpp"
				>
			</File>
			<File
				RelativePath="..\AppDelegate.h"
				>
			</File>
			<File
				RelativePath="..\HelloWorldScene.cpp"
				>
			</File>
			<File
				RelativePath="..\HelloWorldScene.h"
				>
			</File>
		</Filter>
		<Filter
			Name="wophone"
			>
			<File
				RelativePath=".\HelloWorldUnicodeScript.h"
				>
				<FileConfiguration
					Name="Debug|Win32"
					>
					<Tool
						Name="VCCustomBuildTool"
						CommandLine="..\..\..\PRJ_TG3\Common\StrConv\TzdStrConv_V1.exe $(InputPath) $(InputDir)$(InputName)_str.h
"
						AdditionalDependencies="..\..\..\PRJ_TG3\Common\StrConv\TzdStrConv_V1.exe"
						Outputs="$(InputDir)$(InputName)_str.h"
					/>
				</FileConfiguration>
			</File>
			<File
				RelativePath=".\HelloWorldUnicodeScript_str.h"
				>
			</File>
			<File
				RelativePath=".\main.cpp"
				>
			</File>
			<File
				RelativePath=".\NewDeleteOp.cpp"
				>
			</File>
			<File
				RelativePath=".\TG3AppDllEntry.cpp"
				>
			</File>
			<File
				RelativePath=".\TG3AppDllEntry.h"
				>
			</File>
			<Filter
				Name="Makefiles"
				>
				<File
					RelativePath=".\HelloWorld.TMK3"
					>
				</File>
				<File
					RelativePath=".\Makefile.ARM"
					>
				</File>
			</Filter>
		</Filter>
	</Files>
	<Globals>
	</Globals>
</VisualStudioProject>


code:
<?xml version="1.0" encoding="gb2312"?>
<VisualStudioUserFile
	ProjectType="Visual C++"
	Version="9.00"
	ShowAllFiles="false"
	>
	<Configurations>
		<Configuration
			Name="Debug|Win32"
			>
			<DebugSettings
				Command="tg3_rundll"
				WorkingDirectory=""
				CommandArguments="$(TargetPath)"
				Attach="false"
				DebuggerType="3"
				Remote="1"
				RemoteMachine="WALZER-NOTEBOOK"
				RemoteCommand=""
				HttpUrl=""
				PDBPath=""
				SQLDebugging=""
				Environment=""
				EnvironmentMerge="true"
				DebuggerFlavor="0"
				MPIRunCommand=""
				MPIRunArguments=""
				MPIRunWorkingDirectory=""
				ApplicationCommand=""
				ApplicationArguments=""
				ShimCommand=""
				MPIAcceptMode=""
				MPIAcceptFilter=""
			/>
		</Configuration>
		<Configuration
			Name="Release|Win32"
			>
			<DebugSettings
				Command="$(TargetPath)"
				WorkingDirectory=""
				CommandArguments=""
				Attach="false"
				DebuggerType="3"
				Remote="1"
				RemoteMachine="WALZER-NOTEBOOK"
				RemoteCommand=""
				HttpUrl=""
				PDBPath=""
				SQLDebugging=""
				Environment=""
				EnvironmentMerge="true"
				DebuggerFlavor=""
				MPIRunCommand=""
				MPIRunArguments=""
				MPIRunWorkingDirectory=""
				ApplicationCommand=""
				ApplicationArguments=""
				ShimCommand=""
				MPIAcceptMode=""
				MPIAcceptFilter=""
			/>
		</Configuration>
	</Configurations>
</VisualStudioUserFile>


code:
// Unicode string resource scrip file,DOT NOT include it.

// Original file name: HelloWorldUnicodeScript.h
// Generated by TOPS Builder:Project wizard,Date:2010-11-27

#define TZD_CONV(x, y)
TZD_CONV(AppName_HelloWorld, "HelloWorld")


code:
#ifndef __HELLOWORLDUNICODESCRIPT_STR_H__
#define __HELLOWORLDUNICODESCRIPT_STR_H__

#define AppName_HelloWorld__N \
    "H\x00\x65\x00l\x00l\x00o\x00W\x00o\x00r\x00l\x00\x64\x00"
#define AppName_HelloWorld__C \
    AppName_HelloWorld__N"\x00\x00"
#define AppName_HelloWorld \
    ((const unsigned short *)(AppName_HelloWorld__C))
#define AppName_HelloWorld__N16 \
    0x0048,0x0065,0x006c,0x006c,0x006f,0x0057,0x006f,0x0072,0x006c,0x0064
#define AppName_HelloWorld_16 \
    {AppName_HelloWorld__N16,0x0000}
// ԭʼ����Ϣ��
// HelloWorld

#endif  //__HELLOWORLDUNICODESCRIPT_STR_H__


code:
############################################################################
#
#   Makefile for building : cocosTemplate_Arm.TMK3
#   Created by TMK3_V2.3, please do not modify.
#
#############################################################################

TO_PROJECT_ROOT = ../../../PRJ_TG3
OUTPUT_FILENAME = libHelloWorld.so

include $(TO_PROJECT_ROOT)/MakeInclude/Makefile_Base_DynamicLib.ARM
include $(TO_PROJECT_ROOT)/MakeInclude/Makefile_TOPS_Def.ARM

DEFINES += -DCC_UNDER_WOPHONE
INCLUDE_PATH += -I./Res  \
                -I../    \
                -I../wophone \
                -I../../cocos2dx \
                -I../../cocos2dx/include \
                -I../../cocos2dx/platform
LIBS += -lCocos2dStatic -lTG3_GLESv1_CM -lTG3_EGL -lz -lxml2 -lpng14 -lImageToolKit -ljpeg

OBJECTS_DIR = ./Debug-ARM
DESTDIR = $(TO_PROJECT_ROOT)/$(BIN_OUTPUT_DIR)
TARGET = $(DESTDIR)/$(OUTPUT_FILENAME)

DEL_FILE = rm -f
MKDIR = mkdir -p

first: all

OBJECTS = \
	$(OBJECTS_DIR)/AppDelegate.o \
	$(OBJECTS_DIR)/HelloWorldScene.o \
	$(OBJECTS_DIR)/main.o \
	$(OBJECTS_DIR)/TG3AppDllEntry.o

ADD_OBJECTS +=

$(OBJECTS_DIR) :
	$(MKDIR) $(OBJECTS_DIR)

$(DESTDIR) :
	$(MKDIR) $(DESTDIR)

all : $(OBJECTS_DIR) $(DESTDIR) $(TARGET)

$(TARGET) : $(OBJECTS)
	$(LINK) $(LINK_FLAGS) -o $(TARGET) $(SYS_OBJECTS) $(OBJECTS) $(ADD_OBJECTS) $(LIBS) $(SYS_LIBS)

clean :
	-$(DEL_FILE) $(OBJECTS)
	-$(DEL_FILE) $(TARGET)

$(OBJECTS_DIR)/AppDelegate.o : ../AppDelegate.cpp
	$(CXX) -c $(CXX_FLAGS) $(INCLUDE_PATH) $(LAST_INCLUDE_PATH) -o $(OBJECTS_DIR)/AppDelegate.o ../AppDelegate.cpp

$(OBJECTS_DIR)/HelloWorldScene.o : ../HelloWorldScene.cpp
	$(CXX) -c $(CXX_FLAGS) $(INCLUDE_PATH) $(LAST_INCLUDE_PATH) -o $(OBJECTS_DIR)/HelloWorldScene.o ../HelloWorldScene.cpp

$(OBJECTS_DIR)/main.o : ./main.cpp
	$(CXX) -c $(CXX_FLAGS) $(INCLUDE_PATH) $(LAST_INCLUDE_PATH) -o $(OBJECTS_DIR)/main.o ./main.cpp

$(OBJECTS_DIR)/TG3AppDllEntry.o : ./TG3AppDllEntry.cpp
	$(CXX) -c $(CXX_FLAGS) $(INCLUDE_PATH) $(LAST_INCLUDE_PATH) -o $(OBJECTS_DIR)/TG3AppDllEntry.o ./TG3AppDllEntry.cpp


code:
/*!
*  @file		NewDeleteOp.cpp
*  @author ȫ�Ǵ�
*  @brief
*
*  @section Copyright
* =======================================================================

*

* Copyright (c) 2005-2010 Tranzda Technologies Co.,Ltd.

*      ������ȫ�Ǵ�Ƽ����޹�˾ ��Ȩ����2005-2010

*

* PROPRIETARY RIGHTS of Tranzda Technologies Co.,Ltd. are involved in

* the subject matter of this material. All manufacturing, reproduction,

* use, and sales rights pertaining to this subject matter are governed

* by the license agreement.  The recipient of this software implicitly

* accepts the terms of the license.

* �������ĵ�������������ȫ�Ǵ�Ƽ����޹�˾�ĺϷ��ʲ����κ���ʿ�Ķ���ʹ

* �ñ����ϱ�������Ӧ��������Ȩ,�е��������κͽ�����Ӧ�ķ���Լ����

*

* ��˾��ַ�� http://www.tranzda.com

*  ��˾���䣺support@tranzda.com

* =======================================================================

*/

#include "ssTypes.h"
#include "TG3_Type.h"
#include "TG3_Memory.h"

#ifdef new
#undef new
#endif

#ifdef delete
#undef delete
#endif

#ifndef _WIN32
    #define __cdecl
#endif

void * __cdecl operator new(unsigned int size)
{
    return TMalloc(size);
}

void * __cdecl operator new[](unsigned int size)
{
    return TMalloc(size);
}

void * __cdecl operator new(unsigned int size, const unsigned short * fileName, int lineNo)
{
    return TMallocEx(size, fileName, lineNo);
}

void * __cdecl operator new[](unsigned int size, const unsigned short * fileName, int lineNo)
{
    return TMallocEx(size, fileName, lineNo);
}

void __cdecl operator delete(void *p)
{
    TFree(p);
}

void __cdecl operator delete[](void *p)
{
    TFree(p);
}

void __cdecl operator delete(void *p, const unsigned short * fileName, int lineNo)
{
    TFreeEx(p, fileName, lineNo);
}

void __cdecl operator delete[](void *p, const unsigned short * fileName, int lineNo)
{
    TFreeEx(p, fileName, lineNo);
}


code:
#include "ssGlobal.h"
#include "ssTsd.h"
#include "TG3_Type.h"
#include <stdio.h>
#include "TCOM.h"
#include "ssAppMgr.h"
#include "TG3AppDllEntry.h"

#ifdef __TCOM_SUPPORT__

#ifdef __cplusplus
extern "C" {
#endif

    //ʵ��TCOM����Ҫ��DLL����

    //DLL�ṩ�Ļ�ȡָ��CLSID��ָ���ӿ�
    SS_EXPORT HRESULT TDllGetClassObject(TREFCLSID rclsid, TREFIID riid, LPVOID * ppv);

    //DLL�ṩ�Ĳ�ѯDLL�ܷ�Unload
    SS_EXPORT HRESULT TDllCanUnloadNow(void);

    //DLL�ṩ�İ�DLL��TCOM��Ϣ���뵽ע���
    SS_EXPORT HRESULT TDllRegisterServer(void);

    //DLL�ṩ�İ�DLL��TCOM��Ϣ��ע�����ɾ��
    SS_EXPORT HRESULT TDllUnregisterServer(void);

#ifdef __cplusplus
}
#endif

#ifdef __TCOM_OUTPUT_DEBUG_INFO__
#include <stdio.h>
#endif

//TCOMʵ������Ҫ�õ��ĺ���������

//ʵ���������õĴ���
static Int32 __TCOM_ClsidInstanceRefCount;

//ClassFactory��Locked�Ĵ���
static Int32 __TCOM_CalssFactoryLockedCount;

//����Ҫ�ĳ�ʼ��
static Int32 __TCOM_Init()
{
    __TCOM_ClsidInstanceRefCount = 0;
    __TCOM_CalssFactoryLockedCount = 0;
    return 0;
}

//����Ҫ���������
static Int32 __TCOM_DeInit()
{
    return 0;
}

//DLLȫ��ʹ�ã����Ӷ���ʵ�������ô���
Int32 TCOM_AddClsidInstanceRefCount()
{
    __TCOM_ClsidInstanceRefCount++;
#ifdef __TCOM_OUTPUT_DEBUG_INFO__
    SS_printf("[TCOM_SYSTEM] TCOM_AddClsidInstanceRefCount: address: %p, value: %d.\n",
		&__TCOM_ClsidInstanceRefCount, __TCOM_ClsidInstanceRefCount);
#endif
    if(__TCOM_ClsidInstanceRefCount <= 0)
	{
        return 0;
	}
    return __TCOM_ClsidInstanceRefCount;
}

//DLLȫ��ʹ�ã����ٶ���ʵ�������ô���
Int32 TCOM_DecClsidInstanceRefCount()
{
    __TCOM_ClsidInstanceRefCount--;
#ifdef __TCOM_OUTPUT_DEBUG_INFO__
    SS_printf("[TCOM_SYSTEM] TCOM_DecClsidInstanceRefCount: address: %p, value: %d.\n",
		&__TCOM_ClsidInstanceRefCount, __TCOM_ClsidInstanceRefCount);
#endif
    if(__TCOM_ClsidInstanceRefCount <= 0)
	{
        return 0;
	}
    return __TCOM_ClsidInstanceRefCount;
}

//DLLȫ��ʹ�ã�����ClassFactory��Locked�Ĵ���
Int32 TCOM_AddCalssFactoryLockedCount()
{
    __TCOM_CalssFactoryLockedCount++;
#ifdef __TCOM_OUTPUT_DEBUG_INFO__
    SS_printf("[TCOM_SYSTEM] TCOM_AddCalssFactoryLockedCount: address: %p, value: %d.\n",
		&__TCOM_CalssFactoryLockedCount, __TCOM_CalssFactoryLockedCount);
#endif
    if(__TCOM_CalssFactoryLockedCount <= 0)
	{
        return 0;
	}
    return __TCOM_CalssFactoryLockedCount;
}

//DLLȫ��ʹ�ã�����ClassFactory��Locked�Ĵ���
Int32 TCOM_DecCalssFactoryLockedCount()
{
    __TCOM_CalssFactoryLockedCount--;
#ifdef __TCOM_OUTPUT_DEBUG_INFO__
    SS_printf("[TCOM_SYSTEM] TCOM_DecCalssFactoryLockedCount: address: %p, value: %d.\n",
		&__TCOM_CalssFactoryLockedCount, __TCOM_CalssFactoryLockedCount);
#endif
    if(__TCOM_CalssFactoryLockedCount <= 0)
	{
        return 0;
	}
    return __TCOM_CalssFactoryLockedCount;
}

//ʵ��TCOM����Ҫ��DLL����

//DLL�ṩ�Ļ�ȡָ��CLSID��ָ���ӿ�
SS_EXPORT HRESULT TDllGetClassObject(TREFCLSID rclsid, TREFIID riid, LPVOID * ppv)
{
    return TCOM_Srv_GetClassObject(rclsid, riid, ppv);
}

//DLL�ṩ�Ĳ�ѯDLL�ܷ�Unload
SS_EXPORT HRESULT TDllCanUnloadNow(void)
{
#ifdef __TCOM_OUTPUT_DEBUG_INFO__
    SS_printf("[TCOM_SYSTEM] TDllCanUnloadNow: address1: %p, address2: %p, value1: %d, value2: %d.\n",
		&__TCOM_ClsidInstanceRefCount, &__TCOM_CalssFactoryLockedCount, __TCOM_ClsidInstanceRefCount,
		__TCOM_CalssFactoryLockedCount);
#endif
    if((__TCOM_ClsidInstanceRefCount <= 0) && (__TCOM_CalssFactoryLockedCount <= 0))
        return TCOM_S_TRUE;
    return TCOM_S_FALSE;
}

//DLL�ṩ�İ�DLL��TCOM��Ϣ���뵽ע���
SS_EXPORT HRESULT TDllRegisterServer(void)
{
    return TCOM_Srv_RegisterServer();
}

//DLL�ṩ�İ�DLL��TCOM��Ϣ��ע�����ɾ��
SS_EXPORT HRESULT TDllUnregisterServer(void)
{
    return  TCOM_Srv_UnregisterServer();
}

#endif  //__TCOM_SUPPORT__

#ifdef _WIN32

#ifndef SS_MAKEDLL
    #error Error!!! SS_MAKEDLL Must defined!
#endif

BOOL APIENTRY DllMain(HANDLE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved)
{
	switch (ul_reason_for_call)
	{
	case DLL_PROCESS_ATTACH:
		//���̼��ض�̬����еĲ���
#ifdef __TCOM_SUPPORT__
        __TCOM_Init();
#endif
		break;
	case DLL_THREAD_ATTACH:
		//�̼߳��ض�̬����еĲ���
		break;
	case DLL_THREAD_DETACH:
		//�߳�ж�ض�̬����еĲ���
		break;
	case DLL_PROCESS_DETACH:
		//����ж�ض�̬����еĲ���
#ifdef __TCOM_SUPPORT__
        __TCOM_DeInit();
#endif
		break;
	}
	return TRUE;
}
#else   //linux

#ifndef SS_SHARED
    #error Error!!! SS_SHARED Must defined!
#endif

void __attribute((constructor)) TG3_Dll_Attach()
{
    //���̼��ض�̬����еĲ���
#ifdef __TCOM_SUPPORT__
    __TCOM_Init();
#endif
}

void __attribute((destructor)) TG3_Dll_Detach()
{
    //����ж�ض�̬����еĲ���
#ifdef __TCOM_SUPPORT__
    __TCOM_DeInit();
#endif
}

#endif

//���������ΪTG3�Ķ�̬��Ӧ�ã�����VC��Ŀ�к�TMK3�ļ��ж���  __TG3_PURE_DLL__ ��
#ifndef __TG3_PURE_DLL__

//��̬��Ӧ��ʹ�õ�ͳһ�������ֵ���ں���
SS_EXPORT Int32 TDllTG3AppMain(const TUChar * pAppID, UInt32 nCmd, void * pCmdParam)
{
	Int32 retValue;

	//��ʼ��TCOM
	TCoInitialize(NULL);

	retValue = TG3AppMain(pAppID, nCmd, pCmdParam);

	//�ͷ�TCOM
	TCoUninitialize();

	return retValue;
}

#endif


code:
#ifndef __TG3_APP_DLL_ENTRY_H__
#define __TG3_APP_DLL_ENTRY_H__

#ifndef __cplusplus
    #error This file need C++ support
#endif

#if TG3_APP_ENTRY_MINIMUM_VERSION > 200
#error Please replace TG3AppDllEntry.h and TG3AppDllEntry.cpp to newest version!
#endif

#ifdef __TCOM_SUPPORT__

#include "TCOM.h"

//�ṩ��DLLʵ���ߵ��õĺ�����������ȫ�ּ�¼ʵ����ClassFactory�����õĴ�����
//����������Ӱ��DLL�Ƿ���ܱ����ڴ���ж�أ�������ʵ�����ڲ�ʵ�ּ�����ͬʱ����ȫ�ּ�����
//����DLL���п��ܻ���ʵ�������ڵ�ʱ��ϵͳ�Զ�ǿ��ж��

//DLLȫ��ʹ�ã����Ӷ���ʵ�������ô���
Int32 TCOM_AddClsidInstanceRefCount();

//DLLȫ��ʹ�ã����ٶ���ʵ�������ô���
Int32 TCOM_DecClsidInstanceRefCount();

//DLLȫ��ʹ�ã�����ClassFactory��Locked�Ĵ���
Int32 TCOM_AddCalssFactoryLockedCount();

//DLLȫ��ʹ�ã�����ClassFactory��Locked�Ĵ���
Int32 TCOM_DecCalssFactoryLockedCount();

//Ӧ��DLL��֧��TCOM��ʱ���ṩ����������ʹ�õĺ���

//Ӧ�ø��ݸ�����CLSID��ClassFactory�ӿ�IID����ClassFactory�Ľӿ�
//����ֵ���ο�TCOM_S_ϵ�к궨��
HRESULT TCOM_Srv_GetClassObject(TREFCLSID rclsid, TREFIID riid, LPVOID * ppv);

//Ӧ���ṩ�İ�TCOM��Ϣ���뵽ע���
//����ֵ���ο�TCOM_S_ϵ�к궨��
HRESULT TCOM_Srv_RegisterServer(void);

//Ӧ���ṩ�İ�TCOM��Ϣ��ע�����ɾ��
//����ֵ���ο�TCOM_S_ϵ�к궨��
HRESULT TCOM_Srv_UnregisterServer(void);

#endif  //__TCOM_SUPPORT__

#endif  //__TG3_APP_DLL_ENTRY_H__


code:
// Application main file.

// Original file name: cocosTemplateEntry.cpp
// Generated by TOPS Builder:Project wizard,Date:2010-09-27

// wophone header
#include "TG3.h"

// game
#include "AppDelegate.h"

Int32 TG3AppMain(const TUChar * pAppID, UInt32 nCmd, void * pCmdParam)
{
	AppDelegate app;
    cocos2d::CCApplication::sharedApplication().Run();

	return 1;
}


code:
<?xml version="1.0"?>
<VERSION name = "1.0">
<!-- The version of file -->
      <SOFT_ID name="cocos2dx_helloworld">
      <!-- For software packag ID -->
            <APP_ID name = "HelloWorld" type="String" >WOPHONE_cocos2dx_helloworld</APP_ID>
            <!-- WOPHONE_XXX_ZZZ is Application ID, APP_ID_1 is the name of application ID -->
      </SOFT_ID>
 </VERSION>


code:
/**
* Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
*
* For the applicable distribution terms see the license text file included in
* the distribution.
*/

#include "AppDelegate.h"

#include "cocos2d.h"
#include "MainMenuScene.h"

#include "CCEGLView.h"

#include "SimpleAudioEngine.h"

using namespace cocos2d;
using namespace CocosDenshion;

USING_NS_CC;

#if (CC_TARGET_PLATFORM == CC_PLATFORM_QT)
AppDelegate::AppDelegate(int &argc, char** argv) :
    CCApplication(argc, argv)
{
}
#else
AppDelegate::AppDelegate()
{
}
#endif

AppDelegate::~AppDelegate()
{
}

bool AppDelegate::initInstance() {
    bool bRet = false;
    do {
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)

        // Initialize OpenGLView instance, that release by CCDirector when application terminate.
        // The JumpingGame is designed as HVGA.
        CCEGLView * pMainWnd = new CCEGLView();
        CC_BREAK_IF(! pMainWnd
                || ! pMainWnd->Create(TEXT("cocos2d: Hello World"), 480, 320));

#endif  // CC_PLATFORM_WIN32
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)

        // OpenGLView initialized in testsAppDelegate.mm on ios platform, nothing need to do here.

#endif  // CC_PLATFORM_IOS
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)

        // OpenGLView initialized in JumpingGame/android/jni/jumpinggame/main.cpp
        // the default setting is to create a fullscreen view
        // if you want to use auto-scale, please enable view->create(320,480) in main.cpp
        // if the resources under '/sdcard" or other writeable path, set it.
        // warning: the audio source should in assets/
        // cocos2d::CCFileUtils::setResourcePath("/sdcard");

#endif  // CC_PLATFORM_ANDROID
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WOPHONE)

        // Initialize OpenGLView instance, that release by CCDirector when application terminate.
        // The JumpingGame is designed as HVGA.
        CCEGLView* pMainWnd = new CCEGLView(this);
        CC_BREAK_IF(! pMainWnd || ! pMainWnd->Create(320,480, WM_WINDOW_ROTATE_MODE_CW));

#ifndef _TRANZDA_VM_
        // on wophone emulator, we copy resources files to Work7/NEWPLUS/TDA_DATA/Data/ folder instead of zip file
        cocos2d::CCFileUtils::setResource("JumpingGame.zip");
#endif

#endif  // CC_PLATFORM_WOPHONE
#if (CC_TARGET_PLATFORM == CC_PLATFORM_MARMALADE)
        // MaxAksenov said it's NOT a very elegant solution. I agree, haha
        CCDirector::sharedDirector()->setDeviceOrientation(kCCDeviceOrientationLandscapeLeft);
#endif
#if (CC_TARGET_PLATFORM == CC_PLATFORM_LINUX)

        // Initialize OpenGLView instance, that release by CCDirector when application terminate.
        // The JumpingGame is designed as HVGA.
        CCEGLView * pMainWnd = new CCEGLView();
        CC_BREAK_IF(! pMainWnd
                || ! pMainWnd->Create("cocos2d: Hello World", 480, 320 ,480, 320));

        CCFileUtils::setResourcePath("../Resource/");

#endif  // CC_PLATFORM_LINUX

#if (CC_TARGET_PLATFORM == CC_PLATFORM_BADA)

        CCEGLView * pMainWnd = new CCEGLView();
        CC_BREAK_IF(! pMainWnd|| ! pMainWnd->Create(this, 480, 320));
        pMainWnd->setDeviceOrientation(Osp::Ui::ORIENTATION_LANDSCAPE);
        CCFileUtils::setResourcePath("/Res/");

#endif  // CC_PLATFORM_BADA

#if (CC_TARGET_PLATFORM == CC_PLATFORM_QNX)
        CCEGLView * pMainWnd = new CCEGLView();
        CC_BREAK_IF(! pMainWnd|| ! pMainWnd->Create(480, 320));
        CCFileUtils::setResourcePath("./app/native/Resource");
#endif // CC_PLATFORM_QNX

#if (CC_TARGET_PLATFORM == CC_PLATFORM_QT)

        // Initialize OpenGLView instance, that release by CCDirector when application terminate.
        // The JumpingGame is designed as HVGA.
        CCEGLView * pMainWnd = new CCEGLView(NULL);
        CC_BREAK_IF(! pMainWnd || ! pMainWnd->Create());

#ifdef Q_OS_SYMBIAN
        CCFileUtils::setResourcePath("/private/E8AA3FAF/resources");
#else
        CCFileUtils::setResourcePath("/opt/jumpinggame/resources");
#endif

#endif  // CC_PLATFORM_QT

        bRet = true;
    } while (0);
    return bRet;
}

bool AppDelegate::applicationDidFinishLaunching() {
    // initialize director
    CCDirector *pDirector = CCDirector::sharedDirector();

    pDirector->setOpenGLView(&CCEGLView::sharedOpenGLView());

    // enable High Resource Mode(2x, such as iphone4) and maintains low resource on other devices.
//     pDirector->enableRetinaDisplay(true);

    // turn on display FPS
    pDirector->setDisplayFPS(true);

    pDirector->setDeviceOrientation(kCCDeviceOrientationPortrait);
    //pDirector->setDeviceOrientation(kCCDeviceOrientationPortraitUpsideDown);
    //pDirector->setDeviceOrientation(kCCDeviceOrientationLandscapeLeft);
    //pDirector->setDeviceOrientation(kCCDeviceOrientationLandscapeRight);

    // set FPS. the default value is 1.0/60 if you don't call this
    pDirector->setAnimationInterval(1.0 / 60);

    // create a scene. it's an autorelease object
    CCScene *pScene = MainMenu::scene();

    // run
    pDirector->runWithScene(pScene);

    return true;
}

// This function will be called when the app is inactive. When comes a phone call,it's be invoked too
void AppDelegate::applicationDidEnterBackground() {
    CCDirector::sharedDirector()->pause();

    // if you use SimpleAudioEngine, it must be pause
    SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();
    SimpleAudioEngine::sharedEngine()->pauseAllEffects();
}

// this function will be called when the app is active again
void AppDelegate::applicationWillEnterForeground() {
    CCDirector::sharedDirector()->resume();

    // if you use SimpleAudioEngine, it must resume here
    SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic();
    SimpleAudioEngine::sharedEngine()->resumeAllEffects();
}


code:
#ifndef  _APP_DELEGATE_H_
#define  _APP_DELEGATE_H_

#include "CCApplication.h"

/**
@brief	The cocos2d Application.

The reason for implement as private inheritance is to hide some interface call by CCDirector.
*/
class  AppDelegate : public cocos2d::CCApplication
{
public:
#if (CC_TARGET_PLATFORM == CC_PLATFORM_QT)
    AppDelegate(int &argc, char** argv);
#else
    AppDelegate();
#endif
    virtual ~AppDelegate();

    /**
    @brief	Implement for initialize OpenGL instance, set source path, etc...
    */
    virtual bool initInstance();

    /**
    @brief	Implement CCDirector and CCScene init code here.
    @return true    Initialize success, app continue.
    @return false   Initialize failed, app terminate.
    */
    virtual bool applicationDidFinishLaunching();

    /**
    @brief  The function be called when the application enter background
    @param  the pointer of the application
    */
    virtual void applicationDidEnterBackground();

    /**
    @brief  The function be called when the application enter foreground
    @param  the pointer of the application
    */
    virtual void applicationWillEnterForeground();
};

#endif // _APP_DELEGATE_H_


code:
/**
* Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
*
* For the applicable distribution terms see the license text file included in
* the distribution.
*/

#include "GameOverScene.h"
#include "MainMenuScene.h"

#include "SimpleAudioEngine.h"

using namespace cocos2d;
using namespace CocosDenshion;

USING_NS_CC;

CCScene* GameOver::scene()
{
    // 'scene' is an autorelease object
    CCScene *scene = CCScene::node();

    // 'layer' is an autorelease object
    GameOver *layer = GameOver::node();

    // add layer as a child to scene
    scene->addChild(layer);

    // return the scene
    return scene;
}

// on "init" you need to initialize your instance
bool GameOver::init()
{
    //////////////////////////////
    // 1. super init first
    if ( !CCLayer::init() )
    {
        return false;
    }

    initBackground();

    CCTouchDispatcher::sharedDispatcher()->addTargetedDelegate(this, 0, true);

    return true;
}

bool GameOver::ccTouchBegan(CCTouch* touch, CCEvent* event)
{
    SimpleAudioEngine::sharedEngine()->stopBackgroundMusic();
    SimpleAudioEngine::sharedEngine()->stopAllEffects();

    // Change the game state to MainMenu
    CCScene *pScene = MainMenu::scene();
    CCDirector::sharedDirector()->replaceScene(pScene);

    return true;
}

void GameOver::initBackground()
{
    CCSize winSize = CCDirector::sharedDirector()->getWinSize();

    // Load the background image sprite and set the position to bottom left side of the screen.
    CCSprite* background = CCSprite::spriteWithFile("gameover.png");
    background->setAnchorPoint(ccp(0.0f, 0.0f));
    background->setPosition(ccp(0.0f, 0.0f));

    // Scale background to cover the whole window.
    CCRect bgRect = background->getTextureRect();
    background->setScaleX(winSize.width / bgRect.size.width);
    background->setScaleY(winSize.height / bgRect.size.height);

    // Add the background as a child to GameOver layer.
    this->addChild(background, 0);
}


code:
/**
* Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
*
* For the applicable distribution terms see the license text file included in
* the distribution.
*/

#ifndef __GAMEOVER_SCENE_H__
#define __GAMEOVER_SCENE_H__

#include "cocos2d.h"

class GameOver : public cocos2d::CCLayer
{
public:
    // Here's a difference. Method 'init' in cocos2d-x returns bool, instead of returning 'id' in cocos2d-iphone
    virtual bool init();

    // there's no 'id' in cpp, so we recommand to return the exactly class pointer
    static cocos2d::CCScene* scene();

    // implement the "static node()" method manually
    LAYER_NODE_FUNC(GameOver);

    virtual bool ccTouchBegan(CCTouch* touch, CCEvent* event);

    void initBackground();
private:
};

#endif // __GAMEOVER_SCENE_H__


code:
/**
* Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
*
* For the applicable distribution terms see the license text file included in
* the distribution.
*/

#include "JumpingGameScene.h"
#include "GameOverScene.h"
#include "SimpleAudioEngine.h"

using namespace cocos2d;
using namespace CocosDenshion;

USING_NS_CC;

CCScene* JumpingGame::scene()
{
	// 'scene' is an autorelease object
	CCScene *scene = CCScene::node();

	// 'layer' is an autorelease object
    JumpingGame *layer = JumpingGame::node();

	// add layer as a child to scene
	scene->addChild(layer);

	// return the scene
	return scene;
}

// on "init" you need to initialize your instance
bool JumpingGame::init()
{
    //////////////////////////////
    // 1. super init first
    if ( !CCLayer::init() )
    {
        return false;
    }

    // Generate a random seed
    srand(time(NULL));

    initBackground();
    initBlocks();
    initPlayer();
    initAudio();

    // Start background music
    SimpleAudioEngine::sharedEngine()->playBackgroundMusic("music.ogg");

    CCTouchDispatcher::sharedDispatcher()->addTargetedDelegate(this, 0, true);
    CCScheduler::sharedScheduler()->scheduleUpdateForTarget(this, 0, false);

    return true;
}

void JumpingGame::menuCloseCallback(CCObject* pSender)
{
	CCDirector::sharedDirector()->end();

#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
	exit(0);
#endif
}

bool JumpingGame::ccTouchBegan(CCTouch* touch, CCEvent* event)
{
    CCSize winSize = CCDirector::sharedDirector()->getWinSize();

    float winMidX = winSize.width * 0.5f;
    float winMidY = winSize.height * 0.5f;

    // Transform touch point to match the screen rotation.
    CCPoint touchLocation = CCDirector::sharedDirector()->convertToGL(touch->locationInView());

    if(touchLocation.y > winMidY)
    {
        // Jump if player is not already jumping.
        if(!m_playerJumping)
        {
            m_playerJumping = true;
            jump();
        }
    }
    else
    {
        if(touchLocation.x < winMidX)
            m_playerVelocity.x = -200.0f;
        else
            m_playerVelocity.x = 200.0f;
    }

    return true;
}

void JumpingGame::ccTouchEnded(CCTouch* touch, CCEvent* event)
{
    m_playerVelocity.x = 0.0f;
}

void JumpingGame::onExit()
{
    CCScheduler::sharedScheduler()->unscheduleUpdateForTarget(this);
}

void JumpingGame::update(ccTime dt)
{
    if(m_gameOver)
    {
        SimpleAudioEngine::sharedEngine()->stopBackgroundMusic();
        SimpleAudioEngine::sharedEngine()->stopAllEffects();

        // Change the game state to GameOver
        CCScene *pScene = GameOver::scene();
        CCDirector::sharedDirector()->replaceScene(pScene);

        return;
    }

    updatePlayer();
    checkCollisions();
    scrollScene();
    updateBlocks();
    updateScore();
}

void JumpingGame::initBackground()
{
    CCSize winSize = CCDirector::sharedDirector()->getWinSize();

    // Load the background image sprite and set the position to bottom left side of the screen.
    CCSprite* background = CCSprite::spriteWithFile("background.png");
    background->setAnchorPoint(ccp(0.0f, 0.0f));
    background->setPosition(ccp(0.0f, 0.0f));

    // Scale background to cover the whole window.
    CCRect bgRect = background->getTextureRect();
    background->setScaleX(winSize.width / bgRect.size.width);
    background->setScaleY(winSize.height / bgRect.size.height);

    // Add the background as a child to JumpingGame layer.
    this->addChild(background, 0);
}

void JumpingGame::initBlocks()
{
    // Load the block texture.
    CCTexture2D* blockTexture = CCTextureCache::sharedTextureCache()->addImage("block.png");

    // Create the first set of blocks.
    m_blocks[0] = CCSprite::spriteWithTexture(blockTexture);
    m_blocks[0]->setAnchorPoint(ccp(0.0f, 0.0f));
    m_blocks[0]->setPosition(ccp(30.0f, 100.0f));
    m_blocks[1] = CCSprite::spriteWithTexture(blockTexture);
    m_blocks[1]->setAnchorPoint(ccp(0.0f, 0.0f));
    m_blocks[1]->setPosition(ccp(200.0f, 290.0f));
    m_blocks[2] = CCSprite::spriteWithTexture(blockTexture);
    m_blocks[2]->setAnchorPoint(ccp(0.0f, 0.0f));
    m_blocks[2]->setPosition(ccp(80.0f, 520.0f));

    // Add the blocks as a child to JumpingGame layer.
    for(int i = 0; i < BLOCK_COUNT; i++)
    {
        this->addChild(m_blocks[i], 0);
    }
}

void JumpingGame::initPlayer()
{
    CCSize winSize = CCDirector::sharedDirector()->getWinSize();

    // Create player texture
    CCTexture2D *playerTexture = CCTextureCache::sharedTextureCache()->addImage("player.png");

    // Create player animation frames
    CCMutableArray<CCSpriteFrame*> *playerAnimationFrames = new CCMutableArray<CCSpriteFrame*>(7);
    for(int i = 0; i < 7; i++)
    {
        CCSpriteFrame *playerFrame = CCSpriteFrame::frameWithTexture(playerTexture, CCRectMake(128*i, 128*0, 128, 128));
        playerAnimationFrames->addObject(playerFrame);
    }

    // Create player animation from the animation frames
    CCAnimation* playerAnimation = CCAnimation::animationWithFrames(playerAnimationFrames);

    // Add player animation to animation cache
    CCAnimationCache::sharedAnimationCache()->addAnimation(playerAnimation, "PlayerAnimation");

    // Create player sprite from the first animation frame
    m_player = CCSprite::spriteWithSpriteFrame(playerAnimationFrames->getObjectAtIndex(0));
    m_player->setAnchorPoint(ccp(0.0f, 0.0f));
    CCRect playerRect = m_player->getTextureRect();
    m_player->setPosition(ccp((winSize.width - playerRect.size.width) / 2.0f, 0.0f));
    this->addChild(m_player);

    // Player animation frames are stored by the player animation
    playerAnimationFrames->release();

    m_playerVelocity = ccp(0.0f, 0.0f);
    m_playerScore = 0;
    m_playerJumping = false;
    m_gameOver = false;
}

void JumpingGame::initAudio()
{
    // Set background and audio effect volumes
    SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume(1.0f);
    SimpleAudioEngine::sharedEngine()->setEffectsVolume(1.0f);

    // Preload background music
    SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic("music.ogg");

    // Preload audio effect
    SimpleAudioEngine::sharedEngine()->preloadEffect("jump.wav");
}

void JumpingGame::updatePlayer()
{
    float step = CCDirector::sharedDirector()->getAnimationInterval();

    CCSize winSize = CCDirector::sharedDirector()->getWinSize();
    CCPoint playerPosition = m_player->getPosition();

    playerPosition.x += m_playerVelocity.x * step;

    if(m_playerJumping)
    {
        // Apply gravity and update player position in Y-axis
        const float gravity = -300.0f;
        m_playerVelocity.y += gravity * step;
        playerPosition.y += m_playerVelocity.y * step;
    }

    // Player dropped outside from the screen?
    if(playerPosition.y < -100)
    {
        m_gameOver = true;
    }

    // Prevent the player from moving outside from the screen
    CCRect playerRect = m_player->getTextureRect();
    if(playerPosition.x < 0.0f)
        playerPosition.x = 0.0f;
    else if (playerPosition.x > winSize.width - playerRect.size.width)
        playerPosition.x = winSize.width - playerRect.size.width;

    // Set the new player position
    m_player->setPosition(playerPosition);

    // Update player animation
    if(m_playerVelocity.y >= 300.0f)
        m_player->setDisplayFrameWithAnimationName("PlayerAnimation", 0);
    else if(m_playerVelocity.y >= 150.0f)
        m_player->setDisplayFrameWithAnimationName("PlayerAnimation", 1);
    else if(m_playerVelocity.y >= 50.0f)
        m_player->setDisplayFrameWithAnimationName("PlayerAnimation", 2);
    else if(m_playerVelocity.y >= 0.0f)
        m_player->setDisplayFrameWithAnimationName("PlayerAnimation", 3);
    else if(m_playerVelocity.y <= -40.0f)
        m_player->setDisplayFrameWithAnimationName("PlayerAnimation", 4);
    else if(m_playerVelocity.y <= -100.0f)
        m_player->setDisplayFrameWithAnimationName("PlayerAnimation", 5);
    else
        m_player->setDisplayFrameWithAnimationName("PlayerAnimation", 6);
}

void JumpingGame::checkCollisions()
{
    // Check player -> blocks collisions if player is moving down
    if(m_playerVelocity.y < 0.0f)
    {
        for(int i = 0; i < BLOCK_COUNT; i++)
        {
            CCRect playerRect = m_player->getTextureRect();
            playerRect.origin.x = m_player->getPositionX() + 30;
            playerRect.origin.y = m_player->getPositionY();
            playerRect.size.width -= 60;
            playerRect.size.height = 5;

            CCRect blockRect = m_blocks[i]->getTextureRect();
            blockRect.origin.x = m_blocks[i]->getPositionX() + 20;
            blockRect.origin.y = m_blocks[i]->getPositionY() + 15;
            blockRect.size.width -= 40;
            blockRect.size.height = 20;

            // Jump if player hits a block.
            if(CCRect::CCRectIntersectsRect(playerRect, blockRect))
                jump();
        }
    }
}

void JumpingGame::scrollScene()
{
    CCSize winSize = CCDirector::sharedDirector()->getWinSize();

    CCPoint playerPosition;
    playerPosition.x = m_player->getPositionX();
    playerPosition.y = m_player->getPositionY();

    float scrollBase = winSize.height * 0.30f;
    if(playerPosition.y > scrollBase)
    {
        float scrollMove = scrollBase - playerPosition.y;

        // Move blocks down
        for(int i = 0; i < BLOCK_COUNT; i++)
        {
            CCPoint blockPosition = m_blocks[i]->getPosition();
            blockPosition.y += scrollMove;
            m_blocks[i]->setPosition(blockPosition);
        }

        // Move player down
        playerPosition.y += scrollMove;
        m_player->setPosition(playerPosition);
    }
}

void JumpingGame::updateBlocks()
{
    CCSize winSize = CCDirector::sharedDirector()->getWinSize();

    for(int i = 0; i < BLOCK_COUNT; i++)
    {
        CCPoint blockPosition = m_blocks[i]->getPosition();
        CCRect blockRect = m_blocks[i]->getTextureRect();

        // Has block gone outside the screen?
        if(blockPosition.y < -blockRect.size.height)
        {
            // Move block on top of the screen
            blockPosition.x = rand()%(int)(winSize.width - blockRect.size.width + 60) - 30;
            blockPosition.y = winSize.height;

            m_blocks[i]->setPosition(blockPosition);
        }
    }
}

void JumpingGame::updateScore()
{
    if(m_playerVelocity.y > 0.0f)
    {
        m_playerScore++;

        CCSize windowSize = CCDirector::sharedDirector()->getWinSize();
        const int scoreFlag = 12345;

        // Remove the old score label from the JumpingGame layer if there is one.
        removeChildByTag(scoreFlag, true);

        char scoreText[32];
        sprintf(scoreText, "SCORE: %d", m_playerScore);

        // Create score label and set the position on top left side of the screen
        CCLabelTTF* scoreLabel = CCLabelTTF::labelWithString(scoreText, "arial", 32);
        scoreLabel->setAnchorPoint(ccp(0.0f, 0.0f));
        scoreLabel->setPosition(ccp(0.0f, windowSize.height - scoreLabel->getTextureRect().size.height));

        // Add the new score label as a child to JumpingGame layer.
        this->addChild(scoreLabel, 0, scoreFlag);
    }
}

void JumpingGame::jump()
{
    if(m_playerJumping)
    {
        // Play jump audio effect
        SimpleAudioEngine::sharedEngine()->playEffect("jump.wav", false);

        m_playerVelocity.y = 500.0f;
    }
}


code:
/**
* Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
*
* For the applicable distribution terms see the license text file included in
* the distribution.
*/

#ifndef __JUMPINGGAME_SCENE_H__
#define __JUMPINGGAME_SCENE_H__

#include "cocos2d.h"

#define BLOCK_COUNT 3

class JumpingGame : public cocos2d::CCLayer
{
public:
    // Here's a difference. Method 'init' in cocos2d-x returns bool, instead of returning 'id' in cocos2d-iphone
    virtual bool init();

    // there's no 'id' in cpp, so we recommand to return the exactly class pointer
    static cocos2d::CCScene* scene();

    // a selector callback
    virtual void menuCloseCallback(CCObject* pSender);

    // implement the "static node()" method manually
    LAYER_NODE_FUNC(JumpingGame);

    virtual bool ccTouchBegan(CCTouch* touch, CCEvent* event);
    virtual void ccTouchEnded(CCTouch* touch, CCEvent* event);

    virtual void onExit();
    virtual void update(ccTime dt);

    void initBackground();
    void initBlocks();
    void initPlayer();
    void initAudio();

    void updatePlayer();
    void checkCollisions();
    void scrollScene();
    void updateBlocks();
    void updateScore();

    void jump();
private:
    CCSprite* m_player;
    CCPoint m_playerVelocity;
    int m_playerScore;
    bool m_playerJumping;
    bool m_gameOver;

    CCSprite* m_blocks[BLOCK_COUNT];
};

#endif // __JUMPINGGAME_SCENE_H__


code:
/**
* Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
*
* For the applicable distribution terms see the license text file included in
* the distribution.
*/

#include "MainMenuScene.h"
#include "JumpingGameScene.h"

#include "SimpleAudioEngine.h"

using namespace cocos2d;
using namespace CocosDenshion;

USING_NS_CC;

CCScene* MainMenu::scene()
{
    // 'scene' is an autorelease object
    CCScene *scene = CCScene::node();

    // 'layer' is an autorelease object
    MainMenu *layer = MainMenu::node();

    // add layer as a child to scene
    scene->addChild(layer);

    // return the scene
    return scene;
}

// on "init" you need to initialize your instance
bool MainMenu::init()
{
    //////////////////////////////
    // 1. super init first
    if ( !CCLayer::init() )
    {
        return false;
    }

    initMenu();
    initBackground();

    return true;
}

void MainMenu::menuPlayCallback(CCObject* pSender)
{
    SimpleAudioEngine::sharedEngine()->stopBackgroundMusic();
    SimpleAudioEngine::sharedEngine()->stopAllEffects();

    // Change the game state to JumpingGame
    CCScene *pScene = JumpingGame::scene();
    CCDirector::sharedDirector()->replaceScene(pScene);
}

void MainMenu::menuExitCallback(CCObject* pSender)
{
    CCDirector::sharedDirector()->end();

#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
    exit(0);
#endif
}

void MainMenu::initMenu()
{
    // create menu items
    CCMenuItemImage* logoItem = CCMenuItemImage::itemFromNormalImage(
                                        "logo.png",
                                        "logo.png",
                                        this,
                                        NULL);
    logoItem->setScale(0.5f);
    logoItem->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width * 0.5f,
                              CCDirector::sharedDirector()->getWinSize().height * 0.5f + 200));

    CCMenuItemImage *playItem = CCMenuItemImage::itemFromNormalImage(
                                        "button_play.png",
                                        "button_play_down.png",
                                        this,
                                        menu_selector(MainMenu::menuPlayCallback));
    playItem->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width * 0.5f,
                              CCDirector::sharedDirector()->getWinSize().height * 0.5f + 20));

    CCMenuItemImage *exitItem = CCMenuItemImage::itemFromNormalImage(
                                        "button_exit.png",
                                        "button_exit_down.png",
                                        this,
                                        menu_selector(MainMenu::menuExitCallback) );
    exitItem->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width * 0.5f,
                              CCDirector::sharedDirector()->getWinSize().height * 0.5f - 120));

    // create menu, it's an autorelease object
    CCMenu* pMenu = CCMenu::menuWithItems(logoItem, playItem, exitItem, NULL);
    pMenu->setPosition( CCPointZero );
    this->addChild(pMenu, 1);
}

void MainMenu::initBackground()
{
    CCSize winSize = CCDirector::sharedDirector()->getWinSize();

    // Load the background image sprite and set the position to bottom left side of the screen.
    CCSprite* background = CCSprite::spriteWithFile("background.png");
    background->setAnchorPoint(ccp(0.0f, 0.0f));
    background->setPosition(ccp(0.0f, 0.0f));

    // Scale background to cover the whole window.
    CCRect bgRect = background->getTextureRect();
    background->setScaleX(winSize.width / bgRect.size.width);
    background->setScaleY(winSize.height / bgRect.size.height);

    // Add the background as a child to MainMenu layer.
    this->addChild(background, 0);
}


code:
/**
* Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
*
* For the applicable distribution terms see the license text file included in
* the distribution.
*/

#ifndef __MAINMENU_SCENE_H__
#define __MAINMENU_SCENE_H__

#include "cocos2d.h"

class MainMenu : public cocos2d::CCLayer
{
public:
    // Here's a difference. Method 'init' in cocos2d-x returns bool, instead of returning 'id' in cocos2d-iphone
    virtual bool init();

    // there's no 'id' in cpp, so we recommand to return the exactly class pointer
    static cocos2d::CCScene* scene();

    // implement the "static node()" method manually
    LAYER_NODE_FUNC(MainMenu);

    virtual void menuPlayCallback(CCObject* pSender);
    virtual void menuExitCallback(CCObject* pSender);

    void initMenu();
    void initBackground();
private:
};

#endif // __MAINMENU_SCENE_H__


code:
[Trace]
GAME 				<0 or 1>	Game Channel

[Assert]
GAME 				<0 or 1>	Game Assert Channel


code:
#
# Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
#
# For the applicable distribution terms see the license text file included in
# the distribution.
#

TARGET = jumpinggame
TEMPLATE = app

VERSION = 0.6

INCLUDEPATH += \
    ../Classes

QT += core gui

DEFINES += COCOS2D_DEBUG

COCOSBUILDMODE = static
COCOSMODULES += cocosdenshion
include(../../cocos2d-qt.pri)

CCRESOURCES += \
    ../Resources/CloseNormal.png \
    ../Resources/CloseSelected.png \
    ../Resources/JumpingGame.png \
    ../Resources/background.png \
    ../Resources/player.png \
    ../Resources/block.png \
    ../Resources/jump.wav \
    ../Resources/music.ogg \
    ../Resources/button_play.png \
    ../Resources/button_play_down.png \
    ../Resources/button_exit.png \
    ../Resources/button_exit_down.png \
    ../Resources/logo.png \
    ../Resources/gameover.png

HEADERS += \
    ../Classes/JumpingGameScene.h \
    ../Classes/MainMenuScene.h \
    ../Classes/GameOverScene.h \
    ../Classes/AppDelegate.h \
    main.h

SOURCES += \
    ../Classes/JumpingGameScene.cpp \
    ../Classes/MainMenuScene.cpp \
    ../Classes/GameOverScene.cpp \
    ../Classes/AppDelegate.cpp \
    main.cpp

symbian {
    DEFINES += Q_OS_SYMBIAN

    TARGET.UID3 = 0xE8AA3FAF
    TARGET.CAPABILITY = ReadUserData WriteUserData

    MMP_RULES += "OPTION gcce -march=armv6"
    MMP_RULES += "OPTION gcce -mfpu=vfp"
    MMP_RULES += "OPTION gcce -mfloat-abi=softfp"
    MMP_RULES += "OPTION gcce -marm"

    TARGET.EPOCSTACKSIZE = 0x14000
    TARGET.EPOCHEAPSIZE = 0x020000 0x8000000

    ICON = icons/icon.svg

    ccres.sources = $$CCRESOURCES
    ccres.path = !:/private/E8AA3FAF/resources
    DEPLOYMENT += ccres
}

contains(MEEGO_EDITION,harmattan) {
    DEFINES += MEEGO_EDITION_HARMATTAN

    target.path = /opt/jumpinggame/bin
    INSTALLS += target

    ccres.files = $$CCRESOURCES
    ccres.path = /opt/jumpinggame/resources
    INSTALLS += ccres

    desktop.path = /usr/share/applications
    desktop.files += qtc_packaging/debian_harmattan/$${TARGET}.desktop
    INSTALLS += desktop

    gameclassify.path = /usr/share/policy/etc/syspart.conf.d
    gameclassify.files += qtc_packaging/debian_harmattan/$${TARGET}.conf
    INSTALLS += gameclassify

    icon80.path = /usr/share/icons/hicolor/64x64/apps
    icon80.files += icons/$${TARGET}.png
    INSTALLS += icon80
}

OTHER_FILES += \
    qtc_packaging/debian_harmattan/rules \
    qtc_packaging/debian_harmattan/README \
    qtc_packaging/debian_harmattan/manifest.aegis \
    qtc_packaging/debian_harmattan/copyright \
    qtc_packaging/debian_harmattan/control \
    qtc_packaging/debian_harmattan/compat \
    qtc_packaging/debian_harmattan/changelog


code:
/**
* Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
*
* For the applicable distribution terms see the license text file included in
* the distribution.
*/

#include "AppDelegate.h"

int main(int argc, char **argv)
{
    // create the application instance
    AppDelegate app(argc, argv);
    return app.run();
}


code:
/**
* Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
*
* For the applicable distribution terms see the license text file included in
* the distribution.
*/

#ifndef __MAIN_H__
#define __MAIN_H__

// C RunTime Header Files
#include "CCStdC.h"

#endif // __MAIN_H__


code:
The Debian Package jumpinggame
----------------------------

Comments regarding the Package

 -- Kimmo Myllyvirta <ktmyllyv@unknown>  Thu, 08 Mar 2012 14:30:09 +0200


code:
jumpinggame (0.6.0) unstable; urgency=low

  * Refactored the codes in tutorial style
  * Compiled with latest cocos2dx-qt

 -- Kimmo Myllyvirta <ktmyllyv@unknown>  Wed, 16 Apr 2012 7:21:13 +0200


code:
Source: jumpinggame
Section: user/other
Priority: optional
Maintainer: Kimmo Myllyvirta <ktmyllyv@unknown>
Build-Depends: debhelper (>= 5), libqt4-dev
Standards-Version: 3.7.3
Homepage: <insert the upstream URL, if relevant>

Package: jumpinggame
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: <insert up to 60 chars description>
 <insert long description, indented with spaces>
XSBC-Maemo-Display-Name: jumpinggame


code:
This package was debianized by Kimmo Myllyvirta <ktmyllyv@unknown> on
Thu, 08 Mar 2012 14:30:09 +0200.

It was downloaded from <url://example.com>

Upstream Author(s):

    <put author's name and email here>
    <likewise for another author>

Copyright:

    <Copyright (C) YYYY Name OfAuthor>
    <likewise for another author>

License:

    This package is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This package is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this package; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA

On Debian systems, the complete text of the GNU General
Public License can be found in `/usr/share/common-licenses/GPL'.

The Debian packaging is (C) 2012, Kimmo Myllyvirta <ktmyllyv@unknown> and
is licensed under the GPL, see above.

# Please also look if there are files or directories which have a
# different copyright/license attached and list them here.


code:
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=jumpinggame
Exec=invoker --single-instance --type=e /opt/jumpinggame/bin/jumpinggame
Icon=jumpinggame
StartupWMClass=
X-Window-Icon=jumpinggame
X-HildonDesk-ShowInToolbar=true
X-Osso-Type=application/x-executable
Terminal=false


code:
AutoGenerateAegisFile
<!-- Aegis manifest declares the security credentials required by an
     application to run correctly. By default, a manifest file will be
     created or updated automatically as a part of build.

     The detection of required credentials is based on static scan of
     application binaries. In some cases, the scan may not be able to
     detect the correct set of permissions. If this is the case, you must
     declare the credentials required by your application in this file.

     To create a manifest file automatically as a part of build (DEFAULT):

      * Make sure this file starts with the string "AutoGenerateAegisFile" (without quotes).
      * Alternatively, it can also be completely empty.

     To provide a manifest yourself:

      * List the correct credentials for the application in this file.
      * Some commented-out examples of often required tokens are provided.
      * Ensure the path to your application binary given in
        '<for path="/path/to/app" />' is correct.
      * Please do not request more credentials than what your application
        actually requires.

     To disable manifest file:

      * Replace this file with a file starting with the string "NoAegisFile" (without quotes).
      * Final application package will not contain a manifest.

-->
<aegis>
	<request policy="add">

		<!-- Make a GSM call, send text messages (SMS). -->
	<!--
		<credential name="Cellular" />
	-->

		<!-- Access Facebook social data. -->
	<!--
		<credential name="FacebookSocial" />
	-->

		<!-- Read access to data stored in tracker. -->
	<!--
		<credential name="TrackerReadAccess" />
	-->

		<!-- Read and write access to data stored in tracker. -->
	<!--
		<credential name="TrackerWriteAccess" />
	-->

		<!-- Read Location information. -->
	<!--
		<credential name="Location" />
	-->

		<!-- Access to Audio, Multimedia and Camera. -->
	<!--
		<credential name="GRP::pulse-access" />
		<credential name="GRP::video" />
		<credential name="GRP::audio" />
	-->

	</request>

	<for path="/opt/jumpinggame/bin/jumpinggame" />
	<for path="applauncherd-launcher::/usr/bin/applauncherd.bin" id="" />
</aegis>


code:
#!/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

configure: configure-stamp
configure-stamp:
	dh_testdir
	# qmake PREFIX=/usr# Uncomment this line for use without Qt Creator

	touch configure-stamp

build: build-stamp

build-stamp: configure-stamp
	dh_testdir

	# Add here commands to compile the package.
	# $(MAKE) # Uncomment this line for use without Qt Creator
	#docbook-to-man debian/jumpinggame.sgml > jumpinggame.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/jumpinggame.
	$(MAKE) INSTALL_ROOT="$(CURDIR)"/debian/jumpinggame 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 -- --ignore-missing-info # Uncomment this line for use without Qt Creator
	dh_gencontrol
	dh_md5sums
	dh_builddeb

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure


code:
cocos2d-x
==================

[cocos2d-x][1] is a multi-platform 2D game engine in C++, based on [cocos2d-iphone][2] and licensed under MIT.
Now this engine has been expended to iOS, Android, Bada, BlackBerry Playbook, Marmalade and desktop operating systems like Linux, WindowsXP & Windows7.

Multi Platform
-------------
   * iOS:  stable, well tested on iOS 4.0 ~ 5.0 SDK.
   * Android: stable, well tested on 2.0~3.1, based on ndk r5 ~ r7.
   * Bada: stable on Bada SDK 1.0 & 2.0
   * BlackBerry Playbook: stable, contribued by engineers working at RIM
   * Marmalade: stable since cocos2d-x-0.11.0
   * Windows: stable, tested on WinXP, Vista, Win7. Please upgrde the drive of your video card if you meet problems on OpenGL functions
   * Linux: usable.

Document
------------------
   * Website: [www.cocos2d-x.org][3]
   * [Online API References][4]

Contact us
------------------
   * Forum: [http://forum.cocos2d-x.org][5]
   * Twitter: [http://www.twitter.com/cocos2dx][6]
   * Sina mini-blog: [http://t.sina.com.cn/cocos2dx][7]

[1]: http://www.cocos2d-x.org "cocos2d-x"
[2]: http://www.cocos2d-iphone.org "cocos2d for iPhone"
[3]: http://www.cocos2d-x.org "www.cocos2d-x.org"
[4]: http://www.cocos2d-x.org/embedded/cocos2d-x/classes.html "API References"
[5]: http://forum.cocos2d-x.org "http://forum.cocos2d-x.org"
[6]: http://www.twitter.com/cocos2dx "http://www.twitter.com/cocos2dx"
[7]: http://t.sina.com.cn/cocos2dx "http://t.sina.com.cn/cocos2dx"


code:
Cocos2D-x Qt
============

This preview version is based on cocos2d-1.0.1-x-0.13.0-beta release. Most of
the functionality exists, but is likely to contain lots of bugs and ugly hacks.

Building Cocos2D-x
==================

- Download and install Qt SDK 1.2.1 (or newer) from http://qt.nokia.com/downloads
- Start Qt Creator
- Open cocos2d/cocos2d-qt.pro
- Build (deployment is not required)

After this you can build the example applications.

Building and running the Cocos2D-x Helloworld
---------------------------------------------

- Open cocos2d/HelloWorld/qt/helloworld.pro
- Build, deploy and run the app

Building and running the Cocos2D-x HelloLua
-------------------------------------------

- Open cocos2d/HelloLua/qt/hellolua-qt.pro
- Build, deploy and run the app

Building and running the Cocos2D-x tests
----------------------------------------

- Open cocos2d/tests/test.qt/test.pro
- Build, deploy and run the app

Other build options
-------------------

See cocos2d-qt-common.pri.

Tested to work with
===================

- QtSDK 1.2.1
- C7 (Anna), N8 (Belle), 808 (Belle FP1), N9 (MeeGo 1.2 Harmattan, PR1.2)

Status of current implementation
================================

- Box2D: ok
- Chipmunk: ok
- CocosDenshion: ok
  * Uses Qt GameEnabler for audio playback
    (http://projects.developer.nokia.com/qtgameenabler)
  * Supports only ogg vorbis and wav files
  * The playback latency is rather high (>150ms)
- Cocos2d-x
  * CCAccelerometer: ok (uses QAccelerometer)
  * CCApplication: ok (the only difference with other platforms in the API is
    the CCApplication's constructor, which now needs the command line arguments.
    This may change in near future.)
  * CCEGLView: needs some cleanup, it is a bit messy
  * CCFileUtils: ok (uses QFile)
  * CCImage: ok (uses QImage for loading the images and QPainter for drawing
    text)
  * CCSaxParser: ok (uses Qt's sax parser instead of libxml)
  * CCUserDefault: uses QSettings instead of libxml, but the implementation
    is #ifdeffed into CCUserDefault.cpp. The qt specific implementation
    needs to be moved into a separate file, CCUserDefault_qt.cpp)
- Lua: ok
- Project templates
  * Missing, use the HelloWorld example as a base for your own project
- HelloWorld, HelloLua, Tests: ok (but some of the tests do not scale nicely
  onto the display)

Known issues & tips
===================

Effects -tests do not work properly on Symbian
----------------------------------------------

The tests require GL_OES_framebuffer_object extension, which is not available
on Symbian devices.

Deployment of the tests fails with N9 and Qt Creator 2.4.x
----------------------------------------------------------

Reason;
Qt Creator tries to upload the package into /tmp, which is only a
4Mb tmpfs.

See also;
https://bugreports.qt-project.org/browse/QTCREATORBUG-6859

Workaround for QtSdk running on Linux;

 $ cd ~/QtSDK/QtCreator/lib/qtcreator/plugins/Nokia
 $ gedit hack.python

Add the following to the file.

#!/usr/bin/env python

with open("libRemoteLinux.so", "rb") as f:
     bytes = f.read()
bytes = bytes.replace("/tmp", "/tm2")
with open("libRemoteLinux.so","wb") as f:
     f.write(bytes)

This script replaces /tmp with /tm2 from libRemoteLinux.so. You might want
to backup libRemoteLinux.so before running the script.

 $ chmod +x hack.python
 $ ./hack.python

Create /tm2 folder into your N9 (see the login information from
SDK Connectivity tools' Connectivity Details)

 $ ssh developer@192.168.2.15
 $ devel-su
 $ mkdir /tm2
 $ chmod 755 /tm2

And now the deployment should work ok.

Debugging does not work with QtSDK 1.2.1 and Belle FP1
------------------------------------------------------

- http://www.developer.nokia.com/Community/Discussion/showthread.php?234872-Cann
ot-debug-deploy-on-symbian-belle-after-upgrade-to-fp1-.1404


code:
#!/bin/sh
#p=$(dirname $_)
#echo "$p"

#path=$(dirname $0)
#path=${path/\./$(pwd)}
#echo $path
p=.

if [ ! -d "lib" ]; then
mkdir "lib"
fi

if [ ! -d "lib/linux" ]; then
mkdir "lib/linux"
fi

if [ ! -d "lib/linux/Debug" ]; then
mkdir "lib/linux/Debug"
fi

if [ ! -d "lib/linux/Release" ]; then
mkdir "lib/linux/Release"
fi

# copy cocosdenshino depended libs into lib/linux/Debug/
cp CocosDenshion/third_party/linux/fmod/api/lib/*.so lib/linux/Debug

if [ $# -ne 0 ]; then
	if [ $1 = "clean" ]; then
		cd $p/cocos2dx/proj.linux
		make clean

		cd ../../
		cd $p/CocosDenshion/proj.linux
		make clean

		cd ../..
		cd $p/Box2D/proj.linux
		make clean

		cd ../..
		cd $p/chipmunk/proj.linux
		make clean

		cd ../../
		rm -r lib/linux/Debug/*.so
	fi

else
	cd $p/cocos2dx/proj.linux
	echo "**********************building cocos2dx**************************"
	make
	cp -f libcocos2d.so ../../lib/linux/Debug

        echo "**********************building cocosdenshion*********************"
	cd ../../
	cd $p/CocosDenshion/proj.linux
	make
	cp -f libcocosdenshion.so ../../lib/linux/Debug

        echo "**********************building Box2D******************************"
	cd ../..
	cd $p/Box2D/proj.linux
	make
	cp -f libbox2d.a ../../lib/linux/Debug

        echo "**********************building chipmunk***************************"
	cd ../..
	cd $p/chipmunk/proj.linux
	make
	cp -f libchipmunk.a ../../lib/linux/Debug

	cd ../../
fi


code:
@echo off

echo./*
echo.* Check VC++ environment...
echo.*/
echo.

if defined VS90COMNTOOLS (
    set VSVARS="%VS90COMNTOOLS%vsvars32.bat"
    set VC_VER=90
) else if defined VS100COMNTOOLS (
    set VSVARS="%VS100COMNTOOLS%vsvars32.bat"
    set VC_VER=100
)

if not defined VSVARS (
    echo Can't find VC2008 or VC2010 installed!
    goto ERROR
)

echo./*
echo.* Building cocos2d-x library binary, please wait a while...
echo.*/
echo.

call %VSVARS%
if %VC_VER%==90 (
    vcbuild /MP /M10 cocos2d-win32.vc2008.sln $ALL
) else if %VC_VER%==100 (
    msbuild cocos2d-win32.vc2010.sln /p:Configuration="Debug"
    msbuild cocos2d-win32.vc2010.sln /p:Configuration="Release"
) else (
    echo Script error.
    goto ERROR
)

echo./*
echo.* Check the cocos2d-win32 application "tests.exe" ...
echo.*/
echo.

cd ".\Release.win32\"

set CC_TEST_BIN=tests.exe

set CC_TEST_RES=..\tests\Resources\*.*
set CC_HELLOWORLD_RES=..\HelloWorld\Resources\*.*
set CC_HELLOLUA_RES=..\HelloLua\Resources\*.*

if not exist "%CC_TEST_BIN%" (
    echo Can't find the binary "tests.exe", is there build error?
    goto ERROR
)

echo./*
echo.* Run cocos2d-win32 tests.exe and view Cocos2d-x Application Wizard for Visual Studio User Guide.
echo.*/
echo.
xcopy  /E /Y /Q "%CC_TEST_RES%" .
xcopy  /E /Y /Q "%CC_HELLOWORLD_RES%" .
xcopy  /E /Y /Q "%CC_HELLOLUA_RES%" .
call "%CC_TEST_BIN%"
start http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Cocos2d-x_Application_Wizard_for_Visual_Studio_User_Guide
goto EOF

:ERROR
pause

:EOF