Ian Curtis
864bb36b5a
Technically backface culling should cull polys when the dot product = 0, since when it equals 0 the polys is perpendicular to the camera and thus invisible. When you complete sega rally2 (if you can get that far lol) the champagne is invisible. The reason is because all the face normals are 0. So when multiplied by the model matrix they are still 0 and get culled. Tweaking the condition to only cull polys when greater than 0 fixes this, and allows these 'bad' polys to render as they do on the model3.
2019-01-16 01:07:56 +00:00
SpinDizzy
98106df68b
Inputs can now be configured on a per-game basis
2019-01-13 16:20:19 +00:00
SpinDizzy
b0813ef7a0
- PCI bridge can be specified in Games.xml for games that use a different version than expected based on stepping. No more hard-coded exceptions.
...
- Real3D PCI ID can be specified in Games.xml for exceptions that require it.
- Real3D status bit timing specified in Games.xml for exceptions that require it.
2019-01-13 16:00:37 +00:00
Ian Curtis
d8f736e7a8
timing fix for srally2x (Spindizzi)
2019-01-06 23:48:34 +00:00
Ian Curtis
0f49e0b1e9
remove commands that do nothing
2018-12-08 20:01:37 +00:00
Ian Curtis
08eeb20033
clear scissored out areas
2018-12-08 19:55:26 +00:00
Ian Curtis
6075352868
Optimise depth calculation for quad shader.
2018-11-27 20:43:27 +00:00
Ian Curtis
78039e91a8
2018-10-28 18:30:04 +00:00
Ian Curtis
538a714086
Fade out microtextures with higher textures LODs. Fixes incorrectly applied microtextures in LA machineguns.
2018-10-23 00:16:23 +00:00
Ian Curtis
b8da2d6064
debug code should be disabled
2018-10-22 21:59:01 +00:00
Ian Curtis
bf4d725970
Smooth texture repeat makes no sense for alpha/contour textures with pixel dilate. HW seems to treat them as non smooth anyway. Also implement some line of sight stuff, used by Scud. Really need to check the threading/synchronisation of the register reads but it basically works.
2018-10-19 20:59:46 +00:00
Ian Curtis
df02d6a753
return correct PCI ID
2018-10-18 09:42:51 +00:00
Ian Curtis
3dc69f89b8
fix debugging code
2018-10-17 22:36:33 +00:00
Ian Curtis
42eaa7f3d8
fix copy paste error :]
2018-10-14 10:05:24 +00:00
Ian Curtis
3eeec35e7c
Correctly emulate the real3d pro-1000 texture modes in our shader.
2018-10-13 13:29:45 +00:00
Ian Curtis
7bcc70a170
Update makefile
2018-10-01 17:42:45 +00:00
Ian Curtis
3dbfa73734
Both lemans24 and dirt devils are rendering some totally transparent objects as the first model in each viewport. The HW seems to skip these entirely, and including them breaks our near/far plane calculations leading to Z fighting.
2018-09-19 20:43:41 +00:00
Ian Curtis
e3255e45f3
Tweak the ratio for the near plane. Fixes missing text on the map indicator at the start of spikeout. The vertices are 0.003 units apart so a tonne of precision is required at the near plane to not depth test out.
2018-09-18 21:46:38 +00:00
Ian Curtis
c5b156d95d
remove debug code
2018-09-18 21:20:15 +00:00
Ian Curtis
5dab9910e2
avoid double matrix load
2018-09-16 08:43:13 +00:00
Ian Curtis
a7e851d578
updated command line help
2018-09-14 20:31:34 +00:00
Ian Curtis
b5f9ad9651
Quad rendering engine. Set QuadRendering = 1 in the ini file to use, or -quad-rendering at the end of the command line to use.
2018-09-13 12:50:34 +00:00
Ian Curtis
e4f5f0bcaf
Sega bass fishing is starting some off the meshes with a shared vertex. Without having a previous vertex to share with, the values were just uninitialised and junk. The hardware itself seems to hold the value from the previous mesh, and sega bass fishing relies on this undefined behaviour to function correctly. Storing the cached vertices as member variables instead of locally to the function means it holds the values from the last mesh, and uses those values instead of random garbage.
2018-09-02 21:36:24 +00:00
Ian Curtis
c1c2dedcfa
remove dead variable
2018-08-09 21:57:51 +00:00
Ian Curtis
9f5a19a04a
Use correct PCI IDs (Harry Tuttle)
2018-07-09 08:06:06 +00:00
Ian Curtis
80cf1f9b52
add crosshair effect (Harry Tuttle)
2018-07-04 22:15:44 +00:00
Ian Curtis
73ff32a10d
fix cast, and remove extra ; that had snuck into the shaders
2018-06-18 10:24:46 +00:00
Ian Curtis
f9be1259c0
Opaque polys definitely depth test with less than or equal. Virtua striker is drawing co-planar polys for the bar gfx
2018-06-17 11:30:01 +00:00
Ian Curtis
c7ffd0a808
Draw transparent polys to separate layers and composite at the end. This solves a tonne of transparency errors we had been battling with for a long time. The model3 is strange in the fact it only supports a max of two translucent overlapped polys. They are not blended into the frame normally. Doing this means the topmost translucent polys only are visible in the scene, the equivalent of doing a depth pass first, but without the added cost.
2018-06-16 21:31:29 +00:00
Ian Curtis
7497e3f1a6
forgot parentheses
2018-05-29 14:54:23 +00:00
Ian Curtis
f9f43ca66b
2018-05-28 12:55:13 +00:00
Ian Curtis
c1e0e3728b
optimise hash function and parse out transparency layer select bit
2018-05-28 11:59:48 +00:00
Ian Curtis
2af58f4352
select correct bit ..
2018-05-24 20:19:54 +00:00
Ian Curtis
8452d4c0ef
Parse out TranslucencyPatternSelect
2018-05-24 20:13:15 +00:00
Ian Curtis
4d275ba49e
Parse siblings after children. It's the only way to get Daytona water fall to look correct without h/w poly sorting.
2018-05-03 18:37:49 +00:00
Bart Trzynadlowski
3f9b1b76e5
Added a stretch mode (-stretch) and modified new renderer's viewport code (hopefully correctly) to handle aspect ratio correction and widening the way the legacy one does.
2018-05-03 03:46:44 +00:00
Ian Curtis
c6b86c0812
Render the opaque part of texture transparency in the first pass. Fixes numerous transparency related issues in lemans24 and some in ocean hunter. I don't really know if this is the 'correct' way of solving this because the real3d pro-1000 is a complete black box. There is still a lot we don't understand about how it handles transparency.
2018-05-02 20:10:02 +00:00
Ian Curtis
11a3cdbfd1
remove unnecessary copies
2018-04-24 13:51:53 +00:00
Ian Curtis
b39de6e4df
Fix controller inputs (Spindizzi)
2018-03-30 12:04:27 +00:00
Bart Trzynadlowski
934941423a
Inconsequential typo
2018-03-26 23:02:30 +00:00
Bart Trzynadlowski
b5f1b7a2fd
Reverted version to 0.3a-WIP. Release version will be updated to 0.4a.
2018-03-26 23:01:18 +00:00
Bart Trzynadlowski
f0ea6b45a8
Added ability to load save state at startup using -load-state or InitStateFile (in config file)
2018-03-26 22:59:06 +00:00
Ian Curtis
d21e71dced
work around for non working jtag code in star wars
2018-03-21 10:26:05 +00:00
Ian Curtis
b184ca3e1b
Clamping must be applied before the spotlight is applied on step 1.0 h/w.
2018-03-10 09:13:28 +00:00
Ian Curtis
609d1ba19f
Fix step 1.0 games with NET_BOARD defined (Spindizzi)
2018-03-08 14:27:28 +00:00
Ian Curtis
d8572a923a
Update network code (Spindizzi)
2018-02-24 15:53:18 +00:00
Ian Curtis
995cf6adb0
white space
2018-01-29 19:33:29 +00:00
Ian Curtis
10cefb7c61
Support both types of lightgun in lost world. 2nd type fixes some missing fx. Thanks to Any for pointing this out. To use the old type change analog_gun1 to gun1 in the xml file.
2018-01-29 19:31:23 +00:00
Ian Curtis
6bc4224154
fix a few compile warnings
2018-01-25 21:07:22 +00:00
Ian Curtis
820f27cea1
A hack to get spikeout to work (uncomment to enable) (Spindizzi)
2018-01-25 20:40:05 +00:00