This repository has been archived by the owner. It is now read-only.
Permalink
Cannot retrieve contributors at this time
707 lines (583 sloc)
31.7 KB
| _______________________________ | |
| Solarus 1.4.0 (2015-05-02) | |
| _______________________________ | |
| 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". | |
| _________________________________ | |
| Solarus 1.3.1 (2014-08-25) | |
| _________________________________ | |
| Bug fixes for the 1.3 release. | |
| Solarus Quest Editor changes | |
| ---------------------------- | |
| * Fix opening an empty sprite (#581). | |
| * Sort resources in the quest tree by natural order (#579). | |
| _______________________________ | |
| Solarus 1.3.0 (2014-08-21) | |
| _______________________________ | |
| The sprite editor release! | |
| Engine changes | |
| -------------- | |
| * Fix a crash when creating a timer from game:on_started() (#575). | |
| * Fix hero:save_solid_ground having no effect on water/lava/prickles (#567). | |
| Lua API changes | |
| --------------- | |
| Changes that do not introduce incompatibilities: | |
| * Add mouse functions and events. | |
| * 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). | |
| * 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. | |
| Data files format changes | |
| ------------------------- | |
| 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. | |
| * Maps: New properties sprite, sound for switches (#553). | |
| * Maps: The subtype of switches is now a string. | |
| * Tilesets: The id of a tile pattern is now a string (#559). | |
| Solarus Quest Editor changes | |
| ---------------------------- | |
| * 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. | |
| * Fix converting quests to several versions in one go. | |
| _________________________________ | |
| Solarus 1.2.1 (2014-08-02) | |
| _________________________________ | |
| Bug fixes for the 1.2 release. | |
| Engine changes | |
| -------------- | |
| * 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. | |
| Solarus Quest Editor changes | |
| ---------------------------- | |
| * 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. | |
| _______________________________ | |
| Solarus 1.2.0 (2014-05-06) | |
| _______________________________ | |
| The SDL2 release. | |
| Engine changes | |
| -------------- | |
| * 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. | |
| * Fix enemy:on_hurt() that was wrongly called when immobilized. | |
| * Fix life and money exceeding the max when the max changes (#355). | |
| * Make stairs sounds optional (#364). | |
| * Make more checks in sprite files to avoid crashes (#357). | |
| * Fix RandomMovement speed that was not taken into account (#361). | |
| * 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). | |
| * 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. | |
| * 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. | |
| Data files format changes | |
| ------------------------- | |
| 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. | |
| * Languages: New syntax of strings.dat easier to read and parse (#170). | |
| * Maps: The world property is now optional (#128). | |
| * Maps: Destructibles no longer have subtypes, they are customizable (#270). | |
| * Maps: Rename entity shop_item to shop_treasure. | |
| * Maps: Rename entity conveyor_belt to stream with new features (#288). | |
| * 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 | |
| --------------- | |
| Changes that introduce incompatibilities: | |
| * 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 16x16 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. | |
| 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). | |
| * Fix movement:start() raising an error if the optional callback is nil. | |
| * Fix random_movement:get_max_radius() that was not working. | |
| * Check the parameter sign in game:add/remove life/money/magic (#416). | |
| * Check the parameter sign in item:add/remove_amount. | |
| * Fix timer:is_suspended_with_map() that was not working. | |
| * Fix crash when calling timer:set_suspended_with_map() without game started. | |
| * 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. | |
| Solarus Quest Editor changes | |
| ---------------------------- | |
| * 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 middle 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). | |
| * Fix hidden entities getting selected when clicked (#460). | |
| * Fix selecting 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. | |
| * Switches, crystals and crystal blocks now show their actual sprite (#376). | |
| _________________________________ | |
| Solarus 1.1.1 (2013-12-01) | |
| _________________________________ | |
| Bug fixes for the 1.1 release. | |
| Engine changes | |
| -------------- | |
| * Fix a libmodplug compilation problem due to wrong sndfile.h (#324). | |
| * Fix teletransporters activated while coming back from falling (#346). | |
| * Fix a crash when changing the hero state in block:on_moved (#340). | |
| * Fix enemy death detection when falling into hole, lava or water (#350). | |
| _______________________________ | |
| Solarus 1.1.0 (2013-10-13) | |
| _______________________________ | |
| Engine changes | |
| -------------- | |
| * Add a very short sample quest with free graphics and musics (#232, #318). | |
| * Allow scripted dialog boxes (#184). | |
| * Allow a scripted game-over menu (#261). | |
| * Replace the old built-in dialog box by a very minimal one. | |
| * Remove the old built-in game-over menu. | |
| * Remove the old built-in dark rooms displaying (#205). | |
| * New entity: separators to visually separate some regions in a map (#177). | |
| * New type of ground: ice (#182). | |
| * New type of ground: low walls (#117). | |
| * Blocks and thrown items can now fall into holes, lava and water (#191). | |
| * Kill enemies that fall into holes, lava and water (#190). | |
| * Allow quest makers and users to set the size of the playing area. | |
| * Allow maps to have a default destination entity (#231). | |
| * A game can now start without specifying an initial map and destination. | |
| * Stairs inside a single floor can now go from any layer to a next one (#178). | |
| * Fix map menus not receiving on_command_pressed/released() events. | |
| * Fix camera callbacks never called when already on the target (#308). | |
| * Fix a crash when adding a new menu during a menu:on_finished() event. | |
| * Fix a crash when calling hero:start_victory() without sword. | |
| * Fix an error when loading sounds (#236). Sounds were working anyway. | |
| * Fix a possible memory error when playing sounds. | |
| * Fix blocks that continue to follow the hero after picking a treasure (#284). | |
| * Fix on_obtained() that was not called for non-brandished treasures (#295). | |
| * Jumpers can no longer be activated the opposite way when in water. | |
| * Jumpers are now activated after a slight delay (#253). | |
| * Sensors no longer automatically reset the hero's movement (#292). | |
| * Correctly detect the ground below the hero or any point. | |
| * Don't die if there is a syntax error in dialogs.dat. | |
| * Show a better error message if trying to play a Solarus 0.9 quest (#260). | |
| * Remove built-in debug keys. This can be done from Lua now. | |
| * Remove the preprocessor constant SOLARUS_DEBUG_KEYS. | |
| * Call on_draw() before drawing menus. | |
| * Fix .it musics looping when they should not. | |
| * Log all errors in error.txt (#287). | |
| * The quest archive can now also be named data.solarus.zip (#293). | |
| Data files format changes | |
| ------------------------- | |
| 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. | |
| * Sprites: New syntax easier to read and parse (#168). | |
| * project_db.dat: New syntax easier to read and parse (#169). | |
| * quest.dat: Allow to specify a range of supported quest sizes. | |
| * Maps: Add the property "default" to destinations. | |
| * Maps: Make optional the property "destination" of teletransporters. | |
| * Tilesets: The ground value of diagonal walls with water has changed. | |
| * Tilesets: New ground values "ice" and "low_wall". | |
| * dialogs.dat: Allow any property in dialogs. dialog_id and text are mandatory. | |
| * languages.dat no longer exists. Languages are in project_db.dat now (#265). | |
| Lua API changes | |
| --------------- | |
| Changes that introduce incompatibilities: | |
| * map:is_dialog_enabled() is replaced by game:is_dialog_enabled(). | |
| * map:start_dialog() is replaced by game:start_dialog(). | |
| * Remove map:draw_dialog_box(), no longer needed. | |
| * Remove map:set_dialog_style(): replace it in your own dialog box system. | |
| * Remove map:set_dialog_position(): replace it in your own dialog box system. | |
| * Remove map:set_dialog_variable(): use the info param of game:start_dialog(). | |
| * Make map:get_entities() returns an iterator instead of an array (#249). | |
| * Replace map:set_pause_enabled() by game:set_pause_allowed(). | |
| * Make the enemy:create_enemy() more like map:create_enemy() (#215). | |
| * Remove sol.language.get_default_language(), useless and misleading (#265). | |
| * Remove sol.main.is_debug_enabled(). | |
| * Remove map:get_light() and map:set_light() (#205). | |
| * In game:get/set_ability(), ability "get_back_from_death" no longer exists. | |
| * Empty chests no longer show a dialog if there is no on:empty() event (#274). | |
| Changes that do not introduce incompatibilities: | |
| * game:get/set_starting_location(): map and destination can now be nil. | |
| * hero:teleport(): make destination optional (maps now have a default one). | |
| * map:create_teletransporter(): make destination optional. | |
| * Add a function sol.video.get_quest_size(). | |
| * Make map:get_camera_position() also return the size of the visible area. | |
| * Add a method entity:is_in_same_region(entity). | |
| * Add a method entity:get_center_position(). | |
| * Add methods entity:get_direction4_to(), entity:get_direction8_to() (#150). | |
| * Add a method game:get_hero(). | |
| * Add methods hero:get/set_walking_speed() (#206). | |
| * Add hero:get_state() and hero:on_state_changed() (#207). | |
| * Add events separator:on_activating() and separator:on_activated() (#272). | |
| * Add methods enemy:is/set_traversable() (#147). | |
| * Add a method enemy:immobilize() (#160). | |
| * Add on_position_changed() to all entities, not only enemies (#298). | |
| * Add on_obstacle_reached() to all entities, not only enemies (#298). | |
| * Add on_movement_changed() to all entities, not only enemies (#298). | |
| * Add on_movement_finished() to all entities, not only enemies/NPCs (#298). | |
| * target_movement:set_target(entity) now accepts an x,y offset (#154). | |
| * Add a method game:is_pause_allowed(). | |
| * Add a method map:get_ground() (#141). | |
| * Add a method map:get_music() (#306). | |
| * Add an optional parameter on_top to sol.menu.start. | |
| * Add sprite:on_animation_changed() and sprite:on_direction_changed() (#153). | |
| * Add a function sol.input.is_key_pressed(). | |
| * Add a function sol.input.is_joypad_button_pressed(). | |
| * Add a function sol.input.get_joypad_axis_state(). | |
| * Add a function sol.input.get_joypad_hat_direction(). | |
| * Add functions sol.input.is/set_joypad_enabled() (#175). | |
| * Add a function sol.audio.get_music() (#146). | |
| * Add a function sol.audio.get_music_format(). | |
| * Add a function sol.audio.get_music_num_channels(). | |
| * Add functions sol.audio.get/set_music_channel_volume() for .it files (#250). | |
| * Add functions sol.audio.get/set_music_tempo() for .it files (#250). | |
| * Return nil if the string is not found in sol.language.get_string(). | |
| * sol.language.get_dialog() is now implemented. | |
| * Add a function game:stop_dialog(status) to close the scripted dialog box. | |
| * Add an event game:on_dialog_started(dialog, info). | |
| * Add an event game:on_dialog_finished(dialog). | |
| * Add functions game:start_game_over() and game:stop_game_over (#261). | |
| * Add events game:on_game_over_started(), game:on_game_over_finished (#261). | |
| * Add sol.file functions: open(), exists(), remove(), mkdir() (#267). | |
| Solarus Quest Editor changes | |
| ---------------------------- | |
| * Add a GUI to upgrade automatically quest files to the latest format (#247). | |
| * Remove the initial prompt dialog to open a quest (#264). | |
| * Replace non-free images by new icons (#245). | |
| * Add tooltips to the add entity toolbar. | |
| * Simplify the add entity toolbar by showing only one icon per entity type. | |
| * Survive when images cannot be found (#256). | |
| * Create more content when creating a new quest (#258, #279). | |
| * Improve error messages. | |
| * Fix a crash when creating a destructible without tileset selected (#283). | |
| * Fix the sprite field disabled in the NPC properties dialog (#303). | |
| __________________________ | |
| solarus-1.0.4 (2013-06-26) | |
| __________________________ | |
| Bug fixes for the 1.0 release. | |
| Solarus changes: | |
| * Don't die if a script tries so show a missing string (#237). | |
| * Don't die if a treasure has a variant unexistent in the item sprite. | |
| * Fix customization of joypad commands. | |
| solarus-1.0.3 (2013-06-25) | |
| Bug fixes for the 1.0 release. | |
| Solarus changes: | |
| * Fix blocks not completely moved since Solarus 1.0.2. | |
| solarus-1.0.2 (2013-06-22) | |
| Bug fixes for the 1.0 release. | |
| Solarus changes: | |
| * Fix a crash when a treasure callback changes the hero's state (#224). | |
| * Fix a crash when a victory callback changes the hero's state. | |
| * Fix a crash due to invalid sprite frame when animation is changed (#26). | |
| * Fix an assertion error with FollowMovement of pickables. | |
| * Fix the fullscreen mode not working on Mac OS X 10.7+ (#213, #220). | |
| * Fix pickable treasures that could be obtained twice sometimes. | |
| * Fix fade-in/fade-out effects on sprites that did not work (#221). | |
| * Fix sol.audio.play_music() that failed with "none" or "same" (#201). | |
| * Fix item:set_sound_when_brandish() that did not work. | |
| * Fix diagonal movement that could bypass sensors since Solarus 1.0.1. | |
| * Fix circle movement not working after entity:set_enabled(true). | |
| * Fix detection of movement finished for NPCs. | |
| * Fix memory issues with menus (#210). | |
| * Fix handling of nil parameter in boolean setters (#225). | |
| * Fix hangling the default language. | |
| * Correctly suspend timers when set_suspended_with_map is called. | |
| * When a sprite is suspended, suspend its transitions (#226). | |
| * Don't die if a music or a sound cannot be found. | |
| * Don't die if an image cannot be found. | |
| * Don't die if running a savegame without starting location specified. | |
| * Don't die if a script refers to a non-existing equipment item. | |
| * Don't die if the self parameter is missing when calling a method (#219). | |
| * Fix dangling pointers after removing some kind of entities. | |
| Solarus Quest Editor changes: | |
| * Editor: allow to create map entities from the quest tree (#208). | |
| * Editor: fix a typo in the bomb flower sprite (#214). | |
| * Editor: fix a possible NullPointerException when opening an invalid map. | |
| Documentation changes: | |
| * Documentation: add the syntax specification of maps and tilesets. | |
| solarus-1.0.1 (2013-05-12) | |
| Bug fixes for the 1.0 release. | |
| Solarus changes: | |
| * Fix the Mac OS X port. | |
| * Fix jump movement accross two maps ending up in a wall (#189). | |
| * Fix a possible crash in TextSurface. | |
| * Fix the hero disappearing a short time after using the sword (#35). | |
| * Fix the boomerang failing to bring back pickables sometimes (#187). | |
| * Fix parallax scrolling tiles not always displayed (#167). | |
| * Fix the setting joypad_enabled that had no effect (#163). | |
| * Fix doors not working when they require equipment items. | |
| * Fix a possible compilation warning in Surface.cpp. | |
| * Fix creating a transition from the callback of a previous one. | |
| * Fix crystal blocks animated late when coming from a teletransporter (#61). | |
| * Fix arrows that got stopped when outside the screen (#73). | |
| * Fix diagonal movement that failed in narrow passages (#39). | |
| * Don't die if a script makes an error with a sprite (#151). | |
| * Don't die if a script makes an error with an enemy attack consequence. | |
| * Allow enemies to lose 0 life points when attacked (#137). | |
| * Pixel-precise collisions can now also be performed on 32-bit images. | |
| Solarus Quest Editor changes: | |
| * Editor: add the possibility to show or hide each type of entity (#60). | |
| * Editor: keep the map coordinates shown when changing the zoom (#183). | |
| * Editor: fix the map view not updated correctly when changing the zoom (#174). | |
| * Editor: show the correct sprite of destructible objects (#77). | |
| * Editor: show an appropriate error message if the LuaJ jar is missing (#173). | |
| * Editor: fix the title bar string (#176). | |
| Documentation changes: | |
| * Split the C++ documentation and the quest data files documentation (#181). | |
| * Add a search feature to the documentation pages. | |
| solarus-1.0.0 (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). | |
| Changes: | |
| * Rewrite the Lua scripting API from scratch. Cleaner, real datatypes, much | |
| easier to use, less error-prone, much more features, fully documentated. | |
| * All scripts now live in a single Lua world. | |
| * Add support of scripted graphics. | |
| * Add support of scripted menus. Menus like the title screen, the savegames | |
| menu, the pause menu and the HUD are no longer hardcoded into the engine. | |
| * Doors, chests, teletransporters and destinations are now much more flexible | |
| and customizable. | |
| * Except tiles, all map entities can now have a name. The name is now optional. | |
| * Change the format of some data files, including maps and tilesets. | |
| * No more ini data files (removed the dependency to SimpleIni). | |
| * Add conversion scripts to upgrade existing data files (but not scripts). | |
| * Fix infinite explosions of bomb flowers. | |
| This version also include changes from 0.9.3, though 0.9.3 is not released | |
| yet: | |
| * The game screen size can now be set at compilation time. | |
| * Change the savegames directory on Mac OS X. | |
| * Improve the support of Mac OS X, Pandora, Caanoo and other platforms. | |
| * Fix the compilation with Visual C++. | |
| * Fix blocks making sometimes only a half move (#33). | |
| * Fix pixel-precise collisions not always correct (#53). | |
| * Fix the end of target movement on slow machines (#34). | |
| * Fix the hero being freezed when using the hookshot on bomb flowers (#119). | |
| Changes in Solarus Quest Editor: | |
| * First release of a working editor. | |
| * Implement creating a new quest. | |
| * Implement edition of project_db.dat through the quest tree view. | |
| * Allow to show a grid on the map editor. | |
| * Fix a lot of bugs. | |
| solarus-0.9.3 (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. | |
| * The game screen size can now be set at compilation time. | |
| * Change the savegames directory on Mac OS X. | |
| * Improve the support of Mac OS X, Pandora, Caanoo and other platforms. | |
| * Images other than 8-bit can now be used for pixel-precise collisions. | |
| * Fix the compilation with Visual C++. | |
| * Fix the compilation of SimpleIni with gcc 4.7.2. | |
| * Fix blocks making sometimes only a half move (#33). | |
| * Fix pixel-precise collisions not always correct (#53). | |
| * Fix the end of target movement on slow machines (#34). | |
| * Fix the hero being freezed when using the hookshot on bomb flowers (#119). | |
| solarus-0.9.2 (2012-04-03) | |
| * Fix a crash using a teletransporter to the same map while an enemy is dying | |
| * Immobilized enemies restarted too early when using a teletransporter | |
| solarus-0.9.1 (2012-02-12) | |
| * The player can now run with the action key if he has the ability "run" | |
| * Fix locked doors and blocks that could consume more than one small key | |
| * Experimental: new syntax of dialog files in Lua that makes parsing, writing | |
| and translating dialogs easier (a conversion script is available) | |
| * Experimental: optimize displaying and collisions far from the visible area | |
| * Experimental: sensors are not obstacles anymore when jumping or using the | |
| hookshot, they are activated instead | |
| * Include Mac OS X packaging changes to the git repository | |
| * HUD: the 11th heart was not displayed correctly when incomplete | |
| * Lua: improve the prototype of sol.map.destructible_item_create | |
| * Lua: add a function sol.enemy.get_angle_to_hero() | |
| * Lua: add a function sol.main.get_distance(x1, y1, x2, y2) | |
| * Allow the ground sprite below the hero to be tileset dependent | |
| * Show a different sprite animation when plunging into lava or water | |
| * Don't stop the super spin attack on shallow water | |
| * Add debug keys to change the hero's layer | |
| solarus-0.9.0 (2011-12-23) | |
| * Initial release of Solarus without quest data | |