Преглед изворни кода

Compilation fixes - allow SDL1.
Please do not define class-specific constants that are static at same time.

DjWarmonger пре 10 година
родитељ
комит
6ac00873b9
5 измењених фајлова са 24 додато и 18 уклоњено
  1. 3 3
      client/gui/CAnimation.cpp
  2. 2 1
      client/gui/CAnimation.h
  3. 17 8
      client/gui/SDL_Extensions.h
  4. 1 1
      client/mapHandler.h
  5. 1 5
      client/widgets/Images.cpp

+ 3 - 3
client/gui/CAnimation.cpp

@@ -1306,7 +1306,7 @@ void CFadeAnimation::draw(SDL_Surface * targetSurface, const SDL_Rect * sourceRe
 		return;
 		return;
 	}
 	}
 	
 	
-	SDL_SetSurfaceAlphaMod(fadingSurface, fadingCounter * 255);
-	SDL_BlitSurface(fadingSurface, sourceRect, targetSurface, destRect);
-	SDL_SetSurfaceAlphaMod(fadingSurface, 255);
+	CSDL_Ext::setAlpha(fadingSurface, fadingCounter * 255);
+	SDL_BlitSurface(fadingSurface, const_cast<SDL_Rect *>(sourceRect), targetSurface, destRect); //FIXME
+	CSDL_Ext::setAlpha(fadingSurface, 255);
 }
 }

+ 2 - 1
client/gui/CAnimation.h

@@ -221,6 +221,8 @@ public:
 	size_t size(size_t group=0) const;
 	size_t size(size_t group=0) const;
 };
 };
 
 
+const float DEFAULT_DELTA = 0.05f;
+
 class CFadeAnimation
 class CFadeAnimation
 {
 {
 public:
 public:
@@ -229,7 +231,6 @@ public:
 		NONE, IN, OUT
 		NONE, IN, OUT
 	};
 	};
 private:
 private:
-	static constexpr float DEFAULT_DELTA = 0.05f;
 	float delta;
 	float delta;
 	SDL_Surface * fadingSurface;
 	SDL_Surface * fadingSurface;
 	bool fading;
 	bool fading;

+ 17 - 8
client/gui/SDL_Extensions.h

@@ -86,23 +86,32 @@ namespace CSDL_Ext
 {
 {
 	STRONG_INLINE void colorSetAlpha(SDL_Color & color, Uint8 alpha)
 	STRONG_INLINE void colorSetAlpha(SDL_Color & color, Uint8 alpha)
 	{
 	{
-		#ifdef VCMI_SDL1
+#ifdef VCMI_SDL1
 		color.unused = alpha;
 		color.unused = alpha;
-		#else
+#else
 		color.a = alpha;
 		color.a = alpha;
-		#endif	
+#endif	
 	}
 	}
 	//todo: should this better be assignment operator?
 	//todo: should this better be assignment operator?
 	STRONG_INLINE void colorAssign(SDL_Color & dest, const SDL_Color & source)
 	STRONG_INLINE void colorAssign(SDL_Color & dest, const SDL_Color & source)
 	{
 	{
-		dest.r = source.r;		
+		dest.r = source.r;
 		dest.g = source.g;
 		dest.g = source.g;
-		dest.b = source.b;		
-		#ifdef VCMI_SDL1
+		dest.b = source.b;
+#ifdef VCMI_SDL1
 		dest.unused = source.unused;
 		dest.unused = source.unused;
-		#else
+#else
 		dest.a = source.a;
 		dest.a = source.a;
-		#endif			
+#endif			
+	}
+
+	inline void setAlpha(SDL_Surface * bg, int value)
+	{
+#ifdef VCMI_SDL1
+		SDL_SetAlpha(bg, SDL_SRCALPHA, value);
+#else
+		SDL_SetSurfaceAlphaMod(bg, value);
+#endif
 	}
 	}
 }
 }
 struct Rect;
 struct Rect;

+ 1 - 1
client/mapHandler.h

@@ -200,7 +200,7 @@ class CMapHandler
 	class CMapBlitter
 	class CMapBlitter
 	{		
 	{		
 	protected:
 	protected:
-		static constexpr int FRAMES_PER_MOVE_ANIM_GROUP = 8;
+		const int FRAMES_PER_MOVE_ANIM_GROUP = 8;
 		CMapHandler * parent; // ptr to enclosing map handler; generally for legacy reasons, probably could/should be refactored out of here
 		CMapHandler * parent; // ptr to enclosing map handler; generally for legacy reasons, probably could/should be refactored out of here
 		int tileSize; // size of a tile drawn on map [in pixels]
 		int tileSize; // size of a tile drawn on map [in pixels]
 		int halfTileSizeCeil; // half of the tile size, rounded up
 		int halfTileSizeCeil; // half of the tile size, rounded up

+ 1 - 5
client/widgets/Images.cpp

@@ -151,11 +151,7 @@ void CPicture::convertToScreenBPP()
 
 
 void CPicture::setAlpha(int value)
 void CPicture::setAlpha(int value)
 {	
 {	
-	#ifdef VCMI_SDL1
-	SDL_SetAlpha(bg, SDL_SRCALPHA, value);	
-	#else
-	SDL_SetSurfaceAlphaMod(bg,value);
-	#endif // 0
+	CSDL_Ext::setAlpha (bg, value);
 }
 }
 
 
 void CPicture::scaleTo(Point size)
 void CPicture::scaleTo(Point size)