./games/solarus, Open-source Zelda-like 2D game engine licensed under GPL

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.5.1nb3, Package name: solarus-1.5.1nb3, Maintainer: rodent

Solarus is an open-source Zelda-like 2D game engine licensed under GPL. It is
written in C++ and runs quests scripted in Lua.


Required to run:
[multimedia/libogg] [audio/libmodplug] [audio/libvorbis] [devel/physfs] [lang/gcc48-libs] [lang/LuaJIT2] [devel/SDL2] [lang/lua51] [x11/qt5-qttools] [x11/qt5-qtbase] [fonts/SDL2_ttf] [graphics/SDL2_image] [audio/openal-soft]

Required to build:
[pkgtools/x11-links] [x11/compositeproto] [x11/glproto] [x11/renderproto] [x11/xproto] [x11/xf86vidmodeproto] [x11/recordproto] [x11/xf86driproto] [x11/damageproto] [x11/inputproto] [x11/xextproto] [x11/randrproto] [x11/dri2proto] [x11/xcb-proto] [x11/fixesproto4] [lang/python27] [lang/gcc48] [pkgtools/cwrappers] [lang/ruby22-base]

Master sites:

SHA1: 703a305b189711b2761a66d916b70f624c37825b
RMD160: 504d3d582a50b8c87dd6a04fc3af5c277208e58a
Filesize: 2220.319 KB

Version history: (Expand)


CVS history: (Expand)


   2017-02-12 07:26:18 by Ryo ONODERA | Files touched by this commit (1451)
Log message:
Recursive revbump from fonts/harfbuzz
   2017-02-06 14:56:14 by Thomas Klausner | Files touched by this commit (1452)
Log message:
Recursive bump for harfbuzz's new graphite2 dependency.
   2017-01-21 21:06:55 by Ryo ONODERA | Files touched by this commit (157)
Log message:
Recursive revbump from audio/pulseaudio-10.0
   2017-01-12 00:42:57 by Blue Rats | Files touched by this commit (4) | Package updated
Log message:
Update to 1.5.1, the latest stable. Remove patch that was applied upstream.
Now depends on qt5-qt{tools,base}. From changes.txt:

Solarus 1.5.1 (2016-11-29)
__________________________

Engine changes
--------------

* Add Spanish translation of the launcher GUI (thanks Diarandor!).
* Fix registering quest to the launcher at quest install time (#948).
* Fix crash when a carried bomb explodes (#953).
* Fix crash when a scrolling teletransporter is incorrectly placed (#977).
* Fix crash when an entity has a wrong savegame variable type (#1008).
* Fix memory leak when creating lots of surfaces (#962).
* Fix cleanup of the quest files at exit.
* Fix error in sol.main.load_settings() when the file does not exist.
* Fix ground ignored after hero:unfreeze() or back to solid ground (#827).
* Fix entity:get_name() returning nil after the entity is removed (#954).
* Improve error messages of surface creations and conversions.
* Chests: set an initial value "entities/chest" to the sprite field.

Solarus launcher GUI changes
----------------------------

* Start the selected quest by pressing Return or double-clicking (#949).

Sample quest changes
--------------------

* The sample quest is now in a separate repository (#996).

__________________________

Solarus 1.5.0 (2016-07-27)
__________________________

Engine changes
--------------

* Add a launcher GUI to ease chosing a quest and setting options (#693).
* Rename the solarus_run executable to solarus-run.
* Add version number and symbolic links when building the library.
* Add a -lua-console option to run Lua code from the standard input.
* Remove the -win-console option, the preferred way is now to use a GUI.
* Add a -turbo option to run at full speed.
* Add a -lag option to simulate slower systems for debugging.
* Print when the main loop starts and stops.
* Print the Lua version at startup (#692).
* Outputs are now prefixed by [Solarus] and the current simulated time.
* Musics: Add support of custom OGG looping (#643).
* Maps: allow more than 3 layers (#445).
* Improve the performance of loading big maps (#854).
* Improve the performance of custom entity collisions.
* Improve the performance of collisions by using a quadtree.
* Entities far from the camera are no longer suspended.
* The hero no longer automatically jumps when arriving on water (#530).
* Destinations can now set to update or not the starting location (#819).
* Teletransporters on the side of the map now work on all layers (#850).
* Streams can now have a speed of zero (#496).
* Fix crash when main.lua has a syntax error.
* Fix crash with missing directions in sprites controlled by the engine (#864).
* Fix sprite:on_animation_finished() and others not working sometimes (#799).
* Fix error in sprite:set_animation() when the direction is missing (#937).
* Fix straight movement precision.
* Fix freeze when loading a map with tiles outside the limits (#875).
* Fix crash when trying to use a non-saved item (#889).
* Fix sword tapping sound still played when the game is suspended (#797).
* Fix hero:set_invincible() not working without duration (#805).
* Fix lifted item walking animation only accepting 3 frames (#645).
* Fix enemy:set_attack_consequence_sprite() with thrown items (#834).
* Fix custom_entity:set_can_traverse() for doors (#716).
* Fix custom_entity:set_can_traverse_ground() for some grounds (#794).
* Fix custom entity collisions missed for entities that do not move (#671, #883).
* Fix custom_entity:get_modified_ground() returning nothing.
* Fix custom_entity:on_ground_below_changed() not called (#738).
* Fix missing notifications in custom_entity:set_origin() (#880).
* Fix creating an entity with the same name as another one just removed (#795).
* Fix parallax scrolling for dynamic tiles (#816).
* Fix crash when a diagonal tile is not square (#837).
* Fix crash when the teletransporter after stairs is missing.
* Fix non-blocking stream turns after going south (#648).
* Fix text_surface:set_rendering_mode() not working (#833).
* Fix possible freeze when changing the position of a path finding entity.
* Fix circle_movement:set_initial_angle() not working (#721).
* Fix straight movement setting speed to zero when reaching obstacles (#633).
* Fix support of joypads with multiple axes.
* Fix sol.input.get_mouse_coordinates() ignoring the zoom factor (#734).

Lua API changes
---------------

Changes that introduce incompatibilities:

* Fix missing collision detections and entity notifications.
* chest:on_empty() is replaced by chest:on_opened(treasure) (#483).
* Enemy ranks no longer exist, set_hurt_style() needs to be called (#449).
* Items with amount now have a default max amount of 1000 (#688).
* New ability "jump_over_water" in game:get/set_ability(), off by \ 
default (#530).
* Fix hero state name "freezed", renamed it to "frozen" (#813).
* Fix map:get_entities() not returning the hero (#670).
* Fix map:create_custom_entity() not erroring when width/height are missing.
* map:get_camera_position() is now deprecated, use camera:get_bounding_box().
* map:move_camera() is now deprecated, use a camera movement instead.
* map:draw_sprite() is now deprecated, use map:draw_visual() instead (#661).
* Fix entity:set_enabled(true) delayed while it blocks the hero (#817).
* Fix brandished treasure sprite and shop treasure sprite not animated (#790).
* circle_movement:get/set_initial_angle() now use degrees (#721).
* Add ability to hide mouse cursor (#891).

Changes that do not introduce incompatibilities:

* Add a function sol.main.get_solarus_version() (#767).
* Add a function sol.main.get_quest_format().
* Add a function sol.main.get_type() (#744).
* Add a method game:set_suspended() (#845).
* Add methods map:get_min_layer() and map:get_max_layer() (#445).
* Add a method map:get_entities_by_type() (#796).
* Add a method map:get_entities_in_rectangle() (#142).
* Add a method map:draw_visual() to draw any drawable object (#661).
* Add a method map:get_camera() (the camera is now a map entity).
* Add methods map:set_world() and map:set_floor() (#656).
* map:get_entities() can now be called without parameter to get all entities.
* map:get_entities*() functions now give entities sorted in Z order (#779).
* Add an event entity:on_movement_started().
* Add a method entity:get_max_bounding_box() considering sprite boxes (#754).
* entity:get_center_position() now also returns the layer.
* Add a method entity:get_facing_position().
* Add a method entity:get_facing_entity() (#877).
* Add a method entity:get_ground_position() (#830).
* Add a method entity:get_ground_below() (#830).
* entity:set_optimization_distance() is now only a hint for the engine.
* entity:test_obstacles() now also works without parameters.
* entity:overlaps() now has an optional collision mode parameter (#748).
* Add entity:get_sprite() to all entities, with an optional name value (#669).
* Add a method entity:get_sprites() (#851).
* Add methods entity:bring_sprite_to_front/back() (#809).
* enemy/custom_entity:create_sprite() now take an optional name value.
* hero:save_solid_ground() can now take a function parameter (#667).
* Add a method hero:start_attack() (#821).
* Add methods npc:is/set_traversable() (#712).
* Add methods chest:get/set_treasure() (#664).
* Add an event chest:on_opened() with treasure info parameters (#483).
* Add methods dynamic_tile:get_pattern_id() and get_modified_ground() (#755).
* Add methods destination:get/set_starting_location_mode() (#819).
* Add a method switch:is_walkable() (#729).
* Add a method switch:is_locked().
* Add a method sprite:get_num_frames() (#818).
* Add methods sprite:get_size() and sprite:get_origin() (#823).
* sprite:set_animation() now takes an optional callback parameter (#861).
* Add a method surface:get_opacity() (#722).
* Add methods surface/text_surface/sprite:get/set_blending_mode (#930).

Data files format changes
-------------------------

* New directory logos to put the logo and icons of your quest, used in the GUI.
* Quest properties: New properties describing the quest, used in the GUI (#838).
* Quest properties: the title_bar property no longer exists, use title instead.
* Maps: New properties min_layer and max_layer (#445).
* Maps: Enemies no longer have a rank property (#449).
* Maps: New property starting_location_mode on destinations (#819).
* Maps: width and height of custom entities are now mandatory as documented.
* Dialogs: Allow empty texts.

Sample quest changes
--------------------

* Lots of new sprites and sounds from Diarandor.

__________________________

Solarus 1.4.5 (2015-11-22)
__________________________

Bug fixes for the 1.4 release.

* Fix file name not shown when there is an error in dialogs file (#718).
* Fix saving special characters in data files (#719).
* Fix sol.main.load_file() returning a string instead of nil on error (#730).
* Fix performance issue when sprites have huge frame delays (#723).
* Fix collisions triggered for removed entities (#710).
* Fix hero disappearing if lifting animation has less than 5 frames (#682).
* Fix collisions with diagonal dynamic tiles larger than 8x8 (#486).
* Fix path finding movement not working with NPCs (#708).
* Fix stuck on non-traversable dynamic tiles covered by traversables (#769).
* Fix collision detection of custom entities that do not move.
* Fix pickables with special movement falling in holes too early.
* Fix blocking streams not working when the hero's speed is greater (#488).

__________________________

Solarus 1.4.4 (2015-08-19)
__________________________

Bug fixes for the 1.4 release.

* Fix pickables falling in holes even when hooked (#740).

__________________________

Solarus 1.4.3 (2015-08-12)
__________________________

Bug fixes for the 1.4 release.

* Fix a compilation error with Mac OS X.
* Fix crash at exit when a surface has a movement with callback (#699).
* Fix crash when removing a custom entity (#690).
* Fix crash when a sprite file is missing or has no animation (#700).
* Fix crash when trying to remove a sprite already removed (#705).
* Fix crash when a custom entity collision or traversable test errors.
* Fix crash when changing hero sprites sometimes.
* Fix crash when sound buffers are full.
* Fix crash in map:get_ground() with out of bounds coordinates.
* Fix Lua error message saying "number expected" instead of \ 
"string expected".
* Fix game:set_command_keyboard/joypad_binding refusing parameters.
* Fix map scrolling not working if quest size is not a multiple of 5 (#701).
* Fix camera:move() ignoring separators.
* Fix entities already destroyed when map:on_finished() is called (#691).
* Fix entity:bring_to_front()/back() ignoring the order of obstacles.
* Fix hero stuck on blocks.
* Fix hero going backwards on ice sometimes.
* Fix custom_entity:set_can_traverse_ground() giving opposite result (#668).
* Fix enemy:immobilize() having no effect when already immobilized.
* Fix dying animation of flying and swimming enemies.
* Fix the position of the shadow of pickables when they move.
* Fix pickables not reacting to their ground (#655).
   2016-07-16 02:03:36 by Mark Davies | Files touched by this commit (1)
Log message:
Switch to openal-soft
   2015-11-03 21:57:10 by Alistair G. Crooks | Files touched by this commit (350)
Log message:
Add SHA512 digests for distfiles for games category

Problems found locating distfiles:
	Package blokus: missing distfile blokus-1.1.tar.gz
	Package crossfire-client: missing distfile crossfire-client-images-1.11.0.tar.gz
	Package dungeon: missing distfile dungeon-gdt-glk.tar.gz
	Package gate88: missing distfile Gate88_Mar19_05.tar.gz
	Package gnuchess4: missing distfile gnuchess-4.0.pl80.tar.gz
	Package ioquake3-pk3: missing distfile quake3-latest-pk3s.zip
	Package rollemup: missing distfile Rollemup.tar.gz
	Package tscp: missing distfile tscp181.zip
	Package xbat: missing distfile xev111.tar.gz
	Package xgalaga: missing distfile xgalaga-2.0.34.tar.gz
	Package xrick: missing distfile xrick-021212.tgz
	Package xskat: missing distfile xskat-cards.tar.gz

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
   2015-07-07 13:41:19 by Joerg Sonnenberger | Files touched by this commit (3)
Log message:
Don't mark a member as const which disables copy assignment, which in
turn can be used by value-insert.
   2015-07-02 01:06:59 by Blue Rats | Files touched by this commit (3) | Package updated
Log message:
Solarus 1.4.2 (2015-05-09)
_______________________________

Bug fixes for the 1.4 release.
No change in the engine (changes in Solarus Quest Editor only).

_______________________________

Solarus 1.4.1 (2015-05-09)
_______________________________

Bug fixes for the 1.4 release.

Engine changes
--------------

* Fix crash with doors whose opening condition is an item (#686).
* Fix the size of custom entities supposed to be optional (#680).
* Fix the hero's sprite reset to default ones when changing equipment (#681).
* Fix animated tiles freezed when running a quest a second time (#679).
* Fix saving empty files.
* Print an error message when there is no font in the quest.

_______________________________

Solarus 1.4.0 (2015-05-02)
_______________________________

The new quest editor release!

Engine changes
--------------

* Solarus now compiles with C++11.
* Solarus Quest Editor was rewritten and is now in a separate repository.
* Solarus can now be used as a library in other projects.
* Add a command-line flag -win-console=yes to see output on Windows (#550).
* Add unit tests.
* Fix a crash if an entity has a sprite without animation.
* Fix crash when using the -no-video command-line option.
* Fix assertion when a crystal block has less than 4 frames.
* Fix hero freeze when a treasure's dialog is missing (#595).
* Fix hero stuck in dynamic tiles just enabled on him (#89).
* Fix hero sometimes moving in wrong directions (#677).
* Fix tunic and sword collision when their sprite is changed (#617).
* Fix slightly incorrect position of carried item sometimes (#660).
* Fix crash when a tileset image is missing (#590).
* Don't die if the animation of a pickable treasure is missing.

Lua API changes
---------------

Changes that introduce incompatibilities:

* Text surfaces: the size must now be set at runtime instead of in fonts.dat.
* Text surfaces: the default font is now the first one in alphabetical order.

Changes that do not introduce incompatibilities:

* sol.text_surface.create() now accepts a size parameter (default is 11).
* Add a function sol.main.get_os().
* Fix sprite:on_frame_changed() called twice on animation/direction change.

Data files format changes
-------------------------

You can use the script
editor/resources/tools/data_files_conversion/1.3_to_1.4/update_quest.lua
to automatically update your data files.
Don't forget to make a backup first.

* fonts.dat no longer exists. Fonts are a resource like others now (#611).
* Fonts are now in a "fonts" directory instead of "text".
* Maps: shop treasures have a new property "font".