diff --git a/README.md b/README.md index fb692499c..e2c00246b 100644 --- a/README.md +++ b/README.md @@ -12,9 +12,9 @@ Support is available on [the forums](http://forum.aegisub.org) or [on IRC](irc:/ Prerequisites: -1. Visual Studio 2013 (Express edition is good enough) or the Windows 8.1 SDK (command line builds only). -2. A recent DirectX SDK -4. [Yasm](http://yasm.tortall.net/) installed to somewhere on your path. +1. Visual Studio 2015 (the freee Community edition is good enough) +2. The June 2010 DirectX SDK (the final release before DirectSound was dropped) +3. [Yasm](http://yasm.tortall.net/) installed to somewhere on your path. There are a few optional dependencies: diff --git a/build/aegisub.props b/build/aegisub.props index d2a68d035..0acc3d501 100644 --- a/build/aegisub.props +++ b/build/aegisub.props @@ -34,7 +34,7 @@ true Unicode MultiByte - v120_xp + v140_xp diff --git a/build/libaegisub/libaegisub.vcxproj b/build/libaegisub/libaegisub.vcxproj index 8cf51032a..201e8155b 100644 --- a/build/libaegisub/libaegisub.vcxproj +++ b/build/libaegisub/libaegisub.vcxproj @@ -16,6 +16,7 @@ + $(WindowsSDK_IncludePath); $(SrcDir); $(SrcDir)include; %(AdditionalIncludeDirectories) diff --git a/build/wx/wxWidgets.vcxproj b/build/wx/wxWidgets.vcxproj index 2da8d8989..4a441b27b 100644 --- a/build/wx/wxWidgets.vcxproj +++ b/build/wx/wxWidgets.vcxproj @@ -21,6 +21,7 @@ $(SrcDir)include;%(AdditionalIncludeDirectories) Use wx/wxprec.h + /Zm150 %(AdditionalOptions) $(SrcDir)include diff --git a/libaegisub/common/io.cpp b/libaegisub/common/io.cpp index c8531120f..e133a71ab 100644 --- a/libaegisub/common/io.cpp +++ b/libaegisub/common/io.cpp @@ -56,7 +56,7 @@ Save::Save(fs::path const& file, bool binary) } } -Save::~Save() { +Save::~Save() noexcept(false) { fp.reset(); // Need to close before rename on Windows to unlock the file for (int i = 0; i < 10; ++i) { try { diff --git a/libaegisub/include/libaegisub/io.h b/libaegisub/include/libaegisub/io.h index beb5ba06d..5ab4f4af3 100644 --- a/libaegisub/include/libaegisub/io.h +++ b/libaegisub/include/libaegisub/io.h @@ -38,7 +38,7 @@ class Save { public: Save(fs::path const& file, bool binary = false); - ~Save(); + ~Save() noexcept(false); std::ostream& Get() { return *fp; } }; diff --git a/libaegisub/include/libaegisub/line_iterator.h b/libaegisub/include/libaegisub/line_iterator.h index 223aeb96b..1e4fee9b1 100644 --- a/libaegisub/include/libaegisub/line_iterator.h +++ b/libaegisub/include/libaegisub/line_iterator.h @@ -43,14 +43,10 @@ public: line_iterator_base() = default; line_iterator_base(line_iterator_base const&) = default; -#ifndef _MSC_VER line_iterator_base(line_iterator_base&&) = default; -#endif line_iterator_base& operator=(line_iterator_base const&) = default; -#ifndef _MSC_VER line_iterator_base& operator=(line_iterator_base&&) = default; -#endif bool operator==(line_iterator_base const& rgt) const { return stream == rgt.stream; } bool operator!=(line_iterator_base const& rgt) const { return !operator==(rgt); } diff --git a/src/ass_override.cpp b/src/ass_override.cpp index 774c93a77..fc8758c08 100644 --- a/src/ass_override.cpp +++ b/src/ass_override.cpp @@ -52,27 +52,7 @@ AssOverrideParameter::AssOverrideParameter(VariableDataType type, AssParameterCl { } -#ifdef _MSC_VER -AssOverrideParameter::AssOverrideParameter(AssOverrideParameter&& o) -: value(std::move(o.value)) -, block(std::move(o.block)) -, type(o.type) -, classification(o.classification) -, omitted(o.omitted) -{ -} - -AssOverrideParameter& AssOverrideParameter::operator=(AssOverrideParameter&& rhs) { - value = std::move(rhs.value); - block = std::move(rhs.block); - type = rhs.type; - classification = rhs.classification; - return *this; -} -#endif - -AssOverrideParameter::~AssOverrideParameter() { -} +AssOverrideParameter::~AssOverrideParameter() = default; template<> std::string AssOverrideParameter::Get() const { if (omitted) throw agi::InternalError("AssOverrideParameter::Get() called on omitted parameter"); @@ -454,22 +434,6 @@ AssOverrideTag::AssOverrideTag(std::string const& text) { SetText(text); } -#ifdef _MSC_VER -AssOverrideTag::AssOverrideTag(AssOverrideTag&& rhs) -: valid(rhs.valid) -, Name(std::move(rhs.Name)) -, Params(std::move(rhs.Params)) -{ -} - -AssOverrideTag& AssOverrideTag::operator=(AssOverrideTag&& rhs) { - valid = rhs.valid; - Name = std::move(rhs.Name); - Params = std::move(rhs.Params); - return *this; -} -#endif - void AssOverrideTag::Clear() { Params.clear(); Params.reserve(6); diff --git a/src/ass_override.h b/src/ass_override.h index 703bfa24d..dfcd1f893 100644 --- a/src/ass_override.h +++ b/src/ass_override.h @@ -69,13 +69,8 @@ class AssOverrideParameter { public: AssOverrideParameter(VariableDataType type, AssParameterClass classification); -#ifdef _MSC_VER - AssOverrideParameter(AssOverrideParameter&&); - AssOverrideParameter& operator=(AssOverrideParameter&&); -#else AssOverrideParameter(AssOverrideParameter&&) = default; AssOverrideParameter& operator=(AssOverrideParameter&&) = default; -#endif ~AssOverrideParameter(); /// Type of parameter @@ -98,13 +93,8 @@ class AssOverrideTag { public: AssOverrideTag() = default; AssOverrideTag(std::string const& text); -#ifdef _MSC_VER - AssOverrideTag(AssOverrideTag&&); - AssOverrideTag& operator=(AssOverrideTag&&); -#else AssOverrideTag(AssOverrideTag&&) = default; AssOverrideTag& operator=(AssOverrideTag&&) = default; -#endif std::string Name; std::vector Params; diff --git a/src/block_cache.h b/src/block_cache.h index afbdd0c55..fd84f86f6 100644 --- a/src/block_cache.h +++ b/src/block_cache.h @@ -54,16 +54,6 @@ class DataBlockCache { /// The blocks contained in the macroblock BlockArray blocks; - -#ifdef _MSC_VER - MacroBlock() = default; - MacroBlock(MacroBlock&& rgt) : position(rgt.position), blocks(std::move(rgt.blocks)) { } - MacroBlock& operator=(MacroBlock&& rgt) { - position = rgt.position; - blocks = std::move(rgt.blocks); - return *this; - } -#endif }; /// Type of an array of macro blocks @@ -105,17 +95,6 @@ class DataBlockCache { } public: -#ifdef _MSC_VER - DataBlockCache(DataBlockCache&& rgt) - : data(std::move(rgt.data)) - , age(std::move(rgt.age)) - , macroblock_size(rgt.macroblock_size) - , macroblock_index_mask(rgt.macroblock_index_mask) - , size(rgt.size) - , factory(std::move(rgt.factory)) - { } -#endif - /// @brief Constructor /// @param block_count Total number of blocks the cache will manage /// @param factory Factory object to use for producing blocks diff --git a/src/command/edit.cpp b/src/command/edit.cpp index 3ca9226d3..67f2c0cc0 100644 --- a/src/command/edit.cpp +++ b/src/command/edit.cpp @@ -164,11 +164,7 @@ struct parsed_line { std::vector> blocks; parsed_line(AssDialogue *line) : line(line), blocks(line->ParseTags()) { } -#ifdef _MSC_VER - parsed_line(parsed_line&& r) : line(r.line), blocks(std::move(r.blocks)) { } -#else parsed_line(parsed_line&& r) = default; -#endif const AssOverrideTag *find_tag(int blockn, std::string const& tag_name, std::string const& alt) const { for (auto ovr : blocks | sliced(0, blockn + 1) | reversed | agi::of_type()) { diff --git a/src/subtitle_format_ebu3264.cpp b/src/subtitle_format_ebu3264.cpp index 7a062cef1..a9594f26d 100644 --- a/src/subtitle_format_ebu3264.cpp +++ b/src/subtitle_format_ebu3264.cpp @@ -526,9 +526,6 @@ namespace return tti; } -#ifdef _MSC_VER -#define vsnprintf _vsnprintf -#endif void fieldprintf(char *field, size_t fieldlen, const char *format, ...) { char buf[16];