Commit graph

847 commits

Author SHA1 Message Date
Ian Curtis 43add90d2f Fix bad texture seems 2016-05-09 16:26:34 +00:00
Bart Trzynadlowski 846c9d0edd Reverted stencil mask change. This reintroduces the Scud Race 'ROLLING START' bug. Previous 'fix' did not work for Magical Truck Adventure anyway and also broke some games (Daytona 2 transmission and course select screen, ECA title screen). The stencil mask is not shifted by 16 pixels and I suspect that either there is some unknown trick to horizontal scrolling or that the behavior is affected by hidden raster timing registers hidden in the JTAG interface. 2016-05-08 21:17:02 +00:00
Bart Trzynadlowski a9095e6c8e Added a register read handler for tilegen (although nothing seems to benefit from it) 2016-05-08 20:30:45 +00:00
Bart Trzynadlowski 9249eaa29f Fixed logic for clearing bottom layer. Added new functions to 2D renderer interface. Avoid drawing top and bottom surfaces when no layers are present there. Added some comments to tile 2016-05-08 19:27:08 +00:00
Bart Trzynadlowski 5d048958b9 Rewrote 2D renderer and fixed 2D layer priorities, stencil mask clipping (Scud Race 'ROLLING START'), and cleaned up code. Unfortunately, the new code is about 50% slower, mostly due to the need to perform stencil clipping after scrolling. 2016-05-07 21:54:03 +00:00
Ian Curtis 69a44a5d5f add texture helper functions 2016-05-07 18:57:06 +00:00
Ian Curtis 242cddac2d remove pointless loop 2016-05-07 15:45:02 +00:00
Ian Curtis ded3168060 Split face colour from per vertex poly colour. Fixes colour bleeding between connected polys in harley. 2016-05-07 15:28:04 +00:00
Bart Trzynadlowski 595e24ad60 Changed XInput DLL failure message 2016-05-07 03:25:05 +00:00
Ian Curtis 05e1e4de37 update poly header class 2016-05-06 15:00:12 +00:00
Bart Trzynadlowski fee1cfb126 Fixed compilation on gcc (gotos cannot cross variable declarations) 2016-05-05 22:01:59 +00:00
Ian Curtis da4bab5f9b Flat shaded polys can't share vertex normals with adjacent connected polys. Fixes some bad lighting in Harley on pavements 2016-05-05 08:06:06 +00:00
Ian Curtis b2da849d90 support flat shading 2016-05-05 00:01:17 +00:00
Ian Curtis 3693a51cbb Make sure texture is bound to correct texture unit, stop flashing micro textures in daytona 2016-05-04 16:30:15 +00:00
Ian Curtis b0569007ef set correct microtexture wrap mode 2016-05-04 10:30:58 +00:00
Ian Curtis c545b9fd85 preliminary microtexture 2016-05-04 00:35:07 +00:00
Ian Curtis 396fba7d24 skip viewports marked as disabled, might stop parsing some bad data 2016-05-03 21:17:37 +00:00
Ian Curtis 6d1aa4d527 fix compilation 2016-05-03 18:38:06 +00:00
Bart Trzynadlowski fa65542d76 Added support for A1RGB5 to BMP file writer and added a (commented-out) example of how to use it to dump texture memory in ~CReal3D() 2016-05-03 00:28:56 +00:00
Ian Curtis c459772f8e wrap invalid texture sizes, seems to fix bad textures in srally2 (skid marks) 2016-05-01 19:52:02 +00:00
Ian Curtis 7ec7906c0f Turn off lighting if fixed shading (or no normals) flag is present. Fixes some of the lighting weirdness in scud 2016-04-30 20:32:44 +00:00
Bart Trzynadlowski 48767b2267 Legacy engine: fixed per-vertex fixed shading to incorporate Ian's findings that the intensity value is signed and that fixed shading applies only when lighting is enabled 2016-04-30 16:23:25 +00:00
Ian Curtis 23a5839d46 Daytona seems to use 3 bits for texture transparency, will figure it out later but for now this works 2016-04-30 09:02:38 +00:00
Ian Curtis 30ca1792bb Fix fixed shading maths 2016-04-30 08:58:13 +00:00
Bart Trzynadlowski e0513ec723 Updated to-do comments 2016-04-29 23:57:15 +00:00
Ian Curtis c499e6640c fixed shading code 2016-04-29 23:03:46 +00:00
Bart Trzynadlowski 57d5bc8367 Legacy engine: preliminary per-vertex fixed shading. Only limited testing with LA Machineguns (appears to work), Sega Rally 2 (appears okay), and Scud Race (fixes expert course bridge but not other mis-colored polygons). 2016-04-29 03:56:06 +00:00
Ian Curtis 2785ecd25f read front buffer 2016-04-28 22:15:36 +00:00
Bart Trzynadlowski 7456aa745c Luminous bit is now also dumped in polygon header analysis because shading modes may depend on whether or not lighting is enabled 2016-04-28 13:18:56 +00:00
Bart Trzynadlowski 34e8f00382 Legacy engine: extracting fixed shading component (but still can't use it because unsure of how to activate) 2016-04-28 13:18:15 +00:00
Bart Trzynadlowski 0ae9e8013b Fixed polygon header bit analysis code: was forgetting to swap GL buffer back to retrieve pixels from last rendered frame 2016-04-28 01:27:35 +00:00
Ian Curtis 09e27e3082 color flag 2016-04-27 16:42:31 +00:00
Ian Curtis 74e7ff3d7d update project 2016-04-27 11:17:28 +00:00
Ian Curtis a246fc1454 make compilable with visual studio 2016-04-27 11:17:12 +00:00
Ian Curtis 8f6ab2fcf9 simplify 2016-04-27 08:13:22 +00:00
Bart Trzynadlowski 3c5fcbd241 Forgot a newline 2016-04-27 04:15:22 +00:00
Bart Trzynadlowski c0ec610e99 Polygon header bit analysis code (need to #define DEBUG and use -gfx-state option) 2016-04-27 04:09:50 +00:00
Bart Trzynadlowski 04fba1466d Added utility function to write BMP files 2016-04-27 04:08:49 +00:00
Bart Trzynadlowski 3682ab7300 Updated polygon header description with double-sided bit (forgot it in last update!) 2016-04-26 23:06:40 +00:00
Bart Trzynadlowski 85a77bb016 Added an updated description of the polygon header to the top of Legacy3D/Models.cpp 2016-04-26 23:04:11 +00:00
Ian Curtis 3e8439c09c fix model normals, add code for fixed shading, as of yet flag to turn it on is unknown 2016-04-26 09:06:48 +00:00
Bart Trzynadlowski b730fc466c Legacy engine: vertex normals are standalone and do not need to be added to polygon normal 2016-04-26 00:12:02 +00:00
Bart Trzynadlowski 112777385e Added a debug option to load and render a single frame of graphics state from a save state file. Only available if compiled with DEBUG defined. Invoked using: -gfx-state=<file> on command line. 2016-04-24 17:06:14 +00:00
Bart Trzynadlowski 1265c8d184 Using IEmulator interface instead of CModel3 directly 2016-04-24 03:01:42 +00:00
Bart Trzynadlowski 9baa0488e3 Changed save state file version (r340 changed Real3D save format, breaking compatibility with older states, and states were probably already incompatible with 0.2a) 2016-04-24 01:50:03 +00:00
Bart Trzynadlowski 3bd8e20639 Fixed white space and warnings. Fixed second argument to -dis option in cases where other numerical parameters are specified on command line. 2016-04-24 01:40:16 +00:00
Bart Trzynadlowski 908d979cd7 Flattened out nested if-statements in new engine's fragment shader to improve compatibility with older GPUs (e.g., NVS 300) 2016-04-22 23:46:49 +00:00
Ian Curtis 58d187e59a parse viewports in normal order 2016-04-19 22:05:12 +00:00
Ian Curtis df9fefd064 walk siblings before children, fixes some of the transparency drawing issues in ocean hunter 2016-04-18 22:25:05 +00:00
Ian Curtis 057ee94210 simplify 2016-04-18 14:06:10 +00:00