I've just pushed some changes that will require a few simple updates.
New dependencies
- tmxparser - A TMX file parser. TMX files are tile map files exported from the Tiled.
- tinyxml2 - Required by tmxparser.
tmxparser isn't available in the Ubuntu repositories by default so I've updated edepbuild to build it along with tinyxml2 as well.
You will need to clone Restricted Repository if you haven't already, if you have then make sure it is up to date. Make sure your environment is set up correctly. I recommend running SetupEcho.sh from Restricted Repository as it automates the installation.
Get any missing dependencies by running
./getdependencies.sh
Or go to https://www.emblem.net.au/ed and download the specific ones you want. Extract the archives to the X folder.
Now, to make sure you have the dependencies built do the following:
cd $ECHO_ENGINE_DEPENDENCIES_DIR ./edepbuild linux #If you're building for android do this too ./edepbuild android
The scripts have been updated to build what you need. If you don't want to trigger a rebuild of all dependencies you can build just what you need:
./edepbuild platform tinyxml2 ./edepbuild platform tmxparser
Those are the new dependencies that have been added. tmxparser does depend on zlib, but on Linux it should be on your system already. And the NDK includes zlib for Android.
Echo project changes
There are a few changes that you need to make to update your project files. If your project isn't very big and doesn't have a lot of files to add, you could just use the Echo NetBeans project wizard to create a fresh project for you then setup your files and resources again. Otherwise, follow the table below:
Configuration changes
Configuration | Setting | Change | Reason |
---|---|---|---|
Release and Debug | C++ Compiler -> Include directories | Add ${ECHO_ENGINE_DEPENDENCIES_DIR}/opt/linux/include | Linux builds require tmxparser which is built to the specified directory. |
Release | Linker -> Additional Library Directories | Change: ${ECHO_ENGINE_INSTALL_DIR}/dist/Release/${CND_PLATFORM} to ${ECHO_ENGINE_INSTALL_DIR}/dist/${CND_CONF}/${CND_PLATFORM} | Making it more generic and easier to edit multiple configurations at once. |
Debug | Linker -> Additional Library Directories | Change: ${ECHO_ENGINE_INSTALL_DIR}/dist/Debug/${CND_PLATFORM} to ${ECHO_ENGINE_INSTALL_DIR}/dist/${CND_CONF}/${CND_PLATFORM} | Making it more generic and easier to edit multiple configurations at once. |
Release and Debug | Linker -> Additional Library Directories | Add: ${ECHO_ENGINE_DEPENDENCIES_DIR}/opt/linux/lib | New libraries are found here. |
Release and Debug | Linker -> Libraries | Add: -ltmxparser -ltinyxml2 after -lecho3 | Adding the new libraries include during linking |
Android_9 | Archiver -> Output | Change: ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/libyourapplication.a to ${CND_DISTDIR}/${CND_CONF}/libyourapplication.a then remove the folders dist/Android_9/Android_9-Linux and build/Android_9/Android_9-Linux to clean up. | Remove the platform component. Changes between NetBeans versions modified CND_PLATFORM which broke the Android build scripts. This modification along with the next fix this issue. |
File changes
File | Change | Reason | |
---|---|---|---|
Android_9 Makefile update | targets/Android/jni/Android.mk | Find and remove Android_9-Linux-x86/ from the two paths | See previous change above. |
Repository changes
.hgignore previously ignored nbproject/private/*. Remove this pattern from the ignore list and add nbproject/private/configurations.xml to your repository. Ignore other files though: i.e.:
*nbproject/private/private.xml *nbproject/private/*.properties
Including nbproject/private/configurations.xml allows you to check in the run settings which we are making portable between systems so it isn't a problem.
Here is a list of run settings that your project should have:
Configuration | Run command | Run directory |
---|---|---|
Debug | "${OUTPUT_PATH}" | |
Release | "${OUTPUT_PATH}" | |
Android_9 | ./InstallAndRun.sh | ./targets/Android/ |
Wii | run.sh "${OUTPUT_PATH}" | ./targets/Wii |
I think that covers everything. The latest template bundled with the latest project wizard will also automate the Android target files when you first try and run from NetBeans..
- Projects
- Subscribers
- None