Commit graph

  • 89c987fae1 basic spotlight code Ian Curtis 2016-05-26 00:08:12 +0000
  • a0910f96fb Fixed fog in legacy 3D engine. Now computed same as new engine, with 4-bit light modifier and corrected fog mixing in shaders. Bart Trzynadlowski 2016-05-25 04:00:02 +0000
  • 6dc35f9563 Updated legacy engine vertex shader to use specular shininess and coefficient along with old equation. Still not correct (too strong compared to the old method). Bart Trzynadlowski 2016-05-25 03:10:36 +0000
  • c5ce2b9679 fix alpha testing for texture format 7 Ian Curtis 2016-05-22 19:17:15 +0000
  • 65d6342947 remove dead code Ian Curtis 2016-05-21 16:26:00 +0000
  • fd3eb49369 support 4 bit textures Ian Curtis 2016-05-21 15:50:54 +0000
  • e108b56664 correctly mask pointers Ian Curtis 2016-05-19 22:23:50 +0000
  • a79fd2786a optimise hash table access for better performance Ian Curtis 2016-05-19 19:04:44 +0000
  • ff8d311dcc support colour table pointer Ian Curtis 2016-05-18 23:06:41 +0000
  • 7e3c097a31 remove debug code Ian Curtis 2016-05-16 17:26:53 +0000
  • 828fd8ebb4 Fog start is apparently the fog value at the viewport (0,0,0) I guess like an ambient value. Default value is negative Ian Curtis 2016-05-16 17:10:04 +0000
  • 9e279a0c1f Non luminous polygons seem to be effected by the lightModifier also. API seems to have no restriction in this regard, neither does the SDK. The ocean hunter requires this for some of the 2d stuff. Light modifier values only seem to exist between 0-16, which is strange for 5 bits of precision. Possibly top bit disables the effect and lower 4 bits are the value. This clearly differs from the SDK, but without this the values come out clearly wrong. Ian Curtis 2016-05-16 10:49:00 +0000
  • 62eafacfc3 adjust (hopefully correct) fog equation Ian Curtis 2016-05-16 10:44:16 +0000
  • bc08276d60 preliminary specular Ian Curtis 2016-05-15 16:24:49 +0000
  • c9147bc93d - Removed a stale comment Bart Trzynadlowski 2016-05-14 06:31:44 +0000
  • 897b1acb21 Legacy renderer changes: - Updated shading model. Unfortunately, it is far from perfect but it seems to be the best I can do for now. Not really much of a difference from before except that the Scud Race castle is fixed at the expense of the Yosemite level in LA Machineguns being too bright. - Added lots of notes in the shading code. - Passing both specular coefficient and shininess to shader. This will probably break specular lighting for now until the shader is updated to use the shininess correctly. - Color table address in polygon RAM is now obtained from culling nodes as they are traversed (found this in the Pro-1000 SDK). Bart Trzynadlowski 2016-05-14 06:25:35 +0000
  • 147faf37c9 Added palette bit to list of bits to dump for analysis Bart Trzynadlowski 2016-05-14 06:21:56 +0000
  • c4b5b185c6 Disable light modifier on fog, seems not to work .. values don't make sense. Maybe the model3 doesn't use these. Ian Curtis 2016-05-13 19:26:10 +0000
  • c8f8cd1655 remove dead code Ian Curtis 2016-05-13 08:40:53 +0000
  • e295ad6868 double up polys for two sided polys, fixes some diffuse lighting problems Ian Curtis 2016-05-13 08:39:48 +0000
  • ddf3d5213d FLT_MAX -> std::numeric_limits<float>::max() Bart Trzynadlowski 2016-05-10 03:08:36 +0000
  • 8c082abab9 Added some IRQ-related code (commented out for now) from MAME findings. May incorporate in the future when investigating IRQs and timing again. Bart Trzynadlowski 2016-05-10 03:08:03 +0000
  • 34c81eabee update header documentation Ian Curtis 2016-05-09 16:53:12 +0000
  • 43add90d2f Fix bad texture seems Ian Curtis 2016-05-09 16:26:34 +0000
  • 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. Bart Trzynadlowski 2016-05-08 21:17:02 +0000
  • a9095e6c8e Added a register read handler for tilegen (although nothing seems to benefit from it) Bart Trzynadlowski 2016-05-08 20:30:45 +0000
  • 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 Bart Trzynadlowski 2016-05-08 19:27:08 +0000
  • 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. Bart Trzynadlowski 2016-05-07 21:54:03 +0000
  • 69a44a5d5f add texture helper functions Ian Curtis 2016-05-07 18:57:06 +0000
  • 242cddac2d remove pointless loop Ian Curtis 2016-05-07 15:45:02 +0000
  • ded3168060 Split face colour from per vertex poly colour. Fixes colour bleeding between connected polys in harley. Ian Curtis 2016-05-07 15:28:04 +0000
  • 595e24ad60 Changed XInput DLL failure message Bart Trzynadlowski 2016-05-07 03:25:05 +0000
  • 05e1e4de37 update poly header class Ian Curtis 2016-05-06 15:00:12 +0000
  • fee1cfb126 Fixed compilation on gcc (gotos cannot cross variable declarations) Bart Trzynadlowski 2016-05-05 22:01:59 +0000
  • da4bab5f9b Flat shaded polys can't share vertex normals with adjacent connected polys. Fixes some bad lighting in Harley on pavements Ian Curtis 2016-05-05 08:06:06 +0000
  • b2da849d90 support flat shading Ian Curtis 2016-05-05 00:01:17 +0000
  • 3693a51cbb Make sure texture is bound to correct texture unit, stop flashing micro textures in daytona Ian Curtis 2016-05-04 16:30:15 +0000
  • b0569007ef set correct microtexture wrap mode Ian Curtis 2016-05-04 10:30:58 +0000
  • c545b9fd85 preliminary microtexture Ian Curtis 2016-05-04 00:35:07 +0000
  • 396fba7d24 skip viewports marked as disabled, might stop parsing some bad data Ian Curtis 2016-05-03 21:17:37 +0000
  • 6d1aa4d527 fix compilation Ian Curtis 2016-05-03 18:38:06 +0000
  • 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() Bart Trzynadlowski 2016-05-03 00:28:56 +0000
  • c459772f8e wrap invalid texture sizes, seems to fix bad textures in srally2 (skid marks) Ian Curtis 2016-05-01 19:52:02 +0000
  • 7ec7906c0f Turn off lighting if fixed shading (or no normals) flag is present. Fixes some of the lighting weirdness in scud Ian Curtis 2016-04-30 20:32:44 +0000
  • 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 Bart Trzynadlowski 2016-04-30 16:23:25 +0000
  • 23a5839d46 Daytona seems to use 3 bits for texture transparency, will figure it out later but for now this works Ian Curtis 2016-04-30 09:02:38 +0000
  • 30ca1792bb Fix fixed shading maths Ian Curtis 2016-04-30 08:58:13 +0000
  • e0513ec723 Updated to-do comments Bart Trzynadlowski 2016-04-29 23:57:15 +0000
  • c499e6640c fixed shading code Ian Curtis 2016-04-29 23:03:46 +0000
  • 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). Bart Trzynadlowski 2016-04-29 03:56:06 +0000
  • 2785ecd25f read front buffer Ian Curtis 2016-04-28 22:15:36 +0000
  • 7456aa745c Luminous bit is now also dumped in polygon header analysis because shading modes may depend on whether or not lighting is enabled Bart Trzynadlowski 2016-04-28 13:18:56 +0000
  • 34e8f00382 Legacy engine: extracting fixed shading component (but still can't use it because unsure of how to activate) Bart Trzynadlowski 2016-04-28 13:18:15 +0000
  • 0ae9e8013b Fixed polygon header bit analysis code: was forgetting to swap GL buffer back to retrieve pixels from last rendered frame Bart Trzynadlowski 2016-04-28 01:27:35 +0000
  • 09e27e3082 color flag Ian Curtis 2016-04-27 16:42:31 +0000
  • 74e7ff3d7d update project Ian Curtis 2016-04-27 11:17:28 +0000
  • a246fc1454 make compilable with visual studio Ian Curtis 2016-04-27 11:17:12 +0000
  • 8f6ab2fcf9 simplify Ian Curtis 2016-04-27 08:13:22 +0000
  • 3c5fcbd241 Forgot a newline Bart Trzynadlowski 2016-04-27 04:15:22 +0000
  • c0ec610e99 Polygon header bit analysis code (need to #define DEBUG and use -gfx-state option) Bart Trzynadlowski 2016-04-27 04:09:50 +0000
  • 04fba1466d Added utility function to write BMP files Bart Trzynadlowski 2016-04-27 04:08:49 +0000
  • 3682ab7300 Updated polygon header description with double-sided bit (forgot it in last update!) Bart Trzynadlowski 2016-04-26 23:06:40 +0000
  • 85a77bb016 Added an updated description of the polygon header to the top of Legacy3D/Models.cpp Bart Trzynadlowski 2016-04-26 23:04:11 +0000
  • 3e8439c09c fix model normals, add code for fixed shading, as of yet flag to turn it on is unknown Ian Curtis 2016-04-26 09:06:48 +0000
  • b730fc466c Legacy engine: vertex normals are standalone and do not need to be added to polygon normal Bart Trzynadlowski 2016-04-26 00:12:02 +0000
  • 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. Bart Trzynadlowski 2016-04-24 17:06:14 +0000
  • 1265c8d184 Using IEmulator interface instead of CModel3 directly Bart Trzynadlowski 2016-04-24 03:01:42 +0000
  • 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) Bart Trzynadlowski 2016-04-24 01:50:03 +0000
  • 3bd8e20639 Fixed white space and warnings. Fixed second argument to -dis option in cases where other numerical parameters are specified on command line. Bart Trzynadlowski 2016-04-24 01:40:16 +0000
  • 908d979cd7 Flattened out nested if-statements in new engine's fragment shader to improve compatibility with older GPUs (e.g., NVS 300) Bart Trzynadlowski 2016-04-22 23:46:49 +0000
  • 58d187e59a parse viewports in normal order Ian Curtis 2016-04-19 22:05:12 +0000
  • df9fefd064 walk siblings before children, fixes some of the transparency drawing issues in ocean hunter Ian Curtis 2016-04-18 22:25:05 +0000
  • 057ee94210 simplify Ian Curtis 2016-04-18 14:06:10 +0000
  • a5301efed6 avoid cast warning Ian Curtis 2016-04-17 00:02:16 +0000
  • c4dc96ef71 simplify list code Ian Curtis 2016-04-17 00:00:51 +0000
  • ad96676d68 Updated Mac OS X Makefile Bart Trzynadlowski 2016-04-15 23:54:58 +0000
  • 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. Bart Trzynadlowski 2016-04-15 04:26:42 +0000
  • d6ce41f971 Updated Supermodel.ini with default Magical Truck Adventure controls Bart Trzynadlowski 2016-04-14 01:15:13 +0000
  • 9a2bb78add Hooked up Magical Truck Adventure controls Bart Trzynadlowski 2016-04-13 03:28:04 +0000
  • d2563c035f you were right Bart :) (Fixes broken sound in last build) Ian Curtis 2016-04-11 15:16:35 +0000
  • 499ac0e1c9 Don't use variable sized variables across platforms, unless needed Ian Curtis 2016-04-11 09:00:20 +0000
  • 6d313fcf9e Fix - cannot specify explicit initializer for arrays Ian Curtis 2016-04-11 08:38:59 +0000
  • 94c66eea7b Figured out Step 1.0 VROM texture uploads. Fixes missing textures in VF3 and VF3TB. Bart Trzynadlowski 2016-04-11 03:48:36 +0000
  • ef87093824 Debugger compilation fixed: CBus -> IBus Bart Trzynadlowski 2016-04-11 03:39:19 +0000
  • 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). Bart Trzynadlowski 2016-04-11 00:19:10 +0000
  • 775256118d Fixed Magical Truck Adventure country check (accidentally removed a line in previous commit). Bart Trzynadlowski 2016-04-10 23:57:55 +0000
  • 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. Bart Trzynadlowski 2016-04-10 21:47:07 +0000
  • 198a469ff7 Created IEmulator interface, renamed CBus to IBus and CPCIDevice to IPCIDevice. Frames now rendered when emulator paused. Bart Trzynadlowski 2016-04-10 03:42:41 +0000
  • f52cb3c491 tweak frustum planes Ian Curtis 2016-04-08 23:29:31 +0000
  • e08b754140 Changed help text to explain that -sound-volume and -music-volume only take effect when DSB is present Bart Trzynadlowski 2016-04-05 04:31:39 +0000
  • 22907b033f Fixes for non-Windows builds: Makefile updated and fixed header files in Vec.cpp Bart Trzynadlowski 2016-04-05 04:30:52 +0000
  • 5f68544641 revert viewport code Ian Curtis 2016-04-04 10:50:05 +0000
  • ecea4cad56 change tex format 4 Ian Curtis 2016-04-04 10:21:34 +0000
  • 38d5d14157 Clamping diffuse+ambient light intensity to 1.0 (legacy engine) Bart Trzynadlowski 2016-04-04 04:32:10 +0000
  • faf5f9cf48 Added a comment about viewports Bart Trzynadlowski 2016-04-04 04:31:26 +0000
  • 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. Bart Trzynadlowski 2016-04-04 03:50:24 +0000
  • 1d4f5c871d Fixed Types.h include Bart Trzynadlowski 2016-04-04 03:43:55 +0000
  • a202d8adc3 Do not print extra hardware message when there is none Bart Trzynadlowski 2016-04-04 03:42:55 +0000
  • d8aefa421d 8-bit texture upload byte selection (thanks to Ville; but not tested yet); code cleanup Bart Trzynadlowski 2016-04-04 03:42:26 +0000
  • d155fbd6e4 rgb values were swapped for paletted colours Ian Curtis 2016-04-03 23:21:50 +0000