SubDir TOP ;
-if $(XGETTEXT) != ""
-{
- actions XGetText
- {
- $(XGETTEXT) $(XGETTEXT_FLAGS) --keyword='_:1' -o $(<) $(>)
- }
- rule MakePot
- {
- if $(>) {
- XGetText $(<) : $(>) ;
- Depends $(<) : $(>) ;
- Depends all : $(<) ;
- }
- }
-} else {
- rule MakePot
- { }
-}
-
# Decend into subdirs
SubInclude TOP lib ;
SubInclude TOP src ;
MakePot data/locale/messages.pot : $(TRANSLATABLE_SOURCES) ;
XGETTEXT_FLAGS on data/locale/messages.pot += --language=C++ ;
+
+InstallPixmap data/images/supertux.png data/images/supertux.xpm ;
+InstallDesktop supertux.desktop ;
+InstallDoc NEWS README COPYING AUTHORS ChangeLog ;
# Include Dirs
IncludeDir $(top_builddir) ; # for config.h
IncludeDir lib src ;
+
+if $(XGETTEXT) != ""
+{
+ actions XGetText
+ {
+ $(XGETTEXT) $(XGETTEXT_FLAGS) --keyword='_:1' -o $(<) $(>)
+ }
+ rule MakePot
+ {
+ if $(>) {
+ XGetText $(<) : $(>) ;
+ Depends $(<) : $(>) ;
+ Depends all : $(<) ;
+ }
+ }
+} else {
+ rule MakePot
+ { }
+}
+
+++ /dev/null
-
-- Level editing for SuperTux -
-http://super-tux.sf.net/
-
-Last update: April 26, 2004
-
-This document describes both the level format and
-the level editor.
-
-= LEVEL FORMAT =
-
-Since the level editor does not support anything, you might have
-to edit a couple of things directly from the level file, so it
-might be a better idea to read this.
-
-Level format should be pretty straight forward. The syntax is the
-Scheme one. But even if you have no idea about it, no worry,
-it is pretty intuitive.
-
-Attention: this describes the new level format. But current levels
-still use the old one, since the engine still supports it and also
-level editors still use it.
-
-To explain a bit of the level format, there is nothing better than
-really looking at it. So here goes a quote of it. The comments
-prefix-ed by a ';', describe what everything is about.
-
-; This is a comment!
-; Level made using SuperTux's built-in Level Editor
-(supertux-level
-; version higher than 1 means that it follows the new level format (CVS)
- (version 2)
-; Level's title and author name
- (name "The Castle of Nolok")
- (author "Ingo Ruhnke")
-; Time the player has to finish the level (it is not in seconds!)
- (time 300)
-; Each level has one or more sectors. Sectors can be seen as levels inside this
-; level. Their use is for swapping.
- (sector
-; Naming sectors is usefull to for swapping
-; "main" sectors are the ones that the player will start in
- (name "main")
-; Setup an end sequence animation (blank for nothing).
-; Currently supported is fireworks that displays fireworks on exit.
- (end-sequence-animation "fireworks")
-; Level's gravity (better let it 10)
- (gravity 10)
-; We can have one or more playerspawn that can be used by doors.
-; "main" is the default one for this sector.
- (playerspawn
- (name "main")
- (x 100)
- (y 170)
- )
-; Level's music file from data/music
- (music "fortress.mod")
-; This level will use a vertical background
-; You can also set a background image by using:
-; (background "arctis.jpg")
- (background
- (top_red 0)
- (top_green 0)
- (top_blue 0)
- (bottom_red 150)
- (bottom_green 0)
- (bottom_blue 0)
- )
-; Now let's go for tilemaps. Tilemaps are the tiles field. We can have more
-; than one. Each one has the following properites:
-; layer - can be foreground (drawn above player), interactive (interacts with player,
-; (solid #t) has to be set, as well), background (drawn below the player).
-; speed - this can be used for parallax effects. Better use a level editor (though
-; there is not yet one that supports it) to edit this.
- (tilemap
- (layer "interactive")
- (solid #t)
- (speed 1)
-; width and height of the tilemap. Has to be specified.
- (width 525)
- (height 15)
-; Here goes the tilemap :
- (tiles 64 64 69 68 68 ...
- ....
- ....)
- )
-; Another tilemap, this is the background one
- (tilemap
- (layer "background")
- (solid #f)
- (speed 1)
- (width 525)
- (height 15)
- (tiles 0 0 ...
- ... )
- )
-; Yet another one. Normally there are only three.
- (tilemap
- (layer "foreground")
- (solid #f)
- (speed 1)
- (width 525)
- (height 15)
- (tiles 0 0 0 0 ...
- ...)
- )
-; Let's setup a few bad guys.
- (jumpy
- (x 1277)
- (y 388)
-; stay-on-platform is a flag to tell them not to fall from
-; their platforms.
- (stay-on-platform #f)
- )
- (mriceblock
- (x 4345)
- (y 380)
- (stay-on-platform #f)
- )
- (stalactite
- (x 790)
- (y 96)
- (stay-on-platform #f)
- )
-; At last, but not least, the camera:
-; (Order doesn't matter for Lisp, so camera could be on top or the middle)
- (camera
-; This is the ordinary mode, but we can also have an auto one.
-; "auto" can be used to create a path to the camera.
-; Here is an example of an auto camera:
-; (camera
-; (mode "autoscroll")
-; (path
-; (point (x 0) (y 0) (speed 0.5))
-; (point (x 500) (y 0) (speed 2))
-; (point (x 1200) (y 0) (speed 1))
-; (point (x 3000) (y 0) (speed 1))
-; (point (x 1500) (y 0) (speed 1.4))
-; (point (x 99999) (y 0))
-; )
-; )
- (mode "normal")
-; backscrolling is only set for normal. It says if player can back
-; scroll or not (just go to the front).
- (backscrolling #t)
- )
-; We could also setup other objects, like trampolins, doors (to swap),
-; and moving platform. Please check another level (ie. in test/) that
-; uses them to learn more about them.
- )
-)
-
-= LEVEL EDITORS =
-
-USING THE BUILT-IN LEVEL EDITOR:
---------------------------------
-
-When opening the leveleditor, a menu will appear. This menu
-can be used to select or add level subsets. A level subset is
-a collection of levels. Subsets can be chose during gameplay
-when starting a game.
-
-After selecting the subset, have a look at the level editor.
-The button bar in the right is the place where you can control
-the actions related with editing. You can select levels and add
-throught there.
-
-To select tiles (foreground or background) and enemies, the button
-bar is the right place. There you can also save, test and setup
-the level. It is also possible between two selection cursors! Give
-a try to both. A right click in a button bar button will give you
-a description and a shortcut for it.
-
-To change a tile, just press the tile you want to change with a
-left mouse click. The current tile will be used. Depending
-on the selection behavior, you can or not select more
-than one tiles.
-
-To scroll, you just have to point over the two arrow buttons, or
-use the right button click.
-
-There is a small help that can be reached by pressing F1.
-
-To go back to the menu, just press Esc.
-
-The levels are saved under a .supertux/levels directory in
-your home directory.
-
-
-USING FLEXLAY:
---------------
-
-FlexLay is an external project (it even uses different libraries)
-that is developed by Ingo Ruhnke and supports a lot of different
-games, including SuperTux (or else we wouldn't mention it :) ).
-
-Anyway, it is pretty easy to use and is a lot more advanced than
-the internal one. So, if you are considering doing a few levels
-for us, it would be a good idea to check this out.
-
-Its webpage is located at:
-http://pingus.seul.org/~grumbel/flexlay/
-
-It needs ClanLib and a few odd libraries... Anyway, it worths
-it ;)
-
-The only cons it has is that you have to have an accelerated
-videocard (with the drivers working, obviously). For linux,
-we advise nvidia videocards with the use of nvidia's closed
-drivers. ATI drivers should be enough to run this game though.
-
-
-= CONCLUSION =
-
-To sum up, go build lots of levels and HAVE FUN!!
-
-Please, send your levels or any art, including sketches, you
-have created to the SuperTux mailing list.
-
-
- - SuperTux developers
+++ /dev/null
-0. How to Translate
-~~~~~~~~~~~~~~~~~~~~
-
-* Install gettext
-* get a cvs snapshot of supertux and do the usual autogen.sh, configure.
- Make sure configure can find the xgettext application.
- (ie. "checking for xgettext... xgettext"
- and "checking if xgettext supports Lisp... yes")
-* Run 'jam' and let it compile supertux and create all the messages.po files
-* Go into data/locale and data/levels/*/ and in each dir do:
- - In case you want to create a new translation do
- msginit -i messages.pot -o $LANG.po
- (where $LANG is the 2character handle of your language)
- - In case you want to update an existing translation do
- msgmerge -U $LANG.po messages.pot
-
-* Edit the .po files with your favourite Editor or with 1 of the GUI tools
- below.
-* Send the translated .po files to the supertux-devel mailing list.
-
-1. Notes for Translators
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-* If there isn't a good translation for some term (ie. fullscreen), you might
- consider to just keep it. It's better than making the user confused.
-
-* In English, there is only one singular second person mode (You). If your
- language does have more than one - a personal and impersonal - remember that
- this is a game, so you should use the personal one. And if it is possible to
- ommit it in your language, it might be a good idea.
-
-* Names like SuperTux, Tux, Penny or Nolok should not be translated. If you
- really think one of these to be a too strange word for your people, first
- inform us at our mailing list. Minor characters like Mr. Ice Block can (and
- should) be translated.
-
-A couple of notes:
-* If somewhere in the game, after translating a string, it doesn't look well
- (bad aligment, overlaps other text...), let us know - we will fix it.
-
-2. GUI Tools
-~~~~~~~~~~~~~
-
- KBabel - a long dated KDE program that has been maturing over the years,
- and it's really handy by now.
- poEdit - a multi-platform po editor (runs under Windows and Unix).
- URL: http://poedit.sourceforge.net/
- (X)Emacs - a commonly used program for translating with the respective
- plugin.
- QTranslator - made by Qt, has the advantage of running in several platforms.
- PO files are written in ASCII and are pretty intuitive, so they
- can be used by any text editor. But it would be wise to use a
- program made for that effect. If not possible, use a text editor
- with highlighting for PO files.
-
-3. Note for developers
-~~~~~~~~~~~~~~~~~~~~~~~
-
- Output should not be translated, since their purpose is mainly for debugging.
- However, command description (ie. --help) should obviously be translated.
- Messages that give the user a solution for a problem, might be translatable,
- as well.
- Parametars shouldn't be translatable. It breaks scripting.
-
-The SuperTux Team
+++ /dev/null
-
-- World Map editing for SuperTux -
-http://super-tux.sf.net/
-
-Last update: September 4, 2004
-
-This document describes how to edit a world map.
-
-= EDITING WORLDMAP TILES =
-
-To edit a World Map, please use FlexLay. Thought it might have problems with
-the editing of level and special tiles, since it isn't sync with CVS.
-
-= INTRODUCTION =
-
-These things are always changing, so if even 0.1.x has something like something
-described here, it might have a different name or be used in a different way.
-
-Stuff prefixed by a ';' are comments.
-
-; This is a comment! :)
-
-= MAKING THE HOLE FOR A LEVEL =
-
-; Opening level group
-(level
-
-; X and Y position [NECESSARY]
- (x 10)
- (y 14)
-
-; Filename of the level [NECESSARY]
- (name "file_name.stl")
-
-; Flip the level vertically - default: false
- (vertical-flip #t)
-
-; Show this text file after completing this level
- (extro-filename "filename")
-
-; Go to this world after completing this level
- (next-worldmap "worldmap.stwt)
-
-; Exit world map after completing this level
- (quit-worldmap #t)
-
-; Disable auto walking after completing the level - default: false
- (auto-path #f)
-
-) ; end of level group
-
-
-= AVAILABLE SPECIAL TILES =
-
-; Opening special-tile group
-(special-tile
-
-; X and Y position [NECESSARY]
- (x 10)
- (y 14)
-
-; Add a message tile. You can also use this together with a teleporter.
- (map-message "Hello World!"
-
-; Instead of showing a fix message, show while the player
-; passes by [NEEDS: map-message]- default: false
- (passive-message #t)
-
-; Apply action only in this/these direction(s) [WORKS FOR: passive-message] -
-; default: true for all - possible values: north/south/east/west.
-; More than one can be used with a separator or not
- (apply-to-direction "north-east")
-
-; Add a teleporter tile to
- (teleport-to-x 20)
- (teleport-to-y 13)
-
-; Don't show this tile [WORKS FOR: teleporter, map-message]
- (invisible-tile #t)
-
-) ; end of special-tile group
-
-
- - SuperTux developers
--- /dev/null
+Note: the "official" editor for supertux is now flexlay
+(http://flexlay.berlios.de)
+
+- Level editing for SuperTux -
+http://super-tux.sf.net/
+
+Last update: April 26, 2004
+
+This document describes both the level format and
+the level editor.
+
+= LEVEL FORMAT =
+
+Since the level editor does not support anything, you might have
+to edit a couple of things directly from the level file, so it
+might be a better idea to read this.
+
+Level format should be pretty straight forward. The syntax is the
+Scheme one. But even if you have no idea about it, no worry,
+it is pretty intuitive.
+
+Attention: this describes the new level format. But current levels
+still use the old one, since the engine still supports it and also
+level editors still use it.
+
+To explain a bit of the level format, there is nothing better than
+really looking at it. So here goes a quote of it. The comments
+prefix-ed by a ';', describe what everything is about.
+
+; This is a comment!
+; Level made using SuperTux's built-in Level Editor
+(supertux-level
+; version higher than 1 means that it follows the new level format (CVS)
+ (version 2)
+; Level's title and author name
+ (name "The Castle of Nolok")
+ (author "Ingo Ruhnke")
+; Time the player has to finish the level (it is not in seconds!)
+ (time 300)
+; Each level has one or more sectors. Sectors can be seen as levels inside this
+; level. Their use is for swapping.
+ (sector
+; Naming sectors is usefull to for swapping
+; "main" sectors are the ones that the player will start in
+ (name "main")
+; Setup an end sequence animation (blank for nothing).
+; Currently supported is fireworks that displays fireworks on exit.
+ (end-sequence-animation "fireworks")
+; Level's gravity (better let it 10)
+ (gravity 10)
+; We can have one or more playerspawn that can be used by doors.
+; "main" is the default one for this sector.
+ (playerspawn
+ (name "main")
+ (x 100)
+ (y 170)
+ )
+; Level's music file from data/music
+ (music "fortress.mod")
+; This level will use a vertical background
+; You can also set a background image by using:
+; (background "arctis.jpg")
+ (background
+ (top_red 0)
+ (top_green 0)
+ (top_blue 0)
+ (bottom_red 150)
+ (bottom_green 0)
+ (bottom_blue 0)
+ )
+; Now let's go for tilemaps. Tilemaps are the tiles field. We can have more
+; than one. Each one has the following properites:
+; layer - can be foreground (drawn above player), interactive (interacts with player,
+; (solid #t) has to be set, as well), background (drawn below the player).
+; speed - this can be used for parallax effects. Better use a level editor (though
+; there is not yet one that supports it) to edit this.
+ (tilemap
+ (layer "interactive")
+ (solid #t)
+ (speed 1)
+; width and height of the tilemap. Has to be specified.
+ (width 525)
+ (height 15)
+; Here goes the tilemap :
+ (tiles 64 64 69 68 68 ...
+ ....
+ ....)
+ )
+; Another tilemap, this is the background one
+ (tilemap
+ (layer "background")
+ (solid #f)
+ (speed 1)
+ (width 525)
+ (height 15)
+ (tiles 0 0 ...
+ ... )
+ )
+; Yet another one. Normally there are only three.
+ (tilemap
+ (layer "foreground")
+ (solid #f)
+ (speed 1)
+ (width 525)
+ (height 15)
+ (tiles 0 0 0 0 ...
+ ...)
+ )
+; Let's setup a few bad guys.
+ (jumpy
+ (x 1277)
+ (y 388)
+; stay-on-platform is a flag to tell them not to fall from
+; their platforms.
+ (stay-on-platform #f)
+ )
+ (mriceblock
+ (x 4345)
+ (y 380)
+ (stay-on-platform #f)
+ )
+ (stalactite
+ (x 790)
+ (y 96)
+ (stay-on-platform #f)
+ )
+; At last, but not least, the camera:
+; (Order doesn't matter for Lisp, so camera could be on top or the middle)
+ (camera
+; This is the ordinary mode, but we can also have an auto one.
+; "auto" can be used to create a path to the camera.
+; Here is an example of an auto camera:
+; (camera
+; (mode "autoscroll")
+; (path
+; (point (x 0) (y 0) (speed 0.5))
+; (point (x 500) (y 0) (speed 2))
+; (point (x 1200) (y 0) (speed 1))
+; (point (x 3000) (y 0) (speed 1))
+; (point (x 1500) (y 0) (speed 1.4))
+; (point (x 99999) (y 0))
+; )
+; )
+ (mode "normal")
+; backscrolling is only set for normal. It says if player can back
+; scroll or not (just go to the front).
+ (backscrolling #t)
+ )
+; We could also setup other objects, like trampolins, doors (to swap),
+; and moving platform. Please check another level (ie. in test/) that
+; uses them to learn more about them.
+ )
+)
+
+= LEVEL EDITORS =
+
+USING THE BUILT-IN LEVEL EDITOR:
+--------------------------------
+
+When opening the leveleditor, a menu will appear. This menu
+can be used to select or add level subsets. A level subset is
+a collection of levels. Subsets can be chose during gameplay
+when starting a game.
+
+After selecting the subset, have a look at the level editor.
+The button bar in the right is the place where you can control
+the actions related with editing. You can select levels and add
+throught there.
+
+To select tiles (foreground or background) and enemies, the button
+bar is the right place. There you can also save, test and setup
+the level. It is also possible between two selection cursors! Give
+a try to both. A right click in a button bar button will give you
+a description and a shortcut for it.
+
+To change a tile, just press the tile you want to change with a
+left mouse click. The current tile will be used. Depending
+on the selection behavior, you can or not select more
+than one tiles.
+
+To scroll, you just have to point over the two arrow buttons, or
+use the right button click.
+
+There is a small help that can be reached by pressing F1.
+
+To go back to the menu, just press Esc.
+
+The levels are saved under a .supertux/levels directory in
+your home directory.
+
+
+USING FLEXLAY:
+--------------
+
+FlexLay is an external project (it even uses different libraries)
+that is developed by Ingo Ruhnke and supports a lot of different
+games, including SuperTux (or else we wouldn't mention it :) ).
+
+Anyway, it is pretty easy to use and is a lot more advanced than
+the internal one. So, if you are considering doing a few levels
+for us, it would be a good idea to check this out.
+
+Its webpage is located at:
+http://pingus.seul.org/~grumbel/flexlay/
+
+It needs ClanLib and a few odd libraries... Anyway, it worths
+it ;)
+
+The only cons it has is that you have to have an accelerated
+videocard (with the drivers working, obviously). For linux,
+we advise nvidia videocards with the use of nvidia's closed
+drivers. ATI drivers should be enough to run this game though.
+
+
+= CONCLUSION =
+
+To sum up, go build lots of levels and HAVE FUN!!
+
+Please, send your levels or any art, including sketches, you
+have created to the SuperTux mailing list.
+
+
+ - SuperTux developers
--- /dev/null
+0. How to Translate
+~~~~~~~~~~~~~~~~~~~~
+
+* Install gettext
+* get a cvs snapshot of supertux and do the usual autogen.sh, configure.
+ Make sure configure can find the xgettext application.
+ (ie. "checking for xgettext... xgettext"
+ and "checking if xgettext supports Lisp... yes")
+* Run 'jam' and let it compile supertux and create all the messages.po files
+* Go into data/locale and data/levels/*/ and in each dir do:
+ - In case you want to create a new translation do
+ msginit -i messages.pot -o $LANG.po
+ (where $LANG is the 2character handle of your language)
+ - In case you want to update an existing translation do
+ msgmerge -U $LANG.po messages.pot
+
+* Edit the .po files with your favourite Editor or with 1 of the GUI tools
+ below.
+* Send the translated .po files to the supertux-devel mailing list.
+* You should also edit the supertux.desktop file and add a comment entry for
+ your language
+
+1. Notes for Translators
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+* If there isn't a good translation for some term (ie. fullscreen), you might
+ consider to just keep it. It's better than making the user confused.
+
+* In English, there is only one singular second person mode (You). If your
+ language does have more than one - a personal and impersonal - remember that
+ this is a game, so you should use the personal one. And if it is possible to
+ ommit it in your language, it might be a good idea.
+
+* Names like SuperTux, Tux, Penny or Nolok should not be translated. If you
+ really think one of these to be a too strange word for your people, first
+ inform us at our mailing list. Minor characters like Mr. Ice Block can (and
+ should) be translated.
+
+A couple of notes:
+* If somewhere in the game, after translating a string, it doesn't look well
+ (bad aligment, overlaps other text...), let us know - we will fix it.
+
+2. GUI Tools
+~~~~~~~~~~~~~
+
+ KBabel - a long dated KDE program that has been maturing over the years,
+ and it's really handy by now.
+ poEdit - a multi-platform po editor (runs under Windows and Unix).
+ URL: http://poedit.sourceforge.net/
+ (X)Emacs - a commonly used program for translating with the respective
+ plugin.
+ QTranslator - made by Qt, has the advantage of running in several platforms.
+ PO files are written in ASCII and are pretty intuitive, so they
+ can be used by any text editor. But it would be wise to use a
+ program made for that effect. If not possible, use a text editor
+ with highlighting for PO files.
+
+3. Note for developers
+~~~~~~~~~~~~~~~~~~~~~~~
+
+ Output should not be translated, since their purpose is mainly for debugging.
+ However, command description (ie. --help) should obviously be translated.
+ Messages that give the user a solution for a problem, might be translatable,
+ as well.
+ Parametars shouldn't be translatable. It breaks scripting.
+
+The SuperTux Team
--- /dev/null
+
+- World Map editing for SuperTux -
+http://super-tux.sf.net/
+
+Last update: September 4, 2004
+
+This document describes how to edit a world map.
+
+= EDITING WORLDMAP TILES =
+
+To edit a World Map, please use FlexLay. Thought it might have problems with
+the editing of level and special tiles, since it isn't sync with CVS.
+
+= INTRODUCTION =
+
+These things are always changing, so if even 0.1.x has something like something
+described here, it might have a different name or be used in a different way.
+
+Stuff prefixed by a ';' are comments.
+
+; This is a comment! :)
+
+= MAKING THE HOLE FOR A LEVEL =
+
+; Opening level group
+(level
+
+; X and Y position [NECESSARY]
+ (x 10)
+ (y 14)
+
+; Filename of the level [NECESSARY]
+ (name "file_name.stl")
+
+; Flip the level vertically - default: false
+ (vertical-flip #t)
+
+; Show this text file after completing this level
+ (extro-filename "filename")
+
+; Go to this world after completing this level
+ (next-worldmap "worldmap.stwt)
+
+; Exit world map after completing this level
+ (quit-worldmap #t)
+
+; Disable auto walking after completing the level - default: false
+ (auto-path #f)
+
+) ; end of level group
+
+
+= AVAILABLE SPECIAL TILES =
+
+; Opening special-tile group
+(special-tile
+
+; X and Y position [NECESSARY]
+ (x 10)
+ (y 14)
+
+; Add a message tile. You can also use this together with a teleporter.
+ (map-message "Hello World!"
+
+; Instead of showing a fix message, show while the player
+; passes by [NEEDS: map-message]- default: false
+ (passive-message #t)
+
+; Apply action only in this/these direction(s) [WORKS FOR: passive-message] -
+; default: true for all - possible values: north/south/east/west.
+; More than one can be used with a separator or not
+ (apply-to-direction "north-east")
+
+; Add a teleporter tile to
+ (teleport-to-x 20)
+ (teleport-to-y 13)
+
+; Don't show this tile [WORKS FOR: teleporter, map-message]
+ (invisible-tile #t)
+
+) ; end of special-tile group
+
+
+ - SuperTux developers
appdocdir ?= [ ConcatDirs $(datadir) doc $(PACKAGE_NAME)-$(PACKAGE_VERSION) ] ;
appconfdir ?= [ ConcatDirs $(sysconfdir) $(PACKAGE_NAME) ] ;
plugindir ?= [ ConcatDirs $(libdir) $(PACKAGE_NAME) ] ;
+applicationsdir ?= [ ConcatDirs $(datadir) applications ] ;
+pixmapsdir ?= [ ConcatDirs $(datadir) pixmaps ] ;
## InstallHeader headername [ : subdir ]
## DoInstall a headerfile into the includedir directory. A subdirectory
}
}
+## InstallPixmap files [ : subdir ]
+## Install a pixmap
+rule InstallPixmap
+{
+ LOCATE on $(<:G=installpixmap) = $(SUBDIR) ;
+ Depends install_data
+ : [ DoInstall $(<:G=installpixmap) : $(pixmapsdir) $(2) ] ;
+}
+
+## InstallDesktop files [ : subdir ]
+## Install a .desktop file (menu entries for kde/gnome and others)
+rule InstallDesktop
+{
+ LOCATE on $(<:G=installdesktop) = $(SUBDIR) ;
+ Depends install_bin
+ : [ DoInstall $(<:G=installdesktop) : $(applicationsdir) $(2) ] ;
+}
+
## DoInstall sourcename : directories [ : installapp ] [ : options ]
## Creates a new installtarget for the given sources. The target(s) are
## returned as function result.
switch(state) {
case 0:
if(timer.check()) {
- state = 1;
- sprite->set_action("explosion");
- SoundManager::get()->play_sound(IDToSound(SND_EXPLODE), get_pos(),
- Sector::current()->player->get_pos());
- timer.start(EXPLOSIONTIME);
+ explode();
}
break;
case 1:
}
void
+Bomb::explode()
+{
+ state = 1;
+ sprite->set_action("explosion");
+ SoundManager::get()->play_sound(IDToSound(SND_EXPLODE), get_pos(),
+ Sector::current()->player->get_pos());
+ timer.start(EXPLOSIONTIME);
+}
+
+void
Bomb::kill_fall()
{
+ explode();
}
HitResponse collision_badguy(BadGuy& badguy, const CollisionHit& hit);
void active_action(float elapsed_time);
void kill_fall();
+ void explode();
private:
int state;
return CONTINUE;
}
+void
+MrBomb::kill_fall()
+{
+ remove_me();
+ Bomb* bomb = new Bomb(get_pos(), dir);
+ Sector::current()->add_object(bomb);
+ bomb->explode();
+}
+
IMPLEMENT_FACTORY(MrBomb, "mrbomb")
void write(lisp::Writer& writer);
HitResponse collision_solid(GameObject& other, const CollisionHit& hit);
HitResponse collision_badguy(BadGuy& badguy, const CollisionHit& hit);
+ void kill_fall();
protected:
bool collision_squished(Player& player);
--- /dev/null
+[Desktop Entry]
+Version=1.0
+Encoding=UTF-8
+Name=Supertux
+Comment=Classic 2D jump'n run sidescroller
+Comment[de]=Klassisches 2D Jump'n Run Spiel
+Exec=supertux
+Icon=supertux
+Terminal=false
+Type=Application
+StartupNotify=false
+Categories=Application;Game;ArcadeGame;