Thomas Perl [Fri, 7 Jul 2023 06:45:47 +0000 (7 08:45 +0200)]
Tennix 1.3.4
Thomas Perl [Thu, 29 Jun 2023 11:01:20 +0000 (29 13:01 +0200)]
Tennix 1.3.3
Thomas Perl [Thu, 29 Jun 2023 10:59:06 +0000 (29 12:59 +0200)]
Fix SDL2_rotozoom.h header name
Thomas Perl [Thu, 29 Jun 2023 10:58:59 +0000 (29 12:58 +0200)]
Fix compiler/library detection exit status
Thomas Perl [Wed, 28 Jun 2023 10:05:14 +0000 (28 12:05 +0200)]
Tennix version 1.3.2
Thomas Perl [Tue, 31 Mar 2020 20:01:27 +0000 (31 22:01 +0200)]
Tennix version 1.3.1
Thomas Perl [Mon, 30 Mar 2020 15:29:35 +0000 (30 17:29 +0200)]
Add .gitignore
Thomas Perl [Mon, 30 Mar 2020 15:25:46 +0000 (30 17:25 +0200)]
Fix support for Python 3.8, allow for custom PYTHON3_CONFIG
Thomas Perl [Sun, 22 Mar 2020 14:37:53 +0000 (22 15:37 +0100)]
Python: Ensure string is terminated
Thomas Perl [Sun, 22 Mar 2020 14:31:20 +0000 (22 15:31 +0100)]
Python support: Remove obsolete assertions
Thomas Perl [Sat, 31 Aug 2019 16:55:51 +0000 (31 18:55 +0200)]
Tennix version 1.3.0
Thomas Perl [Sat, 31 Aug 2019 16:53:49 +0000 (31 18:53 +0200)]
Port Python bot support to Python 3
Thomas Perl [Sat, 31 Aug 2019 16:51:06 +0000 (31 18:51 +0200)]
Fix various build errors on recent Ubuntu versions
Thomas Perl [Sat, 31 Aug 2019 16:05:17 +0000 (31 18:05 +0200)]
Fix paths for SDL headers
Thomas Perl [Sat, 31 Aug 2019 16:05:08 +0000 (31 18:05 +0200)]
configure: Rename Mac OS X -> macOS
Thomas Perl [Sat, 31 Aug 2019 16:04:54 +0000 (31 18:04 +0200)]
Fix configure tests for macOS/clang
Thomas Perl [Sun, 16 Apr 2017 21:45:37 +0000 (16 23:45 +0200)]
Tennix version 1.2.1
Thomas Perl [Sun, 16 Apr 2017 21:41:40 +0000 (16 23:41 +0200)]
Fix compiler warnings
Thomas Perl [Sun, 16 Apr 2017 21:40:13 +0000 (16 23:40 +0200)]
Remove unused flag 'building'
Thomas Perl [Sun, 16 Apr 2017 21:38:33 +0000 (16 23:38 +0200)]
Fix FTBFS on architectures where char is unsigned
Based on a patch by John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
from Debian:
https://anonscm.debian.org/cgit/collab-maint/tennix.git/tree/debian/patches/fix_signage_FTBFS.patch
Thomas Perl [Sun, 16 Apr 2017 21:36:29 +0000 (16 23:36 +0200)]
Predictable ordering of tennix.tnx contents
Thomas Perl [Sun, 16 Apr 2017 21:35:05 +0000 (16 23:35 +0200)]
Enable all warnings
Thomas Perl [Sun, 16 Apr 2017 21:33:41 +0000 (16 23:33 +0200)]
Replace 'echo -n' with 'printf'
Thomas Perl [Sun, 16 Apr 2017 21:33:25 +0000 (16 23:33 +0200)]
Add option to disable searching for Python
Thomas Perl [Sun, 16 Apr 2017 21:32:55 +0000 (16 23:32 +0200)]
Avoid redirection of main() on macOS
Thomas Perl [Sun, 28 Jul 2013 02:47:52 +0000 (28 04:47 +0200)]
Rewrite archive utility (command line parsing, C++)
Thomas Perl [Sun, 28 Jul 2013 01:58:42 +0000 (28 03:58 +0200)]
Cleanup Python integration module
Thomas Perl [Sun, 28 Jul 2013 00:16:53 +0000 (28 02:16 +0200)]
Version 1.2.0 with new build/configure system
Andrea Colangelo [Thu, 25 Jul 2013 19:45:41 +0000 (25 21:45 +0200)]
pass LDFLAGS to compiler at link time
Merged from Debian patches (1.1-3).
Andrea Colangelo [Thu, 25 Jul 2013 19:44:18 +0000 (25 21:44 +0200)]
Don't delete ChangeLog when cleaning
Merged from Debian patches (1.1-3).
Thomas Perl [Mon, 28 May 2012 19:17:46 +0000 (28 21:17 +0200)]
Code clean-ups and makefile optimizations
Thomas Perl [Thu, 10 Feb 2011 11:38:50 +0000 (10 12:38 +0100)]
Tennix 1.1 "Classic Championship Tour 2011" released
Updated artwork; re-enabled credits; multiplayer docs
Thomas Perl [Sat, 13 Feb 2010 15:23:14 +0000 (13 16:23 +0100)]
Streamline the archive loading mechanism
Only load the archive once (in the main function)
and pass a reference to the archive object to the
initialization functions for graphics, sound and
input (which will read the data from the archive).
Thomas Perl [Sat, 13 Feb 2010 14:24:33 +0000 (13 15:24 +0100)]
Port archiving tool to C++
Thomas Perl [Sun, 27 Dec 2009 02:16:30 +0000 (27 03:16 +0100)]
Add TODO: Maemo 5 Vibra support
Thomas Perl [Wed, 21 Oct 2009 14:19:47 +0000 (21 16:19 +0200)]
Add N900 Feedback list to TODO
Thomas Perl [Mon, 17 Aug 2009 22:09:54 +0000 (18 00:09 +0200)]
Don't send input events when nothing has changed
This should save bandwidth and speed up on slow links
and machines. Might introduce some bugs when the UDP
packet sent isn't received. Does not matter so much,
because input data often changes, which will lead to
a new packet to be sent.
Thomas Perl [Mon, 17 Aug 2009 21:43:22 +0000 (17 23:43 +0200)]
Apply fixes and documentation notes for Windows builds
Back in February when I was building Tennix on Win32,
there have been some changes (to get Tennix to compile
under mingw32) that have not yet been re-integrated.
This patch fixes the DLLINTERFACE issues on Win32. It
also describes some library linking notes in README.win32.
Thomas Perl [Wed, 5 Aug 2009 13:07:50 +0000 (5 15:07 +0200)]
Only use one sending socket; auto-determine ports
For sending UDP packets, we only need one socket to be
open - both types of packets (input and state) can be
sent through the same socket.
Simplify the configuration of multi-player by setting
the pre-defined ports based on which machine is the
master and which one is the slave. This way, we only
have to specify for each instance the type (slave or
master) and the hostname/ip of the opponent.
Thomas Perl [Wed, 5 Aug 2009 12:54:18 +0000 (5 14:54 +0200)]
Add Mac OS X support for networking; better network code
Make sure that Tennix works without a network connection
and add the necessary libraries to get Tennix with SDL_net
working on Mac OS X.
Thomas Perl [Tue, 4 Aug 2009 23:27:10 +0000 (5 01:27 +0200)]
First cut of multi-player support
And we are proud of it :)
Thomas Perl [Tue, 4 Aug 2009 19:00:06 +0000 (4 21:00 +0200)]
Add support for marshalling GameState + packed values
Thomas Perl [Tue, 4 Aug 2009 17:53:11 +0000 (4 19:53 +0200)]
Split input handling + stepping; type changes in GameState
This is in preparation for better network compatibility.
Thomas Perl [Tue, 4 Aug 2009 17:01:14 +0000 (4 19:01 +0200)]
Sound volume + panning moved into rendering function
Thomas Perl [Tue, 4 Aug 2009 16:55:34 +0000 (4 18:55 +0200)]
Remove dependency on local state in step()
Allows for adding network support easier later.
Thomas Perl [Tue, 4 Aug 2009 16:38:53 +0000 (4 18:38 +0200)]
Move weather settings to Location from GameState
Fog, rain and night mode really belong to a location and
not the whole game state.
Thomas Perl [Tue, 4 Aug 2009 16:10:01 +0000 (4 18:10 +0200)]
Better status message handling in Game-/RenderState
This allows us to strictly split the per-process data from
the real "status" data in the game :)
Thomas Perl [Tue, 4 Aug 2009 15:03:24 +0000 (4 17:03 +0200)]
Split sound event tracking into RenderState
This way, the gamestate does not have to be changed from
within render() when playing sounds.
Thomas Perl [Tue, 4 Aug 2009 14:45:56 +0000 (4 16:45 +0200)]
Remove obsolete data fields / simplify GameState + Player
This should allow for easier changes later on.
Thomas Perl [Tue, 4 Aug 2009 14:03:34 +0000 (4 16:03 +0200)]
Remove n-gram predictor which didn't work for a while
This might return in a more advanced form in the future.
Thomas Perl [Tue, 4 Aug 2009 13:06:25 +0000 (4 15:06 +0200)]
Merge branch 'master' of git://repo.or.cz/tennix
Thomas Perl [Tue, 4 Aug 2009 13:05:23 +0000 (4 15:05 +0200)]
Streamline building Tennix on Mac OS X (static)
The build instructions and makefile are now tailored
so that they build SDL into the application and allow
it to run on a stock Mac OS X installation without
any Frameworks installed.
Thomas Perl [Mon, 11 May 2009 08:41:07 +0000 (11 10:41 +0200)]
Do not hardcode Python version to 2.5 (allow 2.6)
Now that distros start shipping Python 2.6 as their
default Python versions, we do not depend directly
on Python 2.5, but leave it up to the system to provide
a suitable version of Python.
Thanks to Andrea Colangelo for pointing this out.
Thomas Perl [Fri, 24 Apr 2009 08:59:23 +0000 (24 10:59 +0200)]
Merge branch 'master' of git://repo.or.cz/tennix
Thomas Perl [Mon, 2 Mar 2009 11:43:42 +0000 (2 12:43 +0100)]
Add missing artwork to the doc subdirectory
This artwork has been used in the production of
the Tennix 1.0 release and is now available here
in the form of the source .SVG files.
Also add an experimental graphics build system
that automatically generates PNG graphics from
a single SVG file (thanks to a tool by Jimmac).
Thomas Perl [Wed, 25 Feb 2009 10:16:06 +0000 (25 11:16 +0100)]
Describe build-dependencies in README
I did not describe the build-dependencies for Tennix
well enough in the README file. This is now fixed, so
developers and users have an easier time compiling it.
Thanks to Devil505 for asking :)
Thomas Perl [Tue, 24 Feb 2009 10:50:48 +0000 (24 11:50 +0100)]
Mac OS X-specific release changes for Tennix
Thomas Perl [Tue, 24 Feb 2009 10:50:48 +0000 (24 11:50 +0100)]
Mac OS X-specific release changes for Tennix
Thomas Perl [Tue, 24 Feb 2009 10:21:08 +0000 (24 11:21 +0100)]
Updated documentation (README, manpage, etc..)
Thomas Perl [Tue, 24 Feb 2009 09:48:07 +0000 (24 10:48 +0100)]
Clean up UI, main menu and add credits screen
Also clarify copyright for contributed images and
do not include images where we do not yet have
permission into the source build tree.
Thomas Perl [Tue, 24 Feb 2009 08:36:45 +0000 (24 09:36 +0100)]
New branding ("Tennix 2009")
In preparation for the 1.0 release.
Thomas Perl [Thu, 19 Feb 2009 14:06:02 +0000 (19 15:06 +0100)]
Add prototype definitions for floating-point math
On Maemo, we don't get the fminf(), fmaxf(), fabsf(),
sinf() and cosf() functions defined. We now define
them explicitly in util.h, so it works for Maemo, too.
Thomas Perl [Mon, 16 Feb 2009 15:20:23 +0000 (16 16:20 +0100)]
Class-based Python bot framework (proper)
Add Jon Python as experimental bot and clean up the
Python bot framework, so it is more modular.
Thomas Perl [Mon, 16 Feb 2009 00:29:05 +0000 (16 01:29 +0100)]
Experimental Python-based AI bot framework
This is subject to change, just some proof of concept code.
Thomas Perl [Fri, 13 Feb 2009 17:29:45 +0000 (13 18:29 +0100)]
Save and load the current game on quit/start
Save the current gamestate in a file and re-load it
on next startup, so users can play complete games.
We're missing some input sanitizing here, but the
worst case is that Tennix won't start, in which case
the user simply has to remove the gamestate file.
Thomas Perl [Fri, 13 Feb 2009 16:45:20 +0000 (13 17:45 +0100)]
Update TODO list, release targets
Thomas Perl [Thu, 12 Feb 2009 22:28:12 +0000 (12 23:28 +0100)]
Add more SVG sources for Tennix resource files
Add the SVG source file for input devices and
concept art for the hand-drawn main menu.
Thomas Perl [Thu, 12 Feb 2009 22:22:30 +0000 (12 23:22 +0100)]
New input selection UI + Mouse support, updated TODO list
Use the new input graphics for a nice input selection
menu and add mouse support to the "input" module.
Updated TODO list with ideas for the animation framework.
Thomas Perl [Thu, 12 Feb 2009 11:33:39 +0000 (12 12:33 +0100)]
Add a simple animation framework (+ intro)
The animation framework can be extended and used later
on to provide storytelling content to the audience.
Currently, an (interruptable) animation is played at
the start of the game as an example of how the framework
can be used.
Thomas Perl [Thu, 12 Feb 2009 11:30:59 +0000 (12 12:30 +0100)]
Fix sound panning for ground hit
The ground hit sounds are now much more panned, depending
on the screen position of the impact. This should make
for a better "3D-ish" feeling when sound is enabled.
Thomas Perl [Thu, 12 Feb 2009 07:56:59 +0000 (12 08:56 +0100)]
Improve the appearance of the score font
The TTF-based font system already pays off ;)
Thomas Perl [Thu, 12 Feb 2009 07:55:12 +0000 (12 08:55 +0100)]
Add permission e-mail from Martin Third
To "doc/", this e-mail is the permission we got from
Martin Third for usage of his "Anyone for Tennis?"
photo in the user interface for Tennix. Thanks, Martin!
Thomas Perl [Thu, 12 Feb 2009 01:23:53 +0000 (12 02:23 +0100)]
Floating-point fixes for the armel architecture
There were some strange errors with the handling of
floating-point numbers on the armel (N8x0) targets.
This patch fixes these problems by providing custom
functions for minimum, maximum and absolute value.
Thomas Perl [Wed, 11 Feb 2009 02:44:33 +0000 (11 03:44 +0100)]
Add rotozoom support; more realistic ball and shadow
The SDL_rotozoom.* files are from SDL_gfx-2.0.18, and
we might use the shared library in the future, but for
now, we include rotozoom directly in Tennix source.
Thomas Perl [Wed, 11 Feb 2009 02:11:21 +0000 (11 03:11 +0100)]
Use SDL_ttf for font rendering; drop old font code
This makes font handling easier and allows us to easily
extend the available fonts during development.
Thomas Perl [Tue, 10 Feb 2009 00:02:25 +0000 (10 01:02 +0100)]
updated todo list
Thomas Perl [Mon, 9 Feb 2009 01:06:33 +0000 (9 02:06 +0100)]
Correct ball hit direction for Player 2
Player 2 had a wrong orientation of the racket
hit position. This patch fixes this, and makes
the two-player game playable again :)
Thomas Perl [Sun, 8 Feb 2009 14:31:13 +0000 (8 15:31 +0100)]
Add two new non-free locations (Austria + Beijing)
Add Kitzbuhel (Austrian Open location) and Beijing
(Olympic games location) as non-free locations.
Thomas Perl [Sun, 8 Feb 2009 14:04:49 +0000 (8 15:04 +0100)]
More stereo sound effects with real panning
Fix problems with panned sound effects and make it
possible to have multiple sound effects in the queue.
Also allocate as much channels as necessary for the
amount of sound effects we have.
Thomas Perl [Sun, 8 Feb 2009 13:55:36 +0000 (8 14:55 +0100)]
Fix bug in world map night time display
The second "night" rectangle had the wrong height.
Max [Sun, 8 Feb 2009 10:31:06 +0000 (8 11:31 +0100)]
Correct installation folders for non-Debian systems
Like this it's much easier to install Tennix
on non-Debian/Ubuntu-systems.
I personally use Mandriva, where
* gamesbins go to: /usr/games/<name>
* gamesdata goes to: /usr/share/games/<name>
Gentoo does use pretty much the same paths, afaik.
Thomas Perl [Sat, 7 Feb 2009 23:06:46 +0000 (8 00:06 +0100)]
New input system with automatic joystick detection
New, dynamic input system that will allow better and
easier configuration of input devices and make it easier
to add support for additional input devices later on.
Thomas Perl [Sat, 7 Feb 2009 21:17:36 +0000 (7 22:17 +0100)]
Optimize drawing of location selection screen
Don't redraw everything all the time. Thanks to the
UPDRECTANGLE makefile option for helping me figure this out :)
Thomas Perl [Sat, 7 Feb 2009 21:09:18 +0000 (7 22:09 +0100)]
Implement night for world map + automatic night mode
We now get UTC time from the system and try to determine
a rough estimation of day/night areas on the world map.
This is not perfect, but good enough so that we can have
automatic night mode determination based on the location.
Thomas Perl [Sat, 7 Feb 2009 19:13:28 +0000 (7 20:13 +0100)]
First power bar code + our first non-free location
Add power bar for better racket swinging experience.
Add a non-free location (the photo data is non-free,
so we only use it when explicitly asked).
Thomas Perl [Sat, 7 Feb 2009 17:20:10 +0000 (7 18:20 +0100)]
New world map location selector screen
Neat :)
Thomas Perl [Sat, 7 Feb 2009 15:44:36 +0000 (7 16:44 +0100)]
Add location support (all four grand slam locations)
This is currently very rough, but will be the basis for
future improvements in the location support :)
Thomas Perl [Sat, 7 Feb 2009 13:32:05 +0000 (7 14:32 +0100)]
Fix net collision, referee and ball restitution
Move the restitution variable to the "Ball" struct,
so we can later create different types of balls.
Move the ball outside the net in case of a collision.
Add referee movements for the new scoring system.
Thomas Perl [Sat, 7 Feb 2009 13:13:49 +0000 (7 14:13 +0100)]
Add pointer-style cursor for better menu usability
The racket as cursor does not really provide a "hit
area" and so many users had a hard time hitting items
with the "racket cursor". We fix this here by providing
a dedicated cursor for use in menu navigation.
Thomas Perl [Sat, 7 Feb 2009 12:09:39 +0000 (7 13:09 +0100)]
Add some missing #include lines, use C99 as standard
Just some more correctness updates to the current code.
Thomas Perl [Sat, 7 Feb 2009 11:56:10 +0000 (7 12:56 +0100)]
Enable more compiler warnings, fix most warnings
As a result of the recent "return" bug, I've enabled
some more compiler warnings and fixed most of them
by altering the source code, which should make the
codebase more robust and less prone to error :)
Thomas Perl [Sat, 7 Feb 2009 11:52:51 +0000 (7 12:52 +0100)]
Fix a severe bug on non-x86 machines (archive segfault)
Somehow, I missed the "return" statement and the compiler
did not complain. That's the reason why the archiver did
not work on 64-bit machines and produced wrong results in
Scratchbox's emulated armel environment.
Thomas Perl [Sat, 7 Feb 2009 11:39:21 +0000 (7 12:39 +0100)]
Remove unneeded "ground" field in GameState
This is not needed in current versions of Tennix.
Thomas Perl [Thu, 5 Feb 2009 13:44:36 +0000 (5 14:44 +0100)]
New physics and scoring system (AI partially broken)
Changes from February 2nd, with some clean-ups today.
New physics and scoring system that has more "fault"
possibilities, like hitting the net, multiple bounces
of the ball, etc..
Based on the new physics, a more advanced scoring
system has also been introduced that can handle the
new events that result in a score.
The serving has been fixed - now the serving does not
change for every score, but on a per-game basis.
Smash and topspin are new and can be played by P1
with e (topspin) and f (smash). The physical properties
of these still have to be optimized.
The new changes break the AI, and the AI now is very
dumb again. We need to work on a improved AI that takes
advantages of the new information available via the
physics engine.
Some old, unused variables have been removed.
Thomas Perl [Thu, 5 Feb 2009 23:34:21 +0000 (6 00:34 +0100)]
Tennix 0.7.0 "Deine Eltern sind auf einem Tennixturnier"
Updated README and manpage. Made sure tennix.tnx is
installed in the right spot, and that the binary can
find the data file either in the current directory or
in the installed location.
Push version to 0.7.0 and display version and URL in
the main screen (as with previous versions).
Thomas Perl [Sat, 31 Jan 2009 12:55:57 +0000 (31 13:55 +0100)]
Updated year, README, TODO list
Added 2009 to copyright info where necessary
Updated README file
Updated TODO list
Thomas Perl [Sat, 31 Jan 2009 12:44:56 +0000 (31 13:44 +0100)]
Documentation: How to generate callgraphs for Tennix
Remove the -pg option and make the callgraph-generating
code optional in the makefile. See doc/callgraph.txt for
more information.
Thomas Perl [Tue, 27 Jan 2009 10:10:40 +0000 (27 11:10 +0100)]
Add makefile option for update rectangles mode
This mode visualizes which screen regions are updated
on each frame. Compile with: make UPDRECTANGLE=1
Thomas Perl [Tue, 27 Jan 2009 09:58:18 +0000 (27 10:58 +0100)]
Add compiler flags for Maemo
Thomas Perl [Mon, 26 Jan 2009 23:08:50 +0000 (27 00:08 +0100)]
Only redraw the referee when its state changes
Same principle as with the score string - remember the
last "position" of the referee and if it has changed,
redraw the back buffer. This saves a lot of painting.