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
Ian Curtis
964f08c894
Disable the netboard if EmulateNet=0 (Spindizzi)
2018-01-25 20:38:31 +00:00
Ian Curtis
85a638bc06
remove extra qualifier
2018-01-22 21:10:20 +00:00
Ian Curtis
04758e38b6
Update make files and fix build for the various options (Harry Tuttle)
2018-01-22 21:01:35 +00:00
Ian Curtis
b5bbda67d0
fix header files
2018-01-22 18:27:51 +00:00
Ian Curtis
571d1060ee
Remove using namespace std from the header files ..
2018-01-21 15:09:11 +00:00
Ian Curtis
8266eecabb
Parse out line of sight position. Only known to be used by scud.
2018-01-15 21:27:21 +00:00
Ian Curtis
99b5b9ba1b
make the logic a bit clearer
2018-01-15 14:40:59 +00:00
Ian Curtis
22a6166b82
fix Ian's bad maths :)
2018-01-15 13:08:39 +00:00
Ian Curtis
a1350d95a2
Update microtexture coordinate logic (Harry Tuttle)
2018-01-14 12:56:24 +00:00
Ian Curtis
863ea95013
simplify maths
2018-01-10 20:37:21 +00:00
Ian Curtis
adb5196625
comment out unneeded code
2018-01-10 16:12:33 +00:00
Ian Curtis
d708ce9ba2
top/bottom were swapped for off axis projection
2018-01-10 16:08:02 +00:00
Ian Curtis
6efa03112e
Rewrite projection maths based upon previously unknown viewport values. The previous values used roughly worked as the normals for frustum planes. Perhaps they were only used for culling and not actually rendering, as sometimes the values don't work correctly.
2018-01-08 18:35:42 +00:00
Ian Curtis
cf7850602b
fix build
2018-01-08 00:13:23 +00:00
Ian Curtis
0b6da91cc0
add the rest of the network board code (Spindizzi)
2018-01-07 14:07:59 +00:00
Ian Curtis
dc3048df24
use the correct c++ deleters
2018-01-06 11:19:04 +00:00
Ian Curtis
19e6aab1fa
use a few macros to make debugging less painful
2018-01-06 01:18:14 +00:00
Ian Curtis
314279ed25
Add network board emulation. Currently not linked with the rest of the project.
2018-01-04 19:14:12 +00:00
Ian Curtis
f7678d918e
remove using namespace from headers ..
2018-01-03 17:51:24 +00:00
Ian Curtis
53c98283aa
rename to avoid clash with a #define
2018-01-03 16:19:10 +00:00
Ian Curtis
3ab93cf6ee
add asynchronous sending functions
2018-01-02 18:54:34 +00:00
Ian Curtis
58dc18cd11
remove dead variable
2017-12-29 11:46:38 +00:00
Ian Curtis
78ae00faf1
Add basic networking files to supermodel. Currently these are win32 specific but can port to SDL or whatever later.
2017-12-29 11:42:03 +00:00
Ian Curtis
080acd08c2
Fix the smallest texture lods (Harry Tuttle)
2017-12-21 11:14:06 +00:00
Ian Curtis
a772dd32fc
fix array out of bounds
2017-12-20 18:47:17 +00:00
Ian Curtis
4702fef33e
remove debug code
2017-12-19 11:43:17 +00:00
Ian Curtis
429d6cbb02
mark as static
2017-12-17 23:02:25 +00:00
Ian Curtis
cc28d5f00e
Implement sub 8x8 tile encoding. Fixes incomplete mipmap chains which previously only went down to 8x8 pixels before. It wasn't known these textures existed before. (Harry Tuttle)
2017-12-17 22:25:50 +00:00
Ian Curtis
cede67468c
Fix some bad/missing textures in fighting vipers. The game is referencing totally illegal texture sizes. The real h/w was just handling it somehow, whilst we were returning null for the textures. This might produce junk textures for the lower mipmaps, but this can be clamped in a later update.
2017-12-13 01:21:25 +00:00
Ian Curtis
62d9584b0d
Shift fog maths to fragment shader to fix bug in virtua on.
2017-11-23 17:51:51 +00:00
Ian Curtis
bddc86aba9
The vertex shader is run before clipping is done. If fogging values are calculated and clamped in the vertex shader it can interpolate bad values, since the range has been truncated. This happens if the polys overlap the near plane. The solution to clamp the values in the fragment shader. This fixes a bunch of fogging errors I long thought were transparency related errors in the ocean hunter.
2017-11-20 22:21:15 +00:00
Ian Curtis
bc7f1e9fac
Fixed shading also works with untextured polys. Fixes some shading issues in La machineguns. (Harry Tuttle)
2017-11-07 00:15:57 +00:00
Ian Curtis
df44ad458b
Update step 1.5 luminous logic with Harry's findings. Fixes various shading issues.
2017-11-05 13:25:33 +00:00
Ian Curtis
8e13c3bbb9
Finish the hash function (Harry Tuttle)
2017-10-19 20:48:53 +00:00
Ian Curtis
7f6df0cc84
Remove fixed shading check from specular.
2017-10-07 12:39:30 +00:00
Ian Curtis
eb798ed15e
Star wars is the only game to pass unsigned fixed shaded values (per vertex brightness) to the renderer. Originally we thought that the specular flag would turn on unsigned values since it's the only game to set specular with these polys, but this logic turned out to be incorrect. The JTAG interface seems to config the GPU to turn on this functionality. (Harry Tuttle)
2017-10-05 19:15:00 +00:00
Ian Curtis
43cf6b3bbf
update spotlight code (Harry Tuttle)
2017-10-05 18:49:08 +00:00
Bart Trzynadlowski
2397b8225a
New, saner Makefiles. They still require some customization but share a core Makefile include with auto-generation of dependencies. Multi-threaded building (e.g., make -j6) is supported now.
2017-10-05 02:14:02 +00:00
Ian Curtis
9bac7836ed
add missing header
2017-09-30 19:05:04 +00:00
Bart Trzynadlowski
3ca37089ca
Get rid of unused variable warning
2017-09-27 13:20:09 +00:00
Ian Curtis
0afd9026dc
Fix the sky in one of the levels in virtua on. The problem was caused by the fact we didn't split the mesh by the fog % burn through, so all the polys had the same value. We could use a vertex attrib, but % burn through fog is so rarely used and when it is, normally every poly in the mesh has the same value.
2017-09-26 00:30:08 +00:00
Bart Trzynadlowski
1eac755bc3
Fix tiny memory leak
2017-09-25 00:05:10 +00:00
Ian Curtis
0376f74192
work around for visual studio bug
2017-09-24 22:36:12 +00:00
Ian Curtis
adecec77de
fix missing header
2017-09-24 22:14:39 +00:00
Ian Curtis
7590f50350
cannot specify explicit initializer for arrays - fix for visual studio
2017-09-24 22:03:31 +00:00
Bart Trzynadlowski
55bb02d4e5
- New work-in-progress frame timing code (disabled by default, compile with NEW_FRAME_TIMING defined to activate it)
...
- New JTAG emulation, moved into its own class, CJTAG
- Removed game-specific sun clamp hacks from CNew3D (JTAG and Real3D emulation will call the appropriate method to configure this at run-time)
- Removed JTAG from Real3D save state data and reused some of that space for new state variables having to do with the internal JTAG-based config as well as new frame timing state variables
2017-09-24 20:52:48 +00:00
Bart Trzynadlowski
c4f8471d7a
Added functions to safely read and write bools
2017-09-24 20:49:31 +00:00
Bart Trzynadlowski
1db2f6bb84
Added functions to extract bits as integer values and updated comment about bit vector layout
2017-09-24 18:40:58 +00:00