Commit 9f08202b authored by Andreas Tille's avatar Andreas Tille

Import Upstream version 2.5.2

parent 124e7928
......@@ -2,6 +2,21 @@ Michael Speck <kulkanie@gmx.net>
**** Contributions ****
Patch to add a very easy difficulty level for kids. - Zooko
Patch to fix the insane speedup of balls after a SLOW/FAST
bonus expired that came up in 2.5beta. - Mark Tomich
Patch to load all themes from installation path. - Michal Cihar
Fixes to make LBreakout run on FreeBSD. - Sammy Mannaert
Option for playing with balls above debris and
explosions. - Jochen Striepe
Fix for input bug in Win32, a better installation
system and blinking cursor for editable menu items. - Lee Read
Modifications to make LBreakout2 compileable on
Win32 with MinGW. - Claudio Chimera
......@@ -20,4 +35,4 @@ in the same programme cycle. - Patrick Hohmeyer
****
Also thanks to all guys that made suggestions to
improve LBreakout2!!!
\ No newline at end of file
improve LBreakout2!!!
This diff is collapsed.
# Anjuta Version 0.1.7
Compatibility Level: 1
<PROJECT_DESCRIPTION_START>
<PROJECT_DESCRIPTION_END>
<CONFIG_PROGS_START>
<CONFIG_PROGS_END>
<CONFIG_LIBS_START>
<CONFIG_LIBS_END>
<CONFIG_HEADERS_START>
<CONFIG_HEADERS_END>
<CONFIG_CHARACTERISTICS_START>
<CONFIG_CHARACTERISTICS_END>
<CONFIG_LIB_FUNCS_START>
<CONFIG_LIB_FUNCS_END>
<CONFIG_ADDITIONAL_START>
<CONFIG_ADDITIONAL_END>
<CONFIG_FILES_START>
<CONFIG_FILES_END>
<MAKEFILE_AM_START>
<MAKEFILE_AM_END>
props.file.type=project
anjuta.version=0.1.7
anjuta.compatibility.level=1
project.name=LBreakout2
project.type=GENERIC
project.target.type=EXECUTABLE
project.version=2.0alpha-2
project.author=Michael Speck
project.source.target=lbreakout2
project.has.gettext=0
project.programming.language=C
project.menu.entry=LBreakout2 Version (null)
project.menu.group=Applications
project.menu.comment=LBreakout2 Version (null)
project.menu.icon=lbreakout2_icon.(null)
project.menu.need.terminal=0
project.configure.options=
anjuta.program.arguments=
project.config.disable.overwriting=1 1 1 1 1 1 1 1 1
project.config.extra.modules.before=
project.config.extra.modules.after=
module.incude.name=include
module.incude.type=
module.incude.expanded=0
module.incude.files=
module.source.name=src
module.source.type=
module.source.expanded=1
module.source.files=\
credit.c shine.c extras.c balls.c shrapnells.c \
shots.c event.c paddle.c frame.c misc.c bricks.c difficulty.c \
player.c game.c file.c levels.c config.c \
item.c menu.c manager.c value.c chart.c \
editor.c help.c \
main.c \
credit.h shine.h extras.h balls.h shrapnells.h \
shots.h event.h paddle.h frame.h misc.h bricks.h difficulty.h \
player.h game.h file.h levels.h config.h \
item.h menu.h manager.h value.h chart.h \
editor.h lbreakout.h help.h \
hint.c hint.h client.c client.h comm.c comm.h \
client_recv.c client_data.h client_data.c \
client_handlers.h client_handlers.c client_game.c \
slot.h \
theme.c theme.h\
display.c display.h \
input.c input.h \
../common/net.h ../common/net.c \
../common/list.h ../common/list.c \
../common/tools.h ../common/tools.c \
../common/parser.h ../common/parser.c \
../common/messages.h \
../gui/stk.h ../gui/stk.c \
../gui/gui.h ../gui/gui.c \
../gui/gui_widget.h ../gui/gui_widget.c \
../gui/gui_box.h ../gui/gui_box.c \
../gui/gui_button.h ../gui/gui_button.c \
../gui/gui_label.h ../gui/gui_label.c \
../gui/gui_icon.h ../gui/gui_icon.c \
../gui/gui_progressbar.h ../gui/gui_progressbar.c \
../gui/gui_scrollbar.h ../gui/gui_scrollbar.c \
../gui/gui_list.h ../gui/gui_list.c \
../gui/gui_edit.h ../gui/gui_edit.c \
../gui/gui_radiogroup.h ../gui/gui_radiogroup.c \
../gui/gui_spinbutton.h ../gui/gui_spinbutton.c \
../server/server.h ../server/server.c \
../server/server_game.c ../server/server_game.h \
../game/balls.h ../game/comm.h ../game/game.h \
../game/levels.h ../game/paddle.h ../game/bricks.h \
../game/extras.h ../game/gamedefs.h ../game/mathfuncs.h \
../game/shots.h \
../game/balls.c ../game/comm.c ../game/game.c ../game/mathfuncs.c \
../game/shots.c ../game/bricks.c ../game/extras.c \
../game/levels.c ../game/paddle.c
module.pixmap.name=pixmaps
module.pixmap.type=
module.pixmap.expanded=0
module.pixmap.files=
module.data.name=data
module.data.type=
module.data.expanded=0
module.data.files=
module.help.name=help
module.help.type=
module.help.expanded=0
module.help.files=
module.doc.name=doc
module.doc.type=
module.doc.expanded=0
module.doc.files=
module.po.expanded=0
module.po.files=
compiler.options.supports=
compiler.options.include.paths=
compiler.options.library.paths=
compiler.options.libraries=
compiler.options.libraries.selected=
compiler.options.defines=
compiler.options.warning.buttons=0 0 1 1 1 1 1 1 1 1 1 0 1 1 0 1
compiler.options.optimize.buttons=0 1 0 0
compiler.options.other.buttons=1 0
compiler.options.other.c.options=
compiler.options.other.l.options=
project.source.paths=
SUBDIRS = src
SUBDIRS = common gui game server client docs
EXTRA_DIST = AUTHORS COPYING ChangeLog INSTALL README TODO lbreakout2.spec touchall comp.bat
EXTRA_DIST = AUTHORS COPYING ChangeLog INSTALL README README-SDL.txt \
TODO lbreakout2.spec touchall lbreakout32.gif lbreakout48.gif \
LBreakout2.prj win32_mancomp win32_preparchive
WIN32_TEXT = AUTHORS COPYING ChangeLog INSTALL README README-SDL.txt \
TODO lbreakout2.spec
WIN32_LOCAL_DLL = SDL.dll SDL_mixer.dll zlib.dll libpng.dll
WIN32_SYS_DLL = msvcrt.dll
AUTOMAKE_OPTIONS = foreign
win32text: $(WIN32_TEXT)
@echo Converting text files for win32 installer
@-rm -rf ./win32text
@mkdir ./win32text
@for textfile in $(WIN32_TEXT); do \
$(AWK) '{printf "%s\r\n",$$0}' $$textfile > ./win32text/$$textfile ; \
done
win32-installer-script: @win32_inst_script@
@win32_inst_script@: win32text
@echo Generating win32 installer script
@echo "[Setup]" > $@
@echo "AppName=@appname@" >> $@
@echo "AppVerName=@appname@ $(VERSION)" >> $@
@echo "AppPublisher=Michael Speck" >> $@
@echo "AppPublisherURL=http://lgames.sourceforge.net/index.php?project=LBreakout2" >> $@
@echo "AppSupportURL=http://lgames.sourceforge.net/index.php?project=LBreakout2" >> $@
@echo "AppUpdatesURL=http://lgames.sourceforge.net/index.php?project=LBreakout2" >> $@
@echo "DefaultDirName={pf}\\$(PACKAGE)" >> $@
@echo "DefaultGroupName=@appname@" >> $@
@echo "OutputDir=." >> $@
@echo "Uninstallable=yes" >> $@
@echo "AlwaysCreateUninstallIcon=yes" >> $@
@echo "AdminPrivilegesRequired=1" >> $@
@echo "[Tasks]" >> $@
@echo "Name: \"desktopicon\"; Description: \"Create a &desktop icon\"; GroupDescription: \"Additional icons:\"" >> $@
@echo "[Files]" >> $@
@(cd win32dlls; for file in $(WIN32_LOCAL_DLL); do \
echo "Source: \"`pwd -W`\\$$file\"; DestDir: \"{app}\"; CopyMode: alwaysoverwrite" >> $@; \
done)
@(cd win32dlls; for file in $(WIN32_SYS_DLL); do \
echo "Source: \"`pwd -W`\\$$file\"; DestDir: \"{sys}\"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace uninsneveruninstall" >> $@; \
done)
@echo "Source: \"win32text\\*.*\"; DestDir: \"{app}\"; CopyMode: alwaysoverwrite" >> $@;
@list='$(SUBDIRS)'; for subdir in $$list; do \
(cd $$subdir \
&& $(MAKE) $(AM_MAKEFLAGS) win32-install-script); \
done
@echo "[Icons]" >> $@
@echo "Name: \"{group}\\@appname@\"; Filename: \"{app}\\$(PACKAGE)$(EXEEXT)\"; WorkingDir: \"{app}\"" >> $@
@echo "Name: \"{group}\\@appname@ Manual\"; Filename: \"{app}\\docs\\index.html\"" >> $@
@echo "Name: \"{userdesktop}\\@appname@\"; Filename: \"{app}\\$(PACKAGE)$(EXEEXT)\"; WorkingDir: \"{app}\"; Tasks: \"desktopicon\"" >> $@
@echo "[Run]" >> $@
@echo "Filename: \"{app}\\$(PACKAGE)$(EXEEXT)\"; Description: \"Launch @appname@\"; Flags: nowait postinstall skipifsilent" >> $@
@$(AWK) '{printf "%s\r\n",$$0}' $@ > installer.iss.w32
@mv installer.iss.w32 $@
win32-installer: win32-installer-script
$(ISCC) @win32_inst_script@
@mv setup.exe $(PACKAGE)-$(VERSION)-win32.exe
@-rm -rf win32text
@echo "Installer created: $(PACKAGE)-$(VERSION)-win32.exe"
# Makefile.in generated automatically by automake 1.4 from Makefile.am
# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
......@@ -57,26 +57,46 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AWK = @AWK@
CC = @CC@
EXEEXT = @EXEEXT@
ISCC = @ISCC@
MAKEINFO = @MAKEINFO@
PACKAGE = @PACKAGE@
RANLIB = @RANLIB@
SDL_CFLAGS = @SDL_CFLAGS@
SDL_CONFIG = @SDL_CONFIG@
SDL_LIBS = @SDL_LIBS@
STRIP = @STRIP@
VERSION = @VERSION@
ZIP = @ZIP@
appname = @appname@
arch_flag = @arch_flag@
audio_flag = @audio_flag@
doc_dir = @doc_dir@
hi_dir = @hi_dir@
hi_inst_flag = @hi_inst_flag@
inst_dir = @inst_dir@
inst_flag = @inst_flag@
mixer_flag = @mixer_flag@
sound_flag = @sound_flag@
netdebug_flag = @netdebug_flag@
network_flag = @network_flag@
sdlnet_flag = @sdlnet_flag@
sdlnet_lib_flag = @sdlnet_lib_flag@
warp_flag = @warp_flag@
win32_deps = @win32_deps@
win32_inst_script = @win32_inst_script@
SUBDIRS = src
SUBDIRS = common gui game server client docs
EXTRA_DIST = AUTHORS COPYING ChangeLog INSTALL README TODO lbreakout2.spec touchall comp.bat
EXTRA_DIST = AUTHORS COPYING ChangeLog INSTALL README README-SDL.txt TODO lbreakout2.spec touchall lbreakout32.gif lbreakout48.gif LBreakout2.prj win32_mancomp win32_preparchive
WIN32_TEXT = AUTHORS COPYING ChangeLog INSTALL README README-SDL.txt TODO lbreakout2.spec
WIN32_LOCAL_DLL = SDL.dll SDL_mixer.dll zlib.dll libpng.dll
WIN32_SYS_DLL = msvcrt.dll
AUTOMAKE_OPTIONS = foreign
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
......@@ -85,12 +105,13 @@ CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
DIST_COMMON = README ./stamp-h.in AUTHORS COPYING ChangeLog INSTALL \
Makefile.am Makefile.in NEWS TODO acconfig.h acinclude.m4 aclocal.m4 \
config.h.in configure configure.in install-sh missing mkinstalldirs
config.guess config.h.in config.sub configure configure.in install-sh \
missing mkinstalldirs
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = gtar
TAR = tar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
......@@ -104,7 +125,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(ACLOCAL_M4): configure.in acinclude.m4
cd $(srcdir) && $(ACLOCAL)
config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
config.status: $(srcdir)/configure.in $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && $(AUTOCONF)
......@@ -267,7 +288,7 @@ distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
cp -pr $$/$$file $(distdir)/$$file; \
cp -pr $$d/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
......@@ -358,6 +379,61 @@ installdirs mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
win32text: $(WIN32_TEXT)
@echo Converting text files for win32 installer
@-rm -rf ./win32text
@mkdir ./win32text
@for textfile in $(WIN32_TEXT); do \
$(AWK) '{printf "%s\r\n",$$0}' $$textfile > ./win32text/$$textfile ; \
done
win32-installer-script: @win32_inst_script@
@win32_inst_script@: win32text
@echo Generating win32 installer script
@echo "[Setup]" > $@
@echo "AppName=@appname@" >> $@
@echo "AppVerName=@appname@ $(VERSION)" >> $@
@echo "AppPublisher=Michael Speck" >> $@
@echo "AppPublisherURL=http://lgames.sourceforge.net/index.php?project=LBreakout2" >> $@
@echo "AppSupportURL=http://lgames.sourceforge.net/index.php?project=LBreakout2" >> $@
@echo "AppUpdatesURL=http://lgames.sourceforge.net/index.php?project=LBreakout2" >> $@
@echo "DefaultDirName={pf}\\$(PACKAGE)" >> $@
@echo "DefaultGroupName=@appname@" >> $@
@echo "OutputDir=." >> $@
@echo "Uninstallable=yes" >> $@
@echo "AlwaysCreateUninstallIcon=yes" >> $@
@echo "AdminPrivilegesRequired=1" >> $@
@echo "[Tasks]" >> $@
@echo "Name: \"desktopicon\"; Description: \"Create a &desktop icon\"; GroupDescription: \"Additional icons:\"" >> $@
@echo "[Files]" >> $@
@(cd win32dlls; for file in $(WIN32_LOCAL_DLL); do \
echo "Source: \"`pwd -W`\\$$file\"; DestDir: \"{app}\"; CopyMode: alwaysoverwrite" >> $@; \
done)
@(cd win32dlls; for file in $(WIN32_SYS_DLL); do \
echo "Source: \"`pwd -W`\\$$file\"; DestDir: \"{sys}\"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace uninsneveruninstall" >> $@; \
done)
@echo "Source: \"win32text\\*.*\"; DestDir: \"{app}\"; CopyMode: alwaysoverwrite" >> $@;
@list='$(SUBDIRS)'; for subdir in $$list; do \
(cd $$subdir \
&& $(MAKE) $(AM_MAKEFLAGS) win32-install-script); \
done
@echo "[Icons]" >> $@
@echo "Name: \"{group}\\@appname@\"; Filename: \"{app}\\$(PACKAGE)$(EXEEXT)\"; WorkingDir: \"{app}\"" >> $@
@echo "Name: \"{group}\\@appname@ Manual\"; Filename: \"{app}\\docs\\index.html\"" >> $@
@echo "Name: \"{userdesktop}\\@appname@\"; Filename: \"{app}\\$(PACKAGE)$(EXEEXT)\"; WorkingDir: \"{app}\"; Tasks: \"desktopicon\"" >> $@
@echo "[Run]" >> $@
@echo "Filename: \"{app}\\$(PACKAGE)$(EXEEXT)\"; Description: \"Launch @appname@\"; Flags: nowait postinstall skipifsilent" >> $@
@$(AWK) '{printf "%s\r\n",$$0}' $@ > installer.iss.w32
@mv installer.iss.w32 $@
win32-installer: win32-installer-script
$(ISCC) @win32_inst_script@
@mv setup.exe $(PACKAGE)-$(VERSION)-win32.exe
@-rm -rf win32text
@echo "Installer created: $(PACKAGE)-$(VERSION)-win32.exe"
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
......@@ -7,17 +7,19 @@
********************
I. Requirements
II. Installation
III. Documentation
IV. Troubleshooting
V. Resources
VI. Feedback
III. Network Server
IV. Documentation
V. Troubleshooting
VI. Resources
VII. Feedback
********************
********************
I. Requirements
********************
LBreakout runs in X and uses SDL (any version though >= 1.1.4
is recommended) and SDL_mixer (optional for sound). Both libraries
is recommended), SDL_mixer (optional for sound) and SDL_net
(optional for networking on non-Unices). These libraries
can be found at http://libsdl.org. The graphical stuff requires PNG
which is usually included to a distro. If not check out
http://www.libpng.org/pub/png/libpng.html.
......@@ -27,33 +29,116 @@ II. Installation
********************
Enter your favorite shell and type in the following stuff (in the
directory you extracted the LBreakout source)
> ./configure [--disable-sound] [--disable-install] [--enable-warp]
[--with-highscore-path=HPATH] [--with-doc-path=DPATH]
--disable-sound: no sound
> ./configure [--disable-audio] [--disable-install] [--enable-warp]
[--with-docdir=DOCDIR] [--disable-network]
[--enable-sdl-net] [--localstatedir=HIDIR]
--disable-audio: no sound
--disable-install: no installation; play from source directory
--enable-warp: nescessary for non-Unices to use relative
mouse motion for inverting or modify mouse
speed
--with-highscore-path: write global highscore chart lbreakout.hscr
to the specified directory
DEFAULT: /var/lib/games
--with-doc-path: install documentation to $DPATH/lbreakout2
--with-docdir: install documentation to $DOCDIR/lbreakout2
DEFAULT: /usr/doc
--disable-network: compile LBreakout2 without any network
support
--enable-sdl-net: use SDL_net for networking (required if
platform is not Unix-like)
--localstatedir: install global highscores to this directory
REPLACES --with-highscore-path TO COMPLY
WITH AUTOCONF; THE DEFAULT LOCATION NOW
DEPENDS ON YOUR DISTRIBUTION: PREVIOUSLY
IT WAS /var/lib/games. USE
--localstatedir=/var/lib/games
FOR EXISTING HIGHSCORES.
> make
> su (become root)
> make install (if install wasn't disabled)
> exit (become user again)
> lbreakout2 (run game)
> lbreakout2 (run client/non-network game)
!!! NOTE: Since 2.1.2 the config directory is ~/.lgames instead
of ~/.lbreakout2. If you created levelsets with a previous version
you'll have to copy these sets from ~/.lbreakout2/levels to
~/.lgames/lbreakout2-levels !!!
The directory ~/.lbreakout2 is obsolete and may be deleted.
Building on Win32
-----------------
There might be an easier way to get things to work but at least
the following worked for me. Simplifications are welcome.
1) Get MinGW, Msys, MsysDTK from http://mingw.sf.net
The following uses michael as the Msys home directory, naturally
you'll have to substitute your windows user name for this.
2) Get SDL, SDL_mixer, SDL_net from http://libsdl.org as tar.gz's
and put them to c:\msys\1.0\home\michael (or whereever you
installed Msys to)
3) Get libpng and zlib from http://libpng.org and put them to the
same directory as above.
4) Same with the latest and greatest LBreakout2 package, which you
already have, I assume. :)
5) Start Msys and enter the commands
tar -xzf *.tar.gz (extract the above archives)
cd SDL-1.2.7; (your version might differ, of course)
configure; make; make install;
cd ..
[do the same with SDL_net, SDL_mixer, zlib]
ln -s libpng-1.2.5 libpng (your version might differ, of course)
ln -s zlib-1.1.3 zlib (your version might differ, of course)
cd libpng-1.2.5
cp scripts/makefile.gcc Makefile; make
cp png.h pngconf.h /usr/local/include
cp libpng.a /usr/local/lib (manual install as the linux makefile
caused problems)
cd ..
cd lbreakout2-2.5
export LDFLAGS="-L/usr/local/lib"
export CFLAGS="-I/usr/local/include"
echo '' > depcomp (why this is required is again a mystery to me)
configure --disable-install --enable-sdl-net
win32_mancomp (this is a hack required for unknown reasons here.
make works but it just states the gcc commands but does
not execute them, in this little script they work however,
dunno why... a fix for this would be most welcome. if you
change any configure or install settings the hardcoded
compile command in win32_mancomp will probably not work so
you should check it for such a case)
make
6) Get the dll's of SDL, SDL_mixer, SDL_net, libpng, zlib and put
them to c:\msys\1.0\home\michael\lbreakout2-2.5\win32dlls as well
as msvcrt.dll (freely available from Microsoft)
7) run win32_preparchive (this will copy all required files to
the directory lbreakout2)
8) copy c:\msys\1.0\home\michael\lbreakout2-2.5\lbreakout2 to
c:\games or whereever you want to and run the game from there.
NOTE: The server does not open any display and in windows a message
overwrites all old messages in stdout.txt. Also the command line options
do not work, at least it seems so. All I managed was to run the server
without any options but at least I could connect to it successfully.
Lee Read added some scripting to create a standalone installer. This
scripting is broken right now, but hopefully fixed soon.
********************
III. Network Server
********************
III. Documentation
To run a server start lbreakout2server with any of the following
options:
-p <PORT> server port (default 2002)
-l <LIMIT> maximum number of users that may connect to the server
(default is 30)
-i <IDLETIME> a user will be kicked if he didn't communicate with the
server for this amount of seconds (default is 1200)
-n <MESSAGE> this message is displayed to welcome a user
-a <PASSWORD> a user that logs in with this name will become
administrator named admin (default is no admin)
-b <BOTNUM> number of bots with strength 800 and 1000 (paddle speed
in pixels, default is none)
After that you'll have to query your IP (e.g. with
/sbin/ifconfig) and pass it to your friends as there is no permanent
internet server yet. Note, that you shouldn't use localhost as you
won't be able to challenge others then.
Check the online documentation at http://lgames.sf.net
for information on how to play.
When updating this README the last time, petersdtp.net:8000 has been
the current internet test server.
********************
IV. Documentation
********************
If you have any questions about options, game play or editor
please check the documentation and see if you
......@@ -63,7 +148,7 @@ However, if you have any other problems or suggestions or you found a
bug please contact me: kulkanie@gmx.net
********************
IV. Troubleshooting
V. Troubleshooting
********************
The solution for relative mouse motion (nescessary when inverting or
slowing down mouse by motion modifier) works fine for Linux and
......@@ -77,10 +162,6 @@ on...
Disabling sound while playing seems to result in loosing various
sound channels when some sounds were actually mixed.
---
For my system 1.4 is 1.399978 instad of 1.4 so wrong score