diff options
40 files changed, 219 insertions, 193 deletions
diff --git a/src/Config.h b/src/Config.h index 50a716a..a0e5dfe 100644 --- a/src/Config.h +++ b/src/Config.h @@ -181,18 +181,20 @@ extern unsigned char ZSIZE; #ifdef WIN #define strcasecmp stricmp -#endif -#if defined(WIN) && !defined(__GNUC__) -#define fmin min -#define fminf min -#define fmax max -#define fmaxf max +#endif //_MSC_VER +#if defined(_MSC_VER) +#define fmin(a,b) (((a) < (b)) ? (a) : (b)) +#define fminf(a,b) (((a) < (b)) ? (a) : (b)) +#define fmax(a,b) (((a) > (b)) ? (a) : (b)) +#define fmaxf(a,b) (((a) > (b)) ? (a) : (b)) #endif -#if defined(WIN) && !defined(__GNUC__) +#if defined(_MSC_VER) #define TPT_INLINE _inline +#define TPT_NO_INLINE //Remove inlines in visual studio, but only the ones that don't work #else #define TPT_INLINE inline +#define TPT_NO_INLINE inline #endif #define SDEUT diff --git a/src/Format.cpp b/src/Format.cpp index c290e71..78e4a4f 100644 --- a/src/Format.cpp +++ b/src/Format.cpp @@ -4,7 +4,7 @@ #include <stdexcept> #include <iostream> #include <iterator> -#include <zlib.h> +#include "zlib.h" #include <stdio.h> #include "Format.h" #include "graphics/Graphics.h" diff --git a/src/Misc.cpp b/src/Misc.cpp index c7481ab..54ee4be 100644 --- a/src/Misc.cpp +++ b/src/Misc.cpp @@ -111,7 +111,7 @@ int isign(float i) //TODO: INline or macro return 0; } -TPT_INLINE unsigned clamp_flt(float f, float min, float max) //TODO: Also inline/macro +TPT_NO_INLINE unsigned clamp_flt(float f, float min, float max) //TODO: Also inline/macro { if (f<min) return 0; @@ -120,7 +120,7 @@ TPT_INLINE unsigned clamp_flt(float f, float min, float max) //TODO: Also inline return (int)(255.0f*(f-min)/(max-min)); } -TPT_INLINE float restrict_flt(float f, float min, float max) //TODO Inline or macro or something +TPT_NO_INLINE float restrict_flt(float f, float min, float max) //TODO Inline or macro or something { if (f<min) return min; @@ -623,7 +623,7 @@ void HSV_to_RGB(int h,int s,int v,int *r,int *g,int *b)//convert 0-255(0-360 for ss = s/255.0f; vv = v/255.0f; c = vv * ss; - x = c * ( 1 - fabs(fmod(hh,2.0) -1) ); + x = c * ( 1 - fabs(fmod(hh,2.0f) -1) ); if(hh<1){ *r = (int)(c*255.0); *g = (int)(x*255.0); diff --git a/src/PowderToySDL.cpp b/src/PowderToySDL.cpp index 75c1861..9e79248 100644 --- a/src/PowderToySDL.cpp +++ b/src/PowderToySDL.cpp @@ -3,9 +3,9 @@ #include <map> #include <string> #include <time.h> -#include "SDL.h" +#include "SDL/SDL.h" #ifdef WIN -#include "SDL_syswm.h" +#include "SDL/SDL_syswm.h" #include <direct.h> #endif #include <iostream> diff --git a/src/cajun/elements.cpp b/src/cajun/elements.cpp index a913f8a..83602f1 100644 --- a/src/cajun/elements.cpp +++ b/src/cajun/elements.cpp @@ -44,7 +44,7 @@ namespace json { -inline Exception::Exception(const std::string& sMessage) : +TPT_NO_INLINE Exception::Exception(const std::string& sMessage) : std::runtime_error(sMessage) {} @@ -129,32 +129,32 @@ public: -inline UnknownElement::UnknownElement() : m_pImp( new Imp_T<Null>( Null() ) ) {} -inline UnknownElement::UnknownElement(const UnknownElement& unknown) : m_pImp( unknown.m_pImp->Clone()) {} -inline UnknownElement::UnknownElement(const Object& object) : m_pImp( new Imp_T<Object>(object) ) {} -inline UnknownElement::UnknownElement(const Array& array) : m_pImp( new Imp_T<Array>(array) ) {} -inline UnknownElement::UnknownElement(const Number& number) : m_pImp( new Imp_T<Number>(number) ) {} -inline UnknownElement::UnknownElement(const Boolean& boolean) : m_pImp( new Imp_T<Boolean>(boolean) ) {} -inline UnknownElement::UnknownElement(const String& string) : m_pImp( new Imp_T<String>(string) ) {} -inline UnknownElement::UnknownElement(const Null& null) : m_pImp( new Imp_T<Null>(null) ) {} +TPT_NO_INLINE UnknownElement::UnknownElement() : m_pImp( new Imp_T<Null>( Null() ) ) {} +TPT_NO_INLINE UnknownElement::UnknownElement(const UnknownElement& unknown) : m_pImp( unknown.m_pImp->Clone()) {} +TPT_NO_INLINE UnknownElement::UnknownElement(const Object& object) : m_pImp( new Imp_T<Object>(object) ) {} +TPT_NO_INLINE UnknownElement::UnknownElement(const Array& array) : m_pImp( new Imp_T<Array>(array) ) {} +TPT_NO_INLINE UnknownElement::UnknownElement(const Number& number) : m_pImp( new Imp_T<Number>(number) ) {} +TPT_NO_INLINE UnknownElement::UnknownElement(const Boolean& boolean) : m_pImp( new Imp_T<Boolean>(boolean) ) {} +TPT_NO_INLINE UnknownElement::UnknownElement(const String& string) : m_pImp( new Imp_T<String>(string) ) {} +TPT_NO_INLINE UnknownElement::UnknownElement(const Null& null) : m_pImp( new Imp_T<Null>(null) ) {} -inline UnknownElement::~UnknownElement() { delete m_pImp; } +TPT_NO_INLINE UnknownElement::~UnknownElement() { delete m_pImp; } -inline UnknownElement::operator const Object& () const { return CastTo<Object>(); } -inline UnknownElement::operator const Array& () const { return CastTo<Array>(); } -inline UnknownElement::operator const Number& () const { return CastTo<Number>(); } -inline UnknownElement::operator const Boolean& () const { return CastTo<Boolean>(); } -inline UnknownElement::operator const String& () const { return CastTo<String>(); } -inline UnknownElement::operator const Null& () const { return CastTo<Null>(); } +TPT_NO_INLINE UnknownElement::operator const Object& () const { return CastTo<Object>(); } +TPT_NO_INLINE UnknownElement::operator const Array& () const { return CastTo<Array>(); } +TPT_NO_INLINE UnknownElement::operator const Number& () const { return CastTo<Number>(); } +TPT_NO_INLINE UnknownElement::operator const Boolean& () const { return CastTo<Boolean>(); } +TPT_NO_INLINE UnknownElement::operator const String& () const { return CastTo<String>(); } +TPT_NO_INLINE UnknownElement::operator const Null& () const { return CastTo<Null>(); } -inline UnknownElement::operator Object& () { return ConvertTo<Object>(); } -inline UnknownElement::operator Array& () { return ConvertTo<Array>(); } -inline UnknownElement::operator Number& () { return ConvertTo<Number>(); } -inline UnknownElement::operator Boolean& () { return ConvertTo<Boolean>(); } -inline UnknownElement::operator String& () { return ConvertTo<String>(); } -inline UnknownElement::operator Null& () { return ConvertTo<Null>(); } +TPT_NO_INLINE UnknownElement::operator Object& () { return ConvertTo<Object>(); } +TPT_NO_INLINE UnknownElement::operator Array& () { return ConvertTo<Array>(); } +TPT_NO_INLINE UnknownElement::operator Number& () { return ConvertTo<Number>(); } +TPT_NO_INLINE UnknownElement::operator Boolean& () { return ConvertTo<Boolean>(); } +TPT_NO_INLINE UnknownElement::operator String& () { return ConvertTo<String>(); } +TPT_NO_INLINE UnknownElement::operator Null& () { return ConvertTo<Null>(); } -inline UnknownElement& UnknownElement::operator = (const UnknownElement& unknown) +TPT_NO_INLINE UnknownElement& UnknownElement::operator = (const UnknownElement& unknown) { // always check for this if (&unknown != this) @@ -170,28 +170,28 @@ inline UnknownElement& UnknownElement::operator = (const UnknownElement& unknown return *this; } -inline UnknownElement& UnknownElement::operator[] (const std::string& key) +TPT_NO_INLINE UnknownElement& UnknownElement::operator[] (const std::string& key) { // the people want an object. make us one if we aren't already Object& object = ConvertTo<Object>(); return object[key]; } -inline const UnknownElement& UnknownElement::operator[] (const std::string& key) const +TPT_NO_INLINE const UnknownElement& UnknownElement::operator[] (const std::string& key) const { // throws if we aren't an object const Object& object = CastTo<Object>(); return object[key]; } -inline UnknownElement& UnknownElement::operator[] (size_t index) +TPT_NO_INLINE UnknownElement& UnknownElement::operator[] (size_t index) { // the people want an array. make us one if we aren't already Array& array = ConvertTo<Array>(); return array[index]; } -inline const UnknownElement& UnknownElement::operator[] (size_t index) const +TPT_NO_INLINE const UnknownElement& UnknownElement::operator[] (size_t index) const { // throws if we aren't an array const Array& array = CastTo<Array>(); @@ -227,11 +227,11 @@ ElementTypeT& UnknownElement::ConvertTo() } -inline void UnknownElement::Accept(ConstVisitor& visitor) const { m_pImp->Accept(visitor); } -inline void UnknownElement::Accept(Visitor& visitor) { m_pImp->Accept(visitor); } +TPT_NO_INLINE void UnknownElement::Accept(ConstVisitor& visitor) const { m_pImp->Accept(visitor); } +TPT_NO_INLINE void UnknownElement::Accept(Visitor& visitor) { m_pImp->Accept(visitor); } -inline bool UnknownElement::operator == (const UnknownElement& element) const +TPT_NO_INLINE bool UnknownElement::operator == (const UnknownElement& element) const { return m_pImp->Compare(*element.m_pImp); } @@ -242,10 +242,10 @@ inline bool UnknownElement::operator == (const UnknownElement& element) const // Object members -inline Object::Member::Member(const std::string& nameIn, const UnknownElement& elementIn) : +TPT_NO_INLINE Object::Member::Member(const std::string& nameIn, const UnknownElement& elementIn) : name(nameIn), element(elementIn) {} -inline bool Object::Member::operator == (const Member& member) const +TPT_NO_INLINE bool Object::Member::operator == (const Member& member) const { return name == member.name && element == member.element; @@ -265,30 +265,30 @@ private: -inline Object::iterator Object::Begin() { return m_Members.begin(); } -inline Object::iterator Object::End() { return m_Members.end(); } -inline Object::const_iterator Object::Begin() const { return m_Members.begin(); } -inline Object::const_iterator Object::End() const { return m_Members.end(); } +TPT_NO_INLINE Object::iterator Object::Begin() { return m_Members.begin(); } +TPT_NO_INLINE Object::iterator Object::End() { return m_Members.end(); } +TPT_NO_INLINE Object::const_iterator Object::Begin() const { return m_Members.begin(); } +TPT_NO_INLINE Object::const_iterator Object::End() const { return m_Members.end(); } -inline size_t Object::Size() const { return m_Members.size(); } -inline bool Object::Empty() const { return m_Members.empty(); } +TPT_NO_INLINE size_t Object::Size() const { return m_Members.size(); } +TPT_NO_INLINE bool Object::Empty() const { return m_Members.empty(); } -inline Object::iterator Object::Find(const std::string& name) +TPT_NO_INLINE Object::iterator Object::Find(const std::string& name) { return std::find_if(m_Members.begin(), m_Members.end(), Finder(name)); } -inline Object::const_iterator Object::Find(const std::string& name) const +TPT_NO_INLINE Object::const_iterator Object::Find(const std::string& name) const { return std::find_if(m_Members.begin(), m_Members.end(), Finder(name)); } -inline Object::iterator Object::Insert(const Member& member) +TPT_NO_INLINE Object::iterator Object::Insert(const Member& member) { return Insert(member, End()); } -inline Object::iterator Object::Insert(const Member& member, iterator itWhere) +TPT_NO_INLINE Object::iterator Object::Insert(const Member& member, iterator itWhere) { iterator it = Find(member.name); if (it != m_Members.end()) @@ -298,12 +298,12 @@ inline Object::iterator Object::Insert(const Member& member, iterator itWhere) return it; } -inline Object::iterator Object::Erase(iterator itWhere) +TPT_NO_INLINE Object::iterator Object::Erase(iterator itWhere) { return m_Members.erase(itWhere); } -inline UnknownElement& Object::operator [](const std::string& name) +TPT_NO_INLINE UnknownElement& Object::operator [](const std::string& name) { iterator it = Find(name); @@ -315,7 +315,7 @@ inline UnknownElement& Object::operator [](const std::string& name) return it->element; } -inline const UnknownElement& Object::operator [](const std::string& name) const +TPT_NO_INLINE const UnknownElement& Object::operator [](const std::string& name) const { const_iterator it = Find(name); if (it == End()) @@ -323,12 +323,12 @@ inline const UnknownElement& Object::operator [](const std::string& name) const return it->element; } -inline void Object::Clear() +TPT_NO_INLINE void Object::Clear() { m_Members.clear(); } -inline bool Object::operator == (const Object& object) const +TPT_NO_INLINE bool Object::operator == (const Object& object) const { return m_Members == object.m_Members; } @@ -337,35 +337,35 @@ inline bool Object::operator == (const Object& object) const ///////////////// // Array members -inline Array::iterator Array::Begin() { return m_Elements.begin(); } -inline Array::iterator Array::End() { return m_Elements.end(); } -inline Array::const_iterator Array::Begin() const { return m_Elements.begin(); } -inline Array::const_iterator Array::End() const { return m_Elements.end(); } +TPT_NO_INLINE Array::iterator Array::Begin() { return m_Elements.begin(); } +TPT_NO_INLINE Array::iterator Array::End() { return m_Elements.end(); } +TPT_NO_INLINE Array::const_iterator Array::Begin() const { return m_Elements.begin(); } +TPT_NO_INLINE Array::const_iterator Array::End() const { return m_Elements.end(); } -inline Array::iterator Array::Insert(const UnknownElement& element, iterator itWhere) +TPT_NO_INLINE Array::iterator Array::Insert(const UnknownElement& element, iterator itWhere) { return m_Elements.insert(itWhere, element); } -inline Array::iterator Array::Insert(const UnknownElement& element) +TPT_NO_INLINE Array::iterator Array::Insert(const UnknownElement& element) { return Insert(element, End()); } -inline Array::iterator Array::Erase(iterator itWhere) +TPT_NO_INLINE Array::iterator Array::Erase(iterator itWhere) { return m_Elements.erase(itWhere); } -inline void Array::Resize(size_t newSize) +TPT_NO_INLINE void Array::Resize(size_t newSize) { m_Elements.resize(newSize); } -inline size_t Array::Size() const { return m_Elements.size(); } -inline bool Array::Empty() const { return m_Elements.empty(); } +TPT_NO_INLINE size_t Array::Size() const { return m_Elements.size(); } +TPT_NO_INLINE bool Array::Empty() const { return m_Elements.empty(); } -inline UnknownElement& Array::operator[] (size_t index) +TPT_NO_INLINE UnknownElement& Array::operator[] (size_t index) { size_t nMinSize = index + 1; // zero indexed if (m_Elements.size() < nMinSize) @@ -373,18 +373,18 @@ inline UnknownElement& Array::operator[] (size_t index) return m_Elements[index]; } -inline const UnknownElement& Array::operator[] (size_t index) const +TPT_NO_INLINE const UnknownElement& Array::operator[] (size_t index) const { if (index >= m_Elements.size()) throw Exception("Array out of bounds"); return m_Elements[index]; } -inline void Array::Clear() { +TPT_NO_INLINE void Array::Clear() { m_Elements.clear(); } -inline bool Array::operator == (const Array& array) const +TPT_NO_INLINE bool Array::operator == (const Array& array) const { return m_Elements == array.m_Elements; } @@ -393,7 +393,7 @@ inline bool Array::operator == (const Array& array) const ////////////////// // Null members -inline bool Null::operator == (const Null& trivial) const +TPT_NO_INLINE bool Null::operator == (const Null& trivial) const { return true; } diff --git a/src/cajun/elements.h b/src/cajun/elements.h index 3ddff30..f43b1be 100644 --- a/src/cajun/elements.h +++ b/src/cajun/elements.h @@ -35,6 +35,12 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include <string> #include <stdexcept> +#if defined(_MSC_VER) +#define TPT_NO_INLINE //Remove inlines in visual studio, but only the ones that don't work +#else +#define TPT_NO_INLINE inline +#endif + /* TODO: diff --git a/src/cajun/reader.cpp b/src/cajun/reader.cpp index f625367..be35ed1 100644 --- a/src/cajun/reader.cpp +++ b/src/cajun/reader.cpp @@ -43,12 +43,12 @@ TODO: namespace json { -inline std::istream& operator >> (std::istream& istr, UnknownElement& elementRoot) { +TPT_NO_INLINE std::istream& operator >> (std::istream& istr, UnknownElement& elementRoot) { Reader::Read(elementRoot, istr); return istr; } -inline Reader::Location::Location() : +TPT_NO_INLINE Reader::Location::Location() : m_nLine(0), m_nLineOffset(0), m_nDocOffset(0) @@ -84,7 +84,7 @@ private: }; -inline char Reader::InputStream::Get() +TPT_NO_INLINE char Reader::InputStream::Get() { assert(m_iStr.eof() == false); // enforce reading of only valid stream data char c = m_iStr.get(); @@ -122,12 +122,12 @@ private: }; -inline Reader::TokenStream::TokenStream(const Tokens& tokens) : +TPT_NO_INLINE Reader::TokenStream::TokenStream(const Tokens& tokens) : m_Tokens(tokens), m_itCurrent(tokens.begin()) {} -inline const Reader::Token& Reader::TokenStream::Peek() { +TPT_NO_INLINE const Reader::Token& Reader::TokenStream::Peek() { if (EOS()) { const Token& lastToken = *m_Tokens.rbegin(); @@ -137,13 +137,13 @@ inline const Reader::Token& Reader::TokenStream::Peek() { return *(m_itCurrent); } -inline const Reader::Token& Reader::TokenStream::Get() { +TPT_NO_INLINE const Reader::Token& Reader::TokenStream::Get() { const Token& token = Peek(); ++m_itCurrent; return token; } -inline bool Reader::TokenStream::EOS() const { +TPT_NO_INLINE bool Reader::TokenStream::EOS() const { return m_itCurrent == m_Tokens.end(); } @@ -151,13 +151,13 @@ inline bool Reader::TokenStream::EOS() const { // Reader (finally) -inline void Reader::Read(Object& object, std::istream& istr) { Read_i(object, istr); } -inline void Reader::Read(Array& array, std::istream& istr) { Read_i(array, istr); } -inline void Reader::Read(String& string, std::istream& istr) { Read_i(string, istr); } -inline void Reader::Read(Number& number, std::istream& istr) { Read_i(number, istr); } -inline void Reader::Read(Boolean& boolean, std::istream& istr) { Read_i(boolean, istr); } -inline void Reader::Read(Null& null, std::istream& istr) { Read_i(null, istr); } -inline void Reader::Read(UnknownElement& unknown, std::istream& istr) { Read_i(unknown, istr); } +TPT_NO_INLINE void Reader::Read(Object& object, std::istream& istr) { Read_i(object, istr); } +TPT_NO_INLINE void Reader::Read(Array& array, std::istream& istr) { Read_i(array, istr); } +TPT_NO_INLINE void Reader::Read(String& string, std::istream& istr) { Read_i(string, istr); } +TPT_NO_INLINE void Reader::Read(Number& number, std::istream& istr) { Read_i(number, istr); } +TPT_NO_INLINE void Reader::Read(Boolean& boolean, std::istream& istr) { Read_i(boolean, istr); } +TPT_NO_INLINE void Reader::Read(Null& null, std::istream& istr) { Read_i(null, istr); } +TPT_NO_INLINE void Reader::Read(UnknownElement& unknown, std::istream& istr) { Read_i(unknown, istr); } template <typename ElementTypeT> @@ -181,7 +181,7 @@ void Reader::Read_i(ElementTypeT& element, std::istream& istr) } -inline void Reader::Scan(Tokens& tokens, InputStream& inputStream) +TPT_NO_INLINE void Reader::Scan(Tokens& tokens, InputStream& inputStream) { while (EatWhiteSpace(inputStream), // ignore any leading white space... inputStream.EOS() == false) // ...before checking for EOS @@ -272,14 +272,14 @@ inline void Reader::Scan(Tokens& tokens, InputStream& inputStream) } -inline void Reader::EatWhiteSpace(InputStream& inputStream) +TPT_NO_INLINE void Reader::EatWhiteSpace(InputStream& inputStream) { while (inputStream.EOS() == false && ::isspace(inputStream.Peek())) inputStream.Get(); } -inline std::string Reader::MatchExpectedString(InputStream& inputStream, const std::string& sExpected) +TPT_NO_INLINE std::string Reader::MatchExpectedString(InputStream& inputStream, const std::string& sExpected) { std::string::const_iterator it(sExpected.begin()), itEnd(sExpected.end()); @@ -297,7 +297,7 @@ inline std::string Reader::MatchExpectedString(InputStream& inputStream, const s } -inline std::string Reader::MatchString(InputStream& inputStream) +TPT_NO_INLINE std::string Reader::MatchString(InputStream& inputStream) { MatchExpectedString(inputStream, "\""); @@ -341,7 +341,7 @@ inline std::string Reader::MatchString(InputStream& inputStream) } -inline std::string Reader::MatchNumber(InputStream& inputStream) +TPT_NO_INLINE std::string Reader::MatchNumber(InputStream& inputStream) { const char sNumericChars[] = "0123456789.eE-+"; std::set<char> numericChars; @@ -358,7 +358,7 @@ inline std::string Reader::MatchNumber(InputStream& inputStream) } -inline void Reader::Parse(UnknownElement& element, Reader::TokenStream& tokenStream) +TPT_NO_INLINE void Reader::Parse(UnknownElement& element, Reader::TokenStream& tokenStream) { const Token& token = tokenStream.Peek(); switch (token.nType) { @@ -414,7 +414,7 @@ inline void Reader::Parse(UnknownElement& element, Reader::TokenStream& tokenStr } -inline void Reader::Parse(Object& object, Reader::TokenStream& tokenStream) +TPT_NO_INLINE void Reader::Parse(Object& object, Reader::TokenStream& tokenStream) { MatchExpectedToken(Token::TOKEN_OBJECT_BEGIN, tokenStream); @@ -456,7 +456,7 @@ inline void Reader::Parse(Object& object, Reader::TokenStream& tokenStream) } -inline void Reader::Parse(Array& array, Reader::TokenStream& tokenStream) +TPT_NO_INLINE void Reader::Parse(Array& array, Reader::TokenStream& tokenStream) { MatchExpectedToken(Token::TOKEN_ARRAY_BEGIN, tokenStream); @@ -479,13 +479,13 @@ inline void Reader::Parse(Array& array, Reader::TokenStream& tokenStream) } -inline void Reader::Parse(String& string, Reader::TokenStream& tokenStream) +TPT_NO_INLINE void Reader::Parse(String& string, Reader::TokenStream& tokenStream) { string = MatchExpectedToken(Token::TOKEN_STRING, tokenStream); } -inline void Reader::Parse(Number& number, Reader::TokenStream& tokenStream) +TPT_NO_INLINE void Reader::Parse(Number& number, Reader::TokenStream& tokenStream) { const Token& currentToken = tokenStream.Peek(); // might need this later for throwing exception const std::string& sValue = MatchExpectedToken(Token::TOKEN_NUMBER, tokenStream); @@ -506,20 +506,20 @@ inline void Reader::Parse(Number& number, Reader::TokenStream& tokenStream) } -inline void Reader::Parse(Boolean& boolean, Reader::TokenStream& tokenStream) +TPT_NO_INLINE void Reader::Parse(Boolean& boolean, Reader::TokenStream& tokenStream) { const std::string& sValue = MatchExpectedToken(Token::TOKEN_BOOLEAN, tokenStream); boolean = (sValue == "true" ? true : false); } -inline void Reader::Parse(Null&, Reader::TokenStream& tokenStream) +TPT_NO_INLINE void Reader::Parse(Null&, Reader::TokenStream& tokenStream) { MatchExpectedToken(Token::TOKEN_NULL, tokenStream); } -inline const std::string& Reader::MatchExpectedToken(Token::Type nExpected, Reader::TokenStream& tokenStream) +TPT_NO_INLINE const std::string& Reader::MatchExpectedToken(Token::Type nExpected, Reader::TokenStream& tokenStream) { const Token& token = tokenStream.Get(); if (token.nType != nExpected) diff --git a/src/cajun/writer.cpp b/src/cajun/writer.cpp index 446d076..a7cbfbe 100644 --- a/src/cajun/writer.cpp +++ b/src/cajun/writer.cpp @@ -43,16 +43,16 @@ namespace json { -inline void Writer::Write(const UnknownElement& elementRoot, std::ostream& ostr) { Write_i(elementRoot, ostr); } -inline void Writer::Write(const Object& object, std::ostream& ostr) { Write_i(object, ostr); } -inline void Writer::Write(const Array& array, std::ostream& ostr) { Write_i(array, ostr); } -inline void Writer::Write(const Number& number, std::ostream& ostr) { Write_i(number, ostr); } -inline void Writer::Write(const String& string, std::ostream& ostr) { Write_i(string, ostr); } -inline void Writer::Write(const Boolean& boolean, std::ostream& ostr) { Write_i(boolean, ostr); } -inline void Writer::Write(const Null& null, std::ostream& ostr) { Write_i(null, ostr); } +TPT_NO_INLINE void Writer::Write(const UnknownElement& elementRoot, std::ostream& ostr) { Write_i(elementRoot, ostr); } +TPT_NO_INLINE void Writer::Write(const Object& object, std::ostream& ostr) { Write_i(object, ostr); } +TPT_NO_INLINE void Writer::Write(const Array& array, std::ostream& ostr) { Write_i(array, ostr); } +TPT_NO_INLINE void Writer::Write(const Number& number, std::ostream& ostr) { Write_i(number, ostr); } +TPT_NO_INLINE void Writer::Write(const String& string, std::ostream& ostr) { Write_i(string, ostr); } +TPT_NO_INLINE void Writer::Write(const Boolean& boolean, std::ostream& ostr) { Write_i(boolean, ostr); } +TPT_NO_INLINE void Writer::Write(const Null& null, std::ostream& ostr) { Write_i(null, ostr); } -inline Writer::Writer(std::ostream& ostr) : +TPT_NO_INLINE Writer::Writer(std::ostream& ostr) : m_ostr(ostr), m_nTabDepth(0) {} @@ -65,7 +65,7 @@ void Writer::Write_i(const ElementTypeT& element, std::ostream& ostr) ostr.flush(); // all done } -inline void Writer::Write_i(const Array& array) +TPT_NO_INLINE void Writer::Write_i(const Array& array) { if (array.Empty()) m_ostr << "[]"; @@ -91,7 +91,7 @@ inline void Writer::Write_i(const Array& array) } } -inline void Writer::Write_i(const Object& object) +TPT_NO_INLINE void Writer::Write_i(const Object& object) { if (object.Empty()) m_ostr << "{}"; @@ -120,17 +120,17 @@ inline void Writer::Write_i(const Object& object) } } -inline void Writer::Write_i(const Number& numberElement) +TPT_NO_INLINE void Writer::Write_i(const Number& numberElement) { m_ostr << std::setprecision(20) << numberElement.Value(); } -inline void Writer::Write_i(const Boolean& booleanElement) +TPT_NO_INLINE void Writer::Write_i(const Boolean& booleanElement) { m_ostr << (booleanElement.Value() ? "true" : "false"); } -inline void Writer::Write_i(const String& stringElement) +TPT_NO_INLINE void Writer::Write_i(const String& stringElement) { m_ostr << '"'; @@ -156,22 +156,22 @@ inline void Writer::Write_i(const String& stringElement) m_ostr << '"'; } -inline void Writer::Write_i(const Null& ) +TPT_NO_INLINE void Writer::Write_i(const Null& ) { m_ostr << "null"; } -inline void Writer::Write_i(const UnknownElement& unknown) +TPT_NO_INLINE void Writer::Write_i(const UnknownElement& unknown) { unknown.Accept(*this); } -inline void Writer::Visit(const Array& array) { Write_i(array); } -inline void Writer::Visit(const Object& object) { Write_i(object); } -inline void Writer::Visit(const Number& number) { Write_i(number); } -inline void Writer::Visit(const String& string) { Write_i(string); } -inline void Writer::Visit(const Boolean& boolean) { Write_i(boolean); } -inline void Writer::Visit(const Null& null) { Write_i(null); } +TPT_NO_INLINE void Writer::Visit(const Array& array) { Write_i(array); } +TPT_NO_INLINE void Writer::Visit(const Object& object) { Write_i(object); } +TPT_NO_INLINE void Writer::Visit(const Number& number) { Write_i(number); } +TPT_NO_INLINE void Writer::Visit(const String& string) { Write_i(string); } +TPT_NO_INLINE void Writer::Visit(const Boolean& boolean) { Write_i(boolean); } +TPT_NO_INLINE void Writer::Visit(const Null& null) { Write_i(null); } diff --git a/src/cat/CommandInterface.cpp b/src/cat/CommandInterface.cpp index 7c6dd83..240e7e4 100644 --- a/src/cat/CommandInterface.cpp +++ b/src/cat/CommandInterface.cpp @@ -8,7 +8,9 @@ #include <iostream> #include <string> #include <string.h> +#if !defined(WIN) || defined(__GNUC__) #include <strings.h> +#endif #include "CommandInterface.h" #include "game/GameModel.h" #include "game/GameController.h" diff --git a/src/cat/LuaBit.cpp b/src/cat/LuaBit.cpp index c55f45a..349c2e4 100644 --- a/src/cat/LuaBit.cpp +++ b/src/cat/LuaBit.cpp @@ -30,9 +30,9 @@ extern "C" { -#include "lua.h" -#include "lauxlib.h" -#include "lualib.h" +#include "lua5.1/lua.h" +#include "lua5.1/lauxlib.h" +#include "lua5.1/lualib.h" } #ifdef _MSC_VER diff --git a/src/cat/LuaButton.cpp b/src/cat/LuaButton.cpp index 59890f2..a4fd1e7 100644 --- a/src/cat/LuaButton.cpp +++ b/src/cat/LuaButton.cpp @@ -1,8 +1,8 @@ extern "C" { -#include "lua.h" -#include "lauxlib.h" -#include "lualib.h" +#include "lua5.1/lua.h" +#include "lua5.1/lauxlib.h" +#include "lua5.1/lualib.h" } #include <iostream> @@ -77,6 +77,7 @@ int LuaButton::action(lua_State * l) { actionFunction = 0; } + return 0; } int LuaButton::text(lua_State * l) diff --git a/src/cat/LuaButton.h b/src/cat/LuaButton.h index 012779d..5d0e936 100644 --- a/src/cat/LuaButton.h +++ b/src/cat/LuaButton.h @@ -1,9 +1,9 @@ #pragma once extern "C" { - #include "lua.h" - #include "lauxlib.h" - #include "lualib.h" + #include "lua5.1/lua.h" + #include "lua5.1/lauxlib.h" + #include "lua5.1/lualib.h" } #include "LuaLuna.h" diff --git a/src/cat/LuaComponent.cpp b/src/cat/LuaComponent.cpp index 8c2d3a4..d943c1a 100644 --- a/src/cat/LuaComponent.cpp +++ b/src/cat/LuaComponent.cpp @@ -1,8 +1,8 @@ extern "C" { -#include "lua.h" -#include "lauxlib.h" -#include "lualib.h" +#include "lua5.1/lua.h" +#include "lua5.1/lauxlib.h" +#include "lua5.1/lualib.h" } #include <iostream> diff --git a/src/cat/LuaComponent.h b/src/cat/LuaComponent.h index 9e11b12..ff0ca2a 100644 --- a/src/cat/LuaComponent.h +++ b/src/cat/LuaComponent.h @@ -1,9 +1,9 @@ #pragma once extern "C" { - #include "lua.h" - #include "lauxlib.h" - #include "lualib.h" + #include "lua5.1/lua.h" + #include "lua5.1/lauxlib.h" + #include "lua5.1/lualib.h" } #include "LuaLuna.h" diff --git a/src/cat/LuaLabel.cpp b/src/cat/LuaLabel.cpp index e2ca56d..f37219d 100644 --- a/src/cat/LuaLabel.cpp +++ b/src/cat/LuaLabel.cpp @@ -1,8 +1,8 @@ extern "C" { -#include "lua.h" -#include "lauxlib.h" -#include "lualib.h" +#include "lua5.1/lua.h" +#include "lua5.1/lauxlib.h" +#include "lua5.1/lualib.h" } #include <iostream> diff --git a/src/cat/LuaLabel.h b/src/cat/LuaLabel.h index a80ea4f..74e31b8 100644 --- a/src/cat/LuaLabel.h +++ b/src/cat/LuaLabel.h @@ -1,9 +1,9 @@ #pragma once extern "C" { - #include "lua.h" - #include "lauxlib.h" - #include "lualib.h" + #include "lua5.1/lua.h" + #include "lua5.1/lauxlib.h" + #include "lua5.1/lualib.h" } #include "LuaLuna.h" diff --git a/src/cat/LuaLuna.h b/src/cat/LuaLuna.h index 1d5d937..b5bf7ac 100644 --- a/src/cat/LuaLuna.h +++ b/src/cat/LuaLuna.h @@ -2,8 +2,8 @@ //http://lua-users.org/wiki/SimplerCppBinding extern "C" { -#include "lua.h" -#include "lauxlib.h" +#include "lua5.1/lua.h" +#include "lua5.1/lauxlib.h" } template <typename T> class Luna diff --git a/src/cat/LuaScriptInterface.h b/src/cat/LuaScriptInterface.h index 5bee8e1..f7ebb04 100644 --- a/src/cat/LuaScriptInterface.h +++ b/src/cat/LuaScriptInterface.h @@ -10,9 +10,9 @@ extern "C" { -#include "lua.h" -#include "lauxlib.h" -#include "lualib.h" +#include "lua5.1/lua.h" +#include "lua5.1/lauxlib.h" +#include "lua5.1/lualib.h" } #include "CommandInterface.h" diff --git a/src/cat/LuaTextbox.cpp b/src/cat/LuaTextbox.cpp index a8abf9e..e3a20ba 100644 --- a/src/cat/LuaTextbox.cpp +++ b/src/cat/LuaTextbox.cpp @@ -1,8 +1,8 @@ extern "C" { -#include "lua.h" -#include "lauxlib.h" -#include "lualib.h" +#include "lua5.1/lua.h" +#include "lua5.1/lauxlib.h" +#include "lua5.1/lualib.h" } #include <iostream> @@ -79,6 +79,7 @@ int LuaTextbox::onTextChanged(lua_State * l) { onTextChangedFunction = 0; } + return 0; } void LuaTextbox::triggerOnTextChanged() diff --git a/src/cat/LuaTextbox.h b/src/cat/LuaTextbox.h index 437875f..2c6b0bd 100644 --- a/src/cat/LuaTextbox.h +++ b/src/cat/LuaTextbox.h @@ -1,9 +1,9 @@ #pragma once extern "C" { - #include "lua.h" - #include "lauxlib.h" - #include "lualib.h" + #include "lua5.1/lua.h" + #include "lua5.1/lauxlib.h" + #include "lua5.1/lualib.h" } #include "LuaLuna.h" diff --git a/src/cat/LuaWindow.cpp b/src/cat/LuaWindow.cpp index 06b29c8..c3f193b 100644 --- a/src/cat/LuaWindow.cpp +++ b/src/cat/LuaWindow.cpp @@ -1,8 +1,8 @@ extern "C" { -#include "lua.h" -#include "lauxlib.h" -#include "lualib.h" +#include "lua5.1/lua.h" +#include "lua5.1/lauxlib.h" +#include "lua5.1/lualib.h" } #include <iostream> @@ -353,6 +353,7 @@ int LuaWindow::onInitialized(lua_State * l) { onInitializedFunction = 0; } + return 0; } int LuaWindow::onExit(lua_State * l) @@ -367,6 +368,7 @@ int LuaWindow::onExit(lua_State * l) { onExitFunction = 0; } + return 0; } int LuaWindow::onTick(lua_State * l) @@ -381,6 +383,7 @@ int LuaWindow::onTick(lua_State * l) { onTickFunction = 0; } + return 0; } int LuaWindow::onDraw(lua_State * l) @@ -395,6 +398,7 @@ int LuaWindow::onDraw(lua_State * l) { onDrawFunction = 0; } + return 0; } int LuaWindow::onFocus(lua_State * l) @@ -409,6 +413,7 @@ int LuaWindow::onFocus(lua_State * l) { onFocusFunction = 0; } + return 0; } int LuaWindow::onBlur(lua_State * l) @@ -423,6 +428,7 @@ int LuaWindow::onBlur(lua_State * l) { onBlurFunction = 0; } + return 0; } int LuaWindow::onTryExit(lua_State * l) @@ -437,6 +443,7 @@ int LuaWindow::onTryExit(lua_State * l) { onTryExitFunction = 0; } + return 0; } int LuaWindow::onTryOkay(lua_State * l) @@ -451,6 +458,7 @@ int LuaWindow::onTryOkay(lua_State * l) { onTryOkayFunction = 0; } + return 0; } int LuaWindow::onMouseMove(lua_State * l) @@ -465,6 +473,7 @@ int LuaWindow::onMouseMove(lua_State * l) { onMouseMoveFunction = 0; } + return 0; } int LuaWindow::onMouseDown(lua_State * l) @@ -479,6 +488,7 @@ int LuaWindow::onMouseDown(lua_State * l) { onMouseDownFunction = 0; } + return 0; } int LuaWindow::onMouseUp(lua_State * l) @@ -493,6 +503,7 @@ int LuaWindow::onMouseUp(lua_State * l) { onMouseUpFunction = 0; } + return 0; } int LuaWindow::onMouseWheel(lua_State * l) @@ -507,6 +518,7 @@ int LuaWindow::onMouseWheel(lua_State * l) { onMouseWheelFunction = 0; } + return 0; } int LuaWindow::onKeyPress(lua_State * l) @@ -521,6 +533,7 @@ int LuaWindow::onKeyPress(lua_State * l) { onKeyPressFunction = 0; } + return 0; } int LuaWindow::onKeyRelease(lua_State * l) @@ -535,6 +548,7 @@ int LuaWindow::onKeyRelease(lua_State * l) { onKeyReleaseFunction = 0; } + return 0; } diff --git a/src/cat/LuaWindow.h b/src/cat/LuaWindow.h index be6af92..55db229 100644 --- a/src/cat/LuaWindow.h +++ b/src/cat/LuaWindow.h @@ -1,9 +1,9 @@ #pragma once extern "C" { - #include "lua.h" - #include "lauxlib.h" - #include "lualib.h" + #include "lua5.1/lua.h" + #include "lua5.1/lauxlib.h" + #include "lua5.1/lualib.h" } #include "LuaLuna.h" diff --git a/src/game/GameView.cpp b/src/game/GameView.cpp index 05ffcab..5b52424 100644 --- a/src/game/GameView.cpp +++ b/src/game/GameView.cpp @@ -2069,7 +2069,7 @@ void GameView::OnDraw() ui::Point GameView::lineSnapCoords(ui::Point point1, ui::Point point2) { ui::Point newPoint(0, 0); - float snapAngle = floor(atan2(point2.Y-point1.Y, point2.X-point1.X)/(M_PI*0.25)+0.5)*M_PI*0.25; + float snapAngle = floor(atan2((float)point2.Y-point1.Y, point2.X-point1.X)/(M_PI*0.25)+0.5)*M_PI*0.25; float lineMag = sqrtf(pow((float)(point2.X-point1.X),2)+pow((float)(point2.Y-point1.Y),2)); newPoint.X = (int)(lineMag*cos(snapAngle)+point1.X+0.5f); newPoint.Y = (int)(lineMag*sin(snapAngle)+point1.Y+0.5f); @@ -2079,7 +2079,7 @@ ui::Point GameView::lineSnapCoords(ui::Point point1, ui::Point point2) ui::Point GameView::rectSnapCoords(ui::Point point1, ui::Point point2) { ui::Point newPoint(0, 0); - float snapAngle = floor((atan2(point2.Y-point1.Y, point2.X-point1.X)+M_PI*0.25)/(M_PI*0.5)+0.5)*M_PI*0.5 - M_PI*0.25; + float snapAngle = floor((atan2((float)point2.Y-point1.Y, point2.X-point1.X)+M_PI*0.25)/(M_PI*0.5)+0.5)*M_PI*0.5 - M_PI*0.25; float lineMag = sqrtf(pow((float)(point2.X-point1.X),2)+pow((float)(point2.Y-point1.Y),2)); newPoint.X = (int)(lineMag*cos(snapAngle)+point1.X+0.5f); newPoint.Y = (int)(lineMag*sin(snapAngle)+point1.Y+0.5f); diff --git a/src/game/QuickOption.h b/src/game/QuickOption.h index 8383029..4bf27ff 100644 --- a/src/game/QuickOption.h +++ b/src/game/QuickOption.h @@ -53,9 +53,9 @@ public: Type GetType() { return type; } - virtual bool GetToggle() {} - virtual int GetMutli() {} - virtual int GetMultiCount() {} + virtual bool GetToggle() { return true;} + virtual int GetMutli() { return 0;} + virtual int GetMultiCount() { return 0;} std::string GetIcon() { return icon; } void SetIcon(std::string icon) { this->icon = icon; } diff --git a/src/graphics/Graphics.cpp b/src/graphics/Graphics.cpp index 73a6e7b..fef4b45 100644 --- a/src/graphics/Graphics.cpp +++ b/src/graphics/Graphics.cpp @@ -96,7 +96,7 @@ TPT_INLINE void VideoBuffer::AddPixel(int x, int y, int r, int g, int b, int a) Buffer[y*(Width)+x] = PIXRGB(r,g,b); } -TPT_INLINE int VideoBuffer::SetCharacter(int x, int y, int c, int r, int g, int b, int a) +TPT_NO_INLINE int VideoBuffer::SetCharacter(int x, int y, int c, int r, int g, int b, int a) { int i, j, w, bn = 0, ba = 0; char *rp = font_data + font_ptrs[c]; @@ -116,7 +116,7 @@ TPT_INLINE int VideoBuffer::SetCharacter(int x, int y, int c, int r, int g, int return x + w; } -TPT_INLINE int VideoBuffer::BlendCharacter(int x, int y, int c, int r, int g, int b, int a) +TPT_NO_INLINE int VideoBuffer::BlendCharacter(int x, int y, int c, int r, int g, int b, int a) { int i, j, w, bn = 0, ba = 0; char *rp = font_data + font_ptrs[c]; @@ -136,7 +136,7 @@ TPT_INLINE int VideoBuffer::BlendCharacter(int x, int y, int c, int r, int g, in return x + w; } -TPT_INLINE int VideoBuffer::AddCharacter(int x, int y, int c, int r, int g, int b, int a) +TPT_NO_INLINE int VideoBuffer::AddCharacter(int x, int y, int c, int r, int g, int b, int a) { int i, j, w, bn = 0, ba = 0; char *rp = font_data + font_ptrs[c]; diff --git a/src/graphics/OpenGLDrawMethods.inl b/src/graphics/OpenGLDrawMethods.inl index 519515f..1ecd6b1 100644 --- a/src/graphics/OpenGLDrawMethods.inl +++ b/src/graphics/OpenGLDrawMethods.inl @@ -150,7 +150,7 @@ TPT_INLINE int PIXELMETHODS_CLASS::drawchar(int x, int y, int c, int r, int g, i return x + w; } -TPT_INLINE int PIXELMETHODS_CLASS::addchar(int x, int y, int c, int r, int g, int b, int a) +TPT_NO_INLINE int PIXELMETHODS_CLASS::addchar(int x, int y, int c, int r, int g, int b, int a) { int i, j, w, bn = 0, ba = 0; char *rp = font_data + font_ptrs[c]; diff --git a/src/graphics/RasterDrawMethods.inl b/src/graphics/RasterDrawMethods.inl index a68feb8..55a64c9 100644 --- a/src/graphics/RasterDrawMethods.inl +++ b/src/graphics/RasterDrawMethods.inl @@ -116,7 +116,7 @@ TPT_INLINE int PIXELMETHODS_CLASS::drawchar(int x, int y, int c, int r, int g, i return x + w; } -TPT_INLINE int PIXELMETHODS_CLASS::addchar(int x, int y, int c, int r, int g, int b, int a) +TPT_NO_INLINE int PIXELMETHODS_CLASS::addchar(int x, int y, int c, int r, int g, int b, int a) { int i, j, w, bn = 0, ba = 0; char *rp = font_data + font_ptrs[c]; diff --git a/src/graphics/Renderer.cpp b/src/graphics/Renderer.cpp index 4326149..70c82f4 100644 --- a/src/graphics/Renderer.cpp +++ b/src/graphics/Renderer.cpp @@ -1221,7 +1221,7 @@ void Renderer::render_parts() { gradv = 0.4f; if (!(sim->parts[i].life<5)) - q = sqrt(sim->parts[i].life); + q = sqrt((float)sim->parts[i].life); else q = sim->parts[i].life; colr = colg = colb = sin(gradv*q) * 100 + 128; diff --git a/src/interface/Button.cpp b/src/interface/Button.cpp index 9d7a6fc..fbf9b54 100644 --- a/src/interface/Button.cpp +++ b/src/interface/Button.cpp @@ -66,12 +66,12 @@ bool Button::GetTogglable() return isTogglable; } -inline bool Button::GetToggleState() +TPT_NO_INLINE bool Button::GetToggleState() { return toggle; } -inline void Button::SetToggleState(bool state) +TPT_NO_INLINE void Button::SetToggleState(bool state) { toggle = state; } diff --git a/src/interface/Button.h b/src/interface/Button.h index 2244a91..5bc7fc3 100644 --- a/src/interface/Button.h +++ b/src/interface/Button.h @@ -47,8 +47,8 @@ public: virtual void DoAction(); //action of button what ever it may be void SetTogglable(bool isTogglable); bool GetTogglable(); - inline bool GetToggleState(); - inline void SetToggleState(bool state); + TPT_NO_INLINE bool GetToggleState(); + TPT_NO_INLINE void SetToggleState(bool state); void SetActionCallback(ButtonAction * action); ButtonAction * GetActionCallback() { return actionCallback; } void SetText(std::string buttonText); diff --git a/src/interface/Keys.h b/src/interface/Keys.h index 69b00fe..b9935ad 100644 --- a/src/interface/Keys.h +++ b/src/interface/Keys.h @@ -1,6 +1,6 @@ #if defined(USE_SDL) -#include "SDL.h" +#include "SDL/SDL.h" #define KEY_UP SDLK_UP #define KEY_DOWN SDLK_DOWN #define KEY_RIGHT SDLK_RIGHT diff --git a/src/interface/Slider.cpp b/src/interface/Slider.cpp index 474343e..652ae59 100644 --- a/src/interface/Slider.cpp +++ b/src/interface/Slider.cpp @@ -79,13 +79,13 @@ int Slider::GetValue() void Slider::SetColour(Colour col1, Colour col2) { + pixel pix[2] = {PIXRGB(col1.Red, col1.Green, col1.Blue), PIXRGB(col2.Red, col2.Green, col2.Blue)}; + float fl[2] = {0.0f, 1.0f}; if(bgGradient) free(bgGradient); this->col1 = col1; this->col2 = col2; - bgGradient = (unsigned char*)Graphics::GenerateGradient( - (pixel[2]){PIXRGB(col1.Red, col1.Green, col1.Blue), PIXRGB(col2.Red, col2.Green, col2.Blue)}, - (float[2]){0.0f, 1.0f}, 2, Size.X-7); + bgGradient = (unsigned char*)Graphics::GenerateGradient(pix, fl, 2, Size.X-7); } void Slider::SetValue(int value) diff --git a/src/preview/PreviewModel.cpp b/src/preview/PreviewModel.cpp index 07eef2e..20f6bfd 100644 --- a/src/preview/PreviewModel.cpp +++ b/src/preview/PreviewModel.cpp @@ -159,7 +159,7 @@ int PreviewModel::GetCommentsPageNum() int PreviewModel::GetCommentsPageCount() { - return max(1, (int)(ceil(commentsTotal/20))); + return max(1, (int)(ceil(commentsTotal/20.0f))); } bool PreviewModel::GetCommentsLoaded() diff --git a/src/simulation/Simulation.cpp b/src/simulation/Simulation.cpp index 1c51b2a..e4aa9bd 100644 --- a/src/simulation/Simulation.cpp +++ b/src/simulation/Simulation.cpp @@ -1,6 +1,9 @@ //#include <cstdlib> #include <cmath> +#include <math.h> +#if !defined(WIN) || defined(__GNUC__) #include <strings.h> +#endif #include "Config.h" #include "Simulation.h" #include "Elements.h" @@ -1093,6 +1096,7 @@ int Simulation::ToolBrush(int positionX, int positionY, int tool, Brush * cBrush if(bitmap[(y*sizeX)+x] && (positionX+(x-radiusX) >= 0 && positionY+(y-radiusY) >= 0 && positionX+(x-radiusX) < XRES && positionY+(y-radiusY) < YRES)) Tool(positionX+(x-radiusX), positionY+(y-radiusY), tool, strength); } + return 0; } void Simulation::ToolLine(int x1, int y1, int x2, int y2, int tool, Brush * cBrush, float strength) @@ -1660,7 +1664,7 @@ void *Simulation::transform_save(void *odata, int *size, matrix2d transform, vec return ndata; } -inline void Simulation::orbitalparts_get(int block1, int block2, int resblock1[], int resblock2[]) +TPT_NO_INLINE void Simulation::orbitalparts_get(int block1, int block2, int resblock1[], int resblock2[]) { resblock1[0] = (block1&0x000000FF); resblock1[1] = (block1&0x0000FF00)>>8; @@ -1673,7 +1677,7 @@ inline void Simulation::orbitalparts_get(int block1, int block2, int resblock1[] resblock2[3] = (block2&0xFF000000)>>24; } -inline void Simulation::orbitalparts_set(int *block1, int *block2, int resblock1[], int resblock2[]) +TPT_NO_INLINE void Simulation::orbitalparts_set(int *block1, int *block2, int resblock1[], int resblock2[]) { int block1tmp = 0; int block2tmp = 0; @@ -3952,11 +3956,7 @@ killed: if (!parts[i].vx&&!parts[i].vy)//if its not moving, skip to next particle, movement code it next continue; -#if defined(WIN) && !defined(__GNUC__) - mv = max(fabsf(parts[i].vx), fabsf(parts[i].vy)); -#else mv = fmaxf(fabsf(parts[i].vx), fabsf(parts[i].vy)); -#endif if (mv < ISTP) { clear_x = x; diff --git a/src/simulation/Simulation.h b/src/simulation/Simulation.h index c2b9002..ebf590d 100644 --- a/src/simulation/Simulation.h +++ b/src/simulation/Simulation.h @@ -156,7 +156,7 @@ public: inline int is_wire(int x, int y); inline int is_wire_off(int x, int y); inline void set_emap(int x, int y); - inline int parts_avg(int ci, int ni, int t); + TPT_NO_INLINE int parts_avg(int ci, int ni, int t); void create_arc(int sx, int sy, int dx, int dy, int midpoints, int variance, int type, int flags); int nearest_part(int ci, int t, int max_d); void update_particles_i(int start, int inc); @@ -196,8 +196,8 @@ public: int GetParticleType(std::string type); void *transform_save(void *odata, int *size, matrix2d transform, vector2d translate); - inline void orbitalparts_get(int block1, int block2, int resblock1[], int resblock2[]); - inline void orbitalparts_set(int *block1, int *block2, int resblock1[], int resblock2[]); + TPT_NO_INLINE void orbitalparts_get(int block1, int block2, int resblock1[], int resblock2[]); + TPT_NO_INLINE void orbitalparts_set(int *block1, int *block2, int resblock1[], int resblock2[]); inline int get_wavelength_bin(int *wm); inline int get_normal(int pt, int x, int y, float dx, float dy, float *nx, float *ny); inline int get_normal_interp(int pt, float x0, float y0, float dx, float dy, float *nx, float *ny); diff --git a/src/simulation/elements/GEL.cpp b/src/simulation/elements/GEL.cpp index 01fa829..5a139db 100644 --- a/src/simulation/elements/GEL.cpp +++ b/src/simulation/elements/GEL.cpp @@ -115,7 +115,7 @@ int Element_GEL::update(UPDATE_FUNC_ARGS) dy = parts[i].y - parts[r>>8].y; //Stickness - if ((dx*dx + dy*dy)>1.5 && (gel || !sim->elements[r&0xFF].Falldown || (fabs(rx)<2 && fabs(ry)<2))) + if ((dx*dx + dy*dy)>1.5 && (gel || !sim->elements[r&0xFF].Falldown || (fabs((float)rx)<2 && fabs((float)ry)<2))) { float per, nd; nd = dx*dx + dy*dy - 0.5; diff --git a/src/simulation/elements/SPRK.cpp b/src/simulation/elements/SPRK.cpp index b4db3ad..d1cbc17 100644 --- a/src/simulation/elements/SPRK.cpp +++ b/src/simulation/elements/SPRK.cpp @@ -121,7 +121,7 @@ int Element_SPRK::update(UPDATE_FUNC_ARGS) parts[i].life=60; parts[p].temp=parts[p].life*parts[i].tmp/2.5; parts[p].tmp2=1; - parts[p].tmp=atan2(-ry, rx)/M_PI*360; + parts[p].tmp=atan2(-ry, (float)rx)/M_PI*360; parts[i].temp-=parts[i].tmp*2+parts[i].temp/5; // slight self-cooling if (fabs(sim->pv[y/CELL][x/CELL])!=0.0f) { diff --git a/src/simulation/tools/Air.cpp b/src/simulation/tools/AirTool.cpp index 9fd7f79..9fd7f79 100644 --- a/src/simulation/tools/Air.cpp +++ b/src/simulation/tools/AirTool.cpp diff --git a/src/simulation/tools/Grav.cpp b/src/simulation/tools/GravTool.cpp index 630ba12..630ba12 100644 --- a/src/simulation/tools/Grav.cpp +++ b/src/simulation/tools/GravTool.cpp diff --git a/src/simulation/tools/SimTool.h b/src/simulation/tools/SimTool.h index ed4cbcd..c32ba5b 100644 --- a/src/simulation/tools/SimTool.h +++ b/src/simulation/tools/SimTool.h @@ -17,7 +17,7 @@ public: SimTool(); virtual ~SimTool() {} - virtual int Perform(Simulation * sim, Particle * cpart, int x, int y, float strength) {} + virtual int Perform(Simulation * sim, Particle * cpart, int x, int y, float strength) { return 0; } }; #endif
\ No newline at end of file |
