Florian Forster [Fri, 12 Mar 2010 16:47:08 +0000 (16:47 +0000)]
Level 1-07 "Oh No More Snowballs": Added some background tiles.
SVN-Revision: 6603
Florian Forster [Fri, 12 Mar 2010 15:55:55 +0000 (15:55 +0000)]
Level 1-06 "The Frosted Fields": Fix some "tile abuse" and add some background tiles.
SVN-Revision: 6602
Florian Forster [Fri, 12 Mar 2010 15:32:56 +0000 (15:32 +0000)]
Level 1-04 "Tobgle Road": Added some background tiles.
SVN-Revision: 6601
Florian Forster [Fri, 12 Mar 2010 15:22:01 +0000 (15:22 +0000)]
Level 1-03 "Via Nostalgica": Remove some "tile abuse".
SVN-Revision: 6600
Florian Forster [Fri, 12 Mar 2010 14:58:43 +0000 (14:58 +0000)]
Level 1-21 "A Path in the Clouds": Make the background more random.
SVN-Revision: 6599
Florian Forster [Fri, 12 Mar 2010 10:07:37 +0000 (10:07 +0000)]
supertux/tile.[ch]pp: Move the unisolid solidity checks to the "Tile" object.
This really didn't belong into the sector code.
SVN-Revision: 6598
Florian Forster [Thu, 11 Mar 2010 19:14:28 +0000 (19:14 +0000)]
object/bonus_block.[ch]pp: Fix a NULL-pointer dereference.
Fixes a bug introduced in revision 6575: Since a player is not a badguy, the
Player* was NULL in the badguy code. Dereferencing it leads to a segmentation
fault.
SVN-Revision: 6597
Florian Forster [Thu, 11 Mar 2010 09:36:45 +0000 (09:36 +0000)]
Bug 567: Add invisible unisolid slopes.
These invisible tiles can be used on the interactive layer while the actual
graphics are placed on a background layer. This makes it possible to achieve
unisolid behavior with any tileset.
Resolves #567.
SVN-Revision: 6596
Florian Forster [Thu, 11 Mar 2010 09:33:59 +0000 (09:33 +0000)]
supertux/sector.cpp: Add support for "south", "west" and "east" unisolid tiles.
I.e. "south" meaning "can go down, not up", and "west" and "east" for left and
right as appropriate.
SVN-Revision: 6595
Florian Forster [Thu, 11 Mar 2010 08:47:06 +0000 (08:47 +0000)]
supertux/tile.hpp: Implement Tile::is_unisolid().
SVN-Revision: 6594
Florian Forster [Thu, 11 Mar 2010 08:42:03 +0000 (08:42 +0000)]
supertux/tile.hpp: Implement Tile::is_slope().
SVN-Revision: 6593
Florian Forster [Thu, 11 Mar 2010 08:11:10 +0000 (08:11 +0000)]
Rename "AATriangle::DEFORM[1234]" to more meaningfull names.
They are named now:
AATriangle::DEFORM_TOP
AATriangle::DEFORM_BOTTOM
AATriangle::DEFORM_LEFT
AATriangle::DEFORM_RIGHT
SVN-Revision: 6592
Ingo Ruhnke [Wed, 10 Mar 2010 08:25:20 +0000 (08:25 +0000)]
Reduced spawn distance for enemies to screen size (experimental change, if something breaks, complain)
SVN-Revision: 6591
Mathnerd314 [Wed, 10 Mar 2010 04:33:52 +0000 (04:33 +0000)]
New minimalist intro.
SVN-Revision: 6590
Mathnerd314 [Wed, 10 Mar 2010 04:30:25 +0000 (04:30 +0000)]
Update end sequence controller and stop backflipping immediately in end equence.
SVN-Revision: 6589
Florian Forster [Tue, 9 Mar 2010 13:05:45 +0000 (13:05 +0000)]
Owl badguy: Fix turn-around behavior.
Turning back to the initial direction was broken.
SVN-Revision: 6588
Florian Forster [Tue, 9 Mar 2010 12:42:56 +0000 (12:42 +0000)]
levels/test/owl.stl: Rename "bombfish" to "skydive".
SVN-Revision: 6585
Florian Forster [Tue, 9 Mar 2010 12:40:07 +0000 (12:40 +0000)]
Renamed the "bombfish" sprite to "skydive".
SVN-Revision: 6584
Florian Forster [Tue, 9 Mar 2010 12:38:29 +0000 (12:38 +0000)]
Rename the "BombFish" class to "SkyDive". The factory now uses the string "skydive".
SVN-Revision: 6583
Florian Forster [Tue, 9 Mar 2010 12:35:06 +0000 (12:35 +0000)]
Move "badguy/bombfish.[ch]pp" to "badguy/skydive.[ch]pp".
SVN-Revision: 6582
Ingo Ruhnke [Mon, 8 Mar 2010 21:37:32 +0000 (21:37 +0000)]
Patch for multiple joysticks from const86 <const@mimas.ru>
SVN-Revision: 6581
Florian Forster [Mon, 8 Mar 2010 13:33:44 +0000 (13:33 +0000)]
Bombfish: Create the explosion at the bottom of the bombfish.
Otherwise Tux won't be hurt when the bombfish falls onto him.
Resolves: #593
SVN-Revision: 6579
Ingo Ruhnke [Mon, 8 Mar 2010 11:37:52 +0000 (11:37 +0000)]
Added missing '('
SVN-Revision: 6578
Ingo Ruhnke [Mon, 8 Mar 2010 07:20:55 +0000 (07:20 +0000)]
Reverted r6576, Menus don't belong into JoystickKeyboardController
SVN-Revision: 6577
Mathnerd314 [Sun, 7 Mar 2010 23:47:14 +0000 (23:47 +0000)]
make joystick_options_menu and key_options_menu part of joystickkeyboardcontroller, so they can be freed properly.
SVN-Revision: 6576
Mathnerd314 [Sun, 7 Mar 2010 23:44:35 +0000 (23:44 +0000)]
Pass player object in to BonusBlock rather than using Sector's global one.
SVN-Revision: 6575
Mathnerd314 [Sun, 7 Mar 2010 23:43:26 +0000 (23:43 +0000)]
Some notes about co-op mode
SVN-Revision: 6574
Mathnerd314 [Sun, 7 Mar 2010 23:38:41 +0000 (23:38 +0000)]
Placeholder for player_id
SVN-Revision: 6573
Mathnerd314 [Sun, 7 Mar 2010 23:34:11 +0000 (23:34 +0000)]
More svn:eol-style
SVN-Revision: 6572
Mathnerd314 [Sun, 7 Mar 2010 22:58:54 +0000 (22:58 +0000)]
New kamikaze snowball collision image from Some_Person
SVN-Revision: 6571
Mathnerd314 [Sun, 7 Mar 2010 22:06:38 +0000 (22:06 +0000)]
svn:eol-style=native
SVN-Revision: 6570
Florian Forster [Sun, 7 Mar 2010 10:00:25 +0000 (10:00 +0000)]
"whereami()" function: Print coordinates as integers.
The floating point part of the coordinates are distracting and not relevant.
SVN-Revision: 6568
Ingo Ruhnke [Sat, 6 Mar 2010 21:06:46 +0000 (21:06 +0000)]
Switched to bluish owl
SVN-Revision: 6567
Florian Forster [Sat, 6 Mar 2010 19:51:15 +0000 (19:51 +0000)]
Owl: Drop "Bombfishes" by default.
The position where the carried object is being held has been improved. The Owl
has been moved one layer up (to "LAYER_OBJECTS + 1") so it is in front of the
objects it holds.
SVN-Revision: 6566
Ingo Ruhnke [Sat, 6 Mar 2010 19:50:47 +0000 (19:50 +0000)]
Compiler warning fix
SVN-Revision: 6565
Florian Forster [Sat, 6 Mar 2010 19:47:36 +0000 (19:47 +0000)]
BombFish: Add an enemy that can be dropped by "Owl".
SVN-Revision: 6564
Florian Forster [Sat, 6 Mar 2010 17:16:38 +0000 (17:16 +0000)]
Owl: Add an offset to the "is_above_player()" method.
This way it is more likely that the thrown object will hit Tux. Also, the
standard "collision_player()" method from BadGuy will be used. There's no need
for the hack copied from the "Kamikaze Snowball".
SVN-Revision: 6563
Florian Forster [Sat, 6 Mar 2010 17:02:19 +0000 (17:02 +0000)]
Owl: Let go of the carried object when above Tux.
SVN-Revision: 6562
Florian Forster [Sat, 6 Mar 2010 16:49:53 +0000 (16:49 +0000)]
Owl: Implement carrying around of "Portable" objects.
Owls now bring a "rock" by default.
SVN-Revision: 6561
Florian Forster [Sat, 6 Mar 2010 16:21:05 +0000 (16:21 +0000)]
Owl: Turn around when hitting a wall.
SVN-Revision: 6560
Ingo Ruhnke [Sat, 6 Mar 2010 16:14:20 +0000 (16:14 +0000)]
Removed some tile abuse
SVN-Revision: 6559
Florian Forster [Sat, 6 Mar 2010 16:14:02 +0000 (16:14 +0000)]
Owl: Added initial code for an "Owl" badguy.
Graphics are based on a drawing by Grumbel. The badguy simply flies from right
to left for now.
SVN-Revision: 6558
Ingo Ruhnke [Sat, 6 Mar 2010 15:24:48 +0000 (15:24 +0000)]
Added owl graphics
SVN-Revision: 6557
Ingo Ruhnke [Sat, 6 Mar 2010 12:12:26 +0000 (12:12 +0000)]
Removed coin-cost for reset points
SVN-Revision: 6556
Florian Forster [Sat, 6 Mar 2010 09:29:58 +0000 (09:29 +0000)]
Level 1-01 "Welcome to Antarctica": Added billboard explaining the run-jump.
SVN-Revision: 6555
Florian Forster [Fri, 5 Mar 2010 16:09:15 +0000 (16:09 +0000)]
badguy.cpp: Badguys don't squish other badguys.
They still turn around when walking into one another, but Bouncy, Jumpy and
friends no longer squish their coworkers.
Badguys that madly wish to be squished by other badguys, should check if they
were hit from above in "collision_badguy" which is now called instead.
Some exception *might* be necessary for stalactites.
SVN-Revision: 6554
Florian Forster [Fri, 5 Mar 2010 09:00:50 +0000 (09:00 +0000)]
addon_manager.cpp: Changed add-on URL to supertux.lethargik.org/addons/index.nfo.
The old URL is a redirect to there.
SVN-Revision: 6553
Florian Forster [Fri, 5 Mar 2010 08:37:28 +0000 (08:37 +0000)]
badguy/haywire.cpp: Use the x-acceleration to follow the player.
This is a lot smoother and generally nicer than the previous (proof of concept)
code.
SVN-Revision: 6552
Florian Forster [Fri, 5 Mar 2010 08:36:26 +0000 (08:36 +0000)]
badguy/walking_badguy.cpp: Turn the badguy around when his speed doesn't match the direction he's facing.
SVN-Revision: 6551
Florian Forster [Fri, 5 Mar 2010 08:27:35 +0000 (08:27 +0000)]
badguy/walking_badguy.[ch]pp: Make it possible to specify the target x velocity.
This will be use by "Haywire" eventually to get a more smooth "follow the
player" effect.
SVN-Revision: 6550
Florian Forster [Fri, 5 Mar 2010 07:45:29 +0000 (07:45 +0000)]
badguy/walking_badguy.cpp: Don't set "walk_speed" to zero when frozen.
Otherwise the badguy doesn't start walking after being un-frozen.
SVN-Revision: 6549
Florian Forster [Fri, 5 Mar 2010 07:42:10 +0000 (07:42 +0000)]
badguy/walking_badguy.cpp: Fix the acceleration code.
It should now be able to handle all situations, even when the badguy is thrown
backwards faster than he would normally walk forward (was broken before) and
frozen badguys are no longer sliding along without a move animation.
SVN-Revision: 6548
Mathnerd314 [Thu, 4 Mar 2010 23:25:26 +0000 (23:25 +0000)]
First crack at a new camera, before my plane flight leaves.
SVN-Revision: 6547
Florian Forster [Thu, 4 Mar 2010 20:08:03 +0000 (20:08 +0000)]
Level 1-01 "Welcome to Antarctica": Added a note about statistics to the reset point infoblock.
SVN-Revision: 6546
Florian Forster [Thu, 4 Mar 2010 18:38:59 +0000 (18:38 +0000)]
supertux/game_session.[ch]pp: Fix a segmantation fault when loading an invalid level file.
SVN-Revision: 6545
Florian Forster [Thu, 4 Mar 2010 18:10:53 +0000 (18:10 +0000)]
supertux/man/man6/supertux2.6: Fix a syntax error.
Thanks to Christoph Egger for the fix.
SVN-Revision: 6544
Florian Forster [Thu, 4 Mar 2010 13:37:38 +0000 (13:37 +0000)]
Level 1-22 "A Mysterious House of Ice": Replace some forgotten "ice" background tiles.
SVN-Revision: 6543
Florian Forster [Thu, 4 Mar 2010 13:13:53 +0000 (13:13 +0000)]
Cannon: Use the cannon's and badguy's bounding boxes to calculate the starting position.
The previous code assumed width of no more than 32 pixels to work correctly.
mathnerd314's change in revision 6530 widened that a bit, but could only be
considered a dirty hack. This change should work for arbitrary badguy widths,
moving narrow badguys (Short Fuse, for example) closer to the Cannon when shot
to the left.
SVN-Revision: 6542
Florian Forster [Thu, 4 Mar 2010 13:06:41 +0000 (13:06 +0000)]
Snowshot: Call ->set_action() in the constructor.
Otherwise the bounding box will be initialized to "collision-left" which is
only 15 pixels wide. This will be corrected by ->initialize() eventually, but
by then it's too late for the "Cannon" code.
SVN-Revision: 6541
Ingo Ruhnke [Thu, 4 Mar 2010 10:13:26 +0000 (10:13 +0000)]
Removed speed limit when grabbing normal objects
SVN-Revision: 6540
Mathnerd314 [Thu, 4 Mar 2010 02:42:48 +0000 (02:42 +0000)]
Minor cleanup in SoundManager
SVN-Revision: 6539
Mathnerd314 [Thu, 4 Mar 2010 02:41:22 +0000 (02:41 +0000)]
Use static casts in GL::Renderer
SVN-Revision: 6538
Mathnerd314 [Thu, 4 Mar 2010 02:39:19 +0000 (02:39 +0000)]
Small cleanup of Sector::get_nearest_player
SVN-Revision: 6537
Mathnerd314 [Thu, 4 Mar 2010 02:37:48 +0000 (02:37 +0000)]
Remove walk key
SVN-Revision: 6536
Mathnerd314 [Wed, 3 Mar 2010 08:18:04 +0000 (08:18 +0000)]
Tweak offsets a bit so kamikazesnowball doesn't die.
SVN-Revision: 6530
Mathnerd314 [Wed, 3 Mar 2010 07:11:24 +0000 (07:11 +0000)]
Don't save state of initial worldmap before loading it
SVN-Revision: 6529
Mathnerd314 [Wed, 3 Mar 2010 07:07:41 +0000 (07:07 +0000)]
Apparently C++ doesn't automatically convert from std::string to const char*...
SVN-Revision: 6528
Mathnerd314 [Wed, 3 Mar 2010 06:54:58 +0000 (06:54 +0000)]
Check that savegame exists before trying to load it.
SVN-Revision: 6527
Mathnerd314 [Wed, 3 Mar 2010 06:50:54 +0000 (06:50 +0000)]
someone forgot a ! in world.cpp...
SVN-Revision: 6526
Mathnerd314 [Wed, 3 Mar 2010 06:22:36 +0000 (06:22 +0000)]
Change Mysterious House of Ice to use dark bg tiles.
SVN-Revision: 6525
Ingo Ruhnke [Tue, 2 Mar 2010 19:36:22 +0000 (19:36 +0000)]
Removed unused TileSet member variable from Tile
SVN-Revision: 6522
Florian Forster [Tue, 2 Mar 2010 19:02:32 +0000 (19:02 +0000)]
Haywire: Fix a null-pointer dereference when Haywire gets hit by an iceblock.
SVN-Revision: 6520
Mathnerd314 [Tue, 2 Mar 2010 19:00:31 +0000 (19:00 +0000)]
Some install changes to CMakeLists.txt
SVN-Revision: 6519
Ingo Ruhnke [Tue, 2 Mar 2010 17:18:32 +0000 (17:18 +0000)]
Added background image, removed snow particles (visual overkill)
SVN-Revision: 6518
Arvid Norlander [Tue, 2 Mar 2010 16:46:29 +0000 (16:46 +0000)]
Update sv.po to match recent changes. Also reword some bits to work better.
SVN-Revision: 6517
Florian Forster [Tue, 2 Mar 2010 16:35:34 +0000 (16:35 +0000)]
Level 1-12 "Into the Stars": Changed the level height to 60 tiles.
For a level with this name, I felt it was reasonable to make a level that
actually went up. A (somewhat hidden) passage with a moving platform has been
added to give the level some "verticality".
SVN-Revision: 6516
Florian Forster [Tue, 2 Mar 2010 16:03:22 +0000 (16:03 +0000)]
Level 1-01: Fixed decal filenames.
Renamed them in SVN but forgot to adapt the level, sorry.
SVN-Revision: 6515
Florian Forster [Tue, 2 Mar 2010 14:09:41 +0000 (14:09 +0000)]
Level 1-10 "23rd Airborne": Added a (somewhat hidden) low passage.
SVN-Revision: 6514
Florian Forster [Tue, 2 Mar 2010 11:54:42 +0000 (11:54 +0000)]
Short Fuse: Make badguy shootable with the fireflower.
Seemed illogical not to.
SVN-Revision: 6513
Florian Forster [Tue, 2 Mar 2010 11:34:03 +0000 (11:34 +0000)]
Short Fuse: Implemented the new minibomb from the Milestone 2 Design Document.
Short Fuse is a small version of Mr. Bomb, possibly his offspring. Like all
children, it runs around faster than his big relatives do but can't do any
harm.
Short Fuse will explode immediately on contact but without hurting anybody.
Instead, the explosion will throw Tux and other badguys about.
A short test level is included as well.
SVN-Revision: 6511
Florian Forster [Tue, 2 Mar 2010 11:25:10 +0000 (11:25 +0000)]
object/explosion.[ch]pp: Added the "hurt" and "push" members.
If "hurt" is set (true by default), then the explosion will hurt Tux and nearby
badguys. If "push" is set (false by default), Tux and nearby walking badguys
will experience the force of the explosion, possibly throwing them in the air.
SVN-Revision: 6510
Florian Forster [Tue, 2 Mar 2010 11:22:41 +0000 (11:22 +0000)]
supertux/sector.[ch]pp: Implemented the get_nearby_objects() method.
This method returns all moving objects close to a given point. Among other
things, this may be the player and walking badguys.
SVN-Revision: 6509
Florian Forster [Tue, 2 Mar 2010 11:20:33 +0000 (11:20 +0000)]
badguy/walking_badguy.[ch]pp: Added the add_velocity() method.
The speed is simply added to the current velocity of the badguy. The walking
speed is regained using an acceleration of walk_speed/s, i.e. it takes one
second to get from zero to full speed again (or from twice the speed back to
normal).
SVN-Revision: 6508
Florian Forster [Tue, 2 Mar 2010 09:01:38 +0000 (09:01 +0000)]
Snowman: Created body-only animation and added it to the squished collision handler.
SVN-Revision: 6507
Ingo Ruhnke [Tue, 2 Mar 2010 08:59:57 +0000 (08:59 +0000)]
Some TODO updates
SVN-Revision: 6506
Florian Forster [Mon, 1 Mar 2010 20:54:10 +0000 (20:54 +0000)]
Nightcave test level: Restore decals that have been broken by an editor bug in revision 6392.
SVN-Revision: 6503
Florian Forster [Mon, 1 Mar 2010 20:49:42 +0000 (20:49 +0000)]
Level 1-01 "Welcome to Antarctica": Added billboards describing the egg, fireflower and reset points.
SVN-Revision: 6502
Florian Forster [Mon, 1 Mar 2010 20:43:57 +0000 (20:43 +0000)]
Added test level for "unstable tiles".
SVN-Revision: 6501
Ingo Ruhnke [Mon, 1 Mar 2010 17:07:53 +0000 (17:07 +0000)]
Use proper background tiles for secret area
SVN-Revision: 6495
Ingo Ruhnke [Mon, 1 Mar 2010 16:58:16 +0000 (16:58 +0000)]
Turned the run-blockade into a staircase, to allow backtracking
SVN-Revision: 6494
Ingo Ruhnke [Mon, 1 Mar 2010 16:49:43 +0000 (16:49 +0000)]
Fine tuned the enemy placement and removed lots of useless enemies
SVN-Revision: 6493
Florian Forster [Mon, 1 Mar 2010 16:07:21 +0000 (16:07 +0000)]
object/unstable_tile.[ch]pp: Implement third state, "shake".
The order of the states is now:
shake → dissolve → fall-down
Each state is optional. The tile will be made non-solid at the end of
"dissolve". If that action is missing in the sprite, the tile will be solid
when it falls down, making it possible to jump off of it.
Jumping off of a falling tile works better than I had expected. I've changed
the gravity modifier to 0.98 nonetheless, so that the tile falls slightly
slower than Tux does.
The "unstable_tile" and "castleblock" sprites now use the "shake" action and
not the "dissolve" action.
SVN-Revision: 6492
Ingo Ruhnke [Mon, 1 Mar 2010 11:31:30 +0000 (11:31 +0000)]
Resized background to 800x600 to work around bug drawing bug seen in data/levels/bonus2/level20.stl, current background code requires background images of the same size
SVN-Revision: 6486
Florian Forster [Mon, 1 Mar 2010 11:26:20 +0000 (11:26 +0000)]
sdl_texture.cpp: Rewrite the optimize() function.
The changes made by tuxdev in revision 6192 broke alpha handling in the SDL
renderer for me (SDL 1.2.7). This commit fixes handling of semi-transparent
surfaces / pixels and improves the function towards readability.
It starts by categorizing pixels into three categories: transparent,
semi-transparent and opaque.
* If semi-transparent pixels are present, "SDL_DisplayFormatAlpha" is used.
* If only opaque pixels are present, "SDL_DisplayFormat" is used.
* If only opaque and transparent pixels are present, "SDL_SetColorKey" is used
for 1-bit alpha.
SVN-Revision: 6485
Ingo Ruhnke [Mon, 1 Mar 2010 11:25:23 +0000 (11:25 +0000)]
Implemented proper clipping
SVN-Revision: 6484
Ingo Ruhnke [Mon, 1 Mar 2010 11:25:01 +0000 (11:25 +0000)]
Added DrawingContext::get_cliprect()
SVN-Revision: 6483
Ingo Ruhnke [Mon, 1 Mar 2010 11:24:30 +0000 (11:24 +0000)]
Added constructor te Rectf() that takes a Sizef
SVN-Revision: 6482
Arvid Norlander [Sun, 28 Feb 2010 22:32:23 +0000 (22:32 +0000)]
Try to fix level20 by adding a black image at top and bottom. Note a bug currently makes this render incorrectly for the top part.
SVN-Revision: 6481
Arvid Norlander [Sun, 28 Feb 2010 21:15:40 +0000 (21:15 +0000)]
Expand bonus2/level20.stl to fill new max resolution. The background looks somewhat strange due to not being large enough to fill up the level height, but it doesn't look unacceptably bad.
SVN-Revision: 6480
Florian Forster [Sun, 28 Feb 2010 21:08:34 +0000 (21:08 +0000)]
Unstable tile: Dissolve, then disappear without falling down.
The new behavior is as follows: If the sprite has a "dissolve" action, it is
triggered on contact. If the "dissolve" animation ends, or if the sprite
doesn't have a "dissolve" action, the "fall-down" action is triggered. If that
animation is done, or if the sprite doesn't have a "fall-down" action, the
object is removed.
Possible future improvements:
- Make the tile non-solid at the end of "dissolve", rather than at the
beginning of "fall-down". This way falling only sprites would still be solid.
For this to be of use the collision detection needs to be improved, though.
- Also, remove the object after is has hit a solid object or has fallen out of
the screen. The "remove at end of animation" behavior is more of a dirty
hack.
SVN-Revision: 6479