summaryrefslogtreecommitdiff
path: root/packages/supertux
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
committerDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
commit709c4d66e0b107ca606941b988bad717c0b45d9b (patch)
tree37ee08b1eb308f3b2b6426d5793545c38396b838 /packages/supertux
parentfa6cd5a3b993f16c27de4ff82b42684516d433ba (diff)
rename packages/ to recipes/ per earlier agreement
See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Mike Westerhof <mwester@dls.net> Acked-by: Philip Balister <philip@balister.org> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Marcin Juszkiewicz <hrw@openembedded.org> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'packages/supertux')
-rw-r--r--packages/supertux/files/gp2x.patch2614
-rw-r--r--packages/supertux/files/img-resize.sh28
-rw-r--r--packages/supertux/files/supertux-smallsize-data.tar.bz2bin41782 -> 0 bytes
-rw-r--r--packages/supertux/files/supertux.desktop20
-rw-r--r--packages/supertux/files/supertux.pngbin4097 -> 0 bytes
-rw-r--r--packages/supertux/supertux-qvga_0.1.3.bb57
-rw-r--r--packages/supertux/supertux_0.1.2.bb18
-rw-r--r--packages/supertux/supertux_0.1.3.bb22
8 files changed, 0 insertions, 2759 deletions
diff --git a/packages/supertux/files/gp2x.patch b/packages/supertux/files/gp2x.patch
deleted file mode 100644
index 9d5d9a6d02..0000000000
--- a/packages/supertux/files/gp2x.patch
+++ /dev/null
@@ -1,2614 +0,0 @@
-Only in supertux-0.1.3: aclocal.m4
-diff -ur supertux-0.1.3/AUTHORS supertux-0.1.3-gp2x/AUTHORS
---- supertux-0.1.3/AUTHORS 2005-07-02 14:37:30.000000000 +0300
-+++ supertux-0.1.3-gp2x/AUTHORS 2006-04-13 06:11:02.000000000 +0300
-@@ -91,6 +91,12 @@
-
- Royalty free CDROMs and FTP sites sounds
-
-+Port to GP2X
-+-----------
-+ Ingo Arndt
-+ scachi@gmx.de
-+ http://www.bitmage.de
-+
- More information and contacts
- =============================
-
-Only in supertux-0.1.3: autom4te.cache
-Only in supertux-0.1.3-gp2x: autoscan.log
-Only in supertux-0.1.3-gp2x: COMPILE4GP2X
-Only in supertux-0.1.3: config.guess
-Only in supertux-0.1.3: config.log
-Only in supertux-0.1.3: config.status
-Only in supertux-0.1.3: config.sub
-Only in supertux-0.1.3: configure
-diff -ur supertux-0.1.3/configure.ac supertux-0.1.3-gp2x/configure.ac
---- supertux-0.1.3/configure.ac 2005-07-06 12:26:15.000000000 +0300
-+++ supertux-0.1.3-gp2x/configure.ac 2006-04-19 22:29:05.000000000 +0300
-@@ -76,13 +76,33 @@
- CFLAGS="$CFLAGS $SDL_CFLAGS"
- LIBS="$LIBS $SDL_LIBS"
-
-+AM_PATH_LIBMIKMOD(,
-+ :,
-+ AC_MSG_ERROR([*** mikmod not found!]))
-+CXXFLAGS="$CXXFLAGS $LIBMIKMOD_CFLAGS"
-+CFLAGS="$CFLAGS $LIBMIKMOD_CFLAGS"
-+LIBS="$LIBS $LIBMIKMOD_LIBS"
-+
- dnl Checks for additional libraries.
-+AC_CHECK_LIB(smpeg, SMPEG_status)
-+
-+AC_CHECK_LIB(mikmod, MikMod_Init)
-+
- AC_CHECK_LIB(SDL_mixer, Mix_OpenAudio,,
- AC_MSG_ERROR([SDL_mixer library required]))
-
-+AC_CHECK_LIB(jpeg,jpeg_abort)
-+
-+AC_CHECK_LIB(z,compress)
-+
-+AC_CHECK_LIB(png,png_free)
-+
- AC_CHECK_LIB(SDL_image, IMG_Load,,
- AC_MSG_ERROR([SDL_image library required]))
-
-+AC_CHECK_LIB(SDL_gfx, rotozoomSurface,,
-+ AC_MSG_ERROR([SDL_gfx library required]))
-+
- if test "x${enable_opengl}" != "xno"; then
- AX_CHECK_GL
- fi
-@@ -95,7 +115,30 @@
- LIBS="$LIBS $GL_LIBS"
- fi
-
--AC_CHECK_LIB(z, gzopen,, AC_MSG_ERROR([*** zlib is missing]))
-+# compile for the testing the 320x240 resolution
-+# compile for the gp2x
-+AC_ARG_ENABLE(gp2x,
-+[ --enable-gp2x Build the gp2x version [default=no]],
-+ , enable_gp2x=no)
-+if test x$enable_gp2x = xyes; then
-+ CXXFLAGS="$CXXFLAGS -DGP2X"
-+fi
-+
-+AC_ARG_ENABLE(320x240,
-+[ --enable-320x240 Test the 320x240 resolution [default=no]],
-+ , enable_320x240=no)
-+if test x$enable_320x240 = xyes; then
-+ CXXFLAGS="$CXXFLAGS -DRES320X240"
-+fi
-+
-+# compile static
-+AC_ARG_ENABLE(static,
-+[ --enable-static Build the static version [default=no]],
-+ , enable_static=no)
-+if test x$enable_static = xyes; then
-+ CXXFLAGS="$CXXFLAGS -static"
-+fi
-+
-
- CXXFLAGS="$CXXFLAGS -DDATA_PREFIX='\"$datadir/supertux\"'"
-
-@@ -110,6 +153,9 @@
- echo " Profile Mode: $enable_gprof"
- echo " Debug Mode: $enable_debug"
- echo " OpenGL Support: $enable_opengl"
-+echo " 320x240 Resolution: $enable_320x240"
-+echo " GP2X Build (+320x240): $enable_gp2x"
-+echo " Static Build: $enable_static"
- echo ""
-
- # EOF #
-Only in supertux-0.1.3/data: CREDITS
-Only in supertux-0.1.3/data: extro-bonus2.txt
-Only in supertux-0.1.3/data: extro-bonus.txt
-Only in supertux-0.1.3/data: extro.txt
-Only in supertux-0.1.3/data: images
-Only in supertux-0.1.3/data: intro.txt
-Only in supertux-0.1.3/data: levels
-Only in supertux-0.1.3/data: Makefile
-Only in supertux-0.1.3/data: Makefile.in
-Only in supertux-0.1.3/data: music
-Only in supertux-0.1.3/data: sounds
-Only in supertux-0.1.3/data: supertux.strf
-Only in supertux-0.1.3: depcomp
-Only in supertux-0.1.3: install-sh
-Only in supertux-0.1.3: m4
-Only in supertux-0.1.3: Makefile
-Only in supertux-0.1.3: Makefile.in
-Only in supertux-0.1.3: missing
-Only in supertux-0.1.3: mkinstalldirs
-Only in supertux-0.1.3: patches
-diff -ur supertux-0.1.3/src/badguy.cpp supertux-0.1.3-gp2x/src/badguy.cpp
---- supertux-0.1.3/src/badguy.cpp 2005-06-22 00:16:07.000000000 +0300
-+++ supertux-0.1.3-gp2x/src/badguy.cpp 2006-04-20 21:32:23.000000000 +0300
-@@ -250,7 +250,11 @@
- tux.kick_timer.start(KICKING_TIME);
- set_sprite(img_mriceblock_flat_left, img_mriceblock_flat_right);
- physic.set_velocity_x((dir == LEFT) ? -3.5 : 3.5);
-+#ifndef GP2X
- play_sound(sounds[SND_KICK],SOUND_CENTER_SPEAKER);
-+#else
-+ play_chunk(SND_KICK);
-+#endif
- }
- }
-
-@@ -260,6 +264,7 @@
- check_horizontal_bump();
- if(mode == KICK && changed != dir)
- {
-+#ifndef GP2X
- /* handle stereo sound (number 10 should be tweaked...)*/
- if (base.x < scroll_x + screen->w/2 - 10)
- play_sound(sounds[SND_RICOCHET], SOUND_LEFT_SPEAKER);
-@@ -267,6 +272,9 @@
- play_sound(sounds[SND_RICOCHET], SOUND_RIGHT_SPEAKER);
- else
- play_sound(sounds[SND_RICOCHET], SOUND_CENTER_SPEAKER);
-+#else
-+ play_chunk(SND_RICOCHET);
-+#endif
- }
- }
-
-@@ -455,11 +463,15 @@
-
- /* play explosion sound */ // FIXME: is the stereo all right? maybe we should use player cordinates...
- if (base.x < scroll_x + screen->w/2 - 10)
-+#ifndef GP2X
- play_sound(sounds[SND_EXPLODE], SOUND_LEFT_SPEAKER);
- else if (base.x > scroll_x + screen->w/2 + 10)
- play_sound(sounds[SND_EXPLODE], SOUND_RIGHT_SPEAKER);
- else
- play_sound(sounds[SND_EXPLODE], SOUND_CENTER_SPEAKER);
-+#else
-+ play_chunk(SND_EXPLODE);
-+#endif
-
- } else if(mode == BOMB_EXPLODE) {
- remove_me();
-@@ -677,13 +689,21 @@
- }
-
- // BadGuy fall below the ground
-+#ifndef RES320X240
- if (base.y > screen->h) {
-+#else
-+ if (base.y > 640) {
-+#endif
- remove_me();
- return;
- }
-
- // Once it's on screen, it's activated!
-+#ifndef RES320X240
- if (base.x <= scroll_x + screen->w + OFFSCREEN_DISTANCE)
-+#else
-+ if (base.x <= scroll_x + 640 + OFFSCREEN_DISTANCE)
-+#endif
- seen = true;
-
- if(!seen)
-@@ -743,7 +763,11 @@
- BadGuy::draw()
- {
- // Don't try to draw stuff that is outside of the screen
-+#ifndef RES320X240
- if(base.x <= scroll_x - base.width || base.x >= scroll_x + screen->w)
-+#else
-+ if(base.x <= scroll_x - base.width || base.x >= scroll_x + 640)
-+#endif
- return;
-
- if(sprite_left == 0 || sprite_right == 0)
-@@ -811,7 +835,11 @@
-
- World::current()->add_score(base.x - scroll_x,
- base.y, 50 * player_status.score_multiplier);
-+#ifndef GP2X
- play_sound(sounds[SND_SQUISH], SOUND_CENTER_SPEAKER);
-+#else
-+ play_chunk(SND_SQUISH);
-+#endif
- player_status.score_multiplier++;
-
- dying = DYING_SQUISHED;
-@@ -830,7 +858,11 @@
-
- player->jump_of_badguy(this);
- World::current()->add_score(base.x - scroll_x, base.y, 50 * player_status.score_multiplier);
-+#ifndef GP2X
- play_sound(sounds[SND_SQUISH], SOUND_CENTER_SPEAKER);
-+#else
-+ play_chunk(SND_SQUISH);
-+#endif
- player_status.score_multiplier++;
- remove_me();
- return;
-@@ -839,7 +871,11 @@
- if (mode == NORMAL || mode == KICK)
- {
- /* Flatten! */
-+#ifndef GP2X
- play_sound(sounds[SND_STOMP], SOUND_CENTER_SPEAKER);
-+#else
-+ play_chunk(SND_STOMP);
-+#endif
- mode = FLAT;
- set_sprite(img_mriceblock_flat_left, img_mriceblock_flat_right);
- physic.set_velocity_x(0);
-@@ -847,7 +883,11 @@
- timer.start(4000);
- } else if (mode == FLAT) {
- /* Kick! */
-+#ifndef GP2X
- play_sound(sounds[SND_KICK], SOUND_CENTER_SPEAKER);
-+#else
-+ play_chunk(SND_KICK);
-+#endif
-
- if (player->base.x < base.x + (base.width/2)) {
- physic.set_velocity_x(5);
-@@ -925,7 +965,11 @@
- score * player_status.score_multiplier);
-
- /* Play death sound: */
-+#ifndef GP2X
- play_sound(sounds[SND_FALL], SOUND_CENTER_SPEAKER);
-+#else
-+ play_chunk(SND_FALL);
-+#endif
- }
-
- void BadGuy::explode(BadGuy *badguy)
-@@ -1053,7 +1097,11 @@
- /* Get kicked if were flat */
- if (mode == FLAT && !dying)
- {
-+#ifndef GP2X
- play_sound(sounds[SND_KICK], SOUND_CENTER_SPEAKER);
-+#else
-+ play_chunk(SND_KICK);
-+#endif
-
- // Hit from left side
- if (player->base.x < base.x) {
-diff -ur supertux-0.1.3/src/configfile.cpp supertux-0.1.3-gp2x/src/configfile.cpp
---- supertux-0.1.3/src/configfile.cpp 2005-06-22 00:16:07.000000000 +0300
-+++ supertux-0.1.3-gp2x/src/configfile.cpp 2006-04-10 13:32:19.000000000 +0300
-@@ -92,12 +92,22 @@
- else
- use_joystick = true;
-
-+#ifndef GP2X
- reader.read_int ("joystick-x", &joystick_keymap.x_axis);
- reader.read_int ("joystick-y", &joystick_keymap.y_axis);
- reader.read_int ("joystick-a", &joystick_keymap.a_button);
- reader.read_int ("joystick-b", &joystick_keymap.b_button);
- reader.read_int ("joystick-start", &joystick_keymap.start_button);
- reader.read_int ("joystick-deadzone", &joystick_keymap.dead_zone);
-+#else
-+ reader.read_int ("joystick-up", &joystick_keymap.up_button);
-+ reader.read_int ("joystick-down", &joystick_keymap.down_button);
-+ reader.read_int ("joystick-right", &joystick_keymap.right_button);
-+ reader.read_int ("joystick-left", &joystick_keymap.left_button);
-+ reader.read_int ("joystick-a", &joystick_keymap.a_button);
-+ reader.read_int ("joystick-b", &joystick_keymap.b_button);
-+ reader.read_int ("joystick-start", &joystick_keymap.start_button);
-+#endif
-
- reader.read_int ("keyboard-jump", &keymap.jump);
- reader.read_int ("keyboard-duck", &keymap.duck);
-@@ -130,12 +140,22 @@
- fprintf(config, "\n\t;; joystick number (-1 means no joystick):\n");
- fprintf(config, "\t(joystick %d)\n", use_joystick ? joystick_num : -1);
-
-+#ifndef GP2X
- fprintf(config, "\t(joystick-x %d)\n", joystick_keymap.x_axis);
- fprintf(config, "\t(joystick-y %d)\n", joystick_keymap.y_axis);
- fprintf(config, "\t(joystick-a %d)\n", joystick_keymap.a_button);
- fprintf(config, "\t(joystick-b %d)\n", joystick_keymap.b_button);
- fprintf(config, "\t(joystick-start %d)\n", joystick_keymap.start_button);
- fprintf(config, "\t(joystick-deadzone %d)\n", joystick_keymap.dead_zone);
-+#else
-+ fprintf(config, "\t(joystick-up %d)\n", joystick_keymap.up_button);
-+ fprintf(config, "\t(joystick-down %d)\n", joystick_keymap.down_button);
-+ fprintf(config, "\t(joystick-right %d)\n", joystick_keymap.right_button);
-+ fprintf(config, "\t(joystick-left %d)\n", joystick_keymap.left_button);
-+ fprintf(config, "\t(joystick-a %d)\n", joystick_keymap.a_button);
-+ fprintf(config, "\t(joystick-b %d)\n", joystick_keymap.b_button);
-+ fprintf(config, "\t(joystick-start %d)\n", joystick_keymap.start_button);
-+#endif
-
- fprintf(config, "\t(keyboard-jump %d)\n", keymap.jump);
- fprintf(config, "\t(keyboard-duck %d)\n", keymap.duck);
-diff -ur supertux-0.1.3/src/defines.h supertux-0.1.3-gp2x/src/defines.h
---- supertux-0.1.3/src/defines.h 2005-07-07 02:05:03.000000000 +0300
-+++ supertux-0.1.3-gp2x/src/defines.h 2006-04-11 22:02:05.000000000 +0300
-@@ -91,7 +91,11 @@
-
- /* Scrolling text speed */
-
-+#ifndef RES320X240
- #define SCROLL_SPEED_CREDITS 1.2
-+#else
-+#define SCROLL_SPEED_CREDITS 2.4
-+#endif
- #define SCROLL_SPEED_MESSAGE 1.0
-
- /* Debugging */
-Only in supertux-0.1.3/src: .deps
-diff -ur supertux-0.1.3/src/gameloop.cpp supertux-0.1.3-gp2x/src/gameloop.cpp
---- supertux-0.1.3/src/gameloop.cpp 2005-07-02 15:16:08.000000000 +0300
-+++ supertux-0.1.3-gp2x/src/gameloop.cpp 2006-05-05 23:22:58.000000000 +0300
-@@ -288,6 +288,7 @@
-
- switch(event.type)
- {
-+#ifndef GP2X
- case SDL_QUIT: /* Quit event - quit: */
- st_abort("Received window close", "");
- break;
-@@ -434,22 +435,60 @@
- tux.input.down = UP;
- }
- break;
--
-+#endif
- case SDL_JOYBUTTONDOWN:
-+#ifndef GP2X
-+ if (event.jbutton.button == joystick_keymap.a_button)
-+ tux.input.up = DOWN;
-+ else if (event.jbutton.button == joystick_keymap.b_button)
-+ tux.input.fire = DOWN;
-+ else if (event.jbutton.button == joystick_keymap.start_button)
-+ on_escape_press();
-+ break;
-+#else
- if (event.jbutton.button == joystick_keymap.a_button)
- tux.input.up = DOWN;
- else if (event.jbutton.button == joystick_keymap.b_button)
- tux.input.fire = DOWN;
- else if (event.jbutton.button == joystick_keymap.start_button)
- on_escape_press();
-+ else if (event.jbutton.button == joystick_keymap.up_button)
-+ tux.input.up = DOWN;
-+ else if (event.jbutton.button == joystick_keymap.down_button)
-+ tux.input.down = DOWN;
-+ else if (event.jbutton.button == joystick_keymap.right_button)
-+ tux.input.right = DOWN;
-+ else if (event.jbutton.button == joystick_keymap.left_button)
-+ tux.input.left = DOWN;
-+ else if (event.jbutton.button == joystick_keymap.voldown_button)
-+ decreaseSoundVolume();
-+ else if (event.jbutton.button == joystick_keymap.volup_button)
-+ increaseSoundVolume();
- break;
-+#endif
-+
- case SDL_JOYBUTTONUP:
-+#ifndef GP2X
- if (event.jbutton.button == joystick_keymap.a_button)
- tux.input.up = UP;
- else if (event.jbutton.button == joystick_keymap.b_button)
- tux.input.fire = UP;
- break;
--
-+#else
-+ if (event.jbutton.button == joystick_keymap.a_button)
-+ tux.input.up = UP;
-+ else if (event.jbutton.button == joystick_keymap.b_button)
-+ tux.input.fire = UP;
-+ else if (event.jbutton.button == joystick_keymap.up_button)
-+ tux.input.up = UP;
-+ else if (event.jbutton.button == joystick_keymap.down_button)
-+ tux.input.down = UP;
-+ else if (event.jbutton.button == joystick_keymap.right_button)
-+ tux.input.right = UP;
-+ else if (event.jbutton.button == joystick_keymap.left_button)
-+ tux.input.left = UP;
-+ break;
-+#endif
- default:
- break;
- } /* switch */
-@@ -464,7 +503,7 @@
- Player* tux = world->get_tux();
-
- /* End of level? */
-- int endpos = (World::current()->get_level()->width-5) * 32;
-+ int endpos = (World::current()->get_level()->width-5) * (32);
- Tile* endtile = collision_goal(tux->base);
-
- // fallback in case the other endpositions don't trigger
-@@ -545,7 +584,7 @@
- Menu::current()->draw();
- mouse_cursor->draw();
- }
--
-+ //updateSound();
- updatescreen();
- }
-
-@@ -599,6 +638,7 @@
-
- while (exit_status == ES_NONE)
- {
-+ SDL_Delay(10);
- /* Calculate the movement-factor */
- double frame_ratio = ((double)(update_time-last_update_time))/((double)FRAME_RATE);
-
-@@ -686,6 +726,7 @@
- fps_cnt = 0;
- }
- }
-+ //updateSound();
- }
-
- return exit_status;
-@@ -694,21 +735,32 @@
- /* Bounce a brick: */
- void bumpbrick(float x, float y)
- {
-- World::current()->add_bouncy_brick(((int)(x + 1) / 32) * 32,
-- (int)(y / 32) * 32);
-+ World::current()->add_bouncy_brick(((int)(x + 1) / (32)) * (32),
-+ (int)(y / (32)) * (32));
-
-+#ifndef GP2X
- play_sound(sounds[SND_BRICK], SOUND_CENTER_SPEAKER);
-+#else
-+ play_chunk(SND_BRICK);
-+#endif
- }
-
- /* (Status): */
- void
- GameSession::drawstatus()
- {
-+ int xdiv;
-+#ifdef RES320X240
-+ xdiv=2;
-+#else
-+ xdiv=1;
-+#endif
-+
- char str[60];
-
- sprintf(str, "%d", player_status.score);
- white_text->draw("SCORE", 0, 0, 1);
-- gold_text->draw(str, 96, 0, 1);
-+ gold_text->draw(str, 96/xdiv, 0, 1);
-
- if(st_gl_mode == ST_GL_TEST)
- {
-@@ -716,28 +768,33 @@
- }
-
- if(!time_left.check()) {
-- white_text->draw("TIME'S UP", 224, 0, 1);
-+ white_text->draw("TIME'S UP", 224/xdiv, 0, 1);
- } else if (time_left.get_left() > TIME_WARNING || (global_frame_counter % 10) < 5) {
- sprintf(str, "%d", time_left.get_left() / 1000 );
-- white_text->draw("TIME", 224, 0, 1);
-- gold_text->draw(str, 304, 0, 1);
-+ white_text->draw("TIME", 224/xdiv, 0, 1);
-+ gold_text->draw(str, 304/xdiv, 0, 1);
- }
-
- sprintf(str, "%d", player_status.distros);
- white_text->draw("COINS", screen->h, 0, 1);
-- gold_text->draw(str, 608, 0, 1);
-+ gold_text->draw(str, 608/xdiv, 0, 1);
-
-- white_text->draw("LIVES", 480, 20);
-+ white_text->draw("LIVES", 480/xdiv, 20);
- if (player_status.lives >= 5)
- {
- sprintf(str, "%dx", player_status.lives);
-+#ifdef RES320X240
-+ gold_text->draw_align(str, 617/xdiv-5, 20, A_RIGHT, A_TOP);
-+ tux_life->draw(565+(18*3)/xdiv+10, 20);
-+#else
- gold_text->draw_align(str, 617, 20, A_RIGHT, A_TOP);
- tux_life->draw(565+(18*3), 20);
-+#endif
- }
- else
- {
- for(int i= 0; i < player_status.lives; ++i)
-- tux_life->draw(565+(18*i),20);
-+ tux_life->draw(565+(18*i)/xdiv,20);
- }
-
- if(show_fps)
-@@ -746,6 +803,7 @@
- white_text->draw("FPS", screen->h, 40, 1);
- gold_text->draw(str, screen->h + 60, 40, 1);
- }
-+// updateSound();
- }
-
- void
-@@ -824,4 +882,3 @@
- return tmp;
- }
-
--
-diff -ur supertux-0.1.3/src/gameobjs.cpp supertux-0.1.3-gp2x/src/gameobjs.cpp
---- supertux-0.1.3/src/gameobjs.cpp 2005-06-22 00:16:07.000000000 +0300
-+++ supertux-0.1.3-gp2x/src/gameobjs.cpp 2006-04-11 21:52:52.000000000 +0300
-@@ -98,6 +98,9 @@
- src.h = 16;
-
- dest.x = (int)(base.x - scroll_x);
-+#ifdef RES320X240
-+ dest.x=dest.x/2;
-+#endif
- dest.y = (int)base.y;
- dest.w = 16;
- dest.h = 16;
-@@ -143,8 +146,13 @@
- {
- SDL_Rect dest;
-
-+#ifndef RES320X240
- if (base.x >= scroll_x - 32 &&
- base.x <= scroll_x + screen->w)
-+#else
-+ if (base.x >= scroll_x - 32 &&
-+ base.x <= scroll_x + 640)
-+#endif
- {
- dest.x = (int)(base.x - scroll_x);
- dest.y = (int)base.y;
-@@ -165,8 +173,14 @@
- else
- {
- int s = ((int)scroll_x / 2)%640;
-+
-+#ifdef RES320X240
-+ plevel->img_bkgd->draw_part(dest.x/2 + s/2, dest.y/2,
-+ dest.x/2, dest.y,dest.w/2,dest.h/2);
-+#else
- plevel->img_bkgd->draw_part(dest.x + s, dest.y,
- dest.x, dest.y,dest.w,dest.h);
-+#endif
- }
-
- Tile::draw(base.x - scroll_x,
-diff -ur supertux-0.1.3/src/globals.cpp supertux-0.1.3-gp2x/src/globals.cpp
---- supertux-0.1.3/src/globals.cpp 2005-06-22 00:16:07.000000000 +0300
-+++ supertux-0.1.3-gp2x/src/globals.cpp 2006-04-11 22:39:03.000000000 +0300
-@@ -25,6 +25,7 @@
-
- JoystickKeymap::JoystickKeymap()
- {
-+#ifndef GP2X
- a_button = 0;
- b_button = 1;
- start_button = 2;
-@@ -33,6 +34,17 @@
- y_axis = 1;
-
- dead_zone = 4096;
-+#else
-+ a_button = GP2X_BUTTON_A;
-+ b_button = GP2X_BUTTON_X;
-+ start_button = GP2X_BUTTON_START;
-+ up_button = GP2X_BUTTON_UP;
-+ down_button = GP2X_BUTTON_DOWN;
-+ left_button = GP2X_BUTTON_LEFT;
-+ right_button = GP2X_BUTTON_RIGHT;
-+ volup_button = GP2X_BUTTON_VOLUP;
-+ voldown_button = GP2X_BUTTON_VOLDOWN;
-+#endif
- }
-
- JoystickKeymap joystick_keymap;
-diff -ur supertux-0.1.3/src/globals.h supertux-0.1.3-gp2x/src/globals.h
---- supertux-0.1.3/src/globals.h 2005-06-22 00:16:07.000000000 +0300
-+++ supertux-0.1.3-gp2x/src/globals.h 2006-04-11 23:45:27.000000000 +0300
-@@ -28,10 +28,33 @@
- #include "menu.h"
- #include "mousecursor.h"
-
-+#ifdef GP2X
-+#define GP2X_BUTTON_UP (0)
-+#define GP2X_BUTTON_DOWN (4)
-+#define GP2X_BUTTON_LEFT (2)
-+#define GP2X_BUTTON_RIGHT (6)
-+#define GP2X_BUTTON_UPLEFT (1)
-+#define GP2X_BUTTON_UPRIGHT (7)
-+#define GP2X_BUTTON_DOWNLEFT (3)
-+#define GP2X_BUTTON_DOWNRIGHT (5)
-+#define GP2X_BUTTON_CLICK (18)
-+#define GP2X_BUTTON_A (12)
-+#define GP2X_BUTTON_B (13)
-+#define GP2X_BUTTON_X (15)
-+#define GP2X_BUTTON_Y (14)
-+#define GP2X_BUTTON_L (10)
-+#define GP2X_BUTTON_R (11)
-+#define GP2X_BUTTON_START (8)
-+#define GP2X_BUTTON_SELECT (9)
-+#define GP2X_BUTTON_VOLUP (16)
-+#define GP2X_BUTTON_VOLDOWN (17)
-+#endif
-+
- extern std::string datadir;
-
- struct JoystickKeymap
- {
-+#ifndef GP2X
- int a_button;
- int b_button;
- int start_button;
-@@ -42,6 +65,19 @@
- int dead_zone;
-
- JoystickKeymap();
-+#else
-+ int a_button;
-+ int b_button;
-+ int start_button;
-+ int up_button;
-+ int down_button;
-+ int left_button;
-+ int right_button;
-+ int volup_button;
-+ int voldown_button;
-+
-+ JoystickKeymap();
-+#endif
- };
-
- extern JoystickKeymap joystick_keymap;
-diff -ur supertux-0.1.3/src/lispreader.h supertux-0.1.3-gp2x/src/lispreader.h
-Only in supertux-0.1.3/src: Makefile
-diff -ur supertux-0.1.3/src/Makefile.am supertux-0.1.3-gp2x/src/Makefile.am
---- supertux-0.1.3/src/Makefile.am 2005-06-22 00:16:07.000000000 +0300
-+++ supertux-0.1.3-gp2x/src/Makefile.am 2006-04-19 21:55:54.000000000 +0300
-@@ -77,3 +77,5 @@
- musicref.h
-
- # EOF #
-+
-+#supertux_LDADD = libmikmod
-Only in supertux-0.1.3/src: Makefile.in
-diff -ur supertux-0.1.3/src/menu.cpp supertux-0.1.3-gp2x/src/menu.cpp
---- supertux-0.1.3/src/menu.cpp 2005-06-29 15:44:13.000000000 +0300
-+++ supertux-0.1.3-gp2x/src/menu.cpp 2006-05-04 23:59:29.000000000 +0300
-@@ -53,6 +53,8 @@
- Menu* options_menu = 0;
- Menu* options_keys_menu = 0;
- Menu* options_joystick_menu = 0;
-+Menu* options_joystick_axis_menu = 0;
-+Menu* options_joystick_button_menu = 0;
- Menu* highscore_menu = 0;
- Menu* load_game_menu = 0;
- Menu* save_game_menu = 0;
-@@ -240,8 +242,10 @@
- }
-
- /* Set ControlField a key */
-+//TODO: get joystick in here somehow
- void Menu::get_controlfield_key_into_input(MenuItem *item)
- {
-+#ifndef GP2X
- switch(*item->int_p)
- {
- case SDLK_UP:
-@@ -288,6 +292,11 @@
- }
- break;
- }
-+#else
-+ char tmp[64];
-+ snprintf(tmp, 64, "%d", *item->int_p);
-+ item->change_input(tmp);
-+#endif
- }
-
- /* Free a menu and all its items */
-@@ -497,8 +506,13 @@
- int menu_height)
- {
- MenuItem& pitem = item[index];
--
-+
-+#ifndef RES320X240
- int font_width = 16;
-+#else
-+ int font_width = 16/2;
-+#endif
-+
- int effect_offset = 0;
- {
- int effect_time = 0;
-@@ -510,7 +524,7 @@
- }
-
- int x_pos = pos_x;
-- int y_pos = pos_y + 24*index - menu_height/2 + 12 + effect_offset;
-+ int y_pos = pos_y + (int)(24)*index - menu_height/2 + 12 + effect_offset;
- int shadow_size = 2;
- int text_width = strlen(pitem.text) * font_width;
- int input_width = (strlen(pitem.input)+ 1) * font_width;
-@@ -518,7 +532,7 @@
- Text* text_font = white_text;
-
- if (arrange_left)
-- x_pos += 24 - menu_width/2 + (text_width + input_width + list_width)/2;
-+ x_pos += (int)(24) - menu_width/2 + (text_width + input_width + list_width)/2;
-
- if(index == active_item)
- {
-@@ -538,7 +552,11 @@
-
- case MN_HL:
- {
-+#ifndef RES320X240
- int x = pos_x - menu_width/2;
-+#else
-+ int x = pos_x - menu_width/4;
-+#endif
- int y = y_pos - 12 - effect_offset;
- /* Draw a horizontal line with a little 3d effect */
- fillrect(x, y + 6,
-@@ -551,9 +569,15 @@
- }
- case MN_LABEL:
- {
-+#ifndef RES320X240
- white_big_text->draw_align(pitem.text,
- x_pos, y_pos,
- A_HMIDDLE, A_VMIDDLE, 2);
-+#else
-+ white_text->draw_align(pitem.text,
-+ x_pos, y_pos,
-+ A_HMIDDLE, A_VMIDDLE, 2);
-+#endif
- break;
- }
- case MN_TEXTFIELD:
-@@ -570,8 +594,9 @@
- input_width + font_width, 18,
- 0,0,0,128);
-
-- if(pitem.kind == MN_CONTROLFIELD)
-+ if(pitem.kind == MN_CONTROLFIELD) {
- get_controlfield_key_into_input(&pitem);
-+ }
-
- if(pitem.kind == MN_TEXTFIELD || pitem.kind == MN_NUMFIELD)
- {
-@@ -663,7 +688,7 @@
- menu_width += 2;
- }
- }
--
-+
- return (menu_width * 16 + 24);
- }
-
-@@ -680,10 +705,17 @@
- int menu_width = get_width();
-
- /* Draw a transparent background */
-+#ifndef RES320X240
- fillrect(pos_x - menu_width/2,
- pos_y - 24*item.size()/2 - 10,
- menu_width,menu_height + 20,
- 150,180,200,125);
-+#else
-+ fillrect(pos_x - menu_width/4,
-+ pos_y - 24*item.size()/2 - 10,
-+ menu_width,menu_height + 20,
-+ 150,180,200,125);
-+#endif
-
- for(unsigned int i = 0; i < item.size(); ++i)
- {
-@@ -723,6 +755,8 @@
- SDLKey key;
- switch(event.type)
- {
-+
-+#ifndef GP2X
- case SDL_KEYDOWN:
- key = event.key.keysym.sym;
- SDLMod keymod;
-@@ -754,7 +788,6 @@
- return;
- }
-
--
- switch(key)
- {
- case SDLK_UP: /* Menu Up */
-@@ -800,12 +833,14 @@
- break;
- }
- break;
-+
- case SDL_JOYHATMOTION:
- if(event.jhat.value == SDL_HAT_UP)
- menuaction = MENU_ACTION_UP;
- if(event.jhat.value == SDL_HAT_DOWN)
- menuaction = MENU_ACTION_DOWN;
- break;
-+
- case SDL_JOYAXISMOTION:
- if(event.jaxis.axis == joystick_keymap.y_axis)
- {
-@@ -815,9 +850,88 @@
- menuaction = MENU_ACTION_UP;
- }
- break;
-+#endif
-+
- case SDL_JOYBUTTONDOWN:
-+#ifndef GP2X
- menuaction = MENU_ACTION_HIT;
- break;
-+#else
-+
-+ if(item[active_item].kind == MN_CONTROLFIELD)
-+ {
-+ if( event.jbutton.button == joystick_keymap.start_button )
-+ {
-+ Menu::pop_current();
-+ return;
-+ }
-+
-+ static int save[8]={-1,-1,-1,-1,-1,-1,-1,-1};
-+ int itemid=get_active_item_id();
-+ int inputkey;
-+ switch ( itemid ) {
-+ case 11 : inputkey=joystick_keymap.up_button;
-+ break;
-+ case 12 : inputkey=joystick_keymap.down_button;
-+ break;
-+ case 13 : inputkey=joystick_keymap.left_button;
-+ break;
-+ case 14 : inputkey=joystick_keymap.right_button;
-+ break;
-+ case 15 : inputkey=joystick_keymap.a_button;
-+ break;
-+ case 16 : inputkey=joystick_keymap.b_button;
-+ break;
-+ default : break;
-+ }
-+
-+ *item[active_item].int_p = event.jbutton.button;
-+
-+ bool okay=true;
-+
-+ save[itemid-11]=event.jbutton.button;
-+
-+ int i;
-+ for ( i=0;i<itemid-11;i++ ) {
-+ if ( save[i] == event.jbutton.button ) okay=false;
-+ }
-+ if ( okay == true ) menuaction = MENU_ACTION_DOWN;
-+ else menuaction = MENU_ACTION_NONE;
-+
-+ return;
-+ }
-+
-+ if (event.jbutton.button == joystick_keymap.a_button)
-+ menuaction = MENU_ACTION_HIT;
-+ else if (event.jbutton.button == joystick_keymap.b_button)
-+ menuaction = MENU_ACTION_HIT;
-+ else if (event.jbutton.button == joystick_keymap.start_button)
-+ menuaction = MENU_ACTION_HIT;
-+ else if (event.jbutton.button == joystick_keymap.up_button)
-+ menuaction = MENU_ACTION_UP;
-+ else if (event.jbutton.button == joystick_keymap.down_button)
-+ menuaction = MENU_ACTION_DOWN;
-+ else if (event.jbutton.button == joystick_keymap.right_button)
-+ menuaction = MENU_ACTION_RIGHT;
-+ else if (event.jbutton.button == joystick_keymap.left_button)
-+ menuaction = MENU_ACTION_LEFT;
-+ else if (event.jbutton.button == joystick_keymap.volup_button)
-+#ifdef GP2X
-+ increaseSoundVolume();
-+#else
-+ sound_volume(2);
-+#endif
-+ else if (event.jbutton.button == joystick_keymap.voldown_button)
-+#ifdef GP2X
-+ decreaseSoundVolume();
-+#else
-+ sound_volume(1);
-+#endif
-+ break;
-+
-+#endif
-+
-+#ifndef GP2X
- case SDL_MOUSEBUTTONDOWN:
- x = event.motion.x;
- y = event.motion.y;
-@@ -847,6 +961,7 @@
- break;
- default:
- break;
-+#endif
- }
- }
-
-diff -ur supertux-0.1.3/src/menu.h supertux-0.1.3-gp2x/src/menu.h
---- supertux-0.1.3/src/menu.h 2005-06-22 00:16:07.000000000 +0300
-+++ supertux-0.1.3-gp2x/src/menu.h 2006-05-04 23:48:30.000000000 +0300
-@@ -236,6 +236,8 @@
- extern Menu* options_menu;
- extern Menu* options_keys_menu;
- extern Menu* options_joystick_menu;
-+extern Menu* options_joystick_axis_menu;
-+extern Menu* options_joystick_button_menu;
- extern Menu* highscore_menu;
- extern Menu* load_game_menu;
- extern Menu* save_game_menu;
-diff -ur supertux-0.1.3/src/music_manager.cpp supertux-0.1.3-gp2x/src/music_manager.cpp
---- supertux-0.1.3/src/music_manager.cpp 2005-06-22 00:16:07.000000000 +0300
-+++ supertux-0.1.3-gp2x/src/music_manager.cpp 2006-04-22 13:16:32.000000000 +0300
-@@ -59,7 +59,14 @@
- return true;
- }
-
-+#ifndef GP2X
- Mix_Music* song = Mix_LoadMUS(file.c_str());
-+#else
-+ char mfile[100];
-+ snprintf(mfile,sizeof(mfile),"%s",file.c_str());
-+ MODULE *song=Player_Load(mfile, 64, 0);
-+#endif
-+
- if(song == 0)
- return false;
-
-@@ -84,6 +91,8 @@
- void
- MusicManager::play_music(const MusicRef& musicref, int loops)
- {
-+// printf("loop: %d, musicref: %d\n",loops,musicref.music);
-+
- if(!audio_device)
- return;
-
-@@ -97,7 +106,16 @@
- current_music->refcount++;
-
- if(music_enabled)
-+#ifndef GP2X
- Mix_PlayMusic(current_music->music, loops);
-+#else
-+ {
-+ if ( loops == -1 ) current_music->music->wrap=1;
-+ Player_Stop();
-+ Player_Start(current_music->music);
-+ Player_SetPosition(0);
-+ }
-+#endif
- }
-
- void
-@@ -106,13 +124,17 @@
- if(!audio_device)
- return;
-
-+#ifndef GP2X
- Mix_HaltMusic();
-+#else
-+ Player_Stop();
-+#endif
-
- if(current_music) {
- current_music->refcount--;
- if(current_music->refcount == 0)
- free_music(current_music);
-- current_music = 0;
-+ current_music = 0;
- }
- }
-
-@@ -127,9 +149,17 @@
-
- music_enabled = enable;
- if(music_enabled == false) {
-+#ifndef GP2X
- Mix_HaltMusic();
-+#else
-+ Player_Stop();
-+#endif
- } else {
-+#ifndef GP2X
- Mix_PlayMusic(current_music->music, -1);
-+#else
-+ Player_Start(current_music->music);
-+#endif
- }
- }
-
-diff -ur supertux-0.1.3/src/music_manager.h supertux-0.1.3-gp2x/src/music_manager.h
---- supertux-0.1.3/src/music_manager.h 2005-06-22 00:16:07.000000000 +0300
-+++ supertux-0.1.3-gp2x/src/music_manager.h 2006-04-22 04:51:32.000000000 +0300
-@@ -20,6 +20,10 @@
- #ifndef HEADER_MUSIC_MANAGER_H
- #define HEADER_MUSIC_MANAGER_H
-
-+#ifdef GP2X
-+#include "mikmod.h"
-+#endif
-+