Commit graph

36 commits

Author SHA1 Message Date
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 0b6da91cc0 add the rest of the network board code (Spindizzi) 2018-01-07 14:07:59 +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 7c84bc6aeb update visual studio project 2017-10-05 18:54:36 +00:00
Ian Curtis 18f460db6f 2017-09-24 22:49:20 +00:00
Ian Curtis da1342b5d9 update project files 2017-09-24 22:39:53 +00:00
Ian Curtis 06cb5708e3 add missing include 2017-04-08 21:01:11 +00:00
Ian Curtis edfb521a9b Daytona seems to use this completely undocumented feature of the real3d pro-1000, the ability to invert texture colours. This patch fixes the colours on the cars, and the signs which should flash by alternating their colours. 2017-04-05 17:57:38 +00:00
Ian Curtis f320af2049 fix project files 2017-03-27 22:01:31 +00:00
Ian Curtis f0a15febd1 implement scroll fog, fixes a tonne of missing fx 2016-10-09 16:34:12 +00:00
Ian Curtis f4311a0ab2 update visual studio project 2016-07-10 13:11:51 +00:00
Ian Curtis 85c4d85562 refactor 2016-06-19 21:43:09 +00:00
Ian Curtis c2b1db11f8 Cull geometry based on the culling distances in the nodes. Should give some sort of speedup on lower end pcs where the CPU is predominantly the bottle neck. 2016-06-16 20:05:29 +00:00
Ian Curtis 6d1aa4d527 fix compilation 2016-05-03 18:38:06 +00:00
Ian Curtis 09e27e3082 color flag 2016-04-27 16:42:31 +00:00
Ian Curtis 74e7ff3d7d update project 2016-04-27 11:17:28 +00:00
Ian Curtis f09dd457c5 Update vs project for encryption code 2016-04-02 22:14:39 +00:00
Ian Curtis 9c2aff72c8 add missing file 2016-04-02 15:41:50 +00:00
Ian Curtis 736f5ab958 add missing project files 2016-04-01 16:36:12 +00:00
Ian Curtis c398cab1b1 update project 2016-03-29 15:29:15 +00:00
Ian Curtis 0327db246f WIP 2016-03-24 13:17:17 +00:00
Ian Curtis 44ea902181 add missing project file 2016-03-22 22:00:17 +00:00
Ian Curtis 93f6b01e0b Update project to vs 2013. Clean compile warnings 2016-03-22 12:30:23 +00:00
Nik Henson 183dca563d Committing various small updates that have been hanging around in my source tree for a while now:
- Added 'crosshairs' command line and config option.
- Added 'vsync' command line and config option (so far only tested on NVidia cards on Windows 7 - other graphics drivers, O/Ss or driver settings may simply chose to ignore this).
- Added fullscreen toggle within game using Alt+Enter key combination.
- Added framework for lamp outputs and 'outputs' command line and config option.  So far only the lamps for driving games are hooked up in the emulator (others to be added later).
- Added an initial outputs implementation for Windows that sends MAMEHooker compatible messages (-outputs=win to enable)
- Fixed fps calculation in Main.cpp that was producing incorrect results and so giving the impression that frame throttling wasn't working properly when in fact it was.
- Fixed palette indexed colours as the index was always off by one, causing incorrect colours in various games, eg drivers' suits and flashing Start sign in Daytona 2.
- Altered caching of models so that models with palette indexed colours use the dynamic cache rather than the static one.  This is so that changes in palette indexed colours appear on screen, eg the flashing Start sign on the advanced course of Daytona 2 (although currently the START message itself is not visible due to other problems with texture decoding).
- Fixed small bug in TileGen.cpp which meant both palettes were being completely recomputed pretty much with every frame.  This was a significant performance hit, particularly as palette recomputation is currently being done in SyncSnapshots (it should be moved out of here at some point, although for now it's no big deal).
- Made sure all OpenGL objects and resources are deleted in Render2D/3D destructors, in particular the deleting of the VBO buffer in DestroyModelCache.
- Made sure that GLSL uniforms are always checked to see if they are bound before using them in order to stop unecessary (but harmless) GL errors.
- Altered the default texture sheet handling to use a single large GL texture holding multiple Model3 texture sheets rather than multiple GL textures as before (if required, the old behaviour can still be selected with the mulisheet fragment shader).  I believe this fixes the disappearing crosshairs/corrupt GL state problem which the multisheet fragment shader seemed to be triggering somehow.
- Fixed a bug in debugger which meant memory watches were not triggering properly
2012-07-15 21:04:46 +00:00
Bart Trzynadlowski ac29fc1e88 Somehow John's Build.bat and Clean.bat did not get added in r262. Here they are. 2012-07-12 06:40:55 +00:00
John Peterson 3963a7a53c Applied a series of patches by John Peterson:
- Fixed a printf statement in ConsoleDebugger.cpp.
- Fixed memory watches not breaking in CPUDebug.h.
- Added some helpful batch files to the VS2008 directory.
- Added support for automatic loading of parent ROM sets.
2012-07-12 05:28:08 +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
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 93d68c5bf8 Added missing library WbemUuid.lib to VS project linker options 2012-01-22 16:33:40 +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 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
Nik Henson a6b31b72c1 Fixed incorrect ZLib paths 2011-11-05 21:08:49 +00:00
Nik Henson 663a7f919c Changes to Supermodel VS2008 solution to ensure it will now build completely from scratch:
- added projects to build third-party libraries ZLib and SDL (expects source code to be present in Libraries directory)
 - moved Musashi68K into its own directory
 - tidied up some config options
2011-11-05 20:35:56 +00:00
Nik Henson a18c26025f Added separate Musashi68K project that compiles and runs m68kmake to build required Musashi68K file.
Updated solution so that with above change it will now build Supermodel completely from scratch.
2011-11-01 23:13:26 +00:00
Nik Henson b6923aeb9b Added Visual Studio 2008 Project/Solution files as an alternative way to build Supermodel on Windows. 2011-09-23 22:25:36 +00:00