supertux.git
14 years agosupertux/sector.cpp: Add support for "south", "west" and "east" unisolid tiles.
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

14 years agosupertux/tile.hpp: Implement Tile::is_unisolid().
Florian Forster [Thu, 11 Mar 2010 08:47:06 +0000 (08:47 +0000)]
supertux/tile.hpp: Implement Tile::is_unisolid().

SVN-Revision: 6594

14 years agosupertux/tile.hpp: Implement Tile::is_slope().
Florian Forster [Thu, 11 Mar 2010 08:42:03 +0000 (08:42 +0000)]
supertux/tile.hpp: Implement Tile::is_slope().

SVN-Revision: 6593

14 years agoRename "AATriangle::DEFORM[1234]" to more meaningfull names.
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

14 years agoReduced spawn distance for enemies to screen size (experimental change, if something...
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

14 years agoNew minimalist intro.
Mathnerd314 [Wed, 10 Mar 2010 04:33:52 +0000 (04:33 +0000)]
New minimalist intro.

SVN-Revision: 6590

14 years agoUpdate end sequence controller and stop backflipping immediately in end equence.
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

14 years agoOwl badguy: Fix turn-around behavior.
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

14 years agolevels/test/owl.stl: Rename "bombfish" to "skydive".
Florian Forster [Tue, 9 Mar 2010 12:42:56 +0000 (12:42 +0000)]
levels/test/owl.stl: Rename "bombfish" to "skydive".

SVN-Revision: 6585

14 years agoRenamed the "bombfish" sprite to "skydive".
Florian Forster [Tue, 9 Mar 2010 12:40:07 +0000 (12:40 +0000)]
Renamed the "bombfish" sprite to "skydive".

SVN-Revision: 6584

14 years agoRename the "BombFish" class to "SkyDive". The factory now uses the string "skydive".
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

14 years agoMove "badguy/bombfish.[ch]pp" to "badguy/skydive.[ch]pp".
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

14 years agoPatch for multiple joysticks from const86 <const@mimas.ru>
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

14 years agoBombfish: Create the explosion at the bottom of the bombfish.
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

14 years agoAdded missing '('
Ingo Ruhnke [Mon, 8 Mar 2010 11:37:52 +0000 (11:37 +0000)]
Added missing '('

SVN-Revision: 6578

14 years agoReverted r6576, Menus don't belong into JoystickKeyboardController
Ingo Ruhnke [Mon, 8 Mar 2010 07:20:55 +0000 (07:20 +0000)]
Reverted r6576, Menus don't belong into JoystickKeyboardController

SVN-Revision: 6577

14 years agomake joystick_options_menu and key_options_menu part of joystickkeyboardcontroller...
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

14 years agoPass player object in to BonusBlock rather than using Sector's global one.
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

14 years agoSome notes about co-op mode
Mathnerd314 [Sun, 7 Mar 2010 23:43:26 +0000 (23:43 +0000)]
Some notes about co-op mode

SVN-Revision: 6574

14 years agoPlaceholder for player_id
Mathnerd314 [Sun, 7 Mar 2010 23:38:41 +0000 (23:38 +0000)]
Placeholder for player_id

SVN-Revision: 6573

14 years agoMore svn:eol-style
Mathnerd314 [Sun, 7 Mar 2010 23:34:11 +0000 (23:34 +0000)]
More svn:eol-style

SVN-Revision: 6572

14 years agoNew kamikaze snowball collision image from Some_Person
Mathnerd314 [Sun, 7 Mar 2010 22:58:54 +0000 (22:58 +0000)]
New kamikaze snowball collision image from Some_Person

SVN-Revision: 6571

14 years agosvn:eol-style=native
Mathnerd314 [Sun, 7 Mar 2010 22:06:38 +0000 (22:06 +0000)]
svn:eol-style=native

SVN-Revision: 6570

14 years ago"whereami()" function: Print coordinates as integers.
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

14 years agoSwitched to bluish owl
Ingo Ruhnke [Sat, 6 Mar 2010 21:06:46 +0000 (21:06 +0000)]
Switched to bluish owl

SVN-Revision: 6567

14 years agoOwl: Drop "Bombfishes" by default.
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

14 years agoCompiler warning fix
Ingo Ruhnke [Sat, 6 Mar 2010 19:50:47 +0000 (19:50 +0000)]
Compiler warning fix

SVN-Revision: 6565

14 years agoBombFish: Add an enemy that can be dropped by "Owl".
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

14 years agoOwl: Add an offset to the "is_above_player()" method.
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

14 years agoOwl: Let go of the carried object when above Tux.
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

14 years agoOwl: Implement carrying around of "Portable" objects.
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

14 years agoOwl: Turn around when hitting a wall.
Florian Forster [Sat, 6 Mar 2010 16:21:05 +0000 (16:21 +0000)]
Owl: Turn around when hitting a wall.

SVN-Revision: 6560

14 years agoRemoved some tile abuse
Ingo Ruhnke [Sat, 6 Mar 2010 16:14:20 +0000 (16:14 +0000)]
Removed some tile abuse

SVN-Revision: 6559

14 years agoOwl: Added initial code for an "Owl" badguy.
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

14 years agoAdded owl graphics
Ingo Ruhnke [Sat, 6 Mar 2010 15:24:48 +0000 (15:24 +0000)]
Added owl graphics

SVN-Revision: 6557

14 years agoRemoved coin-cost for reset points
Ingo Ruhnke [Sat, 6 Mar 2010 12:12:26 +0000 (12:12 +0000)]
Removed coin-cost for reset points

SVN-Revision: 6556

14 years agoLevel 1-01 "Welcome to Antarctica": Added billboard explaining the run-jump.
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

14 years agobadguy.cpp: Badguys don't squish other badguys.
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

14 years agoaddon_manager.cpp: Changed add-on URL to http://supertux.lethargik.org/addons/index...
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

14 years agobadguy/haywire.cpp: Use the x-acceleration to follow the player.
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

14 years agobadguy/walking_badguy.cpp: Turn the badguy around when his speed doesn't match the...
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

14 years agobadguy/walking_badguy.[ch]pp: Make it possible to specify the target x velocity.
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

14 years agobadguy/walking_badguy.cpp: Don't set "walk_speed" to zero when frozen.
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

14 years agobadguy/walking_badguy.cpp: Fix the acceleration code.
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

14 years agoFirst crack at a new camera, before my plane flight leaves.
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

14 years agoLevel 1-01 "Welcome to Antarctica": Added a note about statistics to the reset point...
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

14 years agosupertux/game_session.[ch]pp: Fix a segmantation fault when loading an invalid level...
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

14 years agosupertux/man/man6/supertux2.6: Fix a syntax error.
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

14 years agoLevel 1-22 "A Mysterious House of Ice": Replace some forgotten "ice" background tiles.
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

14 years agoCannon: Use the cannon's and badguy's bounding boxes to calculate the starting position.
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

14 years agoSnowshot: Call ->set_action() in the constructor.
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

14 years agoRemoved speed limit when grabbing normal objects
Ingo Ruhnke [Thu, 4 Mar 2010 10:13:26 +0000 (10:13 +0000)]
Removed speed limit when grabbing normal objects

SVN-Revision: 6540

14 years agoMinor cleanup in SoundManager
Mathnerd314 [Thu, 4 Mar 2010 02:42:48 +0000 (02:42 +0000)]
Minor cleanup in SoundManager

SVN-Revision: 6539

14 years agoUse static casts in GL::Renderer
Mathnerd314 [Thu, 4 Mar 2010 02:41:22 +0000 (02:41 +0000)]
Use static casts in GL::Renderer

SVN-Revision: 6538

14 years agoSmall cleanup of Sector::get_nearest_player
Mathnerd314 [Thu, 4 Mar 2010 02:39:19 +0000 (02:39 +0000)]
Small cleanup of Sector::get_nearest_player

SVN-Revision: 6537

14 years agoRemove walk key
Mathnerd314 [Thu, 4 Mar 2010 02:37:48 +0000 (02:37 +0000)]
Remove walk key

SVN-Revision: 6536

14 years agoTweak offsets a bit so kamikazesnowball doesn't die.
Mathnerd314 [Wed, 3 Mar 2010 08:18:04 +0000 (08:18 +0000)]
Tweak offsets a bit so kamikazesnowball doesn't die.

SVN-Revision: 6530

14 years agoDon't save state of initial worldmap before loading it
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

14 years agoApparently C++ doesn't automatically convert from std::string to const char*...
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

14 years agoCheck that savegame exists before trying to load it.
Mathnerd314 [Wed, 3 Mar 2010 06:54:58 +0000 (06:54 +0000)]
Check that savegame exists before trying to load it.

SVN-Revision: 6527

14 years agosomeone forgot a ! in world.cpp...
Mathnerd314 [Wed, 3 Mar 2010 06:50:54 +0000 (06:50 +0000)]
someone forgot a ! in world.cpp...

SVN-Revision: 6526

14 years agoChange Mysterious House of Ice to use dark bg tiles.
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

14 years agoRemoved unused TileSet member variable from Tile
Ingo Ruhnke [Tue, 2 Mar 2010 19:36:22 +0000 (19:36 +0000)]
Removed unused TileSet member variable from Tile

SVN-Revision: 6522

14 years agoHaywire: Fix a null-pointer dereference when Haywire gets hit by an iceblock.
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

14 years agoSome install changes to CMakeLists.txt
Mathnerd314 [Tue, 2 Mar 2010 19:00:31 +0000 (19:00 +0000)]
Some install changes to CMakeLists.txt

SVN-Revision: 6519

14 years agoAdded background image, removed snow particles (visual overkill)
Ingo Ruhnke [Tue, 2 Mar 2010 17:18:32 +0000 (17:18 +0000)]
Added background image, removed snow particles (visual overkill)

SVN-Revision: 6518

14 years agoUpdate sv.po to match recent changes. Also reword some bits to work better.
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

14 years agoLevel 1-12 "Into the Stars": Changed the level height to 60 tiles.
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

14 years agoLevel 1-01: Fixed decal filenames.
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

14 years agoLevel 1-10 "23rd Airborne": Added a (somewhat hidden) low passage.
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

14 years agoShort Fuse: Make badguy shootable with the fireflower.
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

14 years agoShort Fuse: Implemented the new minibomb from the Milestone 2 Design Document.
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

14 years agoobject/explosion.[ch]pp: Added the "hurt" and "push" members.
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

14 years agosupertux/sector.[ch]pp: Implemented the get_nearby_objects() method.
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

14 years agobadguy/walking_badguy.[ch]pp: Added the add_velocity() method.
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

14 years agoSnowman: Created body-only animation and added it to the squished collision handler.
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

14 years agoSome TODO updates
Ingo Ruhnke [Tue, 2 Mar 2010 08:59:57 +0000 (08:59 +0000)]
Some TODO updates

SVN-Revision: 6506

14 years agoNightcave test level: Restore decals that have been broken by an editor bug in revisi...
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

14 years agoLevel 1-01 "Welcome to Antarctica": Added billboards describing the egg, fireflower...
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

14 years agoAdded test level for "unstable tiles".
Florian Forster [Mon, 1 Mar 2010 20:43:57 +0000 (20:43 +0000)]
Added test level for "unstable tiles".

SVN-Revision: 6501

14 years agoUse proper background tiles for secret area
Ingo Ruhnke [Mon, 1 Mar 2010 17:07:53 +0000 (17:07 +0000)]
Use proper background tiles for secret area

SVN-Revision: 6495

14 years agoTurned the run-blockade into a staircase, to allow backtracking
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

14 years agoFine tuned the enemy placement and removed lots of useless enemies
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

14 years agoobject/unstable_tile.[ch]pp: Implement third state, "shake".
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

14 years agoResized background to 800x600 to work around bug drawing bug seen in data/levels...
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

14 years agosdl_texture.cpp: Rewrite the optimize() function.
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

14 years agoImplemented proper clipping
Ingo Ruhnke [Mon, 1 Mar 2010 11:25:23 +0000 (11:25 +0000)]
Implemented proper clipping

SVN-Revision: 6484

14 years agoAdded DrawingContext::get_cliprect()
Ingo Ruhnke [Mon, 1 Mar 2010 11:25:01 +0000 (11:25 +0000)]
Added DrawingContext::get_cliprect()

SVN-Revision: 6483

14 years agoAdded constructor te Rectf() that takes a Sizef
Ingo Ruhnke [Mon, 1 Mar 2010 11:24:30 +0000 (11:24 +0000)]
Added constructor te Rectf() that takes a Sizef

SVN-Revision: 6482

14 years agoTry to fix level20 by adding a black image at top and bottom. Note a bug currently...
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

14 years agoExpand bonus2/level20.stl to fill new max resolution. The background looks somewhat...
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

14 years agoUnstable tile: Dissolve, then disappear without falling down.
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

14 years agoExpand bonus2/level17.stl to fill new max resolution.
Arvid Norlander [Sun, 28 Feb 2010 21:05:17 +0000 (21:05 +0000)]
Expand bonus2/level17.stl to fill new max resolution.

SVN-Revision: 6478

14 years agoClean up test levels a bit.
Mathnerd314 [Sun, 28 Feb 2010 20:57:18 +0000 (20:57 +0000)]
Clean up test levels a bit.

SVN-Revision: 6477

14 years agoExpand bonus2/level19.stl to fill new max resolution. Also fix bug in that level...
Arvid Norlander [Sun, 28 Feb 2010 20:56:25 +0000 (20:56 +0000)]
Expand bonus2/level19.stl to fill new max resolution. Also fix bug in that level: fg layer was incorrectly set to solid.

SVN-Revision: 6476

14 years agoExpand bonus1/thompson-level1.stl to fill new max resolution.
Arvid Norlander [Sun, 28 Feb 2010 20:46:06 +0000 (20:46 +0000)]
Expand bonus1/thompson-level1.stl to fill new max resolution.

SVN-Revision: 6475

14 years agoExpand bonus1/bonus-level5.stl to fill new max resolution.
Arvid Norlander [Sun, 28 Feb 2010 20:42:03 +0000 (20:42 +0000)]
Expand bonus1/bonus-level5.stl to fill new max resolution.

SVN-Revision: 6474

14 years agoCompiler warning fix, init variables to 0
Ingo Ruhnke [Sun, 28 Feb 2010 20:41:02 +0000 (20:41 +0000)]
Compiler warning fix, init variables to 0

SVN-Revision: 6473

14 years agoCompiler warning fix, init variables to 0
Ingo Ruhnke [Sun, 28 Feb 2010 20:39:02 +0000 (20:39 +0000)]
Compiler warning fix, init variables to 0

SVN-Revision: 6472

14 years agoExpand bonus1/bonus-level4.stl to fill new max resolution.
Arvid Norlander [Sun, 28 Feb 2010 20:21:30 +0000 (20:21 +0000)]
Expand bonus1/bonus-level4.stl to fill new max resolution.

SVN-Revision: 6471