![]() There are also "bad flags" that you should avoid at all costs, including: colorblindness (a fun flag) makes you unable to identify color of other tanks (and hence tell friend from foe), jamming makes your radar useless, obesity makes your tank very large, etc. Some flags are power-ups: for example, jumping lets your tank jump, ricochet (my favorite flag) lets your bullets bounce off of buildings and walls, stealth makes your tank invisible on radar, and many more. Some flags are essentially weapon enhancements: guided missiles, rapid fire, machine gun, laser, and invisible bullet to name a few. Although your goal in the game is to blast the enemy tanks (with the help of your teammates) into smitereens, BZFlag is all about flags as the name implies. If you like multiplayer action games, BZFlag is your dream come true. The game is now an active open-source project maintained by Tim Riker, with many enthusiastic fans and developers who keep improving the codes and adding new features. The game was first developed in 1992 by Chris Schoeneman, a then-college student at Cornell University, for Silicon Graphics (SGI) machines. This would break UDP if a client enabled its UDP connection, but then didn't send any more UDP messages after etnering the game.BZFlag is a great freeware multiplayer 3D tank battle game that has one of the best "Capture the Flag" gameplay I have seen. ![]() Removing code to disable UDP link in addPlayer. Have the C++ bzflag client send MsgUDPLinkEstablished over UDP also, so that observers get incoming messages over UDP too No time to hack at Xinerama now, but it should at least be in BUGS Remove Xinerama from BUGS, since with SDL support in BZFlag this will be unnecessary IMHO this is a little less confusing, but it will really help if I have my way and that menu soon has a "Force feedback" option ) Rename "Force input device" in the input menu to "Active input device", with an "Auto" setting for the default behaviour. The EvdevJoystick driver needs to poll all types of events in one go, and store the results for axes and buttons. Existing drivers weren't bothered by this because their underlying API (SDL, DirectX, etc.) isn't event-driven. These functions are the joystick class's only chance to update internal state, so it would be helpful to have permission to do so. Un-const BzfJoystick::getJoy() and getJoyButtons(). No need to panic yet, this isn't hooked up in the build system yet. ![]() Its axis mapping performs a little better for BZFlag's than SDLs does, but most importantly this paves the way for force feedback support under Linux. It's quite playable so far, but not very well tested. This will compile and linuk EvdevJoystick with bzflag if you're running Linux,Īdding a joystick driver that uses Linux's event devices (/dev/input/event*) directly. The next hopefully harmless step in making EvdevJoystick usable: compiling it. We don't have anything better to try in this case. Or if it was explicitly disabled with BZFLAG_ENABLE_EVDEV=0 in theĪlways use EvdevJoystick if we aren't using SDL, and neither USBJoystick nor XIJoystick are enabled. In SDLPlatformFactory, try to use EvdevJoystick by default, butįall back on SDLJoystick if EvdevJoystick can't find any devices This is the commit that will break everything. Supports "rumble" effects, and ffRumble() to actually start an effect. This adds ffHasRumble(), to query whether the joystick Each function takes responsibility for gracefullyĭoing nothing if stuff will explode, or something.Īdd force feedback support to the abstract BzfJoystick class, and implement If we don't have rumble support, evdev might still get used but it won't report that it has rumble support.Įxplicitly stop the previously playing force feedback effect before sending and playing a new oneĪdd force feedback effects for normal shots and laser shots If we don't have input.h at all, we won't try to use evdev. Have autoconf test for the presence of input.h (HAVE_LINUX_INPUT_H) and whether its rumble support is recent enough to be usable (HAVE_FF_EFFECT_RUMBLE). Let's not set ff_rumble to NULL for no particular reason and make everything all crashy This is also necessary with many devices to fit the buttons into an unsigned long. Map evdev button numbers down to small integers that should actually correspond to what people think of as a button number. If this works, I'll use the same thing in my Gamecube driver )Īdd a 'Force feedback' setting to the Input menu StatCVS - User statistics for micahjd User statistics for micahjdĬombine the strong_motor and weak_motor in a way that hopefully more closely matches the feel of the Logitech Cordless Rumblepad, which the original Linux FF_RUMBLE API seems to have been designed for.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |