Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Updated to latest stable, 1.1.0. Set LUA_VERSION_REQD=51, as the defa…
…ult, 52, doesn't work. Needs -lreadline and something else. Will look into this later. From ChangeLog: Engine changes -------------- * Add a very short sample quest with free graphics and musics (TritonDataCenter#232, TritonDataCenter#318). * Allow scripted dialog boxes (TritonDataCenter#184). * Allow a scripted game-over menu (TritonDataCenter#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 (TritonDataCenter#205). * New entity: separators to visually separate some regions in a map (TritonDataCenter#177). * New type of ground: ice (TritonDataCenter#182). * New type of ground: low walls (TritonDataCenter#117). * Blocks and thrown items can now fall into holes, lava and water (TritonDataCenter#191). * Kill enemies that fall into holes, lava and water (TritonDataCenter#190). * Allow quest makers and users to set the size of the playing area. * Allow maps to have a default destination entity (TritonDataCenter#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 (TritonDataCenter#178). * Fix map menus not receiving on_command_pressed/released() events. * Fix camera callbacks never called when already on the target (TritonDataCenter#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 (TritonDataCenter#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 (TritonDataCenter#284). * Fix on_obtained() that was not called for non-brandished treasures (TritonDataCenter#295). * Jumpers can no longer be activated the opposite way when in water. * Jumpers are now activated after a slight delay (TritonDataCenter#253). * Sensors no longer automatically reset the hero's movement (TritonDataCenter#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 (TritonDataCenter#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 (TritonDataCenter#287). * The quest archive can now also be named data.solarus.zip (TritonDataCenter#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 (TritonDataCenter#168). * project_db.dat: New syntax easier to read and parse (TritonDataCenter#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 (TritonDataCenter#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 (TritonDataCenter#249). * Replace map:set_pause_enabled() by game:set_pause_allowed(). * Make the enemy:create_enemy() more like map:create_enemy() (TritonDataCenter#215). * Remove sol.language.get_default_language(), useless and misleading (TritonDataCenter#265). * Remove sol.main.is_debug_enabled(). * Remove map:get_light() and map:set_light() (TritonDataCenter#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 (TritonDataCenter#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() (TritonDataCenter#150). * Add a method game:get_hero(). * Add methods hero:get/set_walking_speed() (TritonDataCenter#206). * Add hero:get_state() and hero:on_state_changed() (TritonDataCenter#207). * Add events separator:on_activating() and separator:on_activated() (TritonDataCenter#272). * Add methods enemy:is/set_traversable() (TritonDataCenter#147). * Add a method enemy:immobilize() (TritonDataCenter#160). * Add on_position_changed() to all entities, not only enemies (TritonDataCenter#298). * Add on_obstacle_reached() to all entities, not only enemies (TritonDataCenter#298). * Add on_movement_changed() to all entities, not only enemies (TritonDataCenter#298). * Add on_movement_finished() to all entities, not only enemies/NPCs (TritonDataCenter#298). * target_movement:set_target(entity) now accepts an x,y offset (TritonDataCenter#154). * Add a method game:is_pause_allowed(). * Add a method map:get_ground() (TritonDataCenter#141). * Add a method map:get_music() (TritonDataCenter#306). * Add an optional parameter on_top to sol.menu.start. * Add sprite:on_animation_changed() and sprite:on_direction_changed() (TritonDataCenter#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() (TritonDataCenter#175). * Add a function sol.audio.get_music() (TritonDataCenter#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 (TritonDataCenter#250). * Add functions sol.audio.get/set_music_tempo() for .it files (TritonDataCenter#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 (TritonDataCenter#261). * Add events game:on_game_over_started(), game:on_game_over_finished (TritonDataCenter#261). * Add sol.file functions: open(), exists(), remove(), mkdir() (TritonDataCenter#267). Solarus Quest Editor changes ---------------------------- * Add a GUI to upgrade automatically quest files to the latest format (TritonDataCenter#247). * Remove the initial prompt dialog to open a quest (TritonDataCenter#264). * Replace non-free images by new icons (TritonDataCenter#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 (TritonDataCenter#256). * Create more content when creating a new quest (TritonDataCenter#258, TritonDataCenter#279). * Improve error messages. * Fix a crash when creating a destructible without tileset selected (TritonDataCenter#283). * Fix the sprite field disabled in the NPC properties dialog (TritonDataCenter#303).
- Loading branch information