Quantcast
Channel: Solarus
Viewing all 60 articles
Browse latest View live

Android, Pandora and GCW-Zero ports!

$
0
0

Solarus 1.1 now officially supports three new mobile systems!

You have been waiting for a long time for the Android version. Thanks to Sam101, our games are now officially ported to Android. This Android port is in beta-testing though. There are a lot of different phone models so we need your feedback to know if there are problems. Please post any issue on the forum.

The Pandora and the GCW-Zero are two open-source consoles that are oriented to homebrew and retrogaming. Their communities are very active and thanks to their work, Solarus now also works on these two systems!

Therefore, the list of (offically) supported systems is now: Windows, Linux, Mac OS X, OpenBSD, Amiga OS 4, Android, Pandora, GCW-Zero.

See the download pages to get the games on the system of your choice.

We are also thinking of an iOS port with touchscreen gameplay but this will take time. Not only we have to upgrade the engine and the Lua API to handle the mouse and the touchscreens, but we also need to completely rework the gameplay in the case when no physical button is available. So how do we do right now for the Android version? We actually use a trick: the SDL 1.2 port of Android adds virtual buttons to the screen, that are mapped to SDL keyboard keys.

flattr this!


Solarus 1.1.1 released, fixed wrong teletransportation

$
0
0

An update of Solarus, Zelda Mystery of Solarus DX and XD was just released!

The main problem was a bug in Billy’s cave in ZSDX. You could be teletransported wrongly to a place that you were not supposed to see so early in the game, and more importantly, you could get stuck if you saved at that place. If you have this problem, just download the new version of ZSDX and your savegame will automatically get fixed.

Other annoying issues were fixed, including the heart meter not always updated and the game failing to detect the death of enemies falling into holes.

Changes in Solarus 1.1.1

  • Fix teletransporters activated while coming back from falling (#346).
  • Fix a libmodplug compilation problem due to wrong sndfile.h (#324).
  • Fix enemy death detection when falling into hole, lava or water (#350).
  • Fix a crash when changing the hero state in block:on_moved (#340).

Changes in Zelda Mystery of Solarus DX 1.7.1

  • Fix the heart meter not updated until the first save/reload (#67).
  • Fix wrong teletransportation in Billy’s cave after falling in a hole (#66).
  • Fix the debugging console no longer working after using F1, F2 or F3.

Changes in Zelda Mystery of Solarus XD 1.7.1

  • Fix Creepers never exploding after they are hurt (#16).
  • Fix a typo in English dialogs.
  • Fix the debugging console no longer working after using F1, F2 or F3

As always, you can install both games to replace any previous version and your savegames will continue to work.

Thank you for your feedback!

flattr this!

New design for the development blog

$
0
0

As the project grows and gets bigger, we thought it was important to get a new design for the development blog. Here it is ! We merged some pages to simplify navigation and changed the wordpress theme to a customized version of the very nice Vantage theme by SiteOrigin.

Solarus is about to be released in its 1.2 version, so let’s say the new design is to celebrate the soon-to-come event !

flattr this!

Solarus 1.2 is out!

$
0
0

After six months of development, we are proud to announce the release of the Solarus 1.2!

Solarus now uses SDL2. Graphics are GPU-accelerated if available. Switching to fullscreen is faster, does not change the resolution and keeps the correct pixel ratio.  And the window is resizable. There are new pixel scaling filters, including hq4x which is great to play on big screens.

We now support LuaJIT, the just-in-time Lua compiler. Combined with the accelerated graphics of SDL2, we obtain better performance than ever.

But if you are a quest maker, you will especially be interested by custom entitiesstreams (the new name of conveyor belts), metatables and repeatable timers. I will give more details about these new features in future posts, but you can already see the documentation.

The quest editor was greatly improved. You can now resize multiple entities at once. The map view can be dragged with the middle mouse button and can be zoomed with Ctrl+wheel. Copy-pasting is more intuitive now, and works much better between different maps.

Our games ZSDX and ZSXD were also upgraded to give you up-to-date examples of games. ZSXD is now available in Spanish (beta). Thanks Xexio!

Here is the full changelog. 153 github issues were resolved for Solarus 1.2 (this is a new record!) and 20 more for ZSDX and ZSXD 1.8.

Changes in Solarus 1.2

New features:

  • Upgrade to SDL 2 (#262). Thanks Vlag.
  • Accelerate video operations in GPU if available. Expect huge speedups.
  • Add the hq2x, hq3 and hq4x pixel filter algorithms as new video modes.
  • Make the window resizable (#338).
  • Use LuaJIT if available instead of vanilla Lua for better performance.
  • New map entity type: custom entities, fully scripted (#323).
  • Conveyor belts are now called streams and can be non-blocking (#288).
  • Collision rules of streams (conveyor belts) are now like holes.
  • Rewrite the main loop with a constant timestep (#351).
  • Show a dialog box in case of fatal error.
  • The “wide” video modes do not exist anymore. SDL2 does the job now.
  • Make stairs sounds optional (#364).
  • Make more checks in sprite files to avoid crashes (#357).
  • Set the default speed of StraightMovement to 32 instead of 0 (#343).
  • The size of all map entities must be a multiple of 8 (#358).
  • Thrown entities (pots, bombs…) can now fall to a lower layer (#349).
  • Running into a crystal or a solid switch now activates it (#193).
  • The hero can now jump over distant crystal blocks (#42).
  • The shield no longer protects while using the sword or carrying (#192).
  • Languages: New syntax of strings.dat easier to read and parse (#170).
  • Maps: The world property is now optional (#128).
  • Maps: Teletransporters transition property is now a string (#402).
  • Maps: Walls have a new property “stops_projectiles”.
  • Sounds: Running into a wall now plays a sound other than “explosion” (#297).

Lua API changes that introduce incompatibilities (see the migration guide):

  • Video mode names have changed: no more wide, fullscreen ou windowed names.
  • sol.video.switch_mode() no longer changes the fullscreen flag.
  • surface:set_transparency_color() no longer exists. Use surface:clear().
  • sol.audio.play_music(“none”) is replaced by sol.audio.play_music(nil).
  • on_key_pressed() and on_character_pressed() are now both called (#344).
  • Destructible objects no longer show hardcoded dialogs (#270).
  • map:create_destructible() has no hardcoded subtypes anymore (#270).
  • map:create_teletransporter(): the transition is now a string (#402).
  • map:create_shop_item() is replaced by map:create_shop_treasure().
  • map:create_conveyor_belt() is replaced by map:create_stream() (#288).
  • The state “conveyor belt” no longer exists in hero:get_state() (#288).
  • The built-in strength of the sword has changed (#426).
  • Bosses are not initially disabled anymore (#448).
  • Call enemy:on_hurt() before enemy:on_dying() (#325).
  • enemy:on_hurt() no longer takes a life_lost parameter (#426).
  • The built-in defense of the tunic has changed (#428).
  • enemy:get/set_magic_damage() no longer exists (#428).
  • hero:start_hurt() no longer takes a magic parameter (#428).
  • hero:start_hurt() now hurts the hero even when enemies cannot.
  • Enemies have now a default size of 16×16 and origin of 8,13 (#354).
  • The size of enemies must be a multiple of 8 (#358).
  • item:on_pickable_movement_changed replaced by pickable:on_movement_changed.
  • pickable:get_treasure() now returns the item instead of the item’s name.
  • Timers: returning true in the callback now repeats the timer (#152).
  • sol.timer.start() now always returns the timer, even if its delay is zero.

Lua API changes that do not introduce incompatibilities:

  • New Lua type and methods for custom map entities.
  • New API of destructible objects, fully customizable now (#270).
  • Colors now take an optional alpha value as fourth component.
  • New functions sol.video.get/set/reset_window_size().
  • New method surface:clear().
  • Add loop and callback features to sol.audio.play_music() (#280).
  • New function sol.main.get_metatable(), allows to implement shared behaviors.
  • The lifetime of a menu can now be another menu.
  • New method menu:is_started().
  • Attempt to stop a menu already stopped is no longer an error.
  • New method map:get_hero() (#362).
  • map:get_world() can now return nil because the world is now optional (#128).
  • map:create_wall() accepts a new property “stops_projectiles”.
  • Entity names are now auto-incremented to simplify their creation.
  • New method entity:get_game() (#363).
  • New methods entity:bring_to_front() and entity:bring_to_back() (#273).
  • entity:test_obstacles() now takes an optional layer parameter.
  • New methods enemy:get_attack_consequence(), get_attack_consequence_sprite().
  • The event entity:on_created() is now called for all types of entities.
  • New event enemy:on_hurt_by_sword() to customize the sword strength (#426).
  • New event enemy:on_attacking_hero() to customize attacks (#356).
  • New event enemy:on_hurting_hero() to customize hurting the hero (#428).
  • New event hero:on_hurt() to customize the defense of the equipment (#428).
  • hero:start_hurt() now takes an optional entity and sprite (#417).
  • New methods hero:is/set_invincible() and hero:is/set_blinking() (#418).
  • New methods hero:get/set_animation() to set custom animations (#155).
  • New methods hero:get/set_sword_sound_id() to change the sword sound (#155).
  • New methods to set custom tunic, sword and shield sprites (#155).
  • New functions to get/set the properties of teletransporters (#403).
  • New functions to get/set the properties of blocks.
  • New methods to simulate game commands, by mrunderhill (#382).
  • New event sensor:on_left() (#339).
  • New event block:on_moving() (#334).
  • New event teletransporter:on_activated() (#312).
  • New event destination:on_activated() (#312).
  • movement:on_position_changed() now takes x and y parameters (#342).
  • Check the parameter sign in game:add/remove life/money/magic (#416).
  • Check the parameter sign in item:add/remove_amount.
  • New methods timer:get/set_remaining_time.
  • New function sol.main.get_elapsed_time() to get the simulated time (#424).
  • New function sol.input.get_key_modifiers() to get the key modifiers state.

Bug fixes:

  • Fix enemy:on_hurt() that was wrongly called when immobilized.
  • Fix life and money exceeding the max when the max changes (#355).
  • Fix RandomMovement speed that was not taken into account (#361).
  • Fix collisions detected on disabled entities (#455).
  • Fix pixel collisions coordinates when sprites move (#372).
  • Fix a slowness when loading maps (#374).
  • Fix crash when accessing a map not active anymore (#371).
  • Fix crash when changing the movement of the hero (#392).
  • Fix crash when calling hero:start_treasure() with wrong parameters (#391).
  • Fix crash when calling game:has/get/set_ability() with wrong name (#408).
  • Fix a crash when creating two entities with the same name (#370).
  • Fix issues with unobtainable treasures.
  • Fix the starting location wrongly saved with special destinations (#375).
  • Fix map:set_tileset() sometimes moving the hero near the map border (#400).
  • Fix enemies stuck on blocks (#360).
  • Fix enemies stuck on crystal blocks (#41).
  • Fix human NPCs not automatically showing “walking” when moving (#336).
  • Fix the hero leaving the grabbing state even while the game is suspended.
  • Fix low walls in dynamic tiles behaving like normal walls.
  • Fix wrong collisions of right-up and left-down diagonal jumpers.
  • Fix jumpers that could be traversed sideways (#481).
  • Fix blocks no longer stopping when aligned on the grid since Solarus 0.9.3.
  • Fix entities not always shown when they have no optimization distance.
  • Fix movement:start() raising an error if the optional callback is nil.
  • Fix random_movement:get_max_radius() that was not working.
  • Fix timer:is_suspended_with_map() that was not working.
  • Fix crash when calling timer:set_suspended_with_map() without game started.
  • Call hero:on_removed() and stop hero timers when stopping the game (#421).
  • Don’t die if the map or destination saved no longer exists (#301).
  • Don’t die if a map has no destination. Show an error and go to 0,0 instead.
  • Don’t die if hero:teleport() attempts to go to a non-existing place.
  • Don’t die if attempting to start a game without map.
  • Don’t die if attempting to start a non-existing dialog.

Changes in Solarus Quest Editor 1.2

New features:

  • The editor is now built with Maven (#365).
  • Multiple entities can now be resized at the same time (#405).
  • Copy-pasting entities now pastes them at the cursor (#404).
  • The map view can now be dragged using the middle mouse button (#413).
  • Zoom in/out in the map view using the Ctrl + mouse wheel (rekcah1986).
  • Add buttons to edit or refresh the tileset from the map view (#425).
  • The tileset view can now be dragged using the middle mouse button (#427).
  • Selecting a tile now highlights its pattern in the tileset view (#290).
  • Ctrl/Shift+click even on an entity now starts a selection rectangle (#410).
  • Tile patterns can now be moved in the tileset editor (#422).
  • The id and name of a new resource and now asked in a single dialog (#321).
  • Show the old value in the dialog to change an id/name (#468) (rekcah1986).
  • The order of resources in the quest tree can now be changed (#319).
  • Increase the stepsize when scrolling the map view.
  • Center the dialog of editing an entity (#443).
  • Add a scroller to dialogs that are too high (#437) (rekcah1986).
  • Show the map or tileset name in the “do you want to save” dialog.
  • Show quest name and resource ids in the tree view (thanks rekcah1986).
  • Don’t place new tiles below other entities if there are some (#461).
  • Switches, crystals and crystal blocks now show their actual sprite (#376).

Bug fixes:

  • Fix hidden entities getting selected when clicked (#460).
  • Fix selected entities losing their order when changing the layer.
  • Fix NullPointerException when canceling the Open Project dialog.
  • Fix freeze if tiles don’t exist when changing the tileset of a map.
  • Fix the tree not refreshing when deleting a resource (#335).
  • Fix the tileset editor not always showing the save dialog on closing.
  • Fix the num_columns property of sprites wrongly parsed.
  • Fix wrong displaying of right-up and left-down diagonal jumpers.

Incompatibilities

These improvements involve changes that introduce some incompatibilities in both the format of data files (in particular strings.dat) and the Lua API. Make a backup, and then see the migration guide on the wiki to know how to upgrade.

Changes in Zelda Mystery of Solarus DX 1.8

New features:

  • Replace fixed8.fon by a TTF font due to an SDL2 regression (#59).
  • Switch fullscreen also with F11.

Bug fixes:

  • Dungeon 3 5F: fix falling too early in the hole due to incorrect layers.

Changes in Zelda Mystery of Solarus XD 1.8

New features:

  • Spanish translation (beta). Thanks Xexio!
  • Replace fixed8.fon by a TTF font due to an SDL2 regression (#59).
  • Switch fullscreen also with F11.
  • Make streams non-blocking in the crazy house.

Bug fixes:

  • Fix a typo in French dialogs.
  • Fix the position of some diagonal jumpers.

flattr this!

Custom entities

$
0
0

If you are developing a quest with Solarus, you will definitely be interested in lots of new features of Solarus 1.2. But the most important one is probably custom entities!

Assume that you want to block the entrance of a dungeon with a big rock. To create your big rock on your map, you have to choose the type of map entity that best fits your needs. But each type of entity (non-playing character, enemy, door, destructible, dynamic tile, etc.) implements some built-in behavior that you don’t want for this particular need. Each type of entity corresponds to a common use case that is not necessarily yours in this situation. Sometimes, you can hijack an entity to avoid its built-in behavior: for example, you can implement the rock as a non-playing character that does not talk. Or you can make an enemy that does not hurt the hero. This is weird at best.

Another example is creating weapons that are not included in the engine. The engine implements a bow with arrows, the boomerang and the hookshot, similarly to Zelda: A Link to the Past. But how to create the hammer? More difficult: how to create the stakes that can be pushed using the hammer? How to shoot ice when using the ice rod?

Custom entities are the answer to these challenges. Custom entities are a new type of map entity introduced in Solarus 1.2.

Their main feature is to have no special feature! Indeed, they are fully scripted. Your script can define the size, the sprite (if any), the movement (if any) and the exact obstacle and collision rules. You can set callbacks to be executed when a collision is detected with another entity. In short, they are very powerful.

Lots of other built-in entity types could even be reimplemented as custom entities. Yet, we keep them because they are commonly used in games.

Let’s see how we could implement our big rock to block the entrance of a dungeon. From the editor, create on your map a custom entity called “rock_entrance”, set its size, for example 32×32, and its sprite to “entities/rock_entrance”. Indeed, common properties like the size and the sprite can be set from the editor. This is also possible from the Lua script of your map, but using the editor to create entities is easier. Then, edit the map script to define the other properties:

1
2
3
4
5
6
7
8
9
10
rock_entrance:set_traversable_by(false)  -- Don't allow other entities to traverse the rock.

-- Destroy the rock if there is an explosion.
rock_entrance:add_collision_test("overlapping", function(rock_entrance, other)
  if other:get_type() == "explosion" then
    -- The rock explodes.
    sol.audio.play_sound("secret")
    rock_entrance:remove()
  end
end)

This is a basic example of custom entity. To implement the hammer and hammer stakes, you will need two custom entities: the hammer itself (created dynamically when the player uses the item) and the hammer stakes. The hammer will test collisions with enemies and with hammer stakes. Hammer stakes will become traversable (and their sprite animation will change) when they collide with the hammer.

An interesting fact is that there will a lot of hammer stakes in your quest, and they will appear on different maps. In other words, you need a reusable custom entity. To solve this problem, we provide models: each custom entity can have an optional model. A model the name of a Lua script that will be applied to all custom entities that refer to it. Actually, this works exactly like the breed of enemies. You can have several enemies ruled by the same enemy script. Similarly, if you need multiple instances of identical custom entities, you can use a model.

flattr this!

Bugfix release 1.2.1

$
0
0

A bugfix release named Solarus 1.2.1 is available!

It addresses a few issues with recent features that were not working correctly, like custom entities, and a problem of corrupted image when creating a new quest with the editor.

Changes in Solarus 1.2.1

  • Fix entity:is_in_same_region() giving wrong results (#500).
  • Fix custom_entity:set_can_traverse() giving opposite results.
  • Fix custom_entity:on_interaction() not always called.
  • Fix custom_entity sprite collision issues with some entities (#536).
  • Fix a crash in enemy:restart() when the enemy is dying (#558).
  • Fix hero:set_tunic_sprite_id() resetting the direction to right (#511).
  • Fix timer:get_remaining_time() always returning 0 (#503).
  • Fix declaring global variables from a map script (#507).
  • Fix the hero sometimes moving while no keys are pressed (#513). By xethm55.
  • Fix on_joypad events not always working (#519). By xethm55.
  • Add an error when a hero sprite animation is missing (#485). By Nate-Devv.

Changes in Solarus Quest Editor 1.2.1

  • Fix corrupted image in quest created by Quest > New quest (#548).
  • Fix tiles created on invisible layer (#508). By Maxs1789.
  • Fix crash when an NPC sprite does not have 4 directions (#510). By Maxs1789.

flattr this!

English tutorial!

$
0
0

More and more people are interested in creating games with Solarus. However, there was a lack of tutorials to explain how to do it.

There is a video tutorial in French, and a written tutorial also in French, but so far there was nothing in English. You guys were expecting it, here it is: the official English video tutorial!

I uploaded chapter 1 today, and more chapters will come in the next few days. The French tutorial has 55 episodes for now (and is not over!) so there is a lot of work! To get the updates, you can follow me on Twitter (@ChristophoZS) or subscribe to the YouTube channel.

We hope that you will enjoy these videos and more importantly, that you will be able to create lots of great games now :)

flattr this!

Solarus 1.3 is out, now with a sprite editor!

$
0
0

A new release of Solarus is available: version 1.3!

The main improvement of Solarus 1.3 is the graphical sprite editor integrated in Solarus Quest Editor. You will no longer have to edit sprite sheet data files by hand!

Sprite Editor

Screenshot of Solarus Quest Editor 1.3, modifying the sprite of an enemy in ZSDX.

The sprite editor was primarily developed by Maxs. You can create and edit sprite sheets. A tree shows the hierarchy of animations and direction of your sprite. And below the tree, you can edit the animation and direction that are selected in the tree.

The main changes of this release are in the quest editor. Another important improvement is that tile patterns can now be identified by a string instead of auto-generated integers. This allows to more easily maintain different similar tilesets.

There are also a few new features in the engine and in the Lua API, like more customizable switches, but nothing that breaks compatibility of your scripts.

As always, our games ZSDX and ZSXD were also upgraded to give you up-to-date examples of games. In ZSDX, there is also a new world minimap made by Neovyse.

Here is the full changelog.

Changes in Solarus 1.3

Lua API changes that do not introduce incompatibilities:

  • Add mouse functions and events (experimental, more will come in Solarus 1.4).
  • Add a method sprite:get_animation_set_id() (#552).
  • Add a method sprite:has_animation() (#525).
  • Add a method sprite:get_num_directions().
  • Add a method hero:get_solid_ground_position() (#572).
  • Add a method switch:get_sprite().
  • Allow to customize the sprite and sound of switches (#553).
  • Add a method enemy:get_treasure() (#501).

Bug fixes:

  • Fix the write directory not having priority over the data dir since 1.1.
  • Fix pickable/destructible:get_treasure() returning wrong types.
  • Fix custom entity collision detection when the other is not moving (#551).
  • Allow to call map methods even when the map is not running.

Changes in Solarus Quest Editor 1.3

New features:

  • Add a sprite editor (#135). By Maxs.
  • Add a zoom level of 400%. By Maxs.
  • Add keyboard/mouse zoom features to sprites and tilesets. By Maxs.
  • Add Lua syntax coloring (#470). By Maxs.
  • Add a close button on tabs (#439). By Maxs.
  • Rework the quest tree to show the file hierarchy and Lua scripts. By Maxs.
  • Add specific icons for each resource type in the quest tree.
  • Move the entity checkboxes to the map view settings panel. By Maxs.
  • Allow to change the id of a tile pattern in the tileset editor (#559).
  • Don’t initially maximize the editor window.

Bug fixes:

  • Fix converting quests to several versions in one go.

Incompatibilities

These improvements involve changes that introduce slight incompatibilities in the format of data files, but no incompatibility in the Lua API. Make a backup, and then see the migration guide on the wiki to know how to upgrade.

Changes in Zelda Mystery of Solarus DX 1.9

New features:

  • New world minimap. By Neovyse.
  • Make cmake paths more modifiable. By hasufell.

Bug fixes:

  • Fix direction of vertical movement on joypad in menus (#85). By xethm55.
  • Clarify license of some files.

Changes in Zelda Mystery of Solarus XD 1.9

New features:

  • Make cmake paths more modifiable. By hasufell.

Bug fixes:

  • Fix direction of vertical movement on joypad in menus.
  • Clarify the license of some files.

flattr this!


Solarus 1.4 released, new quest editor!

$
0
0

A new version of Solarus and Solarus Quest Editor is available: version 1.4!

We have been working hard for the last few months to completely rewrite the quest editor. The new quest editor is now written in C++/Qt. It is faster, nicer and has a lot of new features!

tileset-editor

  • Dialogs editor!
  • Strings editor!
  • Quest properties editor!
  • Options dialog!
  • Ability to run the quest from the editor! (experimental)
  • Multi-selection support in the tileset view!
  • Improved quest tree!
  • French translation!

And a lot more, see the full changelog below.

dialog-editor

There might be some bugs we missed in the new editor since everything was rewritten from scratch. Please report any issue on the bug tracker.

There are not a lot of changes in the engine (mostly bug fixes). The only real change is that fonts are now a resource like maps, tilesets, musics, sprites, etc. Your scripts may need slight adjustements to follow this change. Nothing dangerous, don’t worry, but this is explained in the migration guide.

We hope you will enjoy the new quest editor! Check our tutorials if you want to learn how to create your own quest. We are also currently updating the website to reflect the new change and give up-to-date information and screenshots of the quest editor.

As always, our games ZSDX and ZSXD were also upgraded to give you up-to-date examples of games.

Here is the full changelog.

Changes in Solarus 1.4

New features:

  • Solarus now compiles with C++11.
  • 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.
  • 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”.

Lua API 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.

Lua API 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.

Bug fixes:

  • Add mouse functions and events (experimental, more will come in Solarus 1.4).
  • Add a method sprite:get_animation_set_id() (#552).
  • Add a method sprite:has_animation() (#525).
  • Add a method sprite:get_num_directions().
  • Add a method hero:get_solid_ground_position() (#572).
  • Add a method switch:get_sprite().
  • Allow to customize the sprite and sound of switches (#553).
  • Add a method enemy:get_treasure() (#501).

Changes in Solarus Quest Editor 1.4

New features:

  • Solarus Quest Editor was rewritten and is now in a separate repository.
  • Dialogs editor (by Maxs).
  • Strings editor (by Maxs).
  • Quest properties (quest.dat) editor (by Maxs).
  • French translation.
  • Add an options dialogs to configure various settings (by Maxs).
  • Add a toolbar.
  • The quest can now be run from the editor (experimental).
  • New keyboard shortcuts.
  • Map editor: multiple tiles from the tileset can now be added at once.
  • Map editor: improved the resizing of multiple entities.
  • Map editor: show information about the entity under the cursor.
  • Map editor: multiple tiles can be converted to/from dynamic tiles at once.
  • Map editor: tiles whose pattern is missing are no longer removed.
  • Tileset editor: undo/redo support.
  • Tileset editor: multi-selection support.
  • Tileset editor: showing the grid is now supported.
  • Sprite editor: undo/redo support.
  • Sprite editor: showing the grid is now supported.
  • Sprite lists now show icons representing each sprite.
  • Code editor: add a find text feature.
  • Quest tree: organize the view in columns (file name, description, type).
  • Quest tree: show resources whose file is missing on the filesystem.
  • Quest tree: show files that look like resources but are not declared yet.
  • The quest tree now automatically refreshes after changes in the filesystem.
  • Resource selectors now show a hierarchical view of elements.
  • A file to open can now be passed on the command line.
  • Show an appropriate icon in tabs.
  • Show an asterisk in the tab of files that are changed.
  • The editor has an icon now.
  • Add a menu item to open the official Solarus website.
  • Add a menu item to open Solarus documentation.

Bug fixes:

  • Fix encoding of non-ascii characters in project_db.dat with Windows.
  • Fix Ctrl+S shortcut not always working.
  • Fix entities restored to the front when undoing removing entities.
  • Fix entities restored to the front when undoing changing their layer.
  • Fix separators resizing that could allow illegal sizes.
  • Fix jumpers size reset after undoing changing their direction.
  • Fix walls being initially traversable by everything when they are created.

Incompatibilities

These improvements involve changes that introduce a slight incompatibility in the  Lua API regarding fonts. Make a backup, and then see the migration guide on the wiki to know how to upgrade.

Changes in Zelda Mystery of Solarus DX 1.10

Bug fixes:

  • Fix a minor tile issue in dungeon 8 entrance.
  • Fix the feather dialog that could be skipped in some languages.
  • Fix empty line in English dialog describing a bottle with water.
  • Fix empty buttons in savegame menu when changing language (#90).
  • Fix translation errors of two items in German (#98).
  • Dungeon 5: fix a missing door on the minimap (#99).
  • Dungeon 9: don’t allow to skip the boss hint dialog (#93).

Changes in Zelda Mystery of Solarus XD 1.10

Bug fixes:

  • Fix fairy only restoring 1/4 heart in cursed cave (#40).

Flattr this!

Bugfix release 1.4.1

$
0
0

A bugfix version of Solarus was just released!

This is version 1.4.1. It fixes some important problems including a crash with doors or chest using an equipment item as opening condition, and some problems in the quest editor when resizing maps or when copy-pasting entities. Thanks for your feedback!

 

And as always, here is the full changelog.

Changes in Solarus 1.4.1

 

  • 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.

Changes in Solarus Quest Editor 1.4.1

  • Fix crash when copy-pasting both tiles and dynamic entities sometimes (#24).
  • Fix crash when creating a map when no tileset exists.
  • Fix the view not updated when resizing a map (#25).
  • Fix maps having having an initial size of zero.
  • Fix the choice of the layer when copy-pasting entities.
  • Fix a precision issue when adding or moving entities.
  • Fix entities remaining visible when adding them on a hidden layer.
  • Fix the entity dialog allowing special characters in the entity name.
  • Fix missing translation of special destination names.
  • Fix closing a file even if unsaved when renaming it.
  • Fix typos.
  • Sprite editor: fix adding a new direction with the plus button (#27).

Enjoy!

Flattr this!

New game release : Zelda Return of the Hylian (Solarus Edition)

$
0
0

We are proud to announce the release of a new game ! It is called Return of the Hylian – Solarus Edition. However, it is not really a new game, since it is a remake of another fangame originally made by Vincent Jouillat from 2009. This time, the game has been completely remade with Solarus, thus featuring many improvements thanks to the engine.roth_se_logo

If you’ve never played the original version, you will notice that the game’s style and flow is rather different than our original creations : no tangled labyrinths, no hair-pulling-out enigmas, and less sinous dungeons rooms. It is a more accessible and relatively short game, but remember that Return of the Hylian is actually the first iteration of a quadrology of excellent games.

This first version is not perfect, and it is possible that you still encounter some bugs. Don’t hesitate to notify us, and it will be corrected as soon as possible.

What is missing in this 1.0.0 version, and will be added in the next weeks :

  • Configurable controls
  • English translation (for the moment, the only available language is French, but English is coming soon)
  • More improvements everywhere

You can find more information and download the game on its dedicated page.

Have fun !

link_roth_encrage_2

Flattr this!

Bugfix release 1.4.3 (engine and editor)

$
0
0

Our new game Zelda Return of the Hylian (Solarus Edition) comes with a new bugfix release of Solarus and Solarus Quest Editor. A lot of issues that you reported on the bug tracker were solved, as well as some problems I detected while working on Return of the Hylian.

Changes in Solarus 1.4.3

  • 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).
  • Fix a compilation error with Mac OS X.

Changes in Solarus Quest Editor 1.4.3

  • Quest properties editor: fix setting the write directory field empty (#36).
  • Sprite editor: add a button to refresh the source image (#50).
  • Map editor: fix crash when resizing with no entities selected (#51).
  • Map editor: fix entities still visible when adding them on a hidden layer.
  • Map editor: fix entity dialog allowing to set illegal sizes (#23).
  • Map editor: fix changing the direction of a jumper from the dialog (#60).
  • Map editor: fix sprites not always updated when changing direction (#32).
  • Map editor: show a context menu when right-clicking an empty space (#26).
  • Tileset editor: fix usability issues to create and select patterns (#31).
  • Tileset editor: fix moving a pattern to a partially overlapping place (#29).
  • Tileset editor: fix color when moving a pattern to an occupied place (#34).
  • Tileset editor: fix existing selection lost if selecting with ctrl or shift.
  • Text editor: the find button is now the default one in the find dialog (#30).
  • Dialogs editor: fix crash when comparing empty dialogs (#48).
  • Dialogs editor: ensure that the text ends with a newline (#45).
  • Make the numpad enter key work like the return key (#49).
  • Check the Solarus library version at compilation time (#41).

Enjoy!

Flattr this!

Zelda Return of the Hylian in English

$
0
0

Zelda : Return of the Hylian is now available in English!

The translation was imported from the original game that was already available in English. This is a beta translation, please report us any mistake. Enjoy!

Also, you can now decorate your desktop with a Return of the Hylian wallpaper (1920×1080 px, ask for more sizes):

Wallpaper (1920x1080 px)

Wallpaper (1920×1080 px)

Flattr this!

Official Twitter account

$
0
0

Solarus has now an official Twitter account. It is no more Christopho’s one, even if both are obviously tightly linked. You can now follow us if you still don’t.

follow_on_twitter

And remember that we also have an official Facebook account, which by now will just forward the twits from its Twitter counterpart.

follow_on_facebook

Flattr this!

New games made with Solarus

$
0
0

Solarus community had been very active for the last months. People started developing games and some are pretty far advanced. So we had to create a new page on Solarus website to feature community’s games.

Two games are well advanced in their development:

  • Tunics!: a rogue-like Zelda game. It means it’s only dungeons, and they are randomly generated. If you die, you’ll have to start again from the beginning.
  • The Legend of Zelda: Book of Mudora: a more classic Zelda game.

Have fun !

Flattr this!


Currently in development : Oni Link Begins remake

$
0
0

olb_se_logo

Christopho and Mymy have begun to work on Oni Link Begins, the sequel to Return of the Hylian. This is also an original game by Vincent Jouillat, and the second part of his trilogy. There is no release date announced, but you can watch the progression of the remake.

Flattr this!

Bugfix release 1.4.5, joypad supported in Zelda ROTH

$
0
0

A new bugfix release of Solarus, Solarus Quest Editor and our games was just published!

A bunch of bugs were fixed. Zelda Return of the Hylian can now be played with a joypad, and commands can be customized!

Also, Zelda Mystery of Solarus DX is now available in Italian (beta) thanks to Marco!

Changes in Solarus 1.4.5

  • 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 8×8 (#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).

Changes in Solarus Quest Editor 1.4.5

  • Add keyboard shortcut (F4) to switch between map view and map script (#75).
  • Map editor: fix entity being moved after closing its dialog (#76).
  • Map editor: start selection when clicking a tile with control/shift (#47).
  • Map editor: synchronize tile patterns selection from map selection (#35).
  • Sprite editor: improve auto-selection after removing a direction (#70).
  • Dialogs/strings editor: add a duplicate button (#72).
  • Dialogs/strings editor: Shows also missing marks on parent nodes (#68).
  • Fix crash on FreeBSD when running the quest (#112).
  • Fix crash on Mac OS X 64 bit.

Changes in Zelda ROTH SE 1.0.7

  • Allow to customize keyboard and joypad controls (#2).
  • Add title screen music (#74).
  • Add left/right arrows in pause menus to indicate possible actions (#60).
  • Show the current floor when it changes.
  • Fix typo in French dialogs in the intro.
  • Fix the blue potion dialog in English (#78).
  • Fix entities falling in holes even when hooked to the hookshot.
  • Fix caps lock state ignored after restarting the game (#20).
  • Fix hero stuck in a cliff near shadow village.
  • Fix hammer stakes pushed too early (#65).
  • Fix enemies active in other regions before taking the first separator (#72).
  • Fix enemy projectiles not removed when taking a separator (#71).
  • Fix saving with life 0 during the game-over sequence (#82).
  • Fix collisions of fire rod and ice rod (#55).
  • Fix torches staying on after game over.
  • Fix weak cavern wall already open in south-east.
  • Make the hammer activate crystals (#75).
  • Improve moving the camera with Ctrl+direction (#34).
  • Remember the last savegame played.
  • Dungeon 5: fix falling hands not properly removed.
  • Dungeon 7: fix a door not correctly aligned.
  • Dungeon 9: fix door closed when leaving without Zelda after boss key (#79).
  • Dungeon 9: fix boss door reopening after killing him (#81).
  • Dungeon 9: update soldier sprites to the original ones.

Changes in ZSDX 1.10.2

  • Add Italian translation (thanks Marco).
  • Make fairies play a sound when restoring life even when already full (#101).
  • Fix dialog cursor drawn at wrong position after successive questions (#105).
  • Dungeon 1: fix unintentional extra difficulty with block alignment (#102).
  • Dungeon 3: fix enemy entering mini-boss room (#107).
  • Dungeon 9: fix spikes sending back to wrong room (#108).
  • Dungeon 10: fix evil tiles door not opening sometimes (#94).
  • End screen: fix freezing the hero (#109).

Changes in ZSXD 1.10.2

  • Make fairies play a sound when restoring life even when already full (#101).

Enjoy!

Flattr this!

Another update of our games

$
0
0

Here is a small update of our games! Not a huge one, but it fixes the Italian translation of ZSDX and a few other issues.

Changes in Zelda ROTH SE 1.0.8

  • Increase rupee drop rates (#86).
  • Increase chances of getting bombs before dungeon 1.
  • Fix inappropriate English translation.

Changes in ZSDX 1.10.3

  • Fix Italian dialogs exceeding the dialog box (thanks Marco).
  • Fix game-over stopped sometimes using a workaround (#87).

Changes in ZSXD 1.10.3

  • Fix game-over stopped sometimes using a workaround.
  • Fix dialog cursor drawn at wrong position after successive questions.

Enjoy!

Flattr this!

Solatrix, a next generation handheld console [April’s Fools]

$
0
0

NB: Clarification at the bottom of the article.

For several years, we have been developing in great secrecy a project of unprecedented ambition.

This is not a game, nor a game engine or even a game creation software. This time we went further.

logo_solatrix

We are proud to officially unveil the Solatrix, a revolutionary handheld console dedicated to games built with the Solarus engine!

editor_screenshot

The Solatrix will allow you to download games created with Solarus Quest Editor, both our team’s games and the community games. It is expected to be available for the holidays, although it is unclear what year.

 

console1

Light and handy, the Solatrix has a 3.5-inch backlit screen.

 

console2

The Mercuris Pack will offer the console accompanied of Zelda Mercuris’ Chest, our flagship vaporware.

 

console3

Compatible with the most popular controllers on the market, the Solatrix promises hours of play more exciting than ever.

 

console4

Every Solarus Software Team member has worked hard to give life to this project! The plans will be available soon so that you can also build your own Solatrix.

 

That’s hours of fun and joy ahead!

Edit:

Obviously, it was an April’s Fools. But it is not impossible to build. Actually, it is quite feasible. The console we use to make these pictures is this one, by Rasmushauschild, so congrats to him for making such a beautiful console. It works with the RetroPie distribution, which is a distribution specialized in retro-gaming emulation. And as you may know, Solarus works now on RetroPie! The last missing thing is the little “Solatrix” sticker, but you can print it with the logo above. So now you can build your own Solatrix console!

 

Flattr this!

Solarus 1.5 released, now with a quest launcher!

$
0
0

On July 27th of 2006, I wrote the first commit of the Solarus project.

10 years later, the project has grown a lot! Today, we are proud to announce that Solarus and Solarus Quest Editor were just released in version 1.5.

The development of 1.5 took more than one year and this is the best release ever. There is now a nice quest launcher window:

solarus-launcher

The quest launcher allows you to add or remove quests and to play them. A console shows the output of the quest. You can also edit audio and video settings from this window. Of course, the old way of running quests still exists if you don’t want this window. But this is more user friendly and we already have ideas of new features for the launcher for future releases 🙂

Aside from the quest launcher, we added a lot of new features to the quest editor and to the Lua API.

  • Maps can have more than 3 layers.
  • Smart resizing! Full rooms can now be resized in one operation.
  • Directional resizing! Entities can now be resized to the left and top, not only to the right and bottom.
  • Musics and sounds can now be played from the editor!
  • Support for custom loops in OGG musics!
  • A console in the quest editor to execute Lua code on the fly!
  • An initial quest with many sprites, musics and sounds thanks to Diarandor and Eduardo!
  • Improved performance when editing or running maps with lots of entities.
  • The camera is now a map entity, you can customize its size and movement easily.

And a lot more, see the full changelog below.

Your quest scripts probably need some adjustements to upgrade to 1.5. All of this is explained in the migration guide.

We are very proud of this new release. Actually, some quest makers already switched to 1.5 a while ago because they could not wait to test the new features! So the release is for the most part validated. If you find bugs or if you have suggestions of features, don’t hesitate to report them on the GitHub page of our projects if they are not already present. If this release is the best release ever, this is largely thanks to your feedback guys.

I am now working on a brand new video tutorial series to help you create your quest. Because the old ones are starting to be really obsolete! To make sure you don’t miss their publication, you should subscribe to my YouTube channel ChristophoZS and my Twitter @ChristophoZS.

As always, our games ZSDX, ZSXD and Zelda ROTH SE were also upgraded to give you up-to-date quest examples.

We are doing all of this on our free time and this is all free and open-source software. If you like our work, please consider making a donation. It will contribute for the server fees and to the motivation of the team!

Here is the full changelog. Sit well!

Changes in Solarus 1.5

New features:

  • 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).

Lua API changes that introduce incompatibilities (see the migration guide for instructions):

  • 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).

Lua API 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).

Bug fixes:

  • 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).

Changes in Solarus Quest Editor 1.5

New features:

  • Add an execution log view of the quest.
  • Add a console to execute Lua instructions when the quest is running.
  • Add a command-line option -run to run a quest instead of opening the GUI.
  • Allow to save all open files at once (#98).
  • Allow to close all open files at once.
  • Allow to close the current quest (#88).
  • Allow to reorder tabs (#107).
  • Allow to switch tabs with keyboard shortcuts (#101).
  • Allow to automatically save files before running the quest (#90).
  • Allow to restore open tabs at startup (#131).
  • Add a recent quests menu (#89).
  • Creating a new quest now provides a lot of initial resources (#201).
  • Creating a new quest now sets the write directoy to a unique id (#207).
  • Resource directories are now automatically created when opening a quest.
  • The shortcut to load a quest is now Ctrl+L.
  • Add a menu item to open quest properties (#206).
  • Allow to update teletransporters when changing the id of a map (#56).
  • Allow to update teletransporters when renaming a destination (#58).
  • Allow to update maps when changing the id of a tileset (#57).
  • Add resource dialog: set the id as initial value for the description (#192).
  • Initialize map/item/enemy/entity scripts with helpful code (#33).
  • Automatically add .lua extension when creating a script file (#46).
  • Allow to play musics and sounds from the quest tree (#8).
  • Allow to play music and sounds from music and sound selectors.
  • Show the sprite of each element in enemy and item selectors (#9).
  • Map editor: allow more than 3 layers.
  • Map editor: implement smart resizing to resize full rooms at once (#54).
  • Map editor: allow to resize from the left and from the top (#111).
  • Map editor: shortcuts for showing/hiding layers are now 0, 1 and 2, etc.
  • Map editor: add shortcuts to show/hide entity types (#82).
  • Map editor: allow to show/hide obstacles (#6).
  • Map editor: add shortcuts to move one layer up or down (+ and -).
  • Map editor: add Escape shortcut to stop adding entities (#92).
  • Map editor: new entity icons by Amine (#119).
  • Map editor: show the real variant of pickables (#109).
  • Tileset editor: propose to refresh the image when it has changed (#86).
  • Tileset editor: don’t force the user to close maps before renaming patterns.
  • Tileset editor: add settings (#178).
  • Sprite editor: check the value of frame to loop on (#203).
  • Sprite editor: auto-detect the grid size (#13).
  • Settings: add sprite editor options.
  • Add select all to map, tileset and text editors (#106).
  • Add unselect all to map, tileset and text editors (#115).

Bug fixes:

  • Fix wrong hero movements sometimes when playing from the editor (#138).
  • Fix tabs not closed when opening another quest (#44).
  • Fix the drop-down list of resource selectors too small on some systems.
  • Map editor: fix crash when creating a block with a missing sprite (#195).
  • Map editor: fix performance regression when pasting a lot of entities (#141).
  • Map editor: fix entities still shown when put on a hidden layer.
  • Map editor: fix precision when starting selection above existing entities.
  • Map editor: stop adding tiles when unselecting them from the tileset view.
  • Map editor: uncheck entity creation button after adding an entity (#105).
  • Map editor: keep tileset scroll position when refreshing/changing it (#129).
  • Map editor: improve performance of selecting multiple entities.
  • Map editor: improve performance of moving multiple entities.
  • Map editor: fix multiple default destinations when copy-pasting (#118).
  • Tileset editor: improve performance of deleting multiple tile pattenrs (#120).
  • Text editor: improve tabulation behavior (#43).
  • Text editor: fix multiline comments matching to the end of the line (#63).
  • Sprite editor: fix “missing image” message staying after solving it (#191).
  • Quest properties: don’t allow slashes or backslashes in the write dir (#59).

Changes in Zelda Mystery of Solarus DX 1.11

Bug fixes:

  • Fix wrong layer when leaving dungeon 10.
  • Dungeon 2: fix sound played twice when activating the statues.
  • Dungeon 9: fix geting back to room entrance when touching spikes.
  • English dialogs: rename Pegasus Shoes to Pegasus Boots.

Changes in Zelda Mystery of Solarus XD 1.11

Bug fixes:

  • Fix typo in French dialogs.

Changes in Zelda Return of the Hylian SE 1.1

New features:

  • Add German translation (thanks Wuzzy2!).
  • Add Spanish translation (thanks Diarandor!).

Bug fixes:

  • Fix initial cursor position in savegame menu after a new game.
  • Fix stuck in a cliff west of the castle (#87).
  • Fix silver arrows incorrectly changing the arrow counter (#88).
  • Fix stats showing 47/46 monsters if a chicken was killed (#89).
  • Dungeon 4: fix crash when picking the crystal as rabbit (#91).

Flattr this!

Viewing all 60 articles
Browse latest View live