[Super-tux-commit] supertux .cvsignore,1.6,1.7 TODO,1.78,1.79 configure.ac,1.35,1.36 config.h.in,1.3
Brought to you by:
wkendrick
From: Matze B. <mat...@us...> - 2004-11-20 22:14:58
|
Update of /cvsroot/super-tux/supertux In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5941 Modified Files: .cvsignore TODO configure.ac Removed Files: config.h.in ltmain.sh Log Message: The BIG COMMIT(tm) This is it, expect a broken supertux I only fixed the most annoying issues so far, lots more are still waiting in the TODO list, but I had to bring this stuff to cvs sometime. Changes: - Completely new collision detection scheme, which collides all objects with each other once per frame, instead of single objects manually testing for collisions - New collision detection routines which support slopes and provide additional info on collisions: penetration depth, hit normal vector - Lots of general cleanup/refactoring - Splitted the monolithic badguy class and reimplemented most of them as single classes with a badguy base class. - Splitted the monolithic Special class into several classes - Rewrote the timer and all timing related stuff to work on float and seconds (not like the mixup before where you had frame_ratio, msecs and secs in different parts of the app) - Support for unisolid tiles - Created a flying platform prototype (doesn't work completely yet) - rename InteractiveObjects to triggers and implemented a new sequence trigger, (only supported sequence is endsequence at the moment) - transformed the bonusblocks and bricks into objects Index: .cvsignore =================================================================== RCS file: /cvsroot/super-tux/supertux/.cvsignore,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- .cvsignore 16 Nov 2004 11:55:15 -0000 1.6 +++ .cvsignore 20 Nov 2004 22:14:18 -0000 1.7 @@ -18,3 +18,6 @@ .project .cdtproject .sconsign +build_config.py +build + Index: TODO =================================================================== RCS file: /cvsroot/super-tux/supertux/TODO,v retrieving revision 1.78 retrieving revision 1.79 diff -u -d -r1.78 -r1.79 --- TODO 20 Nov 2004 02:08:33 -0000 1.78 +++ TODO 20 Nov 2004 22:14:18 -0000 1.79 @@ -37,7 +37,76 @@ g++ -Wall .... -o build/linux/src/error.o src/error.cpp +--Collision Detection Rewrite (all [H])-- + * make blocks bounce again - ok + * bonusblocks don't always bounce back to their original position (but stay a + few pixels higher) + * it's impossible to go into passages that have exactly the size of tux, + either reduce collision rectangle by DELTA or round collision coordinates to + integers... + ** implement 1up - ok + ** implement star - ok + * bring back the enemies + - add activation again + - make api simpler + - implement jumpy - ok + -* implement spiky - ok + - implement snowball - ok + - implement fish + - implement bouncingsnowball - ok + -* implement mriceblock - ~ok + - implement flame - ok + -* implement mrbomb - ok + - implement flyingsnowball + - implement wingling + - implement tree (really?) + - bring back stay on platform flag + - make enemies bounce of upon each other again + - make enemies fall again + -* activate/deactive enemies when on screen/away again - ok + ** implement ability to cary mriceblock (and other objects) around - delayed + for after big commit... + * smoke clouds are too fast + * some shots disappear in the ground with a "max collision depth reached" + message + * rework collision detection to take movement into account - this should fix + the egg suddenly turning directions and the somtimes strange behaviour + when hitting a block from the side when falling. + * rethink slopes collision feedback... tux becomes too slow when walking up + and starts jumping when walking down + * think about an attachement mechanism for moving platforms + * implement paths for the moving platform, implement simple moving platforms + ** activate level end sequence again - ok + ** make bullets kill enemies - ok + * fix bullet speed/behaviour + ** fix ducking - ok + * check if unducking is actually possible or if something is in the way + * fix flapping + ** having a star doesn't kill enemies - ok + +--Code Refactoring/Cleanup/Optimisation-- +[H] make the title using GameSession instead of reimplementing all the stuff +[L] rename gameloop.* files to gamesession.* +[L] rename GameObject::action to GameObject::update() +[L] use physfs for loading files +[L] eventually move over new lispreader code from tuxkart +[L] change physics class y-velocity-coordinate to be like all other + y-coordinates again (positive y to go down) +[M] harmonize to 1 single gameloop that switches between title, worldmap, + ingame mode and eventually leveleditor mode +[H] introduce a special mode in DrawingContext for objects that want to draw + themselfes. This could speed up rendering of tilemaps. +[H] implement quadtree to speed up collision detection +[?] remove badguyspecs and bitmask files + --Miscelaneous-- +[?] think about how to implement scripting, and how to make a simple and easy to + use api for the scripting interface + (language will probably be lua - just have to figure out how well we can do + without OO support in the scripting language. + Other candidates are python, ruby and less likely java, mono/.net, + surely no own invention, perl or 1 of these c-like scripting languages) + [?] Default keyboard setup should change. Up will be needed for other features like going through doors and looking up, etc. Up arrow - Look up / activate Index: configure.ac =================================================================== RCS file: /cvsroot/super-tux/supertux/configure.ac,v retrieving revision 1.35 retrieving revision 1.36 diff -u -d -r1.35 -r1.36 --- configure.ac 21 Sep 2004 11:13:09 -0000 1.35 +++ configure.ac 20 Nov 2004 22:14:18 -0000 1.36 @@ -18,7 +18,10 @@ AM_INIT_AUTOMAKE dnl This is obsolete see automake1.7 // AM_CONFIG_HEADER -SDL_VERSION=1.2.4 +# we don't want the stupid autoconf default -g -O2 +test ".$CXXFLAGS" = "." && CXXFLAGS=" " + +CXXFLAGS="$CXXFLAGS -ffast-math" AC_PROG_CC AC_PROG_CXX @@ -40,7 +43,7 @@ AC_ARG_ENABLE(gprof, AC_HELP_STRING([--enable-gprof], [enable GNU profiling support]), [enable_gprof=$enableval], [enable_gprof=no]) -if test "$enable_gprof" = "no"; then +if test "$enable_gprof" = "yes"; then CXXFLAGS="$CXXFLAGS -pg" AC_MSG_RESULT([enabled]) else @@ -52,9 +55,11 @@ AC_HELP_STRING([--enable-debug], [enable debugging mode]), [enable_debug=$enableval], [enable_debug=no]) if test "$enable_debug" = "yes"; then - CXXFLAGS="$CXXFLAGS -Wall -Werror -DDEBUG -O0 -g3" + AC_DEFINE([DEBUG], 1, [define to compile in debug checks]) + CXXFLAGS="$CXXFLAGS -Wall -Werror -O0 -g3" AC_MSG_RESULT([enabled]) else + CXXFLAGS="$CXXFLAGS -O2 -g" AC_MSG_RESULT([disabled]) fi @@ -72,6 +77,7 @@ dnl =========================================================================== dnl Check for SDL +SDL_VERSION=1.2.4 AM_PATH_SDL($SDL_VERSION, :, AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!])) --- config.h.in DELETED --- --- ltmain.sh DELETED --- |