This is a helper method that removes all observers with a particular
target. It can be used in destuctors to ensure no observers trigger
callbacks on objects that no longer exist.
Also, a few other linux build system improvements:
- Add linux build of SimpleGame
- Update multi-platform templates to use new common
build system.
- Remove redundant main.h files.
This change makes several fundamental improvements to the linux
build system:
- Remove duplication: a lot of the common make logic is now in
a central shared makefile: cocos2dx/proj.linux/cocos2dx.mk
- Quiet by default: unless you specify V=1 on the commandline
the output is now very clean and quiet.
- Dependencies: gcc's automatic dependancy generation is now
used (-MMD). This means that if you change a header file
then all the object that depend on it now get rebuilt.
- Don't store objects in the source tree: previously object
files were stored alongside the sources, which meant that
debug and release object clobbered each other which leads
to confusion and lots of unnecessary rebuilding.Q
- Library dependencies: each binary now depends on the libraries
it links aginst. This means that if the cocos2dx library
changes then all examples will get re-linked.
- Top level Makefile: there is now a top level Makefile that
can be shared/used by any platform the uses make as the
build system (for example NaCl). Everything can be built
by simply running 'make' at the top level. e.g:
make DEBUG=1
make DEBUG=1 clean
We should only load the 'MarkerFelt-Wide' fallback font in 'CCImage.mm, _initWithString()' if the user is attempting to load a custom font, not when the user is attempting to load a system font. If the user is trying to load a system font then give back the default system font instead.
Fix up how fonts are loaded in Cocos2dx for iOS to work transparently with custom font filenames/paths such as 'MyCustomFont.ttf' or 'fonts/MyCustomFont.ttf'. Referring to fonts by these paths would be OK on Android but can't be used on iOS since fonts must be referred to by family name on iOS; we must use 'MyCustomFont' when referring to that particular font in both examples on iOS. Hence add the code to strip out the folder path and extension on iOS so that the font path 'MyCustomFont.ttf' and 'fonts/MyCustomFont.ttf' can be used transparently across all platforms. This is required especially in the case where we have custom fonts being referenced from CCB files, since CCB files store the font names with the .ttf extension included.