Fixed doxygen warning and markdown formatting.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241
diff --git a/docs/README-android.md b/docs/README-android.md
index c061f95..04fb05b 100644
--- a/docs/README-android.md
+++ b/docs/README-android.md
@@ -144,18 +144,19 @@ under src matching your package, e.g.
src/com/gamemaker/game/MyGame.java
Here's an example of a minimal class file:
---- MyGame.java --------------------------
-package com.gamemaker.game;
-import org.libsdl.app.SDLActivity;
-
-/*
- * A sample wrapper class that just calls SDLActivity
- */
-
-public class MyGame extends SDLActivity { }
-
-------------------------------------------
+ --- MyGame.java --------------------------
+ package com.gamemaker.game;
+
+ import org.libsdl.app.SDLActivity;
+
+ /*
+ * A sample wrapper class that just calls SDLActivity
+ */
+
+ public class MyGame extends SDLActivity { }
+
+ ------------------------------------------
Then replace "SDLActivity" in AndroidManifest.xml with the name of your
class, .e.g. "MyGame"
@@ -320,15 +321,16 @@ If your application crashes in native code, you can use addr2line to convert the
addresses in the stack trace to lines in your code.
For example, if your crash looks like this:
-I/DEBUG ( 31): signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 400085d0
-I/DEBUG ( 31): r0 00000000 r1 00001000 r2 00000003 r3 400085d4
-I/DEBUG ( 31): r4 400085d0 r5 40008000 r6 afd41504 r7 436c6a7c
-I/DEBUG ( 31): r8 436c6b30 r9 435c6fb0 10 435c6f9c fp 4168d82c
-I/DEBUG ( 31): ip 8346aff0 sp 436c6a60 lr afd1c8ff pc afd1c902 cpsr 60000030
-I/DEBUG ( 31): #00 pc 0001c902 /system/lib/libc.so
-I/DEBUG ( 31): #01 pc 0001ccf6 /system/lib/libc.so
-I/DEBUG ( 31): #02 pc 000014bc /data/data/org.libsdl.app/lib/libmain.so
-I/DEBUG ( 31): #03 pc 00001506 /data/data/org.libsdl.app/lib/libmain.so
+
+ I/DEBUG ( 31): signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 400085d0
+ I/DEBUG ( 31): r0 00000000 r1 00001000 r2 00000003 r3 400085d4
+ I/DEBUG ( 31): r4 400085d0 r5 40008000 r6 afd41504 r7 436c6a7c
+ I/DEBUG ( 31): r8 436c6b30 r9 435c6fb0 10 435c6f9c fp 4168d82c
+ I/DEBUG ( 31): ip 8346aff0 sp 436c6a60 lr afd1c8ff pc afd1c902 cpsr 60000030
+ I/DEBUG ( 31): #00 pc 0001c902 /system/lib/libc.so
+ I/DEBUG ( 31): #01 pc 0001ccf6 /system/lib/libc.so
+ I/DEBUG ( 31): #02 pc 000014bc /data/data/org.libsdl.app/lib/libmain.so
+ I/DEBUG ( 31): #03 pc 00001506 /data/data/org.libsdl.app/lib/libmain.so
You can see that there's a crash in the C library being called from the main code.
I run addr2line with the debug version of my code:
@@ -364,11 +366,12 @@ export RANLIB=$NDKROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/darwin-x8
Once valgrind is built, you can create a wrapper script to launch your
application with it, changing org.libsdl.app to your package identifier:
---- start_valgrind_app -------------------
-#!/system/bin/sh
-export TMPDIR=/data/data/org.libsdl.app
-exec /data/local/Inst/bin/valgrind --log-file=/sdcard/valgrind.log --error-limit=no $*
-------------------------------------------
+
+ --- start_valgrind_app -------------------
+ #!/system/bin/sh
+ export TMPDIR=/data/data/org.libsdl.app
+ exec /data/local/Inst/bin/valgrind --log-file=/sdcard/valgrind.log --error-limit=no $*
+ ------------------------------------------
Then push it to the device:
adb push start_valgrind_app /data/local
diff --git a/docs/README-ios.md b/docs/README-ios.md
index 62ec395..7ffd769 100644
--- a/docs/README-ios.md
+++ b/docs/README-ios.md
@@ -68,56 +68,56 @@ not give you any processing time after the events are delivered.
e.g.
-int HandleAppEvents(void *userdata, SDL_Event *event)
-{
- switch (event->type)
+ int HandleAppEvents(void *userdata, SDL_Event *event)
{
- case SDL_APP_TERMINATING:
- /* Terminate the app.
- Shut everything down before returning from this function.
- */
- return 0;
- case SDL_APP_LOWMEMORY:
- /* You will get this when your app is paused and iOS wants more memory.
- Release as much memory as possible.
- */
- return 0;
- case SDL_APP_WILLENTERBACKGROUND:
- /* Prepare your app to go into the background. Stop loops, etc.
- This gets called when the user hits the home button, or gets a call.
- */
- return 0;
- case SDL_APP_DIDENTERBACKGROUND:
- /* This will get called if the user accepted whatever sent your app to the background.
- If the user got a phone call and canceled it, you'll instead get an SDL_APP_DIDENTERFOREGROUND event and restart your loops.
- When you get this, you have 5 seconds to save all your state or the app will be terminated.
- Your app is NOT active at this point.
- */
- return 0;
- case SDL_APP_WILLENTERFOREGROUND:
- /* This call happens when your app is coming back to the foreground.
- Restore all your state here.
- */
- return 0;
- case SDL_APP_DIDENTERFOREGROUND:
- /* Restart your loops here.
- Your app is interactive and getting CPU again.
- */
+ switch (event->type)
+ {
+ case SDL_APP_TERMINATING:
+ /* Terminate the app.
+ Shut everything down before returning from this function.
+ */
+ return 0;
+ case SDL_APP_LOWMEMORY:
+ /* You will get this when your app is paused and iOS wants more memory.
+ Release as much memory as possible.
+ */
+ return 0;
+ case SDL_APP_WILLENTERBACKGROUND:
+ /* Prepare your app to go into the background. Stop loops, etc.
+ This gets called when the user hits the home button, or gets a call.
+ */
+ return 0;
+ case SDL_APP_DIDENTERBACKGROUND:
+ /* This will get called if the user accepted whatever sent your app to the background.
+ If the user got a phone call and canceled it, you'll instead get an SDL_APP_DIDENTERFOREGROUND event and restart your loops.
+ When you get this, you have 5 seconds to save all your state or the app will be terminated.
+ Your app is NOT active at this point.
+ */
+ return 0;
+ case SDL_APP_WILLENTERFOREGROUND:
+ /* This call happens when your app is coming back to the foreground.
+ Restore all your state here.
+ */
+ return 0;
+ case SDL_APP_DIDENTERFOREGROUND:
+ /* Restart your loops here.
+ Your app is interactive and getting CPU again.
+ */
+ return 0;
+ default:
+ /* No special processing, add it to the event queue */
+ return 1;
+ }
+ }
+
+ int main(int argc, char *argv[])
+ {
+ SDL_SetEventFilter(HandleAppEvents, NULL);
+
+ ... run your main loop
+
return 0;
- default:
- /* No special processing, add it to the event queue */
- return 1;
}
-}
-
-int main(int argc, char *argv[])
-{
- SDL_SetEventFilter(HandleAppEvents, NULL);
-
- ... run your main loop
-
- return 0;
-}
==============================================================================
@@ -198,28 +198,28 @@ This will set up the given function to be called back on the animation callback,
e.g.
-extern "C"
-void ShowFrame(void*)
-{
- ... do event handling, frame logic and rendering
-}
-
-int main(int argc, char *argv[])
-{
- ... initialize game ...
-
-#if __IPHONEOS__
- // Initialize the Game Center for scoring and matchmaking
- InitGameCenter();
-
- // Set up the game to run in the window animation callback on iOS
- // so that Game Center and so forth works correctly.
- SDL_iPhoneSetAnimationCallback(window, 1, ShowFrame, NULL);
-#else
- while ( running ) {
- ShowFrame(0);
- DelayFrame();
- }
-#endif
- return 0;
-}
+ extern "C"
+ void ShowFrame(void*)
+ {
+ ... do event handling, frame logic and rendering
+ }
+
+ int main(int argc, char *argv[])
+ {
+ ... initialize game ...
+
+ #if __IPHONEOS__
+ // Initialize the Game Center for scoring and matchmaking
+ InitGameCenter();
+
+ // Set up the game to run in the window animation callback on iOS
+ // so that Game Center and so forth works correctly.
+ SDL_iPhoneSetAnimationCallback(window, 1, ShowFrame, NULL);
+ #else
+ while ( running ) {
+ ShowFrame(0);
+ DelayFrame();
+ }
+ #endif
+ return 0;
+ }