Hello community,
here is the log from the commit of package solarus for openSUSE:Factory checked in at 2017-08-24 18:52:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/solarus (Old)
and /work/SRC/openSUSE:Factory/.solarus.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "solarus"
Thu Aug 24 18:52:33 2017 rev:3 rq:516818 version:1.5.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/solarus/solarus.changes 2017-02-21 13:50:24.307891327 +0100
+++ /work/SRC/openSUSE:Factory/.solarus.new/solarus.changes 2017-08-24 18:52:35.595778581 +0200
@@ -1,0 +2,15 @@
+Mon Aug 14 10:39:41 UTC 2017 - aloisio@gmx.com
+
+- Update to 1.5.3
+ * Speed up loading maps by keeping tilesets in a cache (#1019).
+ * Fix text_surface:set_horizontal/vertical_alignment() not
+ working.
+ * Fix parallax dynamic tiles still displayed when disabled or
+ invisible.
+ * Improve error message of non-square tile patterns with diagonal
+ obstacles.
+
+- Dropped luajit-5_1-2.1.patch and icons-desktop-man.patch
+ (merged upstream)
+
+-------------------------------------------------------------------
Old:
----
icons-desktop-man.patch
luajit-5_1-2.1.patch
solarus-1.5.1-src.tar.gz
New:
----
solarus-1.5.3-src.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ solarus.spec ++++++
--- /var/tmp/diff_new_pack.hRb86N/_old 2017-08-24 18:52:36.655629349 +0200
+++ /var/tmp/diff_new_pack.hRb86N/_new 2017-08-24 18:52:36.675626533 +0200
@@ -17,17 +17,13 @@
Name: solarus
-Version: 1.5.1
+Version: 1.5.3
Release: 0
Summary: Zelda-like game engine
License: GPL-3.0+
Group: Amusements/Games/RPG
Url: http://www.solarus-engine.org/
Source: http://www.solarus-games.org/downloads/solarus/%{name}-%{version}-src.tar.gz
-# PATCH-FIX-UPSTREAM https://github.com/solarus-games/solarus/pull/1020
-Patch1: luajit-5_1-2.1.patch
-# PATCH-FIX-UPSTREAM https://github.com/solarus-games/solarus/pull/1021
-Patch2: icons-desktop-man.patch
# PATCH-FEATURE-UPSTREAM https://github.com/solarus-games/solarus/pull/1031
Patch3: appdata.patch
BuildRequires: cmake
@@ -67,8 +63,6 @@
%prep
%setup -q
-%patch1 -p1
-%patch2 -p1
%patch3 -p1
%build
@@ -97,7 +91,7 @@
%{_bindir}/solarus-run
%{_datadir}/icons/hicolor/*/apps/%{name}.png
%{_datadir}/applications/%{name}.desktop
-%{_mandir}/man6/solarus.*
+%{_mandir}/man6/solarus*
%dir %{_datadir}/appdata/
%{_datadir}/appdata/%{name}.appdata.xml
++++++ solarus-1.5.1-src.tar.gz -> solarus-1.5.3-src.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/changelog.txt new/solarus-1.5.3/changelog.txt
--- old/solarus-1.5.1/changelog.txt 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/changelog.txt 2017-04-03 11:49:35.000000000 +0200
@@ -1,5 +1,15 @@
__________________________
+Solarus 1.5.3 (2016-04-01)
+__________________________
+
+* Speed up loading maps by keeping tilesets in a cache (#1019).
+* Fix text_surface:set_horizontal/vertical_alignment() not working.
+* Fix parallax dynamic tiles still displayed when disabled or invisible.
+* Improve error message of non-square tile patterns with diagonal obstacles.
+
+__________________________
+
Solarus 1.5.1 (2016-11-29)
__________________________
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/cmake/AddSolarusLibrary.cmake new/solarus-1.5.3/cmake/AddSolarusLibrary.cmake
--- old/solarus-1.5.1/cmake/AddSolarusLibrary.cmake 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/cmake/AddSolarusLibrary.cmake 2017-04-03 11:49:35.000000000 +0200
@@ -201,6 +201,7 @@
include/solarus/MapData.h
include/solarus/QuestProperties.h
include/solarus/QuestResources.h
+ include/solarus/ResourceProvider.h
include/solarus/ResourceType.h
include/solarus/SavegameConverterV1.h
include/solarus/Savegame.h
@@ -393,6 +394,7 @@
src/MapData.cpp
src/QuestProperties.cpp
src/QuestResources.cpp
+ src/ResourceProvider.cpp
src/SavegameConverterV1.cpp
src/Savegame.cpp
src/Settings.cpp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/cmake/AddSolarusVersion.cmake new/solarus-1.5.3/cmake/AddSolarusVersion.cmake
--- old/solarus-1.5.1/cmake/AddSolarusVersion.cmake 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/cmake/AddSolarusVersion.cmake 2017-04-03 11:49:35.000000000 +0200
@@ -1,5 +1,5 @@
set(SOLARUS_MAJOR_VERSION 1)
set(SOLARUS_MINOR_VERSION 5)
-set(SOLARUS_PATCH_VERSION 1)
+set(SOLARUS_PATCH_VERSION 3)
set(SOLARUS_VERSION_STRING ${SOLARUS_MAJOR_VERSION}.${SOLARUS_MINOR_VERSION}.${SOLARUS_PATCH_VERSION})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/cmake/modules/FindLuaJit.cmake new/solarus-1.5.3/cmake/modules/FindLuaJit.cmake
--- old/solarus-1.5.1/cmake/modules/FindLuaJit.cmake 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/cmake/modules/FindLuaJit.cmake 2017-04-03 11:49:35.000000000 +0200
@@ -10,7 +10,7 @@
FIND_PATH(LUA_INCLUDE_DIR luajit.h
HINTS
$ENV{LUA_DIR}
- PATH_SUFFIXES include/luajit-2.0 include/luajit-5_1-2.0 include
+ PATH_SUFFIXES include/luajit-2.0 include/luajit-5_1-2.0 include/luajit-5_1-2.1 include
PATHS
~/Library/Frameworks
/Library/Frameworks
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/gui/CMakeLists.txt new/solarus-1.5.3/gui/CMakeLists.txt
--- old/solarus-1.5.1/gui/CMakeLists.txt 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/gui/CMakeLists.txt 2017-04-03 11:49:35.000000000 +0200
@@ -62,6 +62,7 @@
# Translations.
set(solarus_gui_lib_TRANSLATIONS
+ translations/solarus_es.ts
translations/solarus_fr.ts
)
qt5_add_translation(solarus_gui_lib_TRANSLATIONS_QM
@@ -158,3 +159,36 @@
endif()
endif()
+# FreeDesktop compatible icons
+if(UNIX AND NOT APPLE)
+ install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/icons/solarus_icon_16.png
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/16x16/apps RENAME solarus.png)
+ install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/icons/solarus_icon_24.png
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/24x24/apps RENAME solarus.png)
+ install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/icons/solarus_icon_32.png
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/32x32/apps RENAME solarus.png)
+ install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/icons/solarus_icon_48.png
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/48x48/apps RENAME solarus.png)
+ install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/icons/solarus_icon_64.png
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/64x64/apps RENAME solarus.png)
+ install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/icons/solarus_icon_128.png
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/128x128/apps RENAME solarus.png)
+ install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/icons/solarus_icon_256.png
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/256x256/apps RENAME solarus.png)
+ install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/icons/solarus_icon_512.png
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/512x512/apps RENAME solarus.png)
+endif(UNIX AND NOT APPLE)
+
+# FreeDesktop compatible start menu launcher
+if(UNIX AND NOT APPLE)
+ install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/../gui/resources/solarus.desktop
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications)
+endif(UNIX AND NOT APPLE)
+
+# Linux Manpage
+if(UNIX AND NOT APPLE)
+ install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/../solarus.6
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man6)
+ install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/../solarus-run.6
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man6)
+endif(UNIX AND NOT APPLE)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/gui/resources/solarus.desktop new/solarus-1.5.3/gui/resources/solarus.desktop
--- old/solarus-1.5.1/gui/resources/solarus.desktop 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/gui/resources/solarus.desktop 2017-04-03 11:49:35.000000000 +0200
@@ -1,7 +1,11 @@
[Desktop Entry]
+Version=1.0
Type=Application
Name=Solarus Quest Launcher
+GenericName=Topdown 2D adventure game
Comment=A graphical user interface to organize and play quests for the Solarus engine
-Exec=/usr/games/solarus
-Icon=solarus_launcher_icon.png
-Categories=Game;
+Exec=solarus
+Icon=solarus
+Terminal=false
+StartupNotify=true
+Categories=Game;AdventureGame;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/include/solarus/Game.h new/solarus-1.5.3/include/solarus/Game.h
--- old/solarus-1.5.1/include/solarus/Game.h 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/include/solarus/Game.h 2017-04-03 11:49:35.000000000 +0200
@@ -39,6 +39,7 @@
class LuaContext;
class MainLoop;
class Map;
+class ResourceProvider;
class Savegame;
/**
@@ -64,6 +65,7 @@
// global objects
MainLoop& get_main_loop();
LuaContext& get_lua_context();
+ ResourceProvider& get_resource_provider();
const HeroPtr& get_hero();
GameCommands& get_commands();
const GameCommands& get_commands() const;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/include/solarus/MainLoop.h new/solarus-1.5.3/include/solarus/MainLoop.h
--- old/solarus-1.5.1/include/solarus/MainLoop.h 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/include/solarus/MainLoop.h 2017-04-03 11:49:35.000000000 +0200
@@ -19,6 +19,7 @@
#include "solarus/Common.h"
#include "solarus/lowlevel/SurfacePtr.h"
+#include "solarus/ResourceProvider.h"
#include <atomic>
#include <memory>
#include <mutex>
@@ -53,6 +54,7 @@
bool is_resetting();
Game* get_game();
void set_game(Game* game);
+ ResourceProvider& get_resource_provider();
int push_lua_command(const std::string& command);
LuaContext& get_lua_context();
@@ -70,6 +72,8 @@
std::unique_ptr<LuaContext>
lua_context; /**< The Lua world where scripts are run. */
+ ResourceProvider
+ resource_provider; /**< Resource cache of the quest. */
SurfacePtr root_surface; /**< The surface where everything is drawn. */
std::unique_ptr<Game> game; /**< The current game if any, nullptr otherwise. */
Game* next_game; /**< The game to start at next cycle (nullptr means resetting the game). */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/include/solarus/Map.h new/solarus-1.5.3/include/solarus/Map.h
--- old/solarus-1.5.1/include/solarus/Map.h 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/include/solarus/Map.h 2017-04-03 11:49:35.000000000 +0200
@@ -58,7 +58,7 @@
// map properties
const std::string& get_id() const;
- Tileset& get_tileset();
+ const Tileset& get_tileset() const;
const std::string& get_tileset_id() const;
void set_tileset(const std::string& tileset_id);
const std::string& get_music_id() const;
@@ -196,8 +196,7 @@
int max_layer; /**< Highest layer of the map (0 or more). */
std::string tileset_id; /**< Id of the current tileset. */
- std::unique_ptr<Tileset>
- tileset; /**< Tileset of the map: every tile of this map
+ const Tileset* tileset; /**< Tileset of the map: every tile of this map
* is extracted from this tileset. */
std::string music_id; /**< Id of the current music of the map:
@@ -212,7 +211,7 @@
* indicate the map size in pixel, and the x and y field indicate the position.
* This is used to correctly scroll between adjacent maps. */
- // Quest Zscreen
+ // Quest screen
SurfacePtr
background_surface; /**< A surface filled with the background color of the tileset. */
SurfacePtr
@@ -257,7 +256,7 @@
* \brief Returns the tileset associated to this map.
* \return The tileset.
*/
-inline Tileset& Map::get_tileset() {
+inline const Tileset& Map::get_tileset() const {
SOLARUS_ASSERT(tileset != nullptr,
std::string("Missing tileset in map '") + get_id() + "'"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/include/solarus/ResourceProvider.h new/solarus-1.5.3/include/solarus/ResourceProvider.h
--- old/solarus-1.5.1/include/solarus/ResourceProvider.h 1970-01-01 01:00:00.000000000 +0100
+++ new/solarus-1.5.3/include/solarus/ResourceProvider.h 2017-04-03 11:49:35.000000000 +0200
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2006-2016 Christopho, Solarus - http://www.solarus-games.org
+ *
+ * Solarus is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Solarus is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see http://www.gnu.org/licenses/.
+ */
+#ifndef SOLARUS_RESOURCE_PROVIDER_H
+#define SOLARUS_RESOURCE_PROVIDER_H
+
+#include "solarus/Common.h"
+#include "solarus/entities/Tileset.h"
+#include "solarus/entities/TilePattern.h"
+#include "solarus/ResourceType.h"
+#include <map>
+#include <memory>
+#include <string>
+
+namespace Solarus {
+
+/**
+ * \brief Provides fast access to quest resources.
+ *
+ * Maintains a cache of already loaded quest resources
+ * so that next accesses are faster.
+ */
+class SOLARUS_API ResourceProvider {
+
+ public:
+
+ ResourceProvider();
+
+ const Tileset& get_tileset(const std::string& tileset_id);
+ // TODO other types of resources
+
+ void invalidate_resource_element(ResourceType resource_type, const std::string& element_id);
+
+ private:
+
+ std::map tileset_cache; /**< Cache of loaded tilesets. */
+};
+
+}
+
+#endif
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/include/solarus/Sprite.h new/solarus-1.5.3/include/solarus/Sprite.h
--- old/solarus-1.5.1/include/solarus/Sprite.h 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/include/solarus/Sprite.h 2017-04-03 11:49:35.000000000 +0200
@@ -56,7 +56,7 @@
// creation and destruction
explicit Sprite(const std::string& id);
- void set_tileset(Tileset& tileset);
+ void set_tileset(const Tileset& tileset);
// animation set
const std::string& get_animation_set_id() const;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/include/solarus/SpriteAnimation.h new/solarus-1.5.3/include/solarus/SpriteAnimation.h
--- old/solarus-1.5.1/include/solarus/SpriteAnimation.h 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/include/solarus/SpriteAnimation.h 2017-04-03 11:49:35.000000000 +0200
@@ -45,7 +45,7 @@
int loop_on_frame
);
- void set_tileset(Tileset& tileset);
+ void set_tileset(const Tileset& tileset);
int get_next_frame(int current_direction, int current_frame) const;
void draw(Surface& dst_surface, const Point& dst_position,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/include/solarus/SpriteAnimationSet.h new/solarus-1.5.3/include/solarus/SpriteAnimationSet.h
--- old/solarus-1.5.1/include/solarus/SpriteAnimationSet.h 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/include/solarus/SpriteAnimationSet.h 2017-04-03 11:49:35.000000000 +0200
@@ -45,7 +45,7 @@
explicit SpriteAnimationSet(const std::string& id);
- void set_tileset(Tileset& tileset);
+ void set_tileset(const Tileset& tileset);
bool has_animation(const std::string& animation_name) const;
const SpriteAnimation& get_animation(const std::string& animation_name) const;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/include/solarus/entities/AnimatedTilePattern.h new/solarus-1.5.3/include/solarus/entities/AnimatedTilePattern.h
--- old/solarus-1.5.1/include/solarus/entities/AnimatedTilePattern.h 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/include/solarus/entities/AnimatedTilePattern.h 2017-04-03 11:49:35.000000000 +0200
@@ -52,9 +52,9 @@
virtual void draw(
const SurfacePtr& dst_surface,
const Point& dst_position,
- Tileset& tileset,
+ const Tileset& tileset,
const Point& viewport
- ) override;
+ ) const override;
virtual bool is_drawn_at_its_position() const override;
private:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/include/solarus/entities/DynamicTile.h new/solarus-1.5.3/include/solarus/entities/DynamicTile.h
--- old/solarus-1.5.1/include/solarus/entities/DynamicTile.h 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/include/solarus/entities/DynamicTile.h 2017-04-03 11:49:35.000000000 +0200
@@ -46,7 +46,7 @@
int layer,
const Point& xy,
const Size& size,
- Tileset& tileset,
+ const Tileset& tileset,
const std::string& tile_pattern_id,
bool enabled
);
@@ -61,7 +61,7 @@
private:
const std::string tile_pattern_id; /**< Id of the tile pattern. */
- TilePattern& tile_pattern; /**< Pattern of the tile. */
+ const TilePattern& tile_pattern; /**< Pattern of the tile. */
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/include/solarus/entities/ParallaxScrollingTilePattern.h new/solarus-1.5.3/include/solarus/entities/ParallaxScrollingTilePattern.h
--- old/solarus-1.5.1/include/solarus/entities/ParallaxScrollingTilePattern.h 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/include/solarus/entities/ParallaxScrollingTilePattern.h 2017-04-03 11:49:35.000000000 +0200
@@ -45,9 +45,9 @@
virtual void draw(
const SurfacePtr& dst_surface,
const Point& dst_position,
- Tileset& tileset,
+ const Tileset& tileset,
const Point& viewport
- ) override;
+ ) const override;
virtual bool is_animated() const override;
virtual bool is_drawn_at_its_position() const override;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/include/solarus/entities/SelfScrollingTilePattern.h new/solarus-1.5.3/include/solarus/entities/SelfScrollingTilePattern.h
--- old/solarus-1.5.1/include/solarus/entities/SelfScrollingTilePattern.h 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/include/solarus/entities/SelfScrollingTilePattern.h 2017-04-03 11:49:35.000000000 +0200
@@ -43,9 +43,9 @@
virtual void draw(
const SurfacePtr& dst_surface,
const Point& dst_position,
- Tileset& tileset,
+ const Tileset& tileset,
const Point& viewport
- ) override;
+ ) const override;
virtual bool is_animated() const override;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/include/solarus/entities/SimpleTilePattern.h new/solarus-1.5.3/include/solarus/entities/SimpleTilePattern.h
--- old/solarus-1.5.1/include/solarus/entities/SimpleTilePattern.h 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/include/solarus/entities/SimpleTilePattern.h 2017-04-03 11:49:35.000000000 +0200
@@ -38,9 +38,9 @@
virtual void draw(
const SurfacePtr& dst_surface,
const Point& dst_position,
- Tileset& tileset,
+ const Tileset& tileset,
const Point& viewport
- ) override;
+ ) const override;
virtual bool is_animated() const override;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/include/solarus/entities/Tile.h new/solarus-1.5.3/include/solarus/entities/Tile.h
--- old/solarus-1.5.1/include/solarus/entities/Tile.h 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/include/solarus/entities/Tile.h 2017-04-03 11:49:35.000000000 +0200
@@ -54,14 +54,14 @@
bool is_drawn_at_its_position() const override;
void draw_on_map() override;
void draw(const SurfacePtr& dst_surface, const Point& viewport);
- TilePattern& get_tile_pattern();
+ const TilePattern& get_tile_pattern() const;
const std::string& get_tile_pattern_id() const;
bool is_animated() const;
private:
const std::string tile_pattern_id; /**< Id of the tile pattern. */
- TilePattern& tile_pattern; /**< Pattern of the tile. */
+ const TilePattern& tile_pattern; /**< Pattern of the tile. */
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/include/solarus/entities/TileInfo.h new/solarus-1.5.3/include/solarus/entities/TileInfo.h
--- old/solarus-1.5.1/include/solarus/entities/TileInfo.h 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/include/solarus/entities/TileInfo.h 2017-04-03 11:49:35.000000000 +0200
@@ -33,7 +33,7 @@
int layer;
Rectangle box;
std::string pattern_id;
- TilePattern* pattern = nullptr;
+ const TilePattern* pattern = nullptr;
};
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/include/solarus/entities/TilePattern.h new/solarus-1.5.3/include/solarus/entities/TilePattern.h
--- old/solarus-1.5.1/include/solarus/entities/TilePattern.h 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/include/solarus/entities/TilePattern.h 2017-04-03 11:49:35.000000000 +0200
@@ -53,9 +53,9 @@
void fill_surface(
const SurfacePtr& dst_surface,
const Rectangle& dst_position,
- Tileset& tileset,
+ const Tileset& tileset,
const Point& viewport
- );
+ ) const;
/**
* \brief Draws the tile image on a surface.
@@ -68,9 +68,9 @@
virtual void draw(
const SurfacePtr& dst_surface,
const Point& dst_position,
- Tileset& tileset,
+ const Tileset& tileset,
const Point& viewport
- ) = 0;
+ ) const = 0;
virtual bool is_animated() const;
virtual bool is_drawn_at_its_position() const;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/include/solarus/entities/Tileset.h new/solarus-1.5.3/include/solarus/entities/Tileset.h
--- old/solarus-1.5.1/include/solarus/entities/Tileset.h 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/include/solarus/entities/Tileset.h 2017-04-03 11:49:35.000000000 +0200
@@ -45,12 +45,12 @@
void load();
void unload();
- const std::string& get_id();
- Color& get_background_color();
- bool is_loaded();
- const SurfacePtr& get_tiles_image();
- const SurfacePtr& get_entities_image();
- TilePattern& get_tile_pattern(const std::string& id);
+ const std::string& get_id() const;
+ const Color& get_background_color() const;
+ bool is_loaded() const;
+ const SurfacePtr& get_tiles_image() const;
+ const SurfacePtr& get_entities_image() const;
+ const TilePattern& get_tile_pattern(const std::string& id) const;
void set_images(const std::string& other_id);
private:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/include/solarus/entities/TimeScrollingTilePattern.h new/solarus-1.5.3/include/solarus/entities/TimeScrollingTilePattern.h
--- old/solarus-1.5.1/include/solarus/entities/TimeScrollingTilePattern.h 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/include/solarus/entities/TimeScrollingTilePattern.h 2017-04-03 11:49:35.000000000 +0200
@@ -41,9 +41,9 @@
virtual void draw(
const SurfacePtr& dst_surface,
const Point& dst_position,
- Tileset& tileset,
+ const Tileset& tileset,
const Point& viewport
- ) override;
+ ) const override;
virtual bool is_animated() const override;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/solarus-run.6 new/solarus-1.5.3/solarus-run.6
--- old/solarus-1.5.1/solarus-run.6 1970-01-01 01:00:00.000000000 +0100
+++ new/solarus-1.5.3/solarus-run.6 2017-04-03 11:49:35.000000000 +0200
@@ -0,0 +1,43 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.4.
+.TH SOLARUS-RUN "6" "August 2016" "solarus-run 1.5.0" "Games"
+.SH NAME
+solarus-run \- manual page for solarus-run 1.5.0
+.SH SYNOPSIS
+.B solarus-run
+[\fI\,options\/\fR] [\fI\,quest_path\/\fR]
+.SH DESCRIPTION
+The quest path is the name of a directory that contains either the data
+directory or the data archive (data.solarus or data.solarus.zip) of the game to run.
+If the quest path is not specified, the default directory will be: '.'.
+.SH OPTIONS
+.TP
+\fB\-help\fR
+shows this help message and exits
+.TP
+\fB\-no\-audio\fR
+disables sounds and musics
+.TP
+\fB\-no\-video\fR
+disables displaying
+.TP
+\fB\-video\-acceleration\fR=\fI\,yes\/\fR|no
+enables or disables accelerated graphics (default yes)
+.TP
+\fB\-quest\-size=\fR<width>x<height>
+sets the size of the drawing area (if compatible with the quest)
+.TP
+\fB\-lua\-console\fR=\fI\,yes\/\fR|no
+accepts standard input lines as Lua commands (default yes)
+.TP
+\fB\-turbo\fR=\fI\,yes\/\fR|no
+runs as fast as possible rather than simulating real time (default no)
+.TP
+\fB\-lag\fR=\fI\,X\/\fR
+slows down each frame of X milliseconds to simulate slower systems for debugging (default 0)
+.SH SEE ALSO
+solarus(6), solarus-quest-editor(6)
+.SH AUTHOR
+solarus was written by Christopho and the Solarus Team.
+.PP
+This manual page was written by Nathan Moore ,
+for the Solarus project (feel free to use it).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/solarus.6 new/solarus-1.5.3/solarus.6
--- old/solarus-1.5.1/solarus.6 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/solarus.6 2017-04-03 11:49:35.000000000 +0200
@@ -1,48 +1,37 @@
-.\" Hey, EMACS: -*- nroff -*-
-.\" First parameter, NAME, should be all caps
-.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
-.\" other parameters are allowed: see man(7), man(1)
-.TH SOLARUS 6 "April 6, 2014"
-.\" Please adjust this date whenever revising the manpage.
-.\"
-.\" Some roff macros, for reference:
-.\" .nh disable hyphenation
-.\" .hy enable hyphenation
-.\" .ad l left justify
-.\" .ad b justify to both left and right margins
-.\" .nf disable filling
-.\" .fi enable filling
-.\" .br insert line break
-.\" .sp <n> insert n+1 empty lines
-.\" for manpage-specific macros, see man(7)
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.4.
+.TH SOLARUS "6" "August 2016" "solarus 1.5.0" "Games"
.SH NAME
-solarus \- ARPG engine
+solarus \- manual page for solarus 1.5.0
.SH SYNOPSIS
.B solarus
-.RI [OPTIONS]
.br
-.SH DESCRIPTION
-This manual page documents briefly the
.B solarus
-engine.
-.PP
-.\" TeX users may be more comfortable with the \fB<whatever>\fP and
-.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
-.\" respectively.
-\fBsolarus\fP is a C++ engine that runs quests written in lua.
-.SH OPTIONS
-A summary of options is included below.
+.RI -help
+.br
+.B solarus
+-run [\fI\,/path/to/quest\/\fR]
+.br
+.B solarus
+-add \fI\,/path/to/quest\/\fR
+.br
+.SH DESCRIPTION
+.SS "Usage:"
+.TP
+solarus
+Opens the Solarus launcher GUI
+.TP
+solarus \fB\-help\fR
+Prints this help message and exits
.TP
-.B \-help
-Show summary of options.
+solarus \fB\-run\fR [/path/to/quest]
+Plays a quest (default: .)
.TP
-.B /path/to/quest
-Insert path to quest directory.
-This directory must contain a data.solarus (or data.solarus.zip)
-.B OR
-A directory containing a data subdirectory with the quest data inside.
+solarus \fB\-add\fR \fI\,/path/to/quest\/\fP
+Adds a quest to the launcher's list and exits
+.SH SEE ALSO
+solarus-run(6), solarus-quest-editor(6)
.SH AUTHOR
-solarus was written by Christopho.
+solarus was written by Christopho and the Solarus Team.
.PP
-This manual page was written by Nathan Moore ,
+This manual page was written by Nathan Moore ,
for the Solarus project (feel free to use it).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/src/Game.cpp new/solarus-1.5.3/src/Game.cpp
--- old/solarus-1.5.1/src/Game.cpp 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/src/Game.cpp 2017-04-03 11:49:35.000000000 +0200
@@ -179,6 +179,14 @@
}
/**
+ * \brief Returns the resource provider of the quest.
+ * \return The resource provider.
+ */
+ResourceProvider& Game::get_resource_provider() {
+ return main_loop.get_resource_provider();
+}
+
+/**
* \brief Returns the hero.
* \return the hero
*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/src/MainLoop.cpp new/solarus-1.5.3/src/MainLoop.cpp
--- old/solarus-1.5.1/src/MainLoop.cpp 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/src/MainLoop.cpp 2017-04-03 11:49:35.000000000 +0200
@@ -222,6 +222,14 @@
}
/**
+ * \brief Returns the resource provider of this quest.
+ * \return The resource provider.
+ */
+ResourceProvider& MainLoop::get_resource_provider() {
+ return resource_provider;
+}
+
+/**
* \brief Returns whether the user just closed the window.
*
* When this function returns true, you should stop immediately
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/src/Map.cpp new/solarus-1.5.3/src/Map.cpp
--- old/solarus-1.5.1/src/Map.cpp 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/src/Map.cpp 2017-04-03 11:49:35.000000000 +0200
@@ -29,6 +29,7 @@
#include "solarus/lua/LuaContext.h"
#include "solarus/Game.h"
#include "solarus/Map.h"
+#include "solarus/ResourceProvider.h"
#include "solarus/Savegame.h"
#include "solarus/Sprite.h"
@@ -71,7 +72,6 @@
* \return the id of the tileset
*/
const std::string& Map::get_tileset_id() const {
- // note that if set_tileset() has been called, tileset_id != tileset->get_id()
return tileset_id;
}
@@ -81,14 +81,13 @@
* The new tileset must be compatible with the previous one,
* i.e. every tile of the previous tileset must exist in the new one
* and have the same properties.
- * This function keeps the tiles of the previous tileset and loads the
- * image of the new tileset.
*
* \param tileset_id Id of the new tileset.
*/
void Map::set_tileset(const std::string& tileset_id) {
- tileset->set_images(tileset_id);
+ ResourceProvider& resource_provider = get_game().get_resource_provider();
+ tileset = &resource_provider.get_tileset(tileset_id);
get_entities().notify_tileset_changed();
this->tileset_id = tileset_id;
build_background_surface();
@@ -295,6 +294,7 @@
// Initialize the map from the data just read.
this->game = &game;
+ ResourceProvider& resource_provider = game.get_resource_provider();
location.set_xy(data.get_location());
location.set_size(data.get_size());
width8 = data.get_size().width / 8;
@@ -305,8 +305,7 @@
set_world(data.get_world());
set_floor(data.get_floor());
tileset_id = data.get_tileset_id();
- tileset = std::unique_ptr<Tileset>(new Tileset(data.get_tileset_id()));
- tileset->load();
+ tileset = &resource_provider.get_tileset(tileset_id);
entities = std::unique_ptr<Entities>(new Entities(game, *this));
entities->create_entities(data);
@@ -332,7 +331,7 @@
*
* This function should not be called before the map is loaded into a game.
*
- * \return the game
+ * \return The game.
*/
Game& Map::get_game() {
return *game;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/src/ResourceProvider.cpp new/solarus-1.5.3/src/ResourceProvider.cpp
--- old/solarus-1.5.1/src/ResourceProvider.cpp 1970-01-01 01:00:00.000000000 +0100
+++ new/solarus-1.5.3/src/ResourceProvider.cpp 2017-04-03 11:49:35.000000000 +0200
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2006-2016 Christopho, Solarus - http://www.solarus-games.org
+ *
+ * Solarus is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Solarus is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see http://www.gnu.org/licenses/.
+ */
+#include "solarus/ResourceProvider.h"
+
+namespace Solarus {
+
+/**
+ * \brief Creates a resource provider.
+ */
+ResourceProvider::ResourceProvider() {
+}
+
+/**
+ * \brief Provides the tileset with the given id.
+ * \param tileset_id A tileset id.
+ * \return The corresponding tileset.
+ */
+const Tileset& ResourceProvider::get_tileset(const std::string& tileset_id) {
+
+ auto it = tileset_cache.find(tileset_id);
+ if (it != tileset_cache.end()) {
+ return *it->second;
+ }
+
+ it = tileset_cache.emplace(
+ tileset_id,
+ std::unique_ptr<Tileset>(new Tileset(tileset_id))
+ ).first;
+ Tileset& tileset = *it->second;
+ tileset.load();
+ return tileset;
+}
+
+/**
+ * \brief Notifies the resource provider that cached data (if any) is no longer valid.
+ *
+ * This function must be called when a resource element has changed on disk.
+ *
+ * \param resource_type Type of resource that has changed.
+ * \param element_id Resource element that has changed.
+ */
+void ResourceProvider::invalidate_resource_element(
+ ResourceType resource_type,
+ const std::string& element_id) {
+
+ switch (resource_type) {
+
+ case ResourceType::TILESET:
+ tileset_cache.erase(element_id);
+ break;
+
+ default:
+ break;
+ }
+}
+
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/src/Sprite.cpp new/solarus-1.5.3/src/Sprite.cpp
--- old/solarus-1.5.1/src/Sprite.cpp 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/src/Sprite.cpp 2017-04-03 11:49:35.000000000 +0200
@@ -50,7 +50,7 @@
void Sprite::quit() {
// delete the animations loaded
- for (auto kvp: all_animation_sets) {
+ for (auto& kvp: all_animation_sets) {
delete kvp.second;
}
all_animation_sets.clear();
@@ -133,7 +133,7 @@
*
* \param tileset The tileset.
*/
-void Sprite::set_tileset(Tileset& tileset) {
+void Sprite::set_tileset(const Tileset& tileset) {
animation_set.set_tileset(tileset);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/src/SpriteAnimation.cpp new/solarus-1.5.3/src/SpriteAnimation.cpp
--- old/solarus-1.5.1/src/SpriteAnimation.cpp 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/src/SpriteAnimation.cpp 2017-04-03 11:49:35.000000000 +0200
@@ -63,7 +63,7 @@
*
* \param tileset The tileset.
*/
-void SpriteAnimation::set_tileset(Tileset& tileset) {
+void SpriteAnimation::set_tileset(const Tileset& tileset) {
if (!src_image_is_tileset) {
// Nothing to do when the tileset changes.
@@ -72,7 +72,7 @@
src_image = tileset.get_entities_image();
if (should_enable_pixel_collisions) {
- disable_pixel_collisions(); // to force creating the images again
+ disable_pixel_collisions(); // To force creating the images again.
do_enable_pixel_collisions();
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/src/SpriteAnimationSet.cpp new/solarus-1.5.3/src/SpriteAnimationSet.cpp
--- old/solarus-1.5.1/src/SpriteAnimationSet.cpp 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/src/SpriteAnimationSet.cpp 2017-04-03 11:49:35.000000000 +0200
@@ -101,7 +101,7 @@
*
* \param tileset The tileset.
*/
-void SpriteAnimationSet::set_tileset(Tileset& tileset) {
+void SpriteAnimationSet::set_tileset(const Tileset& tileset) {
for (auto& kvp: animations) {
kvp.second.set_tileset(tileset);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/src/entities/AnimatedTilePattern.cpp new/solarus-1.5.3/src/entities/AnimatedTilePattern.cpp
--- old/solarus-1.5.1/src/entities/AnimatedTilePattern.cpp 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/src/entities/AnimatedTilePattern.cpp 2017-04-03 11:49:35.000000000 +0200
@@ -129,9 +129,9 @@
void AnimatedTilePattern::draw(
const SurfacePtr& dst_surface,
const Point& dst_position,
- Tileset& tileset,
+ const Tileset& tileset,
const Point& viewport
-) {
+) const {
const SurfacePtr& tileset_image = tileset.get_tiles_image();
const Rectangle& src = position_in_tileset[current_frames[sequence]];
Point dst = dst_position;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/src/entities/DynamicTile.cpp new/solarus-1.5.3/src/entities/DynamicTile.cpp
--- old/solarus-1.5.1/src/entities/DynamicTile.cpp 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/src/entities/DynamicTile.cpp 2017-04-03 11:49:35.000000000 +0200
@@ -40,7 +40,7 @@
int layer,
const Point& xy,
const Size& size,
- Tileset& tileset,
+ const Tileset& tileset,
const std::string& tile_pattern_id,
bool enabled
) :
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/src/entities/Enemy.cpp new/solarus-1.5.3/src/entities/Enemy.cpp
--- old/solarus-1.5.1/src/entities/Enemy.cpp 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/src/entities/Enemy.cpp 2017-04-03 11:49:35.000000000 +0200
@@ -133,7 +133,6 @@
* \param layer layer of the enemy on the map
* \param xy Coordinates of the enemy on the map.
* \param direction initial direction of the enemy on the map (0 to 3)
- * this enemy is killed, or -1 if this enemy is not saved
* \param treasure the pickable item that the enemy drops
* \return the enemy created (may also be a Pickable or nullptr)
*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/src/entities/Entities.cpp new/solarus-1.5.3/src/entities/Entities.cpp
--- old/solarus-1.5.1/src/entities/Entities.cpp 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/src/entities/Entities.cpp 2017-04-03 11:49:35.000000000 +0200
@@ -1235,17 +1235,18 @@
Debug::check_assertion(map.is_valid_layer(layer), "Invalid layer");
if (entity->is_enabled() &&
entity->is_visible()) {
- entities_to_draw[layer].push_back(entity);
+ entities_to_draw[layer].push_back(entity);
}
}
// Add entities displayed even when out of the camera.
for (int layer = map.get_min_layer(); layer <= map.get_max_layer(); ++layer) {
- entities_to_draw[layer].insert(
- entities_to_draw[layer].end(),
- entities_drawn_not_at_their_position[layer].begin(),
- entities_drawn_not_at_their_position[layer].end()
- );
+ for (const EntityPtr& entity : entities_drawn_not_at_their_position[layer]) {
+ if (entity->is_enabled() &&
+ entity->is_visible()) {
+ entities_to_draw[layer].push_back(entity);
+ }
+ }
// Sort them and remove duplicates.
// Duplicate drawings are a problem for entities with semi-transparency.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/src/entities/ParallaxScrollingTilePattern.cpp new/solarus-1.5.3/src/entities/ParallaxScrollingTilePattern.cpp
--- old/solarus-1.5.1/src/entities/ParallaxScrollingTilePattern.cpp 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/src/entities/ParallaxScrollingTilePattern.cpp 2017-04-03 11:49:35.000000000 +0200
@@ -43,9 +43,9 @@
void ParallaxScrollingTilePattern::draw(
const SurfacePtr& dst_surface,
const Point& dst_position,
- Tileset& tileset,
+ const Tileset& tileset,
const Point& viewport
-) {
+) const {
const SurfacePtr& tileset_image = tileset.get_tiles_image();
Point dst = dst_position;
dst += viewport / ratio;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/src/entities/SelfScrollingTilePattern.cpp new/solarus-1.5.3/src/entities/SelfScrollingTilePattern.cpp
--- old/solarus-1.5.1/src/entities/SelfScrollingTilePattern.cpp 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/src/entities/SelfScrollingTilePattern.cpp 2017-04-03 11:49:35.000000000 +0200
@@ -41,8 +41,9 @@
*/
void SelfScrollingTilePattern::draw(
const SurfacePtr& dst_surface,
- const Point& dst_position, Tileset& tileset,
- const Point& /* viewport */) {
+ const Point& dst_position,
+ const Tileset& tileset,
+ const Point& /* viewport */) const {
Rectangle src = position_in_tileset;
Point dst = dst_position;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/src/entities/SimpleTilePattern.cpp new/solarus-1.5.3/src/entities/SimpleTilePattern.cpp
--- old/solarus-1.5.1/src/entities/SimpleTilePattern.cpp 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/src/entities/SimpleTilePattern.cpp 2017-04-03 11:49:35.000000000 +0200
@@ -44,9 +44,9 @@
void SimpleTilePattern::draw(
const SurfacePtr& dst_surface,
const Point& dst_position,
- Tileset& tileset,
+ const Tileset& tileset,
const Point& /* viewport */
-) {
+) const {
const SurfacePtr& tileset_image = tileset.get_tiles_image();
tileset_image->draw_region(position_in_tileset, dst_surface, dst_position);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/src/entities/Tile.cpp new/solarus-1.5.3/src/entities/Tile.cpp
--- old/solarus-1.5.1/src/entities/Tile.cpp 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/src/entities/Tile.cpp 2017-04-03 11:49:35.000000000 +0200
@@ -93,9 +93,9 @@
/**
* \brief Returns the pattern of this tile.
- * \return the tile pattern
+ * \return The tile pattern.
*/
-TilePattern& Tile::get_tile_pattern() {
+const TilePattern& Tile::get_tile_pattern() const {
return tile_pattern;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/src/entities/TilePattern.cpp new/solarus-1.5.3/src/entities/TilePattern.cpp
--- old/solarus-1.5.1/src/entities/TilePattern.cpp 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/src/entities/TilePattern.cpp 2017-04-03 11:49:35.000000000 +0200
@@ -45,13 +45,6 @@
") but should be positive and multiple of 8 pixels";
Debug::die(oss.str());
}
-
- // Diagonal obstacle: check that the tile is square.
- if (GroundInfo::is_ground_diagonal(ground)) {
- if (!size.is_square()) {
- Debug::error("Invalid tile pattern: a tile pattern with a diagonal wall must be square");
- }
- }
}
/**
@@ -161,9 +154,9 @@
void TilePattern::fill_surface(
const SurfacePtr& dst_surface,
const Rectangle& dst_position,
- Tileset& tileset,
+ const Tileset& tileset,
const Point& viewport
-) {
+) const {
Point dst;
int limit_x = dst_position.get_x() + dst_position.get_width();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/src/entities/Tileset.cpp new/solarus-1.5.3/src/entities/Tileset.cpp
--- old/solarus-1.5.1/src/entities/Tileset.cpp 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/src/entities/Tileset.cpp 2017-04-03 11:49:35.000000000 +0200
@@ -46,7 +46,7 @@
* \brief Returns the id of this tileset.
* \return the tileset id
*/
-const std::string& Tileset::get_id() {
+const std::string& Tileset::get_id() const {
return id;
}
@@ -72,24 +72,32 @@
if (frames.size() == 1) {
// Single frame.
const Rectangle& frame = frames[0];
+ const Size& size = frame.get_size();
+
+ // Diagonal obstacle: check that the tile is square.
+ if (GroundInfo::is_ground_diagonal(ground)) {
+ if (!size.is_square()) {
+ Debug::error("Invalid tile pattern '" + id + ": a tile pattern with a diagonal wall must be square");
+ }
+ }
switch (scrolling) {
case TileScrolling::NONE:
tile_pattern = new SimpleTilePattern(
- ground, frame.get_xy(), frame.get_size()
+ ground, frame.get_xy(), size
);
break;
case TileScrolling::PARALLAX:
tile_pattern = new ParallaxScrollingTilePattern(
- ground, frame.get_xy(), frame.get_size()
+ ground, frame.get_xy(), size
);
break;
case TileScrolling::SELF:
tile_pattern = new SelfScrollingTilePattern(
- ground, frame.get_xy(), frame.get_size()
+ ground, frame.get_xy(), size
);
break;
}
@@ -169,7 +177,7 @@
* \brief Returns the background color of this tileset.
* \return the background color
*/
-Color& Tileset::get_background_color() {
+const Color& Tileset::get_background_color() const {
return background_color;
}
@@ -177,7 +185,7 @@
* \brief Returns whether this tileset is loaded.
* \return true if this tileset is loaded
*/
-bool Tileset::is_loaded() {
+bool Tileset::is_loaded() const {
return tiles_image != nullptr;
}
@@ -185,7 +193,7 @@
* \brief Returns the image containing the tiles of this tileset.
* \return the tiles image
*/
-const SurfacePtr& Tileset::get_tiles_image() {
+const SurfacePtr& Tileset::get_tiles_image() const {
return tiles_image;
}
@@ -193,7 +201,7 @@
* \brief Returns the image containing the skin-dependent dynamic entities for this tileset.
* \return the image containing the skin-dependent dynamic entities for this tileset
*/
-const SurfacePtr& Tileset::get_entities_image() {
+const SurfacePtr& Tileset::get_entities_image() const {
return entities_image;
}
@@ -202,7 +210,7 @@
* \param id id of the tile pattern to get
* \return the tile pattern with this id
*/
-TilePattern& Tileset::get_tile_pattern(const std::string& id) {
+const TilePattern& Tileset::get_tile_pattern(const std::string& id) const {
const auto& it = tile_patterns.find(id);
if (it == tile_patterns.end()) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/src/entities/TimeScrollingTilePattern.cpp new/solarus-1.5.3/src/entities/TimeScrollingTilePattern.cpp
--- old/solarus-1.5.1/src/entities/TimeScrollingTilePattern.cpp 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/src/entities/TimeScrollingTilePattern.cpp 2017-04-03 11:49:35.000000000 +0200
@@ -78,9 +78,9 @@
void TimeScrollingTilePattern::draw(
const SurfacePtr& dst_surface,
const Point& dst_position,
- Tileset& tileset,
+ const Tileset& tileset,
const Point& /* viewport */
-) {
+) const {
Rectangle src = position_in_tileset;
Point dst = dst_position;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/src/lowlevel/QuestFiles.cpp new/solarus-1.5.3/src/lowlevel/QuestFiles.cpp
--- old/solarus-1.5.1/src/lowlevel/QuestFiles.cpp 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/src/lowlevel/QuestFiles.cpp 2017-04-03 11:49:35.000000000 +0200
@@ -480,7 +480,7 @@
SOLARUS_API std::string get_base_write_dir() {
#if defined(SOLARUS_OSX) || defined(SOLARUS_IOS)
- return std::string(get_user_application_support_directory());
+ return get_user_application_support_directory();
#else
return std::string(PHYSFS_getUserDir());
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/src/lowlevel/Surface.cpp new/solarus-1.5.3/src/lowlevel/Surface.cpp
--- old/solarus-1.5.1/src/lowlevel/Surface.cpp 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/src/lowlevel/Surface.cpp 2017-04-03 11:49:35.000000000 +0200
@@ -200,13 +200,13 @@
}
/**
- * \brief Returns the SDL_Surface corresponding to the requested file.
+ * \brief Creates an SDL surface corresponding to the requested file.
*
- * The returned SDL_Surface has to be manually deleted.
+ * The returned SDL surface has to be manually deleted.
*
* \param file_name Name of the image file to load, relative to the base directory specified.
* \param base_directory The base directory to use.
- * \return The SDL_Surface.
+ * \return The SDL surface created.
*/
SDL_Surface* Surface::get_surface_from_file(
const std::string& file_name,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/src/lowlevel/apple/AppleInterface.mm new/solarus-1.5.3/src/lowlevel/apple/AppleInterface.mm
--- old/solarus-1.5.1/src/lowlevel/apple/AppleInterface.mm 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/src/lowlevel/apple/AppleInterface.mm 2017-04-03 11:49:35.000000000 +0200
@@ -14,6 +14,7 @@
* You should have received a copy of the GNU General Public License along
* with this program. If not, see http://www.gnu.org/licenses/.
*/
+#include "solarus/lowlevel/Debug.h"
#include "solarus/lowlevel/apple/AppleInterface.h"
#if defined(SOLARUS_OSX) || defined(SOLARUS_IOS)
@@ -27,29 +28,35 @@
/**
- * @brief Return "~/Library/Application Support" or equivalent from the official
- * way, which is available in OSX 10.6+ and iOS 4.0+.
+ * @brief Create and return the Application Support folder from the User Domain
+ * which doesn't exist by default in the iOS sandboxed environment.
*
- * Return an OSX 10.0+ and iOS 1.0+ (not compatible with Iphone Simulator)
- * hardcoded equivalent workaround if the build configuration is set for a
- * lower minimum version.
* @return The Application Support folder from the User Domain.
*/
std::string get_user_application_support_directory()
{
@autoreleasepool {
-#if defined(SOLARUS_OSX) && __MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6 \
- || defined(SOLARUS_IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_4_0
- return [[[[[NSFileManager defaultManager]
- URLsForDirectory:NSApplicationSupportDirectory inDomains:NSUserDomainMask]
- objectAtIndex:0]
- path]
- UTF8String];
-#else
- return [[NSHomeDirectory() stringByAppendingPathComponent:@"Library/Application Support"]
- UTF8String];
-#endif
+ NSString* app_support_directory = [
+ NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES)
+ objectAtIndex:0];
+
+ // Create the Application Support folder if it doesn't exist yet.
+ if (![[NSFileManager defaultManager]
+ fileExistsAtPath:app_support_directory
+ isDirectory:NULL]) {
+
+ NSError* error = nil;
+ if (![[NSFileManager defaultManager]
+ createDirectoryAtPath:app_support_directory
+ withIntermediateDirectories:YES
+ attributes:nil
+ error:&error]) {
+ Solarus::Debug::error("Cannot create " + std::string([app_support_directory UTF8String]));
+ }
+ }
+
+ return [app_support_directory UTF8String];
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/src/lua/MapApi.cpp new/solarus-1.5.3/src/lua/MapApi.cpp
--- old/solarus-1.5.1/src/lua/MapApi.cpp 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/src/lua/MapApi.cpp 2017-04-03 11:49:35.000000000 +0200
@@ -420,8 +420,8 @@
const Size size = entity_creation_check_size(l, 1, data);
const std::string& tile_pattern_id = data.get_string("pattern");
- Tileset& tileset = map.get_tileset();
- TilePattern& pattern = tileset.get_tile_pattern(tile_pattern_id);
+ const Tileset& tileset = map.get_tileset();
+ const TilePattern& pattern = tileset.get_tile_pattern(tile_pattern_id);
const Size& pattern_size = pattern.get_size();
Entities& entities = map.get_entities();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/src/lua/TextSurfaceApi.cpp new/solarus-1.5.3/src/lua/TextSurfaceApi.cpp
--- old/solarus-1.5.1/src/lua/TextSurfaceApi.cpp 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/src/lua/TextSurfaceApi.cpp 2017-04-03 11:49:35.000000000 +0200
@@ -227,7 +227,7 @@
TextSurface& text_surface = *check_text_surface(l, 1);
TextSurface::HorizontalAlignment alignment =
LuaTools::check_enumTextSurface::HorizontalAlignment(
- l, 1, horizontal_alignment_names);
+ l, 2, horizontal_alignment_names);
text_surface.set_horizontal_alignment(alignment);
@@ -263,7 +263,7 @@
TextSurface& text_surface = *check_text_surface(l, 1);
TextSurface::VerticalAlignment alignment =
LuaTools::check_enumTextSurface::VerticalAlignment(
- l, 1, vertical_alignment_names);
+ l, 2, vertical_alignment_names);
text_surface.set_vertical_alignment(alignment);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/tests/testing_quest/data/project_db.dat new/solarus-1.5.3/tests/testing_quest/data/project_db.dat
--- old/solarus-1.5.1/tests/testing_quest/data/project_db.dat 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/tests/testing_quest/data/project_db.dat 2017-04-03 11:49:35.000000000 +0200
@@ -119,57 +119,127 @@
sprite{ id = "main_heroes/sword", description = "Sword" }
sprite{ id = "main_heroes/sword_electricity", description = "Sword electricity" }
sprite{ id = "main_heroes/trail", description = "Trail" }
-sprite{ id = "menus/solarus_logo", description = "Menu: Solarus logo" }
+sprite{ id = "menus/solarus_logo", description = "Solarus logo" }
sprite{ id = "todo", description = "TODO image" }
sound{ id = "arrow_hit", description = "arrow_hit" }
+sound{ id = "bird_chirp", description = "bird_chirp" }
+sound{ id = "bird_chirp1", description = "bird_chirp1" }
+sound{ id = "bird_chirp2", description = "bird_chirp2" }
+sound{ id = "bird_cute", description = "bird_cute" }
+sound{ id = "bomb", description = "bomb" }
sound{ id = "boomerang", description = "boomerang" }
+sound{ id = "boss_charge", description = "boss_charge" }
+sound{ id = "boss_fireball", description = "boss_fireball" }
sound{ id = "boss_hurt", description = "boss_hurt" }
sound{ id = "boss_killed", description = "boss_killed" }
+sound{ id = "bounce", description = "bounce" }
sound{ id = "bow", description = "bow" }
sound{ id = "bush", description = "bush" }
sound{ id = "cane", description = "cane" }
+sound{ id = "cane2", description = "cane2" }
+sound{ id = "cane3", description = "cane3" }
+sound{ id = "cat", description = "cat" }
+sound{ id = "chest_appears", description = "chest_appears" }
sound{ id = "chest_open", description = "chest_open" }
+sound{ id = "cricket", description = "cricket" }
+sound{ id = "crystal", description = "crystal" }
+sound{ id = "crystal2", description = "crystal2" }
+sound{ id = "cursor", description = "cursor" }
+sound{ id = "danger", description = "danger" }
+sound{ id = "diarandor/solarus_logo", description = "Solarus logo" }
sound{ id = "door_closed", description = "door_closed" }
sound{ id = "door_open", description = "door_open" }
sound{ id = "door_unlocked", description = "door_unlocked" }
+sound{ id = "eduardo/secret", description = "secret" }
+sound{ id = "electrified", description = "electrified" }
+sound{ id = "electrified2", description = "electrified2" }
+sound{ id = "enemy_awake", description = "enemy_awake" }
sound{ id = "enemy_hurt", description = "enemy_hurt" }
sound{ id = "enemy_killed", description = "enemy_killed" }
sound{ id = "explosion", description = "explosion" }
+sound{ id = "falling_on_hole", description = "falling_on_hole" }
+sound{ id = "falling_rock", description = "falling_rock" }
+sound{ id = "fire_ball", description = "fire_ball" }
+sound{ id = "fire_ball2", description = "fire_ball2" }
+sound{ id = "frost1", description = "frost1" }
+sound{ id = "frost2", description = "frost2" }
+sound{ id = "heart", description = "heart" }
+sound{ id = "heart_container", description = "heart_container" }
+sound{ id = "hero_dying", description = "hero_dying" }
sound{ id = "hero_falls", description = "hero_falls" }
sound{ id = "hero_hurt", description = "hero_hurt" }
sound{ id = "hero_lands", description = "hero_lands" }
sound{ id = "hero_pushes", description = "hero_pushes" }
+sound{ id = "hero_seen", description = "hero_seen" }
sound{ id = "hookshot", description = "hookshot" }
+sound{ id = "item_fall", description = "item_fall" }
sound{ id = "jump", description = "jump" }
+sound{ id = "key_fall", description = "key_fall" }
+sound{ id = "lamp", description = "lamp" }
sound{ id = "lift", description = "lift" }
+sound{ id = "magnet1", description = "magnet1" }
sound{ id = "message_end", description = "message_end" }
-sound{ id = "monster_hurt", description = "monster_hurt" }
+sound{ id = "message_letter", description = "message_letter" }
+sound{ id = "money_counter", description = "money_counter" }
+sound{ id = "money_counter_end", description = "money_counter_end" }
+sound{ id = "monster_hurt", description = "zora" }
+sound{ id = "mouse", description = "mouse" }
+sound{ id = "ok", description = "ok" }
+sound{ id = "open_lock", description = "open_lock" }
+sound{ id = "pause_closed", description = "pause_closed" }
+sound{ id = "pause_open", description = "pause_open" }
sound{ id = "picked_item", description = "picked_item" }
+sound{ id = "picked_money", description = "picked_money" }
+sound{ id = "picked_small_key", description = "picked_small_key" }
+sound{ id = "quake", description = "quake" }
sound{ id = "running", description = "running" }
sound{ id = "running_obstacle", description = "running_obstacle" }
sound{ id = "shield", description = "shield" }
+sound{ id = "shield2", description = "shield2" }
+sound{ id = "shield3", description = "shield3" }
+sound{ id = "soft_tap", description = "soft_tap" }
sound{ id = "splash", description = "splash" }
sound{ id = "stairs_down_end", description = "stairs_down_end" }
sound{ id = "stairs_down_start", description = "stairs_down_start" }
sound{ id = "stairs_up_end", description = "stairs_up_end" }
sound{ id = "stairs_up_start", description = "stairs_up_start" }
sound{ id = "stone", description = "stone" }
+sound{ id = "swim", description = "swim" }
sound{ id = "switch", description = "switch" }
+sound{ id = "switch_hero", description = "switch_hero" }
sound{ id = "sword1", description = "sword1" }
+sound{ id = "sword2", description = "sword2" }
+sound{ id = "sword3", description = "sword3" }
+sound{ id = "sword4", description = "sword4" }
sound{ id = "sword_spin_attack_load", description = "sword_spin_attack_load" }
sound{ id = "sword_spin_attack_release", description = "sword_spin_attack_release" }
sound{ id = "sword_tapping", description = "sword_tapping" }
sound{ id = "sword_tapping_weak_wall", description = "sword_tapping_weak_wall" }
+sound{ id = "teleporter", description = "teleporter" }
sound{ id = "throw", description = "throw" }
+sound{ id = "thunder1", description = "thunder1" }
+sound{ id = "thunder2", description = "thunder2" }
+sound{ id = "thunder3", description = "thunder3" }
+sound{ id = "thunder_double", description = "thunder_double" }
+sound{ id = "thunder_far", description = "thunder_far" }
sound{ id = "timer", description = "timer" }
+sound{ id = "timer2", description = "timer2" }
sound{ id = "timer_hurry", description = "timer_hurry" }
+sound{ id = "tongue", description = "tongue" }
sound{ id = "treasure", description = "treasure" }
sound{ id = "victory", description = "victory" }
sound{ id = "walk_on_grass", description = "walk_on_grass" }
sound{ id = "walk_on_water", description = "walk_on_water" }
+sound{ id = "warp", description = "warp" }
+sound{ id = "water_fill", description = "water_fill" }
+sound{ id = "wings1", description = "wings1" }
+sound{ id = "wings2", description = "wings2" }
+sound{ id = "world_warp", description = "world_warp" }
sound{ id = "wrong", description = "wrong" }
+sound{ id = "wrong2", description = "wrong2" }
+sound{ id = "wrong3", description = "wrong3" }
item{ id = "bomb", description = "Bomb" }
item{ id = "non_saved_item", description = "Non-saved item" }
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/bird_chirp.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/bird_chirp.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/bird_chirp1.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/bird_chirp1.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/bird_chirp2.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/bird_chirp2.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/bird_cute.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/bird_cute.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/boss_charge.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/boss_charge.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/boss_fireball.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/boss_fireball.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/boss_hurt.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/boss_hurt.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/boss_killed.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/boss_killed.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/cane.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/cane.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/cane2.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/cane2.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/cane3.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/cane3.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/cricket.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/cricket.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/crystal2.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/crystal2.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/diarandor/solarus_logo.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/diarandor/solarus_logo.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/door_unlocked.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/door_unlocked.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/eduardo/secret.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/eduardo/secret.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/electrified.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/electrified.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/electrified2.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/electrified2.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/enemy_awake.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/enemy_awake.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/explosion.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/explosion.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/fire_ball2.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/fire_ball2.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/frost1.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/frost1.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/frost2.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/frost2.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/heart_container.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/heart_container.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/hero_seen.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/hero_seen.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/lamp.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/lamp.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/magnet1.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/magnet1.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/money_counter.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/money_counter.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/money_counter_end.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/money_counter_end.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/monster_hurt.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/monster_hurt.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/picked_money.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/picked_money.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/picked_rupee.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/picked_rupee.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/picked_small_key.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/picked_small_key.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/rupee_counter.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/rupee_counter.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/rupee_counter_end.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/rupee_counter_end.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/secret.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/secret.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/shield.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/shield.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/shield2.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/shield2.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/shield3.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/shield3.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/stone.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/stone.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/sword2.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/sword2.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/sword3.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/sword3.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/sword4.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/sword4.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/thunder1.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/thunder1.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/thunder2.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/thunder2.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/thunder3.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/thunder3.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/thunder_double.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/thunder_double.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/thunder_far.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/thunder_far.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/timer.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/timer.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/timer2.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/timer2.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/timer_hurry.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/timer_hurry.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/water_fill.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/water_fill.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/wings1.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/wings1.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/wings2.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/wings2.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/world_warp.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/world_warp.ogg differ
Binary files old/solarus-1.5.1/tests/testing_quest/data/sounds/wrong3.ogg and new/solarus-1.5.3/tests/testing_quest/data/sounds/wrong3.ogg differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/tests/testing_quest/data/sprites/hero/sword1.dat new/solarus-1.5.3/tests/testing_quest/data/sprites/hero/sword1.dat
--- old/solarus-1.5.1/tests/testing_quest/data/sprites/hero/sword1.dat 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/tests/testing_quest/data/sprites/hero/sword1.dat 2017-04-03 11:49:35.000000000 +0200
@@ -1,7 +1,7 @@
animation{
name = "sword",
src_image = "main_heroes/sword_brandish.png",
- frame_delay = 200,
+ frame_delay = 30,
directions = {
{ x = 0, y = 0, frame_width = 48, frame_height = 48, origin_x = 12, origin_y = 31, num_frames = 12 },
{ x = 0, y = 96, frame_width = 48, frame_height = 32, origin_x = 20, origin_y = 39, num_frames = 12 },
@@ -22,6 +22,17 @@
},
}
animation{
+ name = "sword_inverted",
+ src_image = "main_heroes/sword_brandish_inverted.png",
+ frame_delay = 30,
+ directions = {
+ { x = 0, y = 0, frame_width = 48, frame_height = 48, origin_x = 12, origin_y = 31, num_frames = 12 },
+ { x = 0, y = 96, frame_width = 48, frame_height = 32, origin_x = 20, origin_y = 39, num_frames = 12 },
+ { x = 0, y = 48, frame_width = 48, frame_height = 48, origin_x = 36, origin_y = 31, num_frames = 12 },
+ { x = 0, y = 160, frame_width = 48, frame_height = 32, origin_x = 20, origin_y = 15, num_frames = 12 },
+ },
+}
+animation{
name = "sword_loading_stopped",
src_image = "main_heroes/sword_loading.png",
directions = {
@@ -35,6 +46,7 @@
name = "sword_loading_walking",
src_image = "main_heroes/sword_loading.png",
frame_delay = 100,
+ frame_to_loop_on = 0,
directions = {
{ x = 0, y = 0, frame_width = 24, frame_height = 24, origin_x = -4, origin_y = 23, num_frames = 6 },
{ x = 0, y = 24, frame_width = 24, frame_height = 24, origin_x = 12, origin_y = 39, num_frames = 6 },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/solarus-1.5.1/tests/testing_quest/license.txt new/solarus-1.5.3/tests/testing_quest/license.txt
--- old/solarus-1.5.1/tests/testing_quest/license.txt 2016-11-29 21:39:30.000000000 +0100
+++ new/solarus-1.5.3/tests/testing_quest/license.txt 2017-04-03 11:49:35.000000000 +0200
@@ -1,13 +1,35 @@
-This file gives the license information of all data files of this quest.
-Some resources come from communities like OpenGameArt, and others are original
-creations made by us, the Solarus team.
+We give in this file the license information of
+the Solarus Testing Quest.
- Lua scripts are licensed under the terms of the GNU General Public License
in version 3.
-- Data files come from the Solarus sample quest.
-The ones we created are licensed under
+- Most data files other than Lua scripts are licensed under
Creative Commons Attribution-ShareAlike 4.0 (CC BY-SA 4.0).
http://creativecommons.org/licenses/by-sa/4.0/
-See the license.txt file of the sample_quest directory for more details.
+
+- A few data files are in public domain.
+
+Most data files of this quest come from the official
+Solarus Free Resource Pack:
+https://github.com/solarus-games/solarus-free-resource-pack
+
+Main contributors:
+- Christopho
+- Diarandor <diarandor at gmail dot com>:
+ - Source URL for images: http://diarandor.deviantart.com/
+ - Source URL for sounds and music: https://soundcloud.com/diarandor/
+- Eduardo Dueñas
+- Bertram
+
+The more detailed license information of the Solarus Free Resource Pack
+can be found here:
+https://github.com/solarus-games/solarus-free-resource-pack/blob/master/lice...
+
+We give below the license of all other files of this quest,
+that is, the ones that do not come from the Solarus Free Resource Pack.
+
+Scripts under GNU GPL v3: Author
+------------------------- ------
+**.lua Christopho