tuxracer-checkins Mailing List for Tux Racer
Status: Beta
Brought to you by:
jfpatry
You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(46) |
Sep
(274) |
Oct
(36) |
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
From: <aku...@sh...> - 2004-08-20 06:45:22
|
11'th Annual Tcl/Tk Conference October 11 - 15, 2004 New Orleans, Louisiana, USA Email Contact tc...@tc... We are pleased to announce the 11'th Annual Tcl/Tk conference (Tcl'2004), sponsored by Noumena Corporation, in cooperation with ActiveState and ExpoTech. Come to New Orleans to: * Learn about the power of Tcl/Tk. * Present exciting new work involving Tcl/Tk. * See the latest developments in Tcl/Tk. * Meet Tcl/Tk researchers and users from academia, government and industry. * Plan for future Tcl/Tk related developments. The conference program will include paper presentations, tutorials, Birds of a Feather (BOF) sessions and invited key-note talks. Registration Online registration is ready now. <http://www.tcl.tk/community/tcl2004/reg.html> Tutorials Come learn about Tcl from the experts. This year's Tcl/Tk Conference includes one of the best sets of Tutorials ever offered including tutorials on Jacl, TclHttpd, Starkit, Advanced GUI construction, and the API. <http://www.tcl.tk/community/tcl2004/tut2004.html> Schedule More details will be added to the schedule as they become available. <http://www.tcl.tk/community/tcl2004/schedule.html> Those attending the conference will be interested in the conference info page. <http://www.tcl.tk/community/tcl2004/info.html> To keep in touch with news regarding the conference and Tcl events in general, subscribe to the tcl-announce list. <http://listserv.activestate.com/mailman/mysubs?show=announce> Other Forms of Participation For those who are not presenting a paper at the conference, but would like to present their work in some form, we do provide several other forms of participation. Slots for Works-in-Progress (WIP) presentations and Birds-of-a-Feather sessions (BOFs) are available on a first-come, first-served basis by sending email to tc...@tc.... Some WIP and BOF time slots will be held open for on-site reservation, so we encourage all attendees with interesting work in progress to consider presenting that work at the conference. Conference Committee Gerald Lester HMS Software General Chair Andreas Kupries ActiveState Corp Clif Flynt Noumena Corp Website Admin Jeffrey Hobbs ActiveState Corp Kevin Kenny GE Global Research Center Ken Jones Avia Training Mac Cody Raytheon Company Kim Richerts Steve Landers Digital Smarties Sheila Miguez Motorola Larry Virden Tcl FAQ Maintainer Contact Information tc...@tc... |
From: Jasmin P. <jf...@us...> - 2000-10-03 07:46:49
|
Update of /cvsroot/tuxracer/tuxracer In directory slayer.i.sourceforge.net:/tmp/cvs-serv24002 Modified Files: ChangeLog Log Message: Index: ChangeLog =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/ChangeLog,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -r1.16 -r1.17 *** ChangeLog 2000/04/18 02:56:38 1.16 --- ChangeLog 2000/10/03 07:46:47 1.17 *************** *** 1,2 **** --- 1,1388 ---- + 2000-10-03 Jasmin Patry <jf...@cg...> + + * Making version 0.60.1. + + * README: Updated for version 0.60. + + * Makefile.am: + Added web files for inclusion in dist tarball. + [...1359 lines suppressed...] + + 2000-08-08 Jasmin Patry <jf...@cg...> + + * src/hier.c: Changes values.h to float.h + + * src/game_config.c: + Changes to support cygwin/win32 builds. + + * src/file_util.c, src/file_util.h: + Initial checkin. + + * src/Makefile.am: + Separated out TUXRACER_EXTRA_CFLAGS into TUXRACER_EXTRA_COMPILEFLAGS (common + to C and C++ code), TUXRACER_EXTRA_CFLAGS, and TUXRACER_EXTRA_CXXFLAGS. + + * configure.in: + Changes to allow tuxracer to compile under Cygwin. + 2000-04-18 Jasmin Patry <jf...@cg...> |
From: Jasmin P. <jf...@us...> - 2000-10-03 07:45:15
|
Update of /cvsroot/tuxracer/tuxracer In directory slayer.i.sourceforge.net:/tmp/cvs-serv23899 Modified Files: README Log Message: Updated for version 0.60. Index: README =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/README,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -r1.10 -r1.11 *** README 2000/08/17 22:40:12 1.10 --- README 2000/10/03 07:45:12 1.11 *************** *** 1,393 **** Tux Racer ! Version 0.12.1 Copyright (C) 1999-2000 Jasmin F. Patry ! <jf...@cg...> - Contents - -------- ! * Introduction ! * Requirements ! * Getting Tux Racer ! * Installation ! * Configuring Tux Racer ! * Notes for Voodoo Owners ! * Playing Tux Racer ! * Creating New Courses ! * Mailing Lists ! * Reporting Bugs and Submitting Patches ! * No Warranty ! ! ! Introduction ! ------------ ! ! Tux Racer is a simple OpenGL-based racing game featuring Tux, the Linux ! Penguin. I wrote it as a final project for a graphics course I took in ! 1999. While I've made a few enhancements since then, the basic game ! hasn't changed much, which is to say it still needs a lot of work. :-) ! ! The game is currently incomplete, but is still playable. A roadmap ! has been created for version 1.0 of the game; you can view it (and ! monitor our progress) at http://tuxracer.sourceforge.net/plan.html . ! ! Requirements ! ------------ ! ! Tux Racer requires the following components in order to build and run: ! ! * The Tux Racer data files. This should be available from the same ! place that you got the Tux Racer source from. ! ! * A UN*X-like system (I've compiled previous incarnations of Tux ! Racer under Irix, Solaris, and -- of course -- Linux). ! ! * X11 libraries and include files. ! ! * An implementation of the OpenGL API version 1.1 or greater (Mesa 3.0 ! and 3.1 will both work; see http://www.mesa3d.org). ! ! * The GLUT library, version 3.7 beta or greater. This is ! distributed in the MesaDemos package, so if you have installed ! Mesa you probably also have GLUT. Otherwise, see ! http://www.opengl.org. ! ! * Tcl Version 8.0 or greater. ! ! * A (reasonably recent, fast, and supported) accelerated 3D video ! card. Tux Racer is not playable on most current systems without 3D ! acceleration. Unfortunately, cards without direct rendering ! support do not seem to give adequate performance. ! ! * GNU make (gmake). ! ! My development platform for Tux Racer is a Linux 2.2 system (SuSE 6.4) ! running on an Intel Celeron 366, with a Voodoo3 2000 video card, ! XFree86 4.0, and Mesa 3.2. I can make no guarantees about other ! configurations. However, patches that allow Tux Racer to compile and ! run on other platforms are much appreciated! ! ! ! Getting Tux Racer ! ----------------- ! ! The latest version of Tux Racer can be obtained from: ! http://tuxracer.sourceforge.net/ ! ! ! Installation ! ------------ ! ! 0) Install the tuxracer-data package (any location will do -- ! /usr/local/share/tuxracer is the default path used by the tuxracer ! program) ! ! 1) ./configure ! ! 2) make ! ! 3) make install (as root) ! ! That should do it for most people. If that doesn't work, try ! ./configure --help for a list of options. If that still doesn't work, ! please fix it and send me a patch. ;-) ! ! *** IMPORTANT ***: Once you've got the tuxracer executable compiled, ! try running it. THIS WILL FAIL if you've installed the data files ! someplace other than the default location. To fix this, edit ! ~/.tuxracer (which has just been created) to set the data_dir variable ! to the directory where you installed the Tux Racer data files. Then ! try running tuxracer again. ! ! ! Configuring Tux Racer ! --------------------- ! ! There are a number of options the control Tux Racer's execution. You ! can change these by editing the file ~/.tuxracer. Hopefully most of ! these are self-explanatory. Here's a quick rundown: ! ! * data_dir: The location of the Tux Racer data files ! ! * fullscreen: Set this to 1 to force the window to be the same ! size as your screen (for developers: this activates ``GameGLUT'' ! mode). Voodoo users: This is NOT what you want to use to ! activate fullscreen rendering on your card. See ``Notes for ! Voodoo{1,2} Owners'' below. ! ! * x_resolution, y_resolution: these specify the size of the window. ! ! * force_window_position: If true, then the Tux Racer window will ! automatically be placed at (0,0). ! ! * warp_pointer: If true, then the mouse pointer will be moved to ! the middle of the window at every frame. This is very handy if ! you're using a fullscreen-only card (like a Voodoo). Most ! people not using fullscreen mode will probably want to set this ! to false. ! ! * control_mode: currently unused. ! ! * *_key: These settings allow you to change the default ! keybindings. Alphabetic keys are case-insensitive. The ! following ``special'' keys are recognized: f1-f12, left, up, ! right, down, page_up, page_down, home, end, insert, tab, space, ! backspace, enter, delete, escape. You can bind multiple keys to ! an action by listing all of the keys, separated by a space ! (e.g., set quit_key "q escape" binds Q and Esc to the quit ! action). ! ! * display_fps: Set this to true to display the current framerate ! in Hz. ! ! * tux_slides_on_belly: As of version 0.12, Tux slides on his belly ! instead of his backside by default. If you prefer the old ! style, set this to false. ! ! * course_detail_level: This controls how accurately the course ! terrain is rendered. A high value results in greater accuracy ! at the cost of performance, and vice versa. This value can be ! decreased and increased in 10% increments at runtime using the ! F9 and F10 keys. To better see the effect, activate wireframe ! mode using the F11 key (this is a toggle). ! ! * forward_clip_distance: Controls how far ahead the course of the ! camera the course is rendered. Larger values mean that more of ! the course is rendered, resulting in slower performance. ! Decreasing this value is an effective way to improve ! framerates. ! ! * backward_clip_distance: Some objects aren't yet clipped to the ! view frustum, so this value is used to control how far up the ! course these objects are drawn. ! ! * tree_detail_distance: Controls the distance at which trees are ! drawn with two rectangles instead of one. ! ! * draw_tux_shadow: Set this to true to display Tux's shadow. Note ! that this is a hack and is quite expensive in terms of ! framerate. It looks better if your card has a stencil buffer ! (use the --enable-stencil-buffer configure option to enable the ! use of the stencil buffer). ! ! * tux_sphere_divisions: Higher values result in a more finely ! subdivided mesh for Tux, and vice versa. If you're experiencing ! low framerates, try lowering this value. ! ! * tux_shadow_sphere_divisions: The level of subdivision of Tux's ! shadow. ! ! * draw_particles: If true, then particles will be drawn to model ! the snow that is kicked up as Tux moves. Setting this to false ! should help improve performance. ! ! * draw_particle_shadows: If true, then each particle will cast a ! shadow. ! ! * nice_fog: If true, then the GL_NICEST hint will be used when ! rendering fog. On some cards, setting this to false may improve ! performance. ! ! * use_sphere_display_list: Mesa 3.1 sometimes renders Tux ! strangely when display lists are used. Setting this to false ! should solve the problem at the cost of a few Hz. ! ! * do_intro_animation: If false, then the introductory animation ! sequence will be skipped. ! ! * mipmap_type: Allows you to control which type of texture ! interpolation/mipmapping is used when rendering textures. The ! values correspond to the following OpenGL settings: ! ! 0: GL_NEAREST ! 1: GL_LINEAR ! 2: GL_NEAREST_MIPMAP_NEAREST ! 3: GL_LINEAR_MIPMAP_NEAREST ! 4: GL_NEAREST_MIPMAP_LINEAR ! 5: GL_LINEAR_MIPMAP_LINEAR ! ! On some cards, you may be able to improve performance by ! decreasing this number, at the cost of lower image quality. ! ! * ode_solver: Selects the ODE (ordinary differential equation) ! solver. Possible values are: ! ! 0: Modified Euler (fastest but least accurate) ! 1: Runge-Kutta (2,3) ! 2: Runge-Kutta (4,5) (slowest but most accurate) ! ! * fov: field-of-view in degrees. ! ! * debug: This is parsed as a space-delimited string of keywords, ! each of which may be preceeded with a `-'. Each keyword ! activates a set of debugging messages. Currently, the ! recognized keywords are: ! ! all: activates all debugging messages ! ode: ODE solver statistics ! quadtree: quadtree terrain LOD statistics ! control: messages related to player controls ! health: displays player's health (currently, health doesn't ! have any effect on gameplay) ! ! Preceeding a keyword with `-' will suppress those types of ! debugging messages. To see all debugging messages except for ! the ode messages, you would set debug to "all -ode". ! ! * warning_level: Valid values are between 0 and 100; 0 suppresses ! all warnings, while 100 displays all warnings. It is ! recommended that you leave this value at 100. ! ! Note that this file is re-written every time Tux Racer quits, so don't ! bother inserting comments or the like. This file is parsed as a Tcl ! script, so Tcl syntax applies. ! ! ! Notes for Voodoo Owners ! ----------------------- ! ! Assuming your Voodoo card is set up properly, Tux Racer should run ! properly on fullscreen-only Voodoo cards ``out of the tarball''. ! There are some settings in the .tuxracer file that apply particularly ! to Voodoo owners, but these should have the proper default values: ! ! * fullscreen: Do NOT set this to true. This will make the Tux ! Racer window the same size as your X desktop, which is probably ! not what you want if you have a Voodoo card that can only render ! at 640x480. ! ! * force_window_position: This should be set to true. This is ! particularly useful if you usually have to manually position ! windows with the mouse -- the window will automatically be ! positioned at (0,0) if this is set to true. ! ! * warp_pointer: This should be set to true. This will prevent the ! Tux Racer window from losing the focus in X -- which can be a ! real pain to recover from. ! ! Note that I don't do fullscreen rendering with my Voodoo3 anymore, so ! I can't test this -- therefore, please report any inaccuracies or ! ommisions. ! ! I commonly get questions from people that can play Quake and other ! commercial games on their Voodoo cards at good rates, yet report very ! slow performance when playing Tux Racer. Almost invariably the ! problem is that Mesa hasn't been compiled with Voodoo support (Quake ! and other games come with their own Mesa-for-Voodoo libs, which is why ! it works for those games). If you got your Mesa from an RPM or other ! binary package, chances are it doesn't have Voodoo support. Download ! the source from http://mesa3d.sourceforge.net, read the documentation, ! and compile it with Voodoo support (make linux-glide, for example). ! Then read the documentation about installing the libraries and header ! files so that applications like Tux Racer will be able to find them. ! (There is now a standard location for these files: the libs go in ! /usr/lib and the header files go in /usr/include/GL. See ! http://oss.sgi.com/projects/ogl-sample/ABI/ for details.) ! ! ! Playing Tux Racer ! ----------------- ! ! The (current) object of the game is to get to the bottom of the course ! as quickly as possible; the elapsed time is displayed in the bottom left ! hand corner of the screen. ! ! You can steer Tux and make him ``hit the brakes'' to slow him ! down. When steering, you will notice that his left or right arm moves ! down to drag on the surface; when braking, both his arms will move down. ! Tux can also ``paddle'' to speed up, but note that above a certain ! speed paddling will actually slow Tux down! (In future versions of the ! game, paddling will also consume energy.) By default, these actions ! are bound to the following keys: ! ! J: turns left ! L: turns right ! K: paddle ! space: brake ! ! The viewpoint can be changed using the following keys: ! ! 1: Places the viewpoint behind and above Tux. This is the default. ! 2: Places the viewpoint behind Tux. ! 3: Places the viewpoint at Tux's head. ! ! If you get stuck on the course and can't make any forward progress, ! `Q' will quit the game. You can press this key at any time to stop ! the race. ! ! After the game ends, you will see a ``Game Over'' screen; hit any key ! to return to the start screen. ! ! During a race the game can be paused with the `P' key. ! ! Key bindings can be changed in the ~/.tuxracer file. ! ! ! Creating New Courses ! -------------------- ! ! Anybody can creating new courses. For an example, have a look at ! <tuxracer-data>/courses/1/course.tcl, which is fairly well-commented. ! Here are a few pointers: ! ! * The course elevation data is specified as a heightfield using a ! greyscale bitmap. White is high, black is low. ! ! * The terrain type is specified using another greyscale bitmap. ! White corresponds to snow, 50% grey corresponds to rock, and ! black corresponds to ice. You don't have to be exact here; the ! closest match is used. NOTE: this bitmap must have the same ! dimensions as the elevation bitmap. ! ! * Trees are specified using (yet another) bitmap. This bitmap can ! have arbitrary size. Black pixels correspond to ``no tree'', ! while ``non-black'' pixels correspond to trees. ``Non-black'' ! actually means any pixel with total intensity (measured as the ! sum of the (R,G,B) values of the pixel, each measured on a scale ! of 0-255) greater than 128. ! ! * Textures must have dimensions that are a power of 2, and should ! be limited to 256 pixels in each dimension. ! ! * All bitmaps are in the SGI RGB format (which can be read and ! created by The GIMP), and can be compressed or uncompressed. ! ! Please develop new courses! You don't need any special tools to do so ! (The GIMP is all that's needed), and you'll get fame and fortune for ! doing so (ok, maybe not, but you'll have my eternal gratitude :-). ! If you do develop a new course, please announce it on the ! tuxracer-devel mailing list (see below), and we'll incorporate it into ! the next Tux Racer release. ! ! ! Mailing Lists ! ------------- ! ! There are three mailing lists for Tux Racer: ! ! * tuxracer-main: This list is for Tux Racer users. If you have a ! question about Tux Racer that's not related to Tux Racer ! development, this is the place for it. ! ! * tuxracer-devel: This list is for people who wish to contribute ! to Tux Racer development. ! ! * tuxracer-announce: This is a very low-volume list where I'll ! announce new versions of Tux Racer. ! ! You can subscribe, unsubscribe, change your options, or view the list ! archives from this page: https://sourceforge.net/mail/?group_id=2944 . ! ! ! Reporting Bugs and Submitting Patches ! ------------------------------------- ! ! If you have a question or wish to report a bug, please email the ! tuxracer-main mailing list <tux...@li...>. ! ! If you wish to submit a patch, please email the tuxracer-devel mailing ! list <tux...@li...>. --- 1,14 ---- Tux Racer + A Sunspire Studios Production ! Version 0.60 Copyright (C) 1999-2000 Jasmin F. Patry ! <jf...@su...> ! Tux Racer documentation, including full installation instructions and ! manual, can be found at http://www.tuxracer.com. A copy of the ! web site (excluding screenshots) is included in the html directory. |
From: Jasmin P. <jf...@us...> - 2000-10-03 07:44:50
|
Update of /cvsroot/tuxracer/tuxracer In directory slayer.i.sourceforge.net:/tmp/cvs-serv23826 Modified Files: Makefile.am Log Message: Added web files for inclusion in dist tarball. Index: Makefile.am =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/Makefile.am,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** Makefile.am 2000/10/02 20:24:35 1.4 --- Makefile.am 2000/10/03 07:44:48 1.5 *************** *** 1,7 **** SUBDIRS = src ! EXTRA_DIST = \ ! contrib/script-fu/README \ ! contrib/script-fu/tuxracer-create-level.scm \ ! contrib/script-fu/tuxracer-load-level-1.1.scm \ ! contrib/script-fu/tuxracer-save-as-rgbs-1.0.scm \ ! contrib/script-fu/tuxracer-save-as-rgbs-1.1.scm --- 1,42 ---- SUBDIRS = src ! EXTRA_DIST = \ ! contrib/script-fu/README \ ! contrib/script-fu/tuxracer-create-level.scm \ ! contrib/script-fu/tuxracer-load-level-1.1.scm \ ! contrib/script-fu/tuxracer-save-as-rgbs-1.0.scm \ ! contrib/script-fu/tuxracer-save-as-rgbs-1.1.scm \ ! html/purchase.html \ ! html/index.html \ ! html/game_info.html \ ! html/manual.html \ ! html/images/snow_line.gif \ ! html/images/menu_side.jpg \ ! html/images/menu_top_left.jpg \ ! html/images/palette.rgb \ ! html/images/ingame.jpg \ ! html/images/menu_top.jpg \ ! html/images/palette.png \ ! html/images/manual/6.gif \ ! html/images/manual/cup_menu.jpg \ ! html/images/manual/main_menu.jpg \ ! html/images/manual/7.gif \ ! html/images/manual/d_key.jpg \ ! html/images/manual/cup_screen.jpg \ ! html/images/manual/practice_screen.jpg \ ! html/images/manual/e_key.jpg \ ! html/images/manual/racing.jpg \ ! html/images/manual/movement_keys.gif \ ! html/images/manual/5.gif \ ! html/images/manual/welcome.jpg \ ! html/images/manual/2.gif \ ! html/images/manual/3.gif \ ! html/images/manual/q_key.jpg \ ! html/images/manual/r_key.jpg \ ! html/images/manual/4.gif \ ! html/images/manual/1.gif \ ! html/download.html \ ! html/tbtm.html \ ! html/faq.html \ ! html/support.html \ ! html/screenshots.html \ ! html/oldnews.html |
From: Jasmin P. <jf...@us...> - 2000-10-03 07:43:58
|
Update of /cvsroot/tuxracer/tuxracer/src In directory slayer.i.sourceforge.net:/tmp/cvs-serv23732/src Modified Files: gl_util.h Log Message: Added hack to work around compile problems with old gl.h files. Index: gl_util.h =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/src/gl_util.h,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -r1.11 -r1.12 *** gl_util.h 2000/09/26 01:22:16 1.11 --- gl_util.h 2000/10/03 07:43:55 1.12 *************** *** 28,38 **** #include "tuxracer.h" ! /* Shouldn't need to include this if gl.h is recent, but alas we can't ! * count on that... ! */ #include <GL/glext.h> #if !defined(GL_GLEXT_VERSION) || GL_GLEXT_VERSION < 6 ! # error "*** You need a more recent copy of glext.h. You can get one at http://oss.sgi.com/projects/ogl-sample/ABI/glxext.h ; it goes in /usr/include/GL. ***" #endif --- 28,57 ---- #include "tuxracer.h" ! /* Hack to fix compiling problem with old gl.h's, reported by Steve ! Baker <sjb...@ai...>. Some old gl.h's don't include glext.h, but ! do this: ! ! #define GL_EXT_compiled_vertex_array 1 ! ! since they do define the glLockArraysEXT/glUnlockArraysEXT ! functions. However, this prevents PFNGLLOCKARRAYSEXTPROC / ! PFNGLUNLOCKARRAYSEXTPROC from being defined in glext.h. So, we do ! the following, which at worst results in a warning (and is awfully ! ugly): ! ! #undef GL_EXT_compiled_vertex_array ! ! The *correct* thing to do would be for gl.h to #include glext.h, as ! recent gl.h's do. However, versions of Mesa as recent as 3.2.1 ! don't do this, so we have to work around it. ! */ ! #undef GL_EXT_compiled_vertex_array ! ! /* Shouldn't need to include glext.h if gl.h is recent, but alas we can't ! * count on that... */ #include <GL/glext.h> #if !defined(GL_GLEXT_VERSION) || GL_GLEXT_VERSION < 6 ! # error "*** You need a more recent copy of glext.h. You can get one at http://oss.sgi.com/projects/ogl-sample/ABI/glext.h ; it goes in /usr/include/GL. ***" #endif |
From: Jasmin P. <jf...@us...> - 2000-10-03 07:42:18
|
Update of /cvsroot/tuxracer/tuxracer In directory slayer.i.sourceforge.net:/tmp/cvs-serv23585 Modified Files: configure.in Log Message: Added check for glext.h Index: configure.in =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/configure.in,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -r1.22 -r1.23 *** configure.in 2000/10/02 20:18:42 1.22 --- configure.in 2000/10/03 07:42:14 1.23 *************** *** 1,5 **** dnl Process this file with autoconf to produce a configure script. AC_INIT(src/tuxracer.h) ! AM_INIT_AUTOMAKE(tuxracer, "0.60") AM_CONFIG_HEADER(config.h) --- 1,5 ---- dnl Process this file with autoconf to produce a configure script. AC_INIT(src/tuxracer.h) ! AM_INIT_AUTOMAKE(tuxracer, "0.60.1") AM_CONFIG_HEADER(config.h) *************** *** 147,151 **** fi ! dnl check for glx.h dnl Set CFLAGS before this check so that it will be found if in dnl non-standard location -- thanks to Kevin Moule <kr...@cg...> --- 147,151 ---- fi ! dnl check for glx.h, glext.h dnl Set CFLAGS before this check so that it will be found if in dnl non-standard location -- thanks to Kevin Moule <kr...@cg...> *************** *** 154,158 **** --- 154,172 ---- CFLAGS="$TUXRACER_EXTRA_COMPILEFLAGS $CFLAGS" AC_CHECK_HEADERS( "GL/glx.h" ) + AC_CHECK_HEADERS( "GL/glext.h" ) CFLAGS="$ac_save_CFLAGS" + + dnl Must have glext.h to compile + if test "x$ac_cv_header_GL_glext_h" = "xno" ; then + echo + echo "*****************************************************************" + echo "ERROR: You are missing the file glext.h." + echo "You can get a copy at" + echo "http://oss.sgi.com/projects/ogl-sample/ABI/glext.h" + echo "Place it in the directory /usr/include/GL." + echo "*****************************************************************" + echo + exit 1 + fi dnl Check for glut |
From: Jasmin P. <jf...@us...> - 2000-10-02 20:24:38
|
Update of /cvsroot/tuxracer/tuxracer In directory slayer.i.sourceforge.net:/tmp/cvs-serv24341 Modified Files: Makefile.am Log Message: Removed tools directory Index: Makefile.am =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/Makefile.am,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** Makefile.am 2000/09/11 04:41:17 1.3 --- Makefile.am 2000/10/02 20:24:35 1.4 *************** *** 1,3 **** ! SUBDIRS = src tools EXTRA_DIST = \ contrib/script-fu/README \ --- 1,3 ---- ! SUBDIRS = src EXTRA_DIST = \ contrib/script-fu/README \ *************** *** 5,8 **** contrib/script-fu/tuxracer-load-level-1.1.scm \ contrib/script-fu/tuxracer-save-as-rgbs-1.0.scm \ ! contrib/script-fu/tuxracer-save-as-rgbs-1.1.scm \ ! tools/txf --- 5,7 ---- contrib/script-fu/tuxracer-load-level-1.1.scm \ contrib/script-fu/tuxracer-save-as-rgbs-1.0.scm \ ! contrib/script-fu/tuxracer-save-as-rgbs-1.1.scm |
From: Jasmin P. <jf...@us...> - 2000-10-02 20:18:46
|
Update of /cvsroot/tuxracer/tuxracer In directory slayer.i.sourceforge.net:/tmp/cvs-serv20068 Modified Files: configure.in Log Message: Removed tools directory Makefiles Index: configure.in =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/configure.in,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -r1.21 -r1.22 *** configure.in 2000/10/01 20:07:09 1.21 --- configure.in 2000/10/02 20:18:42 1.22 *************** *** 177,179 **** AC_SUBST(TUXRACER_EXTRA_CXXFLAGS) ! AC_OUTPUT(Makefile src/Makefile tools/Makefile tools/txf/Makefile) --- 177,179 ---- AC_SUBST(TUXRACER_EXTRA_CXXFLAGS) ! AC_OUTPUT(Makefile src/Makefile) |
From: Jasmin P. <jf...@us...> - 2000-10-02 20:17:02
|
Update of /cvsroot/tuxracer/tuxracer/src In directory slayer.i.sourceforge.net:/tmp/cvs-serv18881 Modified Files: main.c Log Message: Made sure saved games module is initialized before tux is loaded Index: main.c =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/src/main.c,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -r1.27 -r1.28 *** main.c 2000/10/01 15:14:28 1.27 --- main.c 2000/10/02 20:16:58 1.28 *************** *** 328,331 **** --- 328,332 ---- + init_saved_games(); load_tux(); init_textures(); *************** *** 335,339 **** init_ui_manager(); init_course_manager(); - init_saved_games(); init_joystick(); --- 336,339 ---- |
From: Jasmin P. <jf...@us...> - 2000-10-02 04:24:22
|
Update of /cvsroot/tuxracer/tuxracer/src In directory slayer.i.sourceforge.net:/tmp/cvs-serv15301 Modified Files: race_select.c Log Message: Removed "cheat" key. Index: race_select.c =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/src/race_select.c,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -r1.13 -r1.14 *** race_select.c 2000/10/01 19:55:39 1.13 --- race_select.c 2000/10/02 04:24:19 1.14 *************** *** 1178,1191 **** } - START_KEYBOARD_CB( win_race_key_cb ) - { - if ( g_game.practicing ) return; - if ( cup_complete ) return; - - update_for_won_race(); - update_button_enabled_states(); - } - END_KEYBOARD_CB - /*---------------------------------------------------------------------------*/ --- 1178,1181 ---- *************** *** 1304,1310 **** int status = 0; - status |= - add_keymap_entry( RACE_SELECT, - FIXED_KEY, "z", NULL, win_race_key_cb ); status |= add_keymap_entry( RACE_SELECT, --- 1294,1297 ---- |
From: Jasmin P. <jf...@us...> - 2000-10-02 04:23:29
|
Update of /cvsroot/tuxracer/tuxracer/src In directory slayer.i.sourceforge.net:/tmp/cvs-serv14391 Modified Files: ui_snow.c Log Message: - Added proper initialization check - Added maximum push velocity Index: ui_snow.c =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/src/ui_snow.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** ui_snow.c 2000/10/01 19:59:56 1.2 --- ui_snow.c 2000/10/02 04:23:25 1.3 *************** *** 37,41 **** #define PUSH_DIST_DECAY 100 #define PUSH_FACTOR 0.5 ! #define MAX_PUSH_FORCE 100 #define WIND_FORCE 0.03 #define AIR_DRAG 0.4 --- 37,41 ---- #define PUSH_DIST_DECAY 100 #define PUSH_FACTOR 0.5 ! #define MAX_PUSH_FORCE 5 #define WIND_FORCE 0.03 #define AIR_DRAG 0.4 *************** *** 60,63 **** --- 60,64 ---- static point2d_t last_push_position; static scalar_t last_update_time = -1; + static bool_t push_position_initialized = False; static scalar_t frand() *************** *** 119,123 **** push_timestep = 0; ! if ( last_update_time > 0 ) { push_vector.x = push_position.x - last_push_position.x; push_vector.y = push_position.y - last_push_position.y; --- 120,124 ---- push_timestep = 0; ! if ( push_position_initialized ) { push_vector.x = push_position.x - last_push_position.x; push_vector.y = push_position.y - last_push_position.y; *************** *** 274,277 **** --- 275,279 ---- pos.y/(scalar_t)yres ); last_push_position = push_position; + push_position_initialized = True; } *************** *** 285,288 **** --- 287,294 ---- push_position = make_point2d( pos.x/(scalar_t)xres, pos.y/(scalar_t)yres ); + if ( !push_position_initialized ) { + last_push_position = push_position; + } + push_position_initialized = True; } |
From: Jasmin P. <jf...@us...> - 2000-10-02 01:25:21
|
Update of /cvsroot/tuxracer/tuxracer/src In directory slayer.i.sourceforge.net:/tmp/cvs-serv18900 Modified Files: game_config.c Log Message: - On Win32 options file is now options.txt - Tweaks to options file comments Index: game_config.c =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/src/game_config.c,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -r1.36 -r1.37 *** game_config.c 2000/10/01 19:57:08 1.36 --- game_config.c 2000/10/02 01:25:17 1.37 *************** *** 77,81 **** #if defined( WIN32 ) # define CONFIG_DIR "config" ! # define CONFIG_FILE "options" #else # define CONFIG_DIR ".tuxracer" --- 77,81 ---- #if defined( WIN32 ) # define CONFIG_DIR "config" ! # define CONFIG_FILE "options.txt" #else # define CONFIG_DIR ".tuxracer" *************** *** 525,529 **** "# 0: Modified Euler (fastest but least accurate)\n" "# 1: Runge-Kutta (2,3)\n" ! "# 2: Runge-Kutta (4,5) (slowest but most accurate)\n" ); INIT_PARAM_STRING( --- 525,529 ---- "# 0: Modified Euler (fastest but least accurate)\n" "# 1: Runge-Kutta (2,3)\n" ! "# 2: Runge-Kutta (4,5) (slowest but most accurate)" ); INIT_PARAM_STRING( *************** *** 936,941 **** fprintf( config_stream, "# Tux Racer " VERSION " configuration file\n" - "#\n" - "# Note: This file is overwritten each time Tux Racer is run.\n" "#\n" ); --- 936,939 ---- |
From: Jasmin P. <jf...@us...> - 2000-10-02 01:15:21
|
Update of /cvsroot/tuxracer/tuxracer/src In directory slayer.i.sourceforge.net:/tmp/cvs-serv10312 Modified Files: save.c Log Message: Removed warning when config directory can't be read since this is normal the first time program is run. Index: save.c =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/src/save.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** save.c 2000/09/29 04:15:50 1.4 --- save.c 2000/10/02 01:15:18 1.5 *************** *** 288,294 **** dir_stream = opendir(dir_name); if ( dir_stream == NULL ) { ! print_warning( IMPORTANT_WARNING, ! "Couldn't read directory `%s': %s", ! dir_name, strerror( errno ) ); return; } --- 288,293 ---- dir_stream = opendir(dir_name); if ( dir_stream == NULL ) { ! /* Config dir doesn't exist. Don't print warning since this is a ! normal condition the first time the program is run. */ return; } |
From: Jasmin P. <jf...@us...> - 2000-10-02 01:03:53
|
Update of /cvsroot/tuxracer/tuxracer In directory slayer.i.sourceforge.net:/tmp/cvs-serv31287 Modified Files: AUTHORS Log Message: Updated for 0.60 release. Index: AUTHORS =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/AUTHORS,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** AUTHORS 2000/08/15 02:41:31 1.8 --- AUTHORS 2000/10/02 01:03:50 1.9 *************** *** 1,17 **** ! Active Development Team: ! ------------------------ ! Jasmin F. Patry <jf...@cg...> ! * Game creator and developer ! Eric Hall <eh...@cg...> ! * Developer ! Mark Riddell <mrr...@cg...> ! * Designer, Artist ! Past Contributors: ! ------------------ Alan Levy <ala...@pc...> ! * Snowy mountain backdrops used with permission (http://www.pcug.org.au/~alanlevy/) --- 1,29 ---- ! Tux Racer is a Sunspire Studios production. ! http://www.sunspirestudios.com ! Core Development Team (alphabetical order): ! ------------------------------------------- ! Patrick Gilhuly <pog...@su...> ! * Programmer ! Eric Hall <eh...@su...> ! * Programmer ! Rick Knowles <rdk...@su...> ! * Designer, artist ! ! Vincent Ma <vm...@su...> ! * Programmer ! ! Jasmin Patry <jf...@su...> ! * Game creator and programmer ! ! Mark Riddell <mrr...@su...> ! * Designer, artist ! ! Past Contributors (chronological order): ! ---------------------------------------- Alan Levy <ala...@pc...> ! * Snowy mountain backdrops in versions < 0.60 used with permission (http://www.pcug.org.au/~alanlevy/) |
From: Jasmin P. <jf...@us...> - 2000-10-01 21:31:59
|
Update of /cvsroot/tuxracer/tuxracer/src In directory slayer.i.sourceforge.net:/tmp/cvs-serv26544 Modified Files: reset.c Log Message: Fixed bug in reset code in which array would be indexed at -1 if no reset points existed behind player. Index: reset.c =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/src/reset.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** reset.c 2000/09/25 21:21:18 1.7 --- reset.c 2000/10/01 21:31:50 1.8 *************** *** 126,131 **** for ( i = first_reset; i <= last_reset; i++) { if (item_locs[i].ray.pt.z > plyr->pos.z ) { ! if (best_loc == -1 || item_locs[i].ray.pt.z < ! item_locs[best_loc].ray.pt.z){ best_loc = i; } --- 126,132 ---- for ( i = first_reset; i <= last_reset; i++) { if (item_locs[i].ray.pt.z > plyr->pos.z ) { ! if (best_loc == -1 || ! item_locs[i].ray.pt.z < item_locs[best_loc].ray.pt.z) ! { best_loc = i; } *************** *** 133,137 **** } ! if ( item_locs[best_loc].ray.pt.z <= plyr->pos.z ) { get_course_dimensions( &course_width, &course_length ); plyr->pos.x = course_width/2.0; --- 134,142 ---- } ! if ( best_loc == -1 ) { ! get_course_dimensions( &course_width, &course_length ); ! plyr->pos.x = course_width/2.0; ! plyr->pos.z = min(plyr->pos.z + 10, -1.0); ! } else if ( item_locs[best_loc].ray.pt.z <= plyr->pos.z ) { get_course_dimensions( &course_width, &course_length ); plyr->pos.x = course_width/2.0; |
From: Jasmin P. <jf...@us...> - 2000-10-01 20:26:54
|
Update of /cvsroot/tuxracer/tuxracer/src In directory slayer.i.sourceforge.net:/tmp/cvs-serv1346 Added Files: joystick.c joystick.h Log Message: Initial checkin --- NEW FILE --- /* * Tux Racer * Copyright (C) 1999-2000 Jasmin F. Patry * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "tuxracer.h" #include "joystick.h" #if defined( HAVE_SDL ) && defined( HAVE_SDL_JOYSTICKOPEN ) #include "SDL.h" #include "SDL_joystick.h" SDL_Joystick *joystick = NULL; int num_buttons = 0; void init_joystick() { int num_joysticks = 0; char *js_name; num_joysticks = SDL_NumJoysticks(); print_debug( DEBUG_JOYSTICK, "Found %d joysticks", num_joysticks ); if ( num_joysticks == 0 ) { joystick = NULL; return; } js_name = (char*) SDL_JoystickName( 0 ); print_debug( DEBUG_JOYSTICK, "Using joystick `%s'", js_name ); joystick = SDL_JoystickOpen( 0 ); if ( joystick == NULL ) { print_debug( DEBUG_JOYSTICK, "Cannot open joystick" ); return; } num_buttons = SDL_JoystickNumButtons( joystick ); print_debug( DEBUG_JOYSTICK, "Joystick has %d buttons", num_buttons ); } bool_t is_joystick_active() { return (bool_t) ( joystick != NULL ); } void update_joystick() { SDL_JoystickUpdate(); } scalar_t get_joystick_x_axis() { check_assertion( joystick != NULL, "joystick is null" ); return SDL_JoystickGetAxis( joystick, 0 )/32768.0; } scalar_t get_joystick_y_axis() { check_assertion( joystick != NULL, "joystick is null" ); return SDL_JoystickGetAxis( joystick, 1 )/32768.0; } bool_t is_joystick_button_down( int button ) { check_assertion( joystick != NULL, "joystick is null" ); check_assertion( button >= 0, "button is negative" ); if ( button >= num_buttons ) { print_debug( DEBUG_JOYSTICK, "WARNING: State of button %d requested, but " "joystick only has %d buttons", button, num_buttons ); return False; } return (bool_t) SDL_JoystickGetButton( joystick, button ); } bool_t is_joystick_continue_button_down() { if ( joystick == NULL ) { return False; } if ( getparam_joystick_continue_button() < 0 ) { return False; } return is_joystick_button_down( getparam_joystick_continue_button() ); } #else /* Stub functions */ void init_joystick() { } bool_t is_joystick_active() { return False; } void update_joystick() { } scalar_t get_joystick_x_axis() { return 0.0; } scalar_t get_joystick_y_axis() { return 0.0; } bool_t is_joystick_button_down( int button ) { return False; } bool_t is_joystick_continue_button_down() { return False; } #endif /* EOF */ --- NEW FILE --- /* * Tux Racer * Copyright (C) 1999-2000 Jasmin F. Patry * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifdef __cplusplus extern "C" { #endif #ifndef JOYSTICK_H #define JOYSTICK_H 1 #include "tuxracer.h" void init_joystick(); bool_t is_joystick_active(); void update_joystick(); scalar_t get_joystick_x_axis(); scalar_t get_joystick_y_axis(); bool_t is_joystick_button_down( int button ); bool_t is_joystick_continue_button_down(); #endif /* JOYSTICK_H */ #ifdef __cplusplus } /* extern "C" */ #endif /* Emacs Customizations ;;; Local Variables: *** ;;; c-basic-offset:0 *** ;;; End: *** */ /* EOF */ |
From: Jasmin P. <jf...@us...> - 2000-10-01 20:07:12
|
Update of /cvsroot/tuxracer/tuxracer In directory slayer.i.sourceforge.net:/tmp/cvs-serv16171 Modified Files: configure.in Log Message: Added check for SDL joystick support. Index: configure.in =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/configure.in,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -r1.20 -r1.21 *** configure.in 2000/09/30 19:15:39 1.20 --- configure.in 2000/10/01 20:07:09 1.21 *************** *** 92,95 **** --- 92,98 ---- LIBS="$LIBS $SDL_LIBS" + dnl Check for Joystick Support in SDL + AC_CHECK_FUNCS( SDL_JoystickOpen ) + dnl Check for SDL_mixer AC_CHECK_LIB(SDL_mixer, Mix_OpenAudio, TUXRACER_EXTRA_COMPILEFLAGS="$TUXRACER_EXTRA_COMPILEFLAGS -DHAVE_SDL_MIXER=1"; LIBS="-lSDL_mixer $LIBS") |
From: Jasmin P. <jf...@us...> - 2000-10-01 19:59:59
|
Update of /cvsroot/tuxracer/tuxracer/src In directory slayer.i.sourceforge.net:/tmp/cvs-serv10399 Modified Files: ui_mgr.c ui_snow.c ui_snow.h Log Message: Added generation of snow particles using middle and right mouse buttons. Index: ui_mgr.c =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/src/ui_mgr.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** ui_mgr.c 2000/10/01 15:17:12 1.4 --- ui_mgr.c 2000/10/01 19:59:56 1.5 *************** *** 37,40 **** --- 37,43 ---- static char key_buffer[12]; /* enough to hold a pointer in hex */ static point2d_t cursor_pos = { 0, 0 }; + static bool_t left_mouse_button_down = False; + static bool_t middle_mouse_button_down = False; + static bool_t right_mouse_button_down = False; #define OFFSET_AMT 0.0; *************** *** 432,435 **** --- 435,448 ---- } + if ( button == GLUT_LEFT_BUTTON ) { + left_mouse_button_down = ( state == GLUT_DOWN ); + } + if ( button == GLUT_MIDDLE_BUTTON ) { + middle_mouse_button_down = ( state == GLUT_DOWN ); + } + if ( button == GLUT_RIGHT_BUTTON ) { + right_mouse_button_down = ( state == GLUT_DOWN ); + } + ui_check_dirty(); } *************** *** 459,463 **** /* Update UI snow */ if ( getparam_ui_snow() ) { ! push_ui_snow( cursor_pos ); } --- 472,484 ---- /* Update UI snow */ if ( getparam_ui_snow() ) { ! if ( right_mouse_button_down ) { ! make_ui_snow( cursor_pos ); ! reset_ui_snow_cursor_pos( cursor_pos ); ! } else if ( middle_mouse_button_down ) { ! make_ui_snow( cursor_pos ); ! push_ui_snow( cursor_pos ); ! } else { ! push_ui_snow( cursor_pos ); ! } } Index: ui_snow.c =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/src/ui_snow.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** ui_snow.c 2000/10/01 15:15:13 1.1 --- ui_snow.c 2000/10/01 19:59:56 1.2 *************** *** 27,38 **** #include "textures.h" #include "ui_mgr.h" ! #define NUM_PARTICLES 400 #define GRAVITY_FACTOR 0.015 #define BASE_VELOCITY 0.05 #define VELOCITY_RANGE 0.02 ! #define PUSH_DECAY_FACTOR 0.8 #define PUSH_DIST_DECAY 100 ! #define PUSH_FACTOR 1.0 #define WIND_FORCE 0.03 #define AIR_DRAG 0.4 --- 27,41 ---- #include "textures.h" #include "ui_mgr.h" + #include "loop.h" ! #define MAX_NUM_PARTICLES 10000 ! #define BASE_NUM_PARTICLES 400 #define GRAVITY_FACTOR 0.015 #define BASE_VELOCITY 0.05 #define VELOCITY_RANGE 0.02 ! #define PUSH_DECAY_TIME_CONSTANT 0.2 #define PUSH_DIST_DECAY 100 ! #define PUSH_FACTOR 0.5 ! #define MAX_PUSH_FORCE 100 #define WIND_FORCE 0.03 #define AIR_DRAG 0.4 *************** *** 45,49 **** typedef struct _particle_t { point2d_t pt; ! vector2d_t size; vector2d_t vel; point2d_t tex_min; --- 48,52 ---- typedef struct _particle_t { point2d_t pt; ! scalar_t size; vector2d_t vel; point2d_t tex_min; *************** *** 51,61 **** } particle_t; ! static particle_t particles[NUM_PARTICLES]; ! static GLfloat particle_colour[4] = { 1, 1, 1, 0.5 }; ! static point2d_t push_position; ! static vector2d_t push_vector; ! static bool_t last_push_set; ! static scalar_t last_push_time; ! static scalar_t push_timestep; static scalar_t frand() --- 54,63 ---- } particle_t; ! static particle_t particles[MAX_NUM_PARTICLES]; ! static int num_particles = BASE_NUM_PARTICLES; ! static GLfloat particle_colour[4] = { 1, 1, 1, 0.4 }; ! static point2d_t push_position = {0, 0}; ! static point2d_t last_push_position; ! static scalar_t last_update_time = -1; static scalar_t frand() *************** *** 64,101 **** } ! void init_ui_snow( void ) { scalar_t p_dist; - int i; int type; ! for( i=0; i<NUM_PARTICLES; i++) { ! particles[i].pt.x = frand(); ! particles[i].pt.y = frand(); ! p_dist = frand(); ! particles[i].size.x = particles[i].size.y = ! PARTICLE_MIN_SIZE + (1.0 - p_dist)*PARTICLE_SIZE_RANGE; ! particles[i].vel.x = 0; ! particles[i].vel.y = -BASE_VELOCITY-p_dist*VELOCITY_RANGE; ! type = (int) (frand() * (4.0 - EPS)); ! if (type == 0) { ! particles[i].tex_min = make_point2d( 0.0, 0.0 ); ! particles[i].tex_max = make_point2d( 0.5, 0.5 ); ! } else if (type == 1) { ! particles[i].tex_min = make_point2d( 0.5, 0.0 ); ! particles[i].tex_max = make_point2d( 1.0, 0.5 ); ! } else if (type == 2) { ! particles[i].tex_min = make_point2d( 0.5, 0.5 ); ! particles[i].tex_max = make_point2d( 1.0, 1.0 ); ! } else { ! particles[i].tex_min = make_point2d( 0.0, 0.5 ); ! particles[i].tex_max = make_point2d( 0.5, 1.0 ); ! } } ! push_position = make_point2d( 0.0, 0.0 ); ! push_vector.x = 0.0; ! push_vector.y = 0.0; ! last_push_set = False; } --- 66,104 ---- } ! static void make_particle( int i, scalar_t x, scalar_t y ) { scalar_t p_dist; int type; ! particles[i].pt.x = x; ! particles[i].pt.y = y; ! p_dist = frand(); ! particles[i].size = PARTICLE_MIN_SIZE + (1.0 - p_dist)*PARTICLE_SIZE_RANGE; ! particles[i].vel.x = 0; ! particles[i].vel.y = -BASE_VELOCITY-p_dist*VELOCITY_RANGE; ! type = (int) (frand() * (4.0 - EPS)); ! if (type == 0) { ! particles[i].tex_min = make_point2d( 0.0, 0.0 ); ! particles[i].tex_max = make_point2d( 0.5, 0.5 ); ! } else if (type == 1) { ! particles[i].tex_min = make_point2d( 0.5, 0.0 ); ! particles[i].tex_max = make_point2d( 1.0, 0.5 ); ! } else if (type == 2) { ! particles[i].tex_min = make_point2d( 0.5, 0.5 ); ! particles[i].tex_max = make_point2d( 1.0, 1.0 ); ! } else { ! particles[i].tex_min = make_point2d( 0.0, 0.5 ); ! particles[i].tex_max = make_point2d( 0.5, 1.0 ); } ! } ! void init_ui_snow( void ) ! { ! int i; ! ! for( i=0; i<num_particles; i++) { ! make_particle( i, frand(), frand() ); ! } ! push_position = make_point2d( 0.0, 0.0 ); } *************** *** 104,115 **** vector2d_t *v, f; point2d_t *pt; ! vector2d_t *size; scalar_t dist_from_push, p_dist; int i; ! for ( i=0; i<NUM_PARTICLES; i++) { pt = &particles[i].pt; v = &particles[i].vel; ! size = &particles[i].size; f.x = 0; --- 107,134 ---- vector2d_t *v, f; point2d_t *pt; ! scalar_t size; scalar_t dist_from_push, p_dist; + vector2d_t push_vector; int i; + scalar_t push_timestep, time; + + time = get_clock_time(); ! push_vector.x = 0; ! push_vector.y = 0; ! push_timestep = 0; ! ! if ( last_update_time > 0 ) { ! push_vector.x = push_position.x - last_push_position.x; ! push_vector.y = push_position.y - last_push_position.y; ! push_timestep = time - last_update_time; ! } ! last_push_position = push_position; ! last_update_time = time; ! ! for ( i=0; i<num_particles; i++) { pt = &particles[i].pt; v = &particles[i].vel; ! size = particles[i].size; f.x = 0; *************** *** 120,132 **** pow((pt->y - push_position.y), 2)); if ( push_timestep > 0 ) { ! f.x += (PUSH_FACTOR * ! push_vector.x / push_timestep / ! (PUSH_DIST_DECAY*dist_from_push + 1)) * ! size->x/PARTICLE_SIZE_RANGE; ! f.y += (PUSH_FACTOR * ! push_vector.y / push_timestep / ! (PUSH_DIST_DECAY*dist_from_push + 1)) * ! size->y/PARTICLE_SIZE_RANGE; } --- 139,155 ---- pow((pt->y - push_position.y), 2)); if ( push_timestep > 0 ) { ! f.x = PUSH_FACTOR * push_vector.x / push_timestep; ! f.y = PUSH_FACTOR * push_vector.y / push_timestep; ! ! f.x = min( MAX_PUSH_FORCE, f.x ); ! f.x = max( -MAX_PUSH_FORCE, f.x ); ! f.y = min( MAX_PUSH_FORCE, f.y ); ! f.y = max( -MAX_PUSH_FORCE, f.y ); ! ! f.x *= 1.0/(PUSH_DIST_DECAY*dist_from_push + 1) * ! size/PARTICLE_SIZE_RANGE; ! f.y *= 1.0/(PUSH_DIST_DECAY*dist_from_push + 1) * ! size/PARTICLE_SIZE_RANGE; } *************** *** 138,154 **** /* Update position */ ! pt->x += v->x * time_step * ( size->x / PARTICLE_SIZE_RANGE ); ! pt->y += v->y * time_step * ( size->y / PARTICLE_SIZE_RANGE ); - if (pt->y < -0.05) { - pt->x = frand(); - pt->y = 1+frand()*BASE_VELOCITY; - p_dist = frand(); - size->x = size->y = PARTICLE_MIN_SIZE + - ( 1.0 - p_dist ) * PARTICLE_SIZE_RANGE; - v->x = 0; - v->y = -BASE_VELOCITY-p_dist*VELOCITY_RANGE; - } - if ( pt->x < 0 ) { pt->x = 1; --- 161,167 ---- /* Update position */ ! pt->x += v->x * time_step * ( size / PARTICLE_SIZE_RANGE ); ! pt->y += v->y * time_step * ( size / PARTICLE_SIZE_RANGE ); if ( pt->x < 0 ) { pt->x = 1; *************** *** 156,163 **** pt->x = 0.0; } } ! push_vector.x *= PUSH_DECAY_FACTOR; ! push_vector.y *= PUSH_DECAY_FACTOR; } --- 169,204 ---- pt->x = 0.0; } + } + /* Kill off & regenerate particles */ + for (i=0; i<num_particles; i++) { + particle_t *p = &particles[i]; + + if (p->pt.y < -0.05) { + /* If we have an excess of particles, kill off with + 50% probability */ + if ( num_particles > BASE_NUM_PARTICLES && frand() > 0.5 ) { + /* Delete the particle */ + *p = particles[num_particles-1]; + num_particles -= 1; + } else { + p->pt.x = frand(); + p->pt.y = 1+frand()*BASE_VELOCITY; + p_dist = frand(); + p->size = PARTICLE_MIN_SIZE + + ( 1.0 - p_dist ) * PARTICLE_SIZE_RANGE; + p->vel.x = 0; + p->vel.y = -BASE_VELOCITY-p_dist*VELOCITY_RANGE; + } + } } ! ! if ( time_step < PUSH_DECAY_TIME_CONSTANT ) { ! push_vector.x *= 1.0 - time_step/PUSH_DECAY_TIME_CONSTANT; ! push_vector.y *= 1.0 - time_step/PUSH_DECAY_TIME_CONSTANT; ! } else { ! push_vector.x = 0.0; ! push_vector.y = 0.0; ! } } *************** *** 167,171 **** char *binding; point2d_t *pt, *tex_min, *tex_max; ! vector2d_t *size; scalar_t xres, yres; int i; --- 208,212 ---- char *binding; point2d_t *pt, *tex_min, *tex_max; ! scalar_t size; scalar_t xres, yres; int i; *************** *** 195,203 **** glPushMatrix(); { ! glLoadIdentity(); ! ! for ( i=0; i<NUM_PARTICLES; i++) { pt = &particles[i].pt; ! size = &particles[i].size; tex_min = &particles[i].tex_min; tex_max = &particles[i].tex_max; --- 236,242 ---- glPushMatrix(); { ! for ( i=0; i<num_particles; i++) { pt = &particles[i].pt; ! size = particles[i].size; tex_min = &particles[i].tex_min; tex_max = &particles[i].tex_max; *************** *** 210,218 **** glVertex2f( 0, 0 ); glTexCoord2f( tex_max->x, tex_min->y ); ! glVertex2f( size->x, 0 ); glTexCoord2f( tex_max->x, tex_max->y ); ! glVertex2f( size->x, size->y ); glTexCoord2f( tex_min->x, tex_max->y ); ! glVertex2f( 0, size->y ); } glEnd(); --- 249,257 ---- glVertex2f( 0, 0 ); glTexCoord2f( tex_max->x, tex_min->y ); ! glVertex2f( size, 0 ); glTexCoord2f( tex_max->x, tex_max->y ); ! glVertex2f( size, size ); glTexCoord2f( tex_min->x, tex_max->y ); ! glVertex2f( 0, size ); } glEnd(); *************** *** 225,248 **** } void push_ui_snow( point2d_t pos ) { scalar_t xres, yres; - point2d_t current_pos; xres = getparam_x_resolution(); yres = getparam_y_resolution(); ! current_pos = make_point2d( pos.x/(scalar_t)xres, ! pos.y/(scalar_t)yres ); ! if (last_push_set) { ! push_vector.x = current_pos.x - push_position.x; ! push_vector.y = current_pos.y - push_position.y; ! push_timestep = g_game.secs_since_start - last_push_time; ! } else { ! push_timestep = 0; ! } ! last_push_time = g_game.secs_since_start; ! push_position = current_pos; ! last_push_set = True; } --- 264,300 ---- } + void + reset_ui_snow_cursor_pos( point2d_t pos ) + { + scalar_t xres, yres; + + xres = getparam_x_resolution(); + yres = getparam_y_resolution(); + push_position = make_point2d( pos.x/(scalar_t)xres, + pos.y/(scalar_t)yres ); + last_push_position = push_position; + } + void push_ui_snow( point2d_t pos ) { scalar_t xres, yres; xres = getparam_x_resolution(); yres = getparam_y_resolution(); ! push_position = make_point2d( pos.x/(scalar_t)xres, ! pos.y/(scalar_t)yres ); ! } ! ! void ! make_ui_snow( point2d_t pos ) { ! scalar_t xres, yres; ! xres = getparam_x_resolution(); ! yres = getparam_y_resolution(); ! ! if ( num_particles < MAX_NUM_PARTICLES ) { ! make_particle( num_particles, pos.x/xres, pos.y/yres ); ! num_particles++; ! } } Index: ui_snow.h =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/src/ui_snow.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** ui_snow.h 2000/10/01 15:15:13 1.1 --- ui_snow.h 2000/10/01 19:59:56 1.2 *************** *** 30,33 **** --- 30,35 ---- void push_ui_snow( point2d_t pos ); void draw_ui_snow( void ); + void make_ui_snow( point2d_t pos ); + void reset_ui_snow_cursor_pos( point2d_t pos ); #endif /* _UI_SNOW_H_ */ |
From: Jasmin P. <jf...@us...> - 2000-10-01 19:58:06
|
Update of /cvsroot/tuxracer/tuxracer/src In directory slayer.i.sourceforge.net:/tmp/cvs-serv8876 Modified Files: splash_screen.c Log Message: Added snow to splash screen. Index: splash_screen.c =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/src/splash_screen.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** splash_screen.c 2000/10/01 15:18:45 1.6 --- splash_screen.c 2000/10/01 19:58:03 1.7 *************** *** 28,31 **** --- 28,32 ---- #include "multiplayer.h" #include "ui_mgr.h" + #include "ui_snow.h" #define COORD_OFFSET_AMT -0.5 *************** *** 58,63 **** void splash_screen_init() { glutDisplayFunc( main_loop ); ! glutIdleFunc( NULL ); glutReshapeFunc( reshape ); glutMouseFunc( splash_screen_mouse_func ); --- 59,66 ---- void splash_screen_init() { + init_ui_snow(); + glutDisplayFunc( main_loop ); ! glutIdleFunc( main_loop ); glutReshapeFunc( reshape ); glutMouseFunc( splash_screen_mouse_func ); *************** *** 70,109 **** } - static void setup_perspective() - { - scalar_t offset = COORD_OFFSET_AMT; - set_gl_options( SPLASH_SCREEN ); - - glMatrixMode( GL_PROJECTION ); - glLoadIdentity(); - glOrtho( offset, getparam_x_resolution() + offset, - offset, getparam_y_resolution() + offset, -1.0, 1.0 ); - glMatrixMode( GL_MODELVIEW ); - glLoadIdentity(); - } - - static void draw_background() - { - point2d_t ll, ur; - scalar_t z = -1.0; - - ll.x = COORD_OFFSET_AMT; - ll.y = COORD_OFFSET_AMT; - ur.x = getparam_x_resolution() + COORD_OFFSET_AMT; - ur.y = getparam_y_resolution() + COORD_OFFSET_AMT; - - glColor3f( background_colour.r, - background_colour.g, - background_colour.b ); - - glBegin( GL_QUADS ); - { - glVertex3f( ll.x, ll.y, z ); - glVertex3f( ur.x, ll.y, z ); - glVertex3f( ur.x, ur.y, z ); - glVertex3f( ll.x, ur.y, z ); - } - glEnd(); - } static void draw_logo() --- 73,76 ---- *************** *** 113,117 **** int yoffsets[4] = { 0, -1, 0, -1 }; point2d_t ll, ur; - scalar_t z = -1.0; GLint w, h; int i; --- 80,83 ---- *************** *** 125,128 **** --- 91,96 ---- } + glColor4f( 1.0, 1.0, 1.0, 1.0 ); + for (i=0; i<4; i++) { glBindTexture( GL_TEXTURE_2D, texid[i] ); *************** *** 136,151 **** ur.y = ll.y + h; - glColor3f( 1.0, 1.0, 1.0 ); glBegin( GL_QUADS ); { glTexCoord2f( 0.0, 0.0 ); ! glVertex3f( ll.x, ll.y, z ); glTexCoord2f( 1.0, 0.0 ); ! glVertex3f( ur.x, ll.y, z ); glTexCoord2f( 1.0, 1.0 ); ! glVertex3f( ur.x, ur.y, z ); glTexCoord2f( 0.0, 1.0 ); ! glVertex3f( ll.x, ur.y, z ); } glEnd(); --- 104,118 ---- ur.y = ll.y + h; glBegin( GL_QUADS ); { glTexCoord2f( 0.0, 0.0 ); ! glVertex2f( ll.x, ll.y ); glTexCoord2f( 1.0, 0.0 ); ! glVertex2f( ur.x, ll.y ); glTexCoord2f( 1.0, 1.0 ); ! glVertex2f( ur.x, ur.y ); glTexCoord2f( 0.0, 1.0 ); ! glVertex2f( ll.x, ur.y ); } glEnd(); *************** *** 162,171 **** clear_rendering_context(); ! /* Set up a orthogonal perspective matrix */ ! setup_perspective(); ! set_gl_options( SPLASH_SCREEN ); ! draw_background(); draw_logo(); --- 129,140 ---- clear_rendering_context(); ! set_gl_options( GUI ); ! ui_setup_display(); ! if (getparam_ui_snow()) { ! update_ui_snow( time_step, False ); ! draw_ui_snow(); ! } draw_logo(); |
From: Jasmin P. <jf...@us...> - 2000-10-01 19:57:45
|
Update of /cvsroot/tuxracer/tuxracer/src In directory slayer.i.sourceforge.net:/tmp/cvs-serv8564 Modified Files: game_type_select.c Log Message: Include joystick.h for future joystick support. Index: game_type_select.c =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/src/game_type_select.c,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** game_type_select.c 2000/10/01 18:00:02 1.8 --- game_type_select.c 2000/10/01 19:57:42 1.9 *************** *** 30,33 **** --- 30,34 ---- #include "multiplayer.h" #include "ui_snow.h" + #include "joystick.h" static button_t *enter_event_btn = NULL; |
From: Jasmin P. <jf...@us...> - 2000-10-01 19:57:11
|
Update of /cvsroot/tuxracer/tuxracer/src In directory slayer.i.sourceforge.net:/tmp/cvs-serv8089 Modified Files: game_config.c game_config.h Log Message: Added parameter for joystick continue button mapping. Index: game_config.c =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/src/game_config.c,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -r1.35 -r1.36 *** game_config.c 2000/10/01 15:13:03 1.35 --- game_config.c 2000/10/01 19:57:08 1.36 *************** *** 368,371 **** --- 368,372 ---- struct param joystick_jump_button; struct param joystick_trick_button; + struct param joystick_continue_button; struct param no_audio; *************** *** 587,594 **** --- 588,600 ---- joystick_jump_button, 3 , "# Joystick button for jumping (numbering starts at 0)" ); + INIT_PARAM_INT( joystick_trick_button, 1 , "# Joystick button for doing tricks (numbering starts at 0)" ); + INIT_PARAM_INT( + joystick_continue_button, 0 , + "# Joystick button for moving past intro, paused, and \n" + "# game over screens (numbering starts at 0)" ); INIT_PARAM_INT( *************** *** 732,735 **** --- 738,742 ---- FN_PARAM_INT( joystick_paddle_button ) FN_PARAM_INT( joystick_trick_button ) + FN_PARAM_INT( joystick_continue_button ) FN_PARAM_INT( fov ) FN_PARAM_STRING( debug ) Index: game_config.h =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/src/game_config.h,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -r1.23 -r1.24 *** game_config.h 2000/10/01 15:13:03 1.23 --- game_config.h 2000/10/01 19:57:08 1.24 *************** *** 122,125 **** --- 122,127 ---- PROTO_PARAM_INT( joystick_trick_button ); + PROTO_PARAM_INT( joystick_continue_button ); + PROTO_PARAM_INT( fov ); |
From: Jasmin P. <jf...@us...> - 2000-10-01 19:56:21
|
Update of /cvsroot/tuxracer/tuxracer/src In directory slayer.i.sourceforge.net:/tmp/cvs-serv7291 Modified Files: racing.c tuxracer.h Log Message: Added support for analog joysticks for turning. Index: racing.c =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/src/racing.c,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -r1.31 -r1.32 *** racing.c 2000/10/01 15:17:55 1.31 --- racing.c 2000/10/01 19:56:18 1.32 *************** *** 133,136 **** --- 133,137 ---- bool_t joy_left_turn = False; bool_t joy_right_turn = False; + scalar_t joy_turn_fact = 0.0; bool_t joy_paddling = False; bool_t joy_braking = False; *************** *** 165,168 **** --- 166,172 ---- + /* + * Joystick + */ if ( is_joystick_active() ) { scalar_t joy_x; *************** *** 176,181 **** --- 180,187 ---- if ( joy_x > 0.1 ) { joy_right_turn = True; + joy_turn_fact = joy_x; } else if ( joy_x < -0.1 ) { joy_left_turn = True; + joy_turn_fact = joy_x; } *************** *** 185,189 **** } if ( !joy_braking ) { ! joy_braking = joy_y > 0.1; } --- 191,195 ---- } if ( !joy_braking ) { ! joy_braking = joy_y > 0.5; } *************** *** 193,197 **** } if ( !joy_paddling ) { ! joy_paddling = joy_y < -0.1; } --- 199,203 ---- } if ( !joy_paddling ) { ! joy_paddling = joy_y < -0.5; } *************** *** 270,274 **** if ( ( left_turn || joy_left_turn ) ^ (right_turn || joy_right_turn ) ) { bool_t turning_left = left_turn || joy_left_turn; ! plyr->control.turn_fact = (turning_left?-1:1); plyr->control.turn_animation += (turning_left?-1:1) * 0.15 * time_step / 0.05; --- 276,286 ---- if ( ( left_turn || joy_left_turn ) ^ (right_turn || joy_right_turn ) ) { bool_t turning_left = left_turn || joy_left_turn; ! ! if ( joy_left_turn || joy_right_turn ) { ! plyr->control.turn_fact = joy_turn_fact; ! } else { ! plyr->control.turn_fact = (turning_left?-1:1); ! } ! plyr->control.turn_animation += (turning_left?-1:1) * 0.15 * time_step / 0.05; Index: tuxracer.h =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/src/tuxracer.h,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -r1.26 -r1.27 *** tuxracer.h 2000/10/01 15:14:28 1.26 --- tuxracer.h 2000/10/01 19:56:18 1.27 *************** *** 216,220 **** typedef struct { control_mode_t mode; /* control mode */ ! int turn_fact; /* turning {-1,0,1} */ scalar_t turn_animation; /* animation step [-1,1] */ bool_t is_braking; /* is player braking? */ --- 216,220 ---- typedef struct { control_mode_t mode; /* control mode */ ! scalar_t turn_fact; /* turning [-1,1] */ scalar_t turn_animation; /* animation step [-1,1] */ bool_t is_braking; /* is player braking? */ |
From: Jasmin P. <jf...@us...> - 2000-10-01 19:55:44
|
Update of /cvsroot/tuxracer/tuxracer/src In directory slayer.i.sourceforge.net:/tmp/cvs-serv6871 Modified Files: credits.c event_select.c game_over.c intro.c paused.c race_select.c Log Message: Added joystick support to selected screens. Can now press the continue button to move past intro, paused screen, and game over screen. Other screens will have to wait for better joystick infrastructure (need joystick buttonpress callbacks). Index: credits.c =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/src/credits.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** credits.c 2000/10/01 17:58:40 1.4 --- credits.c 2000/10/01 19:55:39 1.5 *************** *** 40,43 **** --- 40,44 ---- #include "ui_theme.h" #include "ui_snow.h" + #include "joystick.h" #define CREDITS_MAX_Y -140 Index: event_select.c =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/src/event_select.c,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** event_select.c 2000/10/01 18:00:02 1.8 --- event_select.c 2000/10/01 19:55:39 1.9 *************** *** 36,39 **** --- 36,40 ---- #include "save.h" #include "ui_snow.h" + #include "joystick.h" static listbox_t *event_listbox = NULL; Index: game_over.c =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/src/game_over.c,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -r1.18 -r1.19 *** game_over.c 2000/09/26 14:57:16 1.18 --- game_over.c 2000/10/01 19:55:39 1.19 *************** *** 38,45 **** --- 38,56 ---- #include "fonts.h" #include "ui_mgr.h" + #include "joystick.h" + #include "part_sys.h" + #define NEXT_MODE RACE_SELECT + static bool_t aborted = False; static bool_t race_won = False; + static void mouse_cb( int button, int state, int x, int y ) + { + set_game_mode( NEXT_MODE ); + glutPostRedisplay(); + } + + /*---------------------------------------------------------------------------*/ /*! *************** *** 198,204 **** { glutDisplayFunc( main_loop ); ! glutIdleFunc( NULL ); glutReshapeFunc( reshape ); ! glutMouseFunc( ui_event_mouse_func ); glutMotionFunc( ui_event_motion_func ); glutPassiveMotionFunc( ui_event_motion_func ); --- 209,215 ---- { glutDisplayFunc( main_loop ); ! glutIdleFunc( main_loop ); glutReshapeFunc( reshape ); ! glutMouseFunc( mouse_cb ); glutMotionFunc( ui_event_motion_func ); glutPassiveMotionFunc( ui_event_motion_func ); *************** *** 231,234 **** --- 242,257 ---- check_gl_error(); + /* Check joystick */ + if ( is_joystick_active() ) { + update_joystick(); + + if ( is_joystick_continue_button_down() ) + { + set_game_mode( NEXT_MODE ); + glutPostRedisplay(); + return; + } + } + new_frame_for_fps_calc(); *************** *** 239,244 **** setup_fog(); ! update_player_pos( plyr, EPS ); ! update_view( plyr, EPS ); setup_view_frustum( plyr, NEAR_CLIP_DIST, --- 262,267 ---- setup_fog(); ! update_player_pos( plyr, 0 ); ! update_view( plyr, 0 ); setup_view_frustum( plyr, NEAR_CLIP_DIST, *************** *** 254,257 **** --- 277,284 ---- draw_trees(); + if ( getparam_draw_particles() ) { + draw_particles( plyr ); + } + draw_tux(); draw_tux_shadow(); *************** *** 273,277 **** { if ( release ) return; ! set_game_mode( RACE_SELECT ); glutPostRedisplay(); } --- 300,304 ---- { if ( release ) return; ! set_game_mode( NEXT_MODE ); glutPostRedisplay(); } Index: intro.c =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/src/intro.c,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -r1.17 -r1.18 *** intro.c 2000/09/25 14:29:44 1.17 --- intro.c 2000/10/01 19:55:39 1.18 *************** *** 37,41 **** --- 37,56 ---- #include "part_sys.h" #include "course_load.h" + #include "joystick.h" + static void abort_intro( player_data_t *plyr ) { + point2d_t start_pt = get_start_pt(); + + set_game_mode( RACING ); + + plyr->orientation_initialized = False; + plyr->view.initialized = False; + + plyr->pos.x = start_pt.x; + plyr->pos.z = start_pt.y; + + glutPostRedisplay(); + } + void intro_init() { *************** *** 102,105 **** --- 117,130 ---- check_gl_error(); + /* Check joystick */ + if ( is_joystick_active() ) { + update_joystick(); + + if ( is_joystick_continue_button_down() ) { + abort_intro( plyr ); + return; + } + } + new_frame_for_fps_calc(); *************** *** 138,154 **** START_KEYBOARD_CB( intro_cb ) { - point2d_t start_pt = get_start_pt(); - if ( release ) return; ! set_game_mode( RACING ); ! ! plyr->orientation_initialized = False; ! plyr->view.initialized = False; ! ! plyr->pos.x = start_pt.x; ! plyr->pos.z = start_pt.y; ! ! glutPostRedisplay(); } END_KEYBOARD_CB --- 163,169 ---- START_KEYBOARD_CB( intro_cb ) { if ( release ) return; ! abort_intro( plyr ); } END_KEYBOARD_CB Index: paused.c =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/src/paused.c,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -r1.13 -r1.14 *** paused.c 2000/09/26 14:57:44 1.13 --- paused.c 2000/10/01 19:55:39 1.14 *************** *** 39,44 **** --- 39,53 ---- #include "fonts.h" #include "ui_mgr.h" + #include "joystick.h" + #define NEXT_MODE RACING + static void mouse_cb( int button, int state, int x, int y ) + { + set_game_mode( NEXT_MODE ); + glutPostRedisplay(); + } + + /*---------------------------------------------------------------------------*/ /*! *************** *** 87,93 **** { glutDisplayFunc( main_loop ); ! glutIdleFunc( NULL ); glutReshapeFunc( reshape ); ! glutMouseFunc( ui_event_mouse_func ); glutMotionFunc( ui_event_motion_func ); glutPassiveMotionFunc( ui_event_motion_func ); --- 96,102 ---- { glutDisplayFunc( main_loop ); ! glutIdleFunc( main_loop ); glutReshapeFunc( reshape ); ! glutMouseFunc( mouse_cb ); glutMotionFunc( ui_event_motion_func ); glutPassiveMotionFunc( ui_event_motion_func ); *************** *** 105,108 **** --- 114,129 ---- check_gl_error(); + /* Check joystick */ + if ( is_joystick_active() ) { + update_joystick(); + + if ( is_joystick_continue_button_down() ) + { + set_game_mode( NEXT_MODE ); + glutPostRedisplay(); + return; + } + } + new_frame_for_fps_calc(); *************** *** 113,118 **** setup_fog(); ! update_player_pos( plyr, EPS ); ! update_view( plyr, EPS ); setup_view_frustum( plyr, NEAR_CLIP_DIST, --- 134,139 ---- setup_fog(); ! update_player_pos( plyr, 0 ); ! update_view( plyr, 0 ); setup_view_frustum( plyr, NEAR_CLIP_DIST, *************** *** 141,148 **** draw_paused_text(); - reshape( width, height ); - draw_hud( plyr ); glutSwapBuffers(); } --- 162,169 ---- draw_paused_text(); draw_hud( plyr ); + reshape( width, height ); + glutSwapBuffers(); } *************** *** 151,155 **** { if ( release ) return; ! set_game_mode( RACING ); glutPostRedisplay(); } --- 172,176 ---- { if ( release ) return; ! set_game_mode( NEXT_MODE ); glutPostRedisplay(); } Index: race_select.c =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/src/race_select.c,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -r1.12 -r1.13 *** race_select.c 2000/10/01 18:00:02 1.12 --- race_select.c 2000/10/01 19:55:39 1.13 *************** *** 39,42 **** --- 39,43 ---- #include "game_logic_util.h" #include "ui_snow.h" + #include "joystick.h" static textarea_t *desc_ta = NULL; |
From: Jasmin P. <jf...@us...> - 2000-10-01 18:00:07
|
Update of /cvsroot/tuxracer/tuxracer/src In directory slayer.i.sourceforge.net:/tmp/cvs-serv22214 Modified Files: event_select.c game_type_select.c race_select.c Log Message: Tweaked UI snow calls. Index: event_select.c =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/src/event_select.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** event_select.c 2000/10/01 15:12:29 1.7 --- event_select.c 2000/10/01 18:00:02 1.8 *************** *** 357,362 **** point2d_t dummy_pos = {0, 0}; - init_ui_snow(); - glutDisplayFunc( main_loop ); glutIdleFunc( main_loop ); --- 357,360 ---- *************** *** 441,446 **** static void event_select_loop( scalar_t time_step ) { - point2d_t current_mouse_pos; - check_gl_error(); --- 439,442 ---- *************** *** 454,458 **** if (getparam_ui_snow()) { - current_mouse_pos = ui_get_mouse_position(); update_ui_snow( time_step, False ); draw_ui_snow(); --- 450,453 ---- Index: game_type_select.c =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/src/game_type_select.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** game_type_select.c 2000/10/01 15:12:29 1.7 --- game_type_select.c 2000/10/01 18:00:02 1.8 *************** *** 135,140 **** point2d_t dummy_pos = {0, 0}; - init_ui_snow(); - glutDisplayFunc( main_loop ); glutIdleFunc( main_loop ); --- 135,138 ---- *************** *** 181,186 **** static void game_type_select_loop( scalar_t time_step ) { - point2d_t current_mouse_pos; - check_gl_error(); --- 179,182 ---- *************** *** 196,200 **** if (getparam_ui_snow()) { - current_mouse_pos = ui_get_mouse_position(); update_ui_snow( time_step, False ); draw_ui_snow(); --- 192,195 ---- Index: race_select.c =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/src/race_select.c,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -r1.11 -r1.12 *** race_select.c 2000/10/01 15:12:29 1.11 --- race_select.c 2000/10/01 18:00:02 1.12 *************** *** 826,831 **** int i; - init_ui_snow(); - glutDisplayFunc( main_loop ); glutIdleFunc( main_loop ); --- 826,829 ---- |
From: Jasmin P. <jf...@us...> - 2000-10-01 17:58:43
|
Update of /cvsroot/tuxracer/tuxracer/src In directory slayer.i.sourceforge.net:/tmp/cvs-serv21436 Modified Files: credits.c Log Message: - Added UI snow to credits screen Index: credits.c =================================================================== RCS file: /cvsroot/tuxracer/tuxracer/src/credits.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** credits.c 2000/09/29 04:03:32 1.3 --- credits.c 2000/10/01 17:58:40 1.4 *************** *** 39,42 **** --- 39,43 ---- #include "ui_mgr.h" #include "ui_theme.h" + #include "ui_snow.h" #define CREDITS_MAX_Y -140 *************** *** 208,213 **** glEnable( GL_TEXTURE_2D ); - - } --- 209,212 ---- *************** *** 218,223 **** glutReshapeFunc( reshape ); glutMouseFunc( mouse_cb ); ! glutMotionFunc( NULL ); ! glutPassiveMotionFunc( NULL ); y_offset = 0; --- 217,222 ---- glutReshapeFunc( reshape ); glutMouseFunc( mouse_cb ); ! glutMotionFunc( ui_event_motion_func ); ! glutPassiveMotionFunc( ui_event_motion_func ); y_offset = 0; *************** *** 244,248 **** --- 243,254 ---- draw_credits_text( time_step ); + if (getparam_ui_snow()) { + update_ui_snow( time_step, False ); + draw_ui_snow(); + } + ui_draw_menu_decorations(); + + ui_draw(); reshape( width, height ); |