Michael Lutz 
							
						 
					 
					
						
						
							
						
						2f25e9bdf8 
					 
					
						
						
							
							Codechange: [OSX] Separate video driver into a base and a Quartz implementation.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						421b599541 
					 
					
						
						
							
							Codechange: [SDL2] Split driver in base-part and default backend  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Patric Stout 
							
						 
					 
					
						
						
							
						
						a303940372 
					 
					
						
						
							
							Feature: [SDL2] OpenGL support  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						a77b202767 
					 
					
						
						
							
							Codechange: [SDL] Move dirty_rect to class scope.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Patric Stout 
							
						 
					 
					
						
						
							
						
						e75858ce5e 
					 
					
						
						
							
							Codechange: [SDL2] Allow several places to hook into the SDL driver  
						
						... 
						
						
						
						This allows future subdrivers to use these to manage their
own flow. 
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Patric Stout 
							
						 
					 
					
						
						
							
						
						101e394475 
					 
					
						
						
							
							Codechange: [SDL2] Move functions and variables to class-scope  
						
						... 
						
						
						
						This allows future subdrivers to override them. 
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Patric Stout 
							
						 
					 
					
						
						
							
						
						0d58bc9384 
					 
					
						
						
							
							Codechange: [SDL2] Move SDLSurface code to its own function  
						
						... 
						
						
						
						This increases readability, and allow future subdrivers to not
use SDLSurface to draw. 
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Patric Stout 
							
						 
					 
					
						
						
							
						
						6098811b49 
					 
					
						
						
							
							Codechange: [SDL2] Split Start() in a few more functions  
						
						... 
						
						
						
						This makes it a bit easier to follow what is going on, and
allow future subdrivers to hook into a few of these functions.
Reworked the code slighly while at it, to return early where
possible. 
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						86c309ea75 
					 
					
						
						
							
							Codechange: [OpenGL] Let OpenGL clear the pixel buffer if possible.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						94d8acb7d0 
					 
					
						
						
							
							Add: A 32 bpp blitter that uses the animation buffer from the video backend to speed up palette animation.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						ae7c63cc35 
					 
					
						
						
							
							Codechange: [OpenGL] Use persistently mapped pixel buffers when supported.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						200be7d20c 
					 
					
						
						
							
							Add: [OpenGL] Support for a separate animation buffer that stores the palette values of the screen in addition to the colour buffer.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						01ef44fa4f 
					 
					
						
						
							
							Codechange: Allow blitter factories to decide at runtime if the blitter is usable.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						d62e302768 
					 
					
						
						
							
							Change: [Win32] Prioritize the OpenGL video driver over the GDI one.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						6bcc4884c2 
					 
					
						
						
							
							Add: [OpenGL] Accelerated mouse cursor drawing.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						d4dbb3f46e 
					 
					
						
						
							
							Fix: Don't trash video buffer alpha in SSE3/4 blitters.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						bcd15b4dd2 
					 
					
						
						
							
							Codechange: [OpenGL] Initialize backing store to opaque alpha to allow blending effects.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						1e1a9f3999 
					 
					
						
						
							
							Add: A simple, templated cache map that uses a least recently used eviction strategy.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						3e49aff35c 
					 
					
						
						
							
							Codechange: Allow video drivers to handle the cursor themselves.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						6776229047 
					 
					
						
						
							
							Codechange: Make the simple Malloc sprite allocator globally usable.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						70aa3b4011 
					 
					
						
						
							
							Codechange: Give sprite encoders a hint which colour components of a sprite are filled with useful information.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						e7e5316340 
					 
					
						
						
							
							Add: Allow sprite encoders (blitters) to specify an alignment for sprite width and height.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						02e8741457 
					 
					
						
						
							
							Codechange: Allow for using a sprite encoder that is not the currently active blitter when loading a sprite.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						f94b2e73e1 
					 
					
						
						
							
							Codechange: [Win32] Use an OpenGL core context instead of a compatibility one.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						e8fc050b6e 
					 
					
						
						
							
							Add: [OpenGL] Support for 8bpp blitters.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						320072c8dc 
					 
					
						
						
							
							Codechange: [OpenGL] Explicitly assign which framebuffer target receives the colour values.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						821f30f735 
					 
					
						
						
							
							Codechange: [OpenGL] Use GLSL version 1.50 if available.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						90fd8f8cda 
					 
					
						
						
							
							Codechange: [OpenGL] Use generic vertex attributes in the shader program.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						acf59f6b68 
					 
					
						
						
							
							Codechange: [OpenGL] Use shaders to display the video buffer on screen.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						b181859629 
					 
					
						
						
							
							Change: [Win32] Disable VSync for OpenGL by default.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						9a069faa01 
					 
					
						
						
							
							Codechange: [Win32] Try to get an OpenGL 3.2+ context if possible.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						a990c497b5 
					 
					
						
						
							
							Codechange: [OpenGL] Use a pixel buffer object to store the video buffer.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						5af0cfd902 
					 
					
						
						
							
							Codechange: [OpenGL] Use a vertex array object to store the vertex state for the video buffer.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						acf2ce35f7 
					 
					
						
						
							
							Codechange: [OpenGL] Use a vertex buffer object to store the vertex data for the video buffer.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						8706c36fc0 
					 
					
						
						
							
							Codechange: [Win32] Move remaing global _wnd variables into the video driver.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						d6b6775888 
					 
					
						
						
							
							Change: Lock the video buffer when drawing inside the game loop to properly account for threaded drawing.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						73ed748deb 
					 
					
						
						
							
							Codechange: [Win32] Move the global video buffer pointer into the driver class.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						5ad545dcc1 
					 
					
						
						
							
							Codechange: [OpenGL] Only update the dirty parts of the video buffer texture.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						3a77ade6b2 
					 
					
						
						
							
							Codechange: [OpenGL] Enable driver debug messages if supported.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						d7b96a424f 
					 
					
						
						
							
							Codechange: [OpenGL] Use new-style extension testing introduced with OpenGL 3.0.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						ef478ade64 
					 
					
						
						
							
							Add: [Win32] Video driver that uses OpenGL to transfer the video buffer to the screen.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						af4d32357c 
					 
					
						
						
							
							Codechange: [Win32] Move common initialization and finalization to the video driver base class.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						78b8fc3e4f 
					 
					
						
						
							
							Codechange: [Win32] Move GDI-specific variables and related functions into the GDI video driver class.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						8b90d4abe0 
					 
					
						
						
							
							Codechange: [Win32] Move GDI specific drawing code into the GDI video driver class.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						59e0d9618b 
					 
					
						
						
							
							Codechange: [Win32] Split the video driver into a base class and a GDI backend class.  
						
						
						
						
					 
					
						2021-02-22 22:16:07 +01:00 
						 
				 
			
				
					
						
							
							
								Patric Stout 
							
						 
					 
					
						
						
							
						
						78d96dad2a 
					 
					
						
						
							
							Fix   #6319 : [Win32] don't use clipping; draw whole screen every frame ( #8726 )  
						
						... 
						
						
						
						When we clip the region that is only been redrawn, something
weird happens on Windows. When pushing 60 frames per second on a
60Hz monitor, it appears that the clipped region is often shown
of another frame, instead of the current.
Examples of this are:
- pause the game, move your mouse to the left, and at the right
  speed it totally disappears.
- fast aircrafts seem to be in several places at once, weirdly
  lagging behind.
- in title screen, moving your mouse gives you the idea it is
  jumping places, instead of smooth movements.
In the end, if you do nothing, everything is correct, so it is
eventually consistent. Just when we are firing many BitBlt in
a clipped region, the in-between is not.
What goes wrong exactly, I honestly do not know. On every frame
that we push to the DC is a mouse painted, but visually it
sometimes appears like it is not. Recording with external software
shows it really is there.
It is also not our eyes playing tricks on us, as the first example
makes it really clear the mouse pointer really is not painted.
And to be clear, with the mouse this is easiest reproduceable,
as high-speed objects are influences by this most. But this happens
for all movement that redraws small regions.
Either way, not using clipped regions resolves the issue completely,
and there appears to be little to no penalty (I failed to measure
any impact of drawing the full screen). So better have a good game
than fast code, I guess? 
						
						
					 
					
						2021-02-22 21:17:55 +01:00 
						 
				 
			
				
					
						
							
							
								translators 
							
						 
					 
					
						
						
							
						
						c136dd2b32 
					 
					
						
						
							
							Update: Translations from eints  
						
						... 
						
						
						
						english (us): 78 changes by 2TallTyler
polish: 1 change by yazalo 
						
						
					 
					
						2021-02-22 19:01:17 +00:00 
						 
				 
			
				
					
						
							
							
								Charles Pigott 
							
						 
					 
					
						
						
							
						
						6af49b7885 
					 
					
						
						
							
							Fix   #8724 : Got wrong DepotID/StationID for airports, causing crash  
						
						
						
						
					 
					
						2021-02-22 14:20:21 +00:00 
						 
				 
			
				
					
						
							
							
								Charles Pigott 
							
						 
					 
					
						
						
							
						
						80fb1c74f0 
					 
					
						
						
							
							Change: Make pathfinder account for maximum order speed, if set  
						
						
						
						
					 
					
						2021-02-22 00:25:47 +00:00 
						 
				 
			
				
					
						
							
							
								milek7 
							
						 
					 
					
						
						
							
						
						b749d6f1cb 
					 
					
						
						
							
							Fix: Allow building with Allegro and without SDL on Linux  
						
						
						
						
					 
					
						2021-02-21 23:05:50 +00:00