Changeset - r24963:38bc5b49d3a7
[Not reviewed]
master
0 2 0
Michael Lutz - 3 years ago 2021-02-28 09:58:56
michi@icosahedron.de
Fix #8763: [OpenGL] Cursor sprite origin can be negative.
2 files changed with 2 insertions and 2 deletions:
0 comments (0 inline, 0 general)
src/video/opengl.cpp
Show inline comments
 
@@ -1208,25 +1208,25 @@ void OpenGLBackend::ReleaseAnimBuffer(co
 
	dest_sprite->y_offs = sprite->y_offs;
 

	
 
	return dest_sprite;
 
}
 

	
 
/**
 
 * Render a sprite to the back buffer.
 
 * @param gl_sprite Sprite to render.
 
 * @param x X position of the sprite.
 
 * @param y Y position of the sprite.
 
 * @param zoom Zoom level to use.
 
 */
 
void OpenGLBackend::RenderOglSprite(OpenGLSprite *gl_sprite, PaletteID pal, uint x, uint y, ZoomLevel zoom)
 
void OpenGLBackend::RenderOglSprite(OpenGLSprite *gl_sprite, PaletteID pal, int x, int y, ZoomLevel zoom)
 
{
 
	/* Set textures. */
 
	bool rgb = gl_sprite->BindTextures();
 
	_glActiveTexture(GL_TEXTURE0 + 1);
 
	_glBindTexture(GL_TEXTURE_1D, this->pal_texture);
 

	
 
	/* Set palette remap. */
 
	_glActiveTexture(GL_TEXTURE0 + 3);
 
	if (pal != PAL_NONE) {
 
		_glBindTexture(GL_TEXTURE_1D, OpenGLSprite::pal_tex);
 
		if (pal != this->last_sprite_pal) {
 
			/* Different remap palette in use, update texture. */
src/video/opengl.h
Show inline comments
 
@@ -61,25 +61,25 @@ private:
 
	GLint  sprite_rgb_loc;    ///< Uniform location for RGB mode flag;
 
	GLint  sprite_crash_loc;  ///< Uniform location for crash remap mode flag;
 

	
 
	LRUCache<SpriteID, Sprite> cursor_cache;   ///< Cache of encoded cursor sprites.
 
	PaletteID last_sprite_pal = (PaletteID)-1; ///< Last uploaded remap palette.
 

	
 
	OpenGLBackend();
 
	~OpenGLBackend();
 

	
 
	const char *Init();
 
	bool InitShaders();
 

	
 
	void RenderOglSprite(OpenGLSprite *gl_sprite, PaletteID pal, uint x, uint y, ZoomLevel zoom);
 
	void RenderOglSprite(OpenGLSprite *gl_sprite, PaletteID pal, int x, int y, ZoomLevel zoom);
 

	
 
public:
 
	/** Get singleton instance of this class. */
 
	static inline OpenGLBackend *Get()
 
	{
 
		return OpenGLBackend::instance;
 
	}
 
	static const char *Create(GetOGLProcAddressProc get_proc);
 
	static void Destroy();
 

	
 
	void PrepareContext();
 

	
0 comments (0 inline, 0 general)