Commit graph

368 commits

Author SHA1 Message Date
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 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
Ian Curtis a5301efed6 avoid cast warning 2016-04-17 00:02:16 +00:00
Ian Curtis c4dc96ef71 simplify list code 2016-04-17 00:00:51 +00:00
Bart Trzynadlowski 34d4d8981d Fixed 8-bit texture decoding in legacy 3D engine. Contour mode/alpha still needs to be made consistent (as much as possible) with new engine. 2016-04-15 04:26:42 +00:00
Bart Trzynadlowski 9a2bb78add Hooked up Magical Truck Adventure controls 2016-04-13 03:28:04 +00:00
Ian Curtis d2563c035f you were right Bart :) (Fixes broken sound in last build) 2016-04-11 15:16:35 +00:00
Ian Curtis 499ac0e1c9 Don't use variable sized variables across platforms, unless needed 2016-04-11 09:00:20 +00:00
Ian Curtis 6d313fcf9e Fix - cannot specify explicit initializer for arrays 2016-04-11 08:38:59 +00:00
Bart Trzynadlowski 94c66eea7b Figured out Step 1.0 VROM texture uploads. Fixes missing textures in VF3 and VF3TB. 2016-04-11 03:48:36 +00:00
Bart Trzynadlowski ef87093824 Debugger compilation fixed: CBus -> IBus 2016-04-11 03:39:19 +00:00
Bart Trzynadlowski 2524f2e837 Fixed Magical Truck Adventure by emulating VROM texture ports as a FIFO. Now, VF3 crashes on Akira's stage (and probably the other stages with texture glitches). Other games may be affected, too (not thoroughly tested yet). 2016-04-11 00:19:10 +00:00
Bart Trzynadlowski 775256118d Fixed Magical Truck Adventure country check (accidentally removed a line in previous commit). 2016-04-10 23:57:55 +00:00
Bart Trzynadlowski 7ade3a6abb Magical Truck Adventure expects 0x03 to be returned from MIDI control port (thanks, Ville). Game now boots but crashes because VROM texture uploads clobber memory for some reason. 2016-04-10 21:47:07 +00:00
Bart Trzynadlowski 198a469ff7 Created IEmulator interface, renamed CBus to IBus and CPCIDevice to IPCIDevice. Frames now rendered when emulator paused. 2016-04-10 03:42:41 +00:00
Ian Curtis f52cb3c491 tweak frustum planes 2016-04-08 23:29:31 +00:00
Bart Trzynadlowski e08b754140 Changed help text to explain that -sound-volume and -music-volume only take effect when DSB is present 2016-04-05 04:31:39 +00:00
Bart Trzynadlowski 22907b033f Fixes for non-Windows builds: Makefile updated and fixed header files in Vec.cpp 2016-04-05 04:30:52 +00:00
Ian Curtis 5f68544641 revert viewport code 2016-04-04 10:50:05 +00:00
Ian Curtis ecea4cad56 change tex format 4 2016-04-04 10:21:34 +00:00
Bart Trzynadlowski 38d5d14157 Clamping diffuse+ambient light intensity to 1.0 (legacy engine) 2016-04-04 04:32:10 +00:00
Bart Trzynadlowski faf5f9cf48 Added a comment about viewports 2016-04-04 04:31:26 +00:00
Bart Trzynadlowski 6d9426759b Fixed texture enable bit (fixes Star Wars light sabers and Sega Rally 2 cones) and added a hack for (and more comments about) color modulation. Scud Race, Sega Rally 2, LA Machineguns, etc. look correct now, but Fighting Vipers 2 shadows are no longer dark enough. Other bugs may exist. 2016-04-04 03:50:24 +00:00
Bart Trzynadlowski 1d4f5c871d Fixed Types.h include 2016-04-04 03:43:55 +00:00
Bart Trzynadlowski a202d8adc3 Do not print extra hardware message when there is none 2016-04-04 03:42:55 +00:00
Bart Trzynadlowski d8aefa421d 8-bit texture upload byte selection (thanks to Ville; but not tested yet); code cleanup 2016-04-04 03:42:26 +00:00
Ian Curtis d155fbd6e4 rgb values were swapped for paletted colours 2016-04-03 23:21:50 +00:00
Ian Curtis 3bc2794b0a Use the correct texture enable bit 2016-04-03 16:10:40 +00:00
Bart Trzynadlowski 3c8352f4ca Added a comment: observation of Star Wars and Scud Race color modulation issues. 2016-04-03 04:09:06 +00:00
Ian Curtis 688af26846 Possible work around for slightly incorrect viewport positions in ECA and harley 2016-04-02 22:13:59 +00:00
Ian Curtis a99f022487 add missing include 2016-04-02 22:08:25 +00:00
Bart Trzynadlowski 6e5c301de8 Encryption device emulation (thanks to MAME), fixed warnings in Model3.cpp, added a string formatter helper, and updated Win32 GCC Makefile. 2016-04-02 21:50:40 +00:00
Bart Trzynadlowski c0f679479a Added virtual destructor to CDSB 2016-04-02 21:35:06 +00:00
Bart Trzynadlowski 0d989831ed Added encryption keys, converted to cstdint types, fixed whitespace 2016-04-02 21:33:33 +00:00
Bart Trzynadlowski c7ad13fb31 Whitespace, cstdint types 2016-04-02 21:32:28 +00:00
Ian Curtis c7412828d4 Use proper texture wrapping mode for 2d. Stops garbage down the top and left sides. Should really use NPOT texture. 2016-04-02 12:23:46 +00:00
Ian Curtis 7e7847bc83 Allow asymmetric projection matrices. Fixes a bunch of missing effects and bad camera angles in harley. 2016-03-31 09:27:42 +00:00
Ian Curtis aee89390ba add LOD table data. Maybe we can get clipping planes out of these 2016-03-28 20:11:46 +00:00
Ian Curtis e79b241a49 properly mark dynamic meshes as such 2016-03-28 19:58:36 +00:00
Ian Curtis e1278f4451 allow 8 bit mono textures to be contour textures, fixes a bunch of missing transparency in harley la riders 2016-03-27 08:39:40 +00:00
Ian Curtis ffaed8ae32 clear the rom mesh buffer 2016-03-26 22:48:51 +00:00
Ian Curtis 4992e59673 Cache rom models, for better performance. 2016-03-26 22:44:26 +00:00
Ian Curtis 8488f22ac5 2016-03-24 13:26:28 +00:00
Ian Curtis 0327db246f WIP 2016-03-24 13:17:17 +00:00
Ian Curtis 23172c9aec fix for bad matrix with NaN 2016-03-23 01:05:02 +00:00
Bart Trzynadlowski 5c513445b1 Fixed detected axis printf() and compiler warnings (hopefully I did not parenthesize any conditionals incorrectly!) 2016-03-23 00:47:53 +00:00
Ian Curtis f031e5d095 finish front/back face culling code based on matrix determinant. Optimised opengl to avoid redundant state changes. 2016-03-22 23:39:59 +00:00
Ian Curtis 8ea5978093 fix parenthesis error 2016-03-22 21:59:51 +00:00
Ian Curtis e7eb912eaa add maths functions 2016-03-22 13:47:28 +00:00
Ian Curtis 93f6b01e0b Update project to vs 2013. Clean compile warnings 2016-03-22 12:30:23 +00:00
Ian Curtis ce99c47f8a Remove double copy of shaders 2016-03-22 11:40:24 +00:00
Ian Curtis 5b3eea25fb fix basic compile errors (with vs) 2016-03-22 11:34:32 +00:00
Bart Trzynadlowski 3627213577 Fixed compiler warnings, whitespace, and moved local variable declarations to site of assignment 2016-03-22 03:43:31 +00:00
Bart Trzynadlowski ec7588e2cd Include Version.h 2016-03-22 03:41:00 +00:00
Bart Trzynadlowski 028727b389 Fixed typo that broke build 2016-03-22 02:44:38 +00:00
Bart Trzynadlowski 4c7186b1f1 Fixed warnings and whitespace 2016-03-22 01:37:55 +00:00
Bart Trzynadlowski 78609688c5 Fixed warnings and whitespace 2016-03-22 01:24:23 +00:00
Bart Trzynadlowski bd09b3b68b Fixed warnings and whitespace 2016-03-22 01:16:46 +00:00
Bart Trzynadlowski f0488a3c94 Moved lastCycles static int out of header file (fixes compiler warnings) 2016-03-22 01:05:34 +00:00
Bart Trzynadlowski 3afe3cf1a7 Moved 2016-03-21 23:27:30 +00:00
Bart Trzynadlowski 47c54d100b Updated to support new IRender3D interface and added FrameTimings object. 2016-03-21 23:25:29 +00:00
Bart Trzynadlowski 708455a82d CRender3D -> CLegacy3D 2016-03-21 23:22:26 +00:00
Bart Trzynadlowski 60ce6180c0 Update Supermodel.h with graphics path and moved version string to separate header file 2016-03-21 23:20:32 +00:00
Bart Trzynadlowski d61b01ab6f Removing legacy 3D engine files that were already moved to Graphics/Legacy3D 2016-03-21 23:12:17 +00:00