Bart Trzynadlowski
93b71c8429
Applied Nik's fix for cyclical scene graphs. Improves Harley Davidson, Ski Champ, Emergency Call Ambulance, and Ocean Hunter.
2012-03-31 19:41:55 +00:00
Bart Trzynadlowski
1bce444668
Brought in the near clipping plane for Step 1.5+. Objects close to camera are no longer cut-off (e.g., driver arms and steering wheels in cockpit views). Note: This change should probably be applied to Step 1.0 as well in the future. For now, I am leaving the old distance because Step 1.0 coordinates need closer investigation. Bringing in the near clipping plane extends the view frustum depth and will worsen Z-buffer accuracy. Be on the lookout for Z-fighting that did not previously exist.
2012-02-28 04:34:32 +00:00
Nik Henson
f9c3b9b5f8
DirectInputSystem's initial state wasn't being initialized properly, which would sometimes result in invalid input values until keyboard or mouse was successfully acquired
2012-02-27 20:32:15 +00:00
Bart Trzynadlowski
69610ef8dd
Added a clear() method to VBORef and removed unsafe memset() clear.
2012-02-25 06:36:04 +00:00
Nik Henson
3b41239cfb
This update fixes (hopefully) the last of the texture upload lags that were affecting some games, in particular Daytona 2 and Spikeout.
...
To achieve this UploadTextures no longer clears the model cache when called. Instead the cache is kept in-tact (which should help improve cache hits) and all textures referenced by models being rendered are (re-)decoded with every frame.
To help with tracking all the unique texture references contained in a model a new class TextureRefs has been added.
2012-02-23 23:20:21 +00:00
Bart Trzynadlowski
aba801ebb4
Byte swapped sample ROMs. This should fix the audio distortion that many users noticed. The differences are particularly noticeable in Scud Race and Daytona 2.
2012-02-23 03:08:57 +00:00
Bart Trzynadlowski
16e4fcab06
Forgot to update to-do list in previous revision. Added a comment to mark CRender2D::WriteVRAM() as deprecated.
2012-02-23 00:12:46 +00:00
Bart Trzynadlowski
fcf1d955a9
Previous "optimization" contained a mistake and made things worse. Removed unnecessary clear of the bottom layer buffer. Now, if there is no bottom layer, it will not be displayed at all and glClear(GL_COLOR_BUFFER_BIT) is used instead.
2012-02-22 01:34:42 +00:00
Bart Trzynadlowski
c085be59af
Further optimization/simplification of the 2D renderer's main loop.
2012-02-20 04:09:11 +00:00
Bart Trzynadlowski
453df4f5f5
- Finished cleaning up and optimizing the 2D renderer.
...
- Fixed up color offset register support for new 2D rendering system. Now maintains 2 computed palettes for layers A/A' and B/B'.
- Fixed a minor bug in InitPalette(); VRAM was not being typecast properly.
- Fixed specular lighting bug that occurred on some OpenGL drivers because integers were not being interpreted as floats in the vertex shader.
- Began to update copyright date in some files.
- Graphics modules now use the C++-style names for C standard library headers (e.g., stdio.h -> cstdio) consistent with the rest of Supermodel.
2012-02-20 03:45:48 +00:00
Bart Trzynadlowski
0257f1f9e8
Contour processing (discarding of pixels when alpha==0) enabled for A4L4 texture formats. Improves smoke and fire in Daytona 2.
2012-02-17 07:45:50 +00:00
Bart Trzynadlowski
5709010cb2
Default SCSP balance set to 0. Was erroneously set at +50%.
2012-02-14 09:13:36 +00:00
Bart Trzynadlowski
79d24d403f
- NOTE: In this revision (possibly earlier), I've started to notice some intermittent geometry glitches in Spikeout and slowdown while playing certain characters.
...
- Added multi-texture fragment shader to repo.
- Added a multiTexture option (enabled by default) to use multi-texturing to decode textures.
- Added some comments regarding timing to the PowerPC execution loop.
2012-02-14 03:28:52 +00:00
Nik Henson
30130f2bd5
Updated fragment shaders' floating point comparisons and also some knock-on changes from SVN revision 246.
2012-02-13 23:51:32 +00:00
Nik Henson
8a4ea64994
Added OSD/Video.h to provide OSD-dependent video functionality. The static functions in here get called by Model3.cpp from within the render thread so that any OSD related rendering can also be run in parallel for a further speed increase.
...
Updated OSD/SDL/Main.cpp to provide the SDL implementations of the functions in OSD/Video.h.
2012-02-13 23:37:48 +00:00
Nik Henson
84eb017744
Added support for multiple texture sheets (with up to one per Model 3 texture format) as a rather brute-force way to handle overlapping texture formats in the current 3D engine. This fixes some corrupt textures in Daytona 2 and Virtua Striker 2 (and possibly other games) and also offers a small speed increase when some scenes load multiple overlapping textures.
...
This feature only enables itself when a compatible shader script is loaded. Since none have been checked in yet this means it is currently disabled.
2012-02-13 21:54:26 +00:00
Bart Trzynadlowski
35a47bc7e3
Added command line options to force windowed mode and to control GPU multi-threading.
2012-02-11 16:40:09 +00:00
Bart Trzynadlowski
1b8740165c
Added a wide screen hack that can be enabled with the -'wide-screen' argument or WideScreen in the config file.
2012-02-10 19:53:51 +00:00
Bart Trzynadlowski
40a51287df
Tweaked help text slightly.
2012-02-09 17:15:15 +00:00
Bart Trzynadlowski
09f9bd81fd
Fixed left/right stereo channels -- they were reversed by default.
2012-02-09 17:12:13 +00:00
Bart Trzynadlowski
c5d0cb0d97
Added front/rear speaker balance (actually the master/slave SCSP balance). Balance setting is stored in CSoundBoardConfig and can be set on the command line (-balance) or config file (Balance). Valid range is 100 (front speaker volume doubled, rear muted) to -100. The default is 0, both sets at full volume. Balance is applied in the SCSP core before overall sound and music volume settings.
2012-02-09 07:58:07 +00:00
Bart Trzynadlowski
6814ef1ed8
Added preliminary specular lighting to shaders. The "no spotlight" shader has not yet been updated.
2012-02-06 02:54:43 +00:00
Bart Trzynadlowski
9fc0d7b3cc
Updated some comments regarding the VF3 ROM patches. It seems many of them are no longer necessary. The single necessary patch affects timing (note how the warning screen stays up longer when it is removed). This needs to be investigated -- perhaps it can lead to a timing fix for vf3, vs2, and fvipers2?
2012-02-01 18:08:13 +00:00
Bart Trzynadlowski
0fcb9686f9
Documented the tile generator.
2012-01-27 22:27:38 +00:00
Bart Trzynadlowski
8a8609f383
- Added specular highlight support to the 3D engine. A shininess parameter is now be passed to the shaders. Does not work correctly and I will save the shaders themselves for a future commit.
...
- Added support for layer priorities. Highly unoptimal! This absolutely needs to be polished up before any release (and properly documented). For now, priorities in the popular games seem to be fixed but not all possible priority settings have been figured out yet.
2012-01-27 05:52:59 +00:00
Bart Trzynadlowski
c38ec7d5af
Removed unused dirty rectangle code.
2012-01-26 02:57:02 +00:00
Bart Trzynadlowski
e00a372cef
Removed unused dirty rectangle code.
2012-01-26 02:49:07 +00:00
Bart Trzynadlowski
b7980aa562
Removed unused dirty rectangle code.
2012-01-26 02:48:16 +00:00
Nik Henson
93d68c5bf8
Added missing library WbemUuid.lib to VS project linker options
2012-01-22 16:33:40 +00:00
Bart Trzynadlowski
3315fb463b
Small correction to lighting model in shaders. Light intensity is no longer clipped.
2012-01-22 01:05:59 +00:00
Bart Trzynadlowski
b57ba51e44
Removed unused (and non-functional) 'stack machine' scene graph traversal.
2012-01-18 08:12:23 +00:00
Bart Trzynadlowski
4c7fe2f266
MinGW Makefile now uses cmd prompt commands, not UNIX/msys.
2012-01-18 05:58:11 +00:00
Bart Trzynadlowski
1d64fc2c9e
Added a MinGW Makefile for users of GCC on Windows.
2012-01-18 05:28:34 +00:00
Bart Trzynadlowski
dd4a1320b6
Removed deprecated, unused Turbo68K stuff.
2012-01-18 05:25:39 +00:00
Bart Trzynadlowski
611ef43ba5
Now compiles with MinGW. Among other things, the use of __uuidof() was removed.
2012-01-18 04:59:42 +00:00
Nik Henson
d1d5175548
New multi-threaded rendering changes that parallelise graphics rendering and PPC execution in order to increase performance on multi-core machines.
...
New gpuMultiThreaded config option to enable/disable multi-threaded rendering (enabled by default, disabling it reverts to previous behaviour).
Other rendering optimisations:
- texture uploads now only affect appropriate region in the texture sheet, rather than uploading the whole sheet each time
- performance of clearing the model caches has been improved
New Alt+O key input added to toggle outputting of frame timings for debugging purposes.
2012-01-16 23:21:14 +00:00
Nik Henson
0835e38b94
Removed unecessary SDL include
2012-01-16 23:04:37 +00:00
Nik Henson
a1a993917a
Added missing shader source files into VS2008 project (not needed for build, just for reference)
2012-01-16 22:15:59 +00:00
Nik Henson
b7242d27e8
Added CThread::Sleep && CThread::GetTicks methods
2012-01-16 22:07:17 +00:00
Nik Henson
67036014f8
Fixed Unix Makefile to link okay on Ubuntu 11.10 (archive libraries needed to be referenced at end of linker options)
2012-01-02 17:37:34 +00:00
Bart Trzynadlowski
2ece814f43
Assigned new version number: 0.3a-WIP.
2011-12-27 19:16:22 +00:00
Bart Trzynadlowski
532eafef55
Fixed a bug w/ Read16() -- was not casting to a pointer properly, caused Scud Race to crash.
2011-12-26 07:15:32 +00:00
Bart Trzynadlowski
bdf11c765f
Preliminary backface culling fix. Matrices which effectively change the polygon winding without changing the Z component of the polygon normal are tested for when appending items to the display list. If necessary, the polygon winding is changed on the fly to ensure visibility is correct. This code desperately needs to be optimized. Note: Not yet thoroughly tested.
2011-12-26 06:10:55 +00:00
Bart Trzynadlowski
a71af94edb
Fixed ROM banking -- appears to fix the sounds in Daytona 2 PE and VON2 but otherwise has not been extensively tested. The high 8MB of the 68K address is treated as a single window into the 16MB sample ROM, and can point either to the low or high 8MB bank.
2011-12-23 21:06:45 +00:00
Bart Trzynadlowski
4c3d6e1abf
Fixed a MAGIC_NUMBER comment typo.
2011-12-23 21:03:24 +00:00
Nik Henson
885d946458
Small bug fix
2011-12-23 19:34:50 +00:00
Nik Henson
68554108ac
Small tweak to improve startup time
2011-12-23 12:39:34 +00:00
Nik Henson
b9375bb09b
Optimisations to improve performance when running with debugger. Now runs at about 2/3 speed of full speed of emulator, rather than 1/3 like before.
2011-12-23 12:01:31 +00:00
Nik Henson
2e337459cd
Added missing DirectX include and library paths to project
2011-11-06 12:11:25 +00:00
Nik Henson
622046828c
Added quotes around paths in post-build events to allow for spaces in directory names
2011-11-06 12:10:57 +00:00