--- libgig/trunk/src/gig.cpp 2017/05/03 14:41:58 3138 +++ libgig/trunk/src/gig.cpp 2017/05/21 12:46:05 3198 @@ -24,6 +24,7 @@ #include "gig.h" #include "helper.h" +#include "Serialization.h" #include #include @@ -1816,6 +1817,11 @@ } void DimensionRegion::serialize(Serialization::Archive* archive) { + // in case this class will become backward incompatible one day, + // then set a version and minimum version for this class like: + //archive->setVersion(*this, 2); + //archive->setMinVersion(*this, 1); + SRLZ(VelocityUpperLimit); SRLZ(EG1PreAttack); SRLZ(EG1Attack); @@ -2613,7 +2619,7 @@ // unknown controller type default: - throw gig::Exception("Unknown leverage controller type."); + throw gig::Exception("Unknown leverage controller type (0x%x).", EncodedController); } return decodedcontroller; } @@ -6467,7 +6473,18 @@ // *************** Exception *************** // * - Exception::Exception(String Message) : DLS::Exception(Message) { + Exception::Exception() : DLS::Exception() { + } + + Exception::Exception(String format, ...) : DLS::Exception() { + va_list arg; + va_start(arg, format); + Message = assemble(format, arg); + va_end(arg); + } + + Exception::Exception(String format, va_list arg) : DLS::Exception() { + Message = assemble(format, arg); } void Exception::PrintMessage() {