Nouveautés et corrections de bugs pour chaque version de Solarus.
Release date: 2021/04/06
This release adds new features but does not introduce any incompatibility.
destructible:get/set_cut_method()
force-software
suspend-unfocused
Date de sortie : 2020/04/12
Aucun changement pour le moteur (seulement pour Solarus Quest Editor).
Date de sortie : 2020/04/11
enemy:on_dying()
Date de sortie : 2019/08/15
Date de sortie : 2019/08/10
-force-software-rendering
hero:on_state_changed()
entity:overlaps(...)
sol.menu.start
game:get/set_transition_style()
state:get/set_can_use_teletransporter/switch/stream()
surface
text_surface
timer
Date de sortie : 2018/12/22
sol.timer.start()
timer:set_suspended_with_map()
circle_movement:get_direction4()
path_movement:get_path()
pixel_movement:get_trajectory()
straight_movement:set_max_distance()
straight_movement:set_speed()
entity:test_obstacles()
entity:get_ground_below()
map:on_started()
map:get_hero()
hero:on_movement_changed()
on_activated()
enemy:on_restarted()
item:on_ability_used()
sol.file.exists()
HAVE_UNISTD_H
This release adds new features and deprecates a few ones but does not introduce any incompatibility.
sol.video:on_draw(screen)
sol.main.get_quest_version()
sol.main.get_game()
game:simulate_key_pressed/released()
push
grab
pull
game:get/set_ability()
item:is_being_used()
entity:set_size()
entity:set_origin()
entity:create/remove_sprite()
entity:is/set_drawn_in_y_order()
entity:get/set_weight()
entity:get_property()
entity:set_property()
entity:get_properties()
entity:set_properties()
entity:get_layer()
entity:set_layer()
entity:get_controlling_stream()
entity:overlaps()
entity:get/set_draw_override()
entity:on_pre/post_draw(camera)
entity:on_pre/post_draw()
entity:on_enabled/disabled()
entity:on_suspended()
hero:get_carried_object()
hero:start_grabbing()
hero:start_attack_loading()
hero:on_state_changing()
camera:on_state_changing()
camera:get_surface()
dynamic_tile:get/set_tileset()
door:open()
door:close()
door:set_open()
stairs:get_direction()
stairs:is_inner()
destructible:on_lifting()
carried_object:get_carrier()
carried_object:get/set_damage_on_enemies()
carried_object:get/set_destruction_sound()
carried_object:on_lifted/thrown/breaking()
map:create_block()
block:get/set_max_moves()
block:get/set_maximum_moves()
enemy:set_attack_consequence()
enemy:is_immobilized()
enemy:get/set_attacking_collision_mode()
enemy:get/set_dying_sprite_id()
custom_entity:is/set_tiled()
custom_entity:get/set_follow_streams()
drawable:get/set_rotation()
get/set_scaling()
get/set_opacity()
sprite:is_animation_started()
sprite:stop_animation()
sprite:get_frame_src_xy()
sprite:get_ignore_suspend()
sprite:get_num_frames()
sprite:get_frame_delay()
sprite:get_size()
sprite:get_origin()
surface:get_pixels()
surface:set_pixels()
surface:gl_bind_as_target/texture()
movement:is_suspended()
movement:get/set_ignore_suspend()
get_angle()
circle_movement:get_center()
circle_movement:get/set_angle_from_center()
circle_movement:get/set_angular_speed()
sol.menu.bring_to_front/back()
sol.file.is_dir()
sol.file.list_dir()
sol.input
get/set_color_modulation()
sol.text_surface.get_predicted_size()
get/set_max_moves()
max_moves
maximum_moves
origin_x
origin_y
Date de sortie : 2016/04/01
text_surface:set_horizontal/vertical_alignment()
Date de sortie : 2016/11/29
sol.main.load_settings()
hero:unfreeze()
entity:get_name()
"entities/chest"
Date de sortie : 2016/07/27
solarus_run
solarus-run
-lua-console
-win-console
-turbo
-lag
[Solarus]
sprite:on_animation_finished()
sprite:set_animation()
hero:set_invincible()
enemy:set_attack_consequence_sprite()
custom_entity:set_can_traverse()
custom_entity:set_can_traverse_ground()
custom_entity:get_modified_ground()
custom_entity:on_ground_below_changed()
custom_entity:set_origin()
text_surface:set_rendering_mode()
circle_movement:set_initial_angle()
sol.input.get_mouse_coordinates()
chest:on_empty()
chest:on_opened(treasure)
set_hurt_style()
"jump_over_water"
"freezed"
"frozen"
map:get_entities()
map:create_custom_entity()
map:get_camera_position()
camera:get_bounding_box()
map:move_camera()
map:draw_sprite()
map:draw_visual()
entity:set_enabled(true)
circle_movement:get/set_initial_angle()
sol.main.get_solarus_version()
sol.main.get_quest_format()
sol.main.get_type()
game:set_suspended()
map:get_min_layer()
map:get_max_layer()
map:get_entities_by_type()
map:get_entities_in_rectangle()
map:get_camera()
map:set_world()
map:set_floor()
map:get_entities*()
entity:on_movement_started()
entity:get_max_bounding_box()
entity:get_center_position()
entity:get_facing_position()
entity:get_facing_entity()
entity:get_ground_position()
entity:set_optimization_distance()
entity:get_sprite()
entity:get_sprites()
entity:bring_sprite_to_front/back()
enemy/custom_entity:create_sprite()
hero:save_solid_ground()
hero:start_attack()
npc:is/set_traversable()
chest:get/set_treasure()
chest:on_opened()
dynamic_tile:get_pattern_id()
destination:get/set_starting_location_mode()
switch:is_walkable()
switch:is_locked()
surface:get_opacity()
surface/text_surface/sprite:get/set_blending_mode
title_bar
title
min_layer
max_layer
starting_location_mode
width
height
Date de sortie : 2015/11/22
Bug fixes for the 1.4 release.
sol.main.load_file()
Date de sortie : 2015/08/19
Date de sortie : 2015/08/12
map:get_ground()
game:set_command_keyboard/joypad_binding
camera:move()
map:on_finished()
entity:bring_to_front()/back()
enemy:immobilize()
Date de sortie : 2015/05/09
No change in the engine (changes in Solarus Quest Editor only).
Date de sortie : 2015/05/02
The new quest editor release!
-win-console=yes
-no-video
sol.text_surface.create()
sol.main.get_os()
sprite:on_frame_changed()
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.
editor/resources/tools/data_files_conversion/1.3_to_1.4/update_quest.lua
Date de sortie : 2014/08/25
Bug fixes for the 1.3 release.
Date de sortie : 2014/08/21
The sprite editor release!
game:on_started()
hero:save_solid_ground
sprite:get_animation_set_id()
sprite:has_animation()
sprite:get_num_directions()
hero:get_solid_ground_position()
switch:get_sprite()
enemy:get_treasure()
pickable/destructible:get_treasure()
You can use the script editor/resources/tools/data_files_conversion/1.2_to_1.3/update_quest.lua to automatically update your data files. Don't forget to make a backup first.
editor/resources/tools/data_files_conversion/1.2_to_1.3/update_quest.lua
Date de sortie : 2014/08/02
Bug fixes for the 1.2 release.
entity:is_in_same_region()
custom_entity:on_interaction()
enemy:restart()
hero:set_tunic_sprite_id()
timer:get_remaining_time()
0
on_joypad
Date de sortie : 2014/05/06
The SDL2 release.
"wide"
enemy:on_hurt()
StraightMovement
hero:start_treasure()
map:set_tileset()
"walking"
hero:on_removed()
hero:teleport()
You can use the script tools/data_files_conversion/1.1_to_1.2/update_quest.lua to automatically update your data files. Don't forget to make a backup first.
tools/data_files_conversion/1.1_to_1.2/update_quest.lua
shop_item
shop_treasure
conveyor_belt
stream
"stops_projectiles"
sol.video.switch_mode()
surface:set_transparency_color()
surface:clear()
sol.audio.play_music("none")
sol.audio.play_music(nil)
on_key_pressed()
on_character_pressed()
map:create_destructible()
map:create_teletransporter()
map:create_shop_item()
map:create_shop_treasure()
map:create_conveyor_belt()
map:create_stream()
"conveyor belt"
hero:get_state()
enemy:get/set_magic_damage()
hero:start_hurt()
item:on_pickable_movement_changed
pickable:on_movement_changed
pickable:get_treasure()
sol.video.get/set/reset_window_size()
sol.audio.play_music()
sol.main.get_metatable()
menu:is_started()
map:get_world()
map:create_wall()
entity:get_game()
entity:bring_to_front()
entity:bring_to_back()
enemy:get_attack_consequence()
get_attack_consequence_sprite()
entity:on_created()
enemy:on_hurt_by_sword()
enemy:on_attacking_hero()
enemy:on_hurting_hero()
hero:on_hurt()
hero:is/set_invincible()
hero:is/set_blinking()
hero:get/set_animation()
hero:get/set_sword_sound_id()
sensor:on_left()
block:on_moving()
teletransporter:on_activated()
destination:on_activated()
movement:on_position_changed()
movement:start()
random_movement:get_max_radius()
game:add/remove_life/money/magic
item:add/remove_amount
timer:is_suspended_with_map()
timer:get/set_remaining_time
get_elapsed_time
get_key_modifiers
NullPointerException
num_columns
Date de sortie : 2013/12/01
Bug fixes for the 1.1 release.
block:on_moved
Date de sortie : 2013/10/13
on_command_pressed/released()
menu:on_finished()
hero:start_victory()
on_obtained()
SOLARUS_DEBUG_KEYS
on_draw()
You can use the script tools/data_files_conversion/1.0_to_1.1/update_quest.lua to automatically update your data files. Don't forget to make a backup first.
tools/data_files_conversion/1.0_to_1.1/update_quest.lua
"default"
"destination"
"ice"
"low_wall"
map:is_dialog_enabled()
game:is_dialog_enabled()
map:start_dialog()
game:start_dialog()
map:draw_dialog_box()
map:set_dialog_style()
map:set_dialog_position()
map:set_dialog_variable()
map:set_pause_enabled()
game:set_pause_allowed()
enemy:create_enemy()
map:create_enemy()
sol.language.get_default_language()
sol.main.is_debug_enabled()
map:get_light()
map:set_light()
"get_back_from_death"
on:empty()
game:get/set_starting_location()
sol.video.get_quest_size()
entity:is_in_same_region(entity)
entity:get_direction4_to()
entity:get_direction8_to()
game:get_hero()
hero:get/set_walking_speed()
separator:on_activating()
separator:on_activated()
enemy:is/set_traversable()
on_position_changed()
on_obstacle_reached()
on_movement_changed()
on_movement_finished()
target_movement:set_target(entity)
game:is_pause_allowed()
map:get_music()
on_top
sprite:on_animation_changed()
sprite:on_direction_changed()
sol.input.is_key_pressed()
sol.input.is_joypad_button_pressed()
sol.input.get_joypad_axis_state()
sol.input.get_joypad_hat_direction()
sol.input.is/set_joypad_enabled()
sol.audio.get_music()
sol.audio.get_music_format()
sol.audio.get_music_num_channels()
sol.audio.get/set_music_channel_volume()
sol.audio.get/set_music_tempo()
sol.language.get_string()
sol.language.get_dialog()
game:stop_dialog(status)
game:on_dialog_started(dialog, info)
game:on_dialog_finished(dialog)
game:start_game_over()
game:stop_game_over
game:on_game_over_started()
game:on_game_over_finished
sol.file
open()
exists()
remove()
mkdir()
Date de sortie : 2013/06/26
Bug fixes for the 1.0 release.
Date de sortie : 2013/06/25
Date de sortie : 2013/06/22
item:set_sound_when_brandish()
nil
set_suspended_with_map
Date de sortie : 2013/05/12
Date de sortie : 2013/05/03
The "I love Lua" release.
This is a major release. The version number switches from 0.x to 1.x because there is a brand new Lua scripting API. I now consider that Solarus can be used to create your own Zelda-like games in decent conditions. By "in decent conditions", I essentially mean: with a clean and stable scripting API. Clean because there are nice datatypes now and the API is much easier to use, less error-prone and more with the Lua spirit. Stable because future versions of the scripting API will now try to keep compatibility with existing scripts. Any API change that breaks compatibility will now be clearly documented.
Data files and scripts written for solarus 0.x are not compatible with solarus 1.x. Which is not a problem since until now, I never said you could create a quest in decent conditions :) More seriously, I guess I'm the only one to have a lot of data files and scripts created for solarus 0.x. Anyway, conversion scripts are provided to upgrade your existing data files, but not your scripts (the scripting API, which was working but ugly and unstable, has totally changed).
This version also include changes from 0.9.3, though 0.9.3 is not released yet:
Date de sortie : 2013/05/08
This should be the last release of the 0.9 branch. Existing games must now upgrade to Solarus 1.0.
However, upgrading to Solarus 1.0 represents a lot of work and testing: in the meantime, this release introduces important fixes that improve the situation of existing games.
Date de sortie : 2012/04/03
Date de sortie : 2012/02/12
"run"
sol.map.destructible_item_create
sol.enemy.get_angle_to_hero()
sol.main.get_distance(x1, y1, x2, y2)
Date de sortie : 2011/12/23