Short:        Patch some Warp3D functions
Author:       thellier@free.fr (Alain Thellier)
Uploader:     thellier free fr
Type:         driver/video
Version:      beta 6 (December 2011)
Replaces:     driver/video/PatchWarp3D.lha
Requires:     Warp3D,68020-40,fpu
Architecture: m68k-amigaos; ppc-amigaos

DESCRIPTION 
Patch some Warp3D functions on OS3 or OS4
                                                                                 
LICENSE 
PatchWarp3D : Alain THELLIER - Paris - FRANCE
GNU General Public License (GNU GPL) 

MOST IMPORTANT FEATURES
IMPORTANT: If your Warp3D works perfectly then dont use this program    
This file  patch some Warp3D bugged/unimplemented functions:    
Use it if the hardware-driver cant use DrawElements/DrawArray     
Use it if the hardware-driver cant draw lines/points or big lines/points or textured lines/points
Use it if the hardware-driver cant read/write in zbuffer     
Patched functions:                                
W3D_DrawArray                                    
W3D_DrawElements                                
W3D_DrawLine                                    
W3D_DrawLineStrip                                
W3D_DrawLineLoop                                
W3D_DrawPoint                                    
W3D_ReadZSpan                                    
W3D_WriteZSpan                                    
W3D_ReadZPixel                                    
W3D_WriteZPixel                                
W3D_Query & W3D_QueryDriver only to inform about new functionnalities
                              
INSTALLATION 
For real OS3 Amiga 68k 
  just run PatchWarp3D
For real OS4 PPC Amiga
  just run PatchWarp3D-ppc
Let the window opened and click Ctrl C inside to disable the patch
You can test the patch efficiency with Aminet/Cow3D and keys 
'e'    elements=W3D_DrawElements
'p'   points=W3D_DrawPoint
'l'    line=W3D_DrawLine
'0'   zero=big lines/points


HISTORY
Recently I discovered that FPSE the Playstation emulator was working on Os3/WinUAE/Wazp3D
Badly it wasnt supporting Wazp3D "Renderer : hard" but only "Renderer: soft to bitmap" due to efficient but not so well written FPSE Warp3D plugin
(FPSE miss a W3D_FlushFrame(); to finish to draw a frame) 
But having Lara Croft III on WinUAE , even slowly, was a great satisfaction :-) 
Then i discovered that lots of people got problems with FPSE and the Warp3D plugin gpuw3d.dll
So i launched FPSE with Warp3D debugger and see that it was using W3D_DrawElements() W3D_Drawarrays()
And i know that those functions dont works on some drivers (Example: cow3d cant do DrawElements() on my Sam440 ) 
So I maded a Patch to implement those functions and also i added the old patches maded some time ago about lines/points reading Zbuffer
Note that FPSE on Wazp3D/WinUAE dont need this patch to works