Commit graph

47 commits

Author SHA1 Message Date
Bart Trzynadlowski 4d5c9e7231 Fixed Makefiles for non-MSYS builds. Unfortunately had to revert a lot of the automated configuration that Harry had inserted. Users will again need to hand-edit Makefile.Win32 for their configuration. Verbose warnings (-Wall) have been restored. 2018-05-06 18:52:23 +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
Bart Trzynadlowski 4d685e0750 Makefile fixes: Moved Windows-specific source files out of Makefile.inc, using 'bin' and 'obj' when bits are not explicitly set, and changed output file to Supermodel rather than Supermodel.exe, which works on all platforms. 2017-10-06 01:04:49 +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
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 a2fcbf8a3a Linux Makefile fixed by Sergio Benjamin 2017-04-14 17:09:33 +00:00
Bart Trzynadlowski a649a0d36b Removed patches from source code and moved them into game XML file. Created ROMSet.cpp. Print a more descriptive error when game XML file fails to load. 2017-04-08 18:30:29 +00:00
Bart Trzynadlowski cc32e0bf8e Removed last vestiges of CINIFile from input system and removed Games.cpp, INIFile.cpp, and ROMLoad.cpp 2017-04-05 16:19:08 +00:00
Bart Trzynadlowski f34e25dfc7 Massive internal change: removed CConfig object and replaced it with a hierarchical config object system (Util::Config::Node). Games are now defined in an XML file. Hopefully I didn't break too many things :/ 2017-03-27 03:19:15 +00:00
Bart Trzynadlowski 41105c15d7 Added Logger.o to OSX and UNIX Makefiles. Should fix compilation on these platforms. 2016-08-10 03:38:19 +00:00
Bart Trzynadlowski 821243b80f Removing MSVC Makefile 2016-08-10 03:37:29 +00:00
Bart Trzynadlowski 724dc93294 XML parsing support for new config system 2016-07-07 04:59:10 +00:00
Bart Trzynadlowski bcc663d4eb Moved logging functions into OSD/Logger.cpp (eventually logging system will be reworked entirely) and added new config tree structure (not yet used). 2016-07-05 01:15:58 +00:00
Bart Trzynadlowski 0650ffc37c Updated Win32 gcc, UNIX, and OSX Makefiles 2016-07-04 01:02:04 +00:00
Bart Trzynadlowski ad96676d68 Updated Mac OS X Makefile 2016-04-15 23:54:58 +00:00
Bart Trzynadlowski 22907b033f Fixes for non-Windows builds: Makefile updated and fixed header files in Vec.cpp 2016-04-05 04:30:52 +00:00
Bart Trzynadlowski 6e5c301de8 Encryption device emulation (thanks to MAME), fixed warnings in Model3.cpp, added a string formatter helper, and updated Win32 GCC Makefile. 2016-04-02 21:50:40 +00:00
Bart Trzynadlowski 09747bcd7c Tweaked Windows gcc Makefile 2016-03-22 03:43:55 +00:00
Bart Trzynadlowski 34301e97e1 Adding new 3D engine by Ian Curtis. Old engine moved to Graphics/Legacy3D/. 2016-03-21 04:10:14 +00:00
Bart Trzynadlowski f1e93bcd8f - Fixed Win32 GCC Makefile.
- Reverted Nik's polygon palette index change in Models.cpp. Subtracting 1 was breaking Scud Race.
- Added an explicit typecast in Inputs.cpp, which GCC requires for some reason.
2012-07-16 02:27:55 +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
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 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 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
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 83067f076f - Only player 1 crosshair is shown by default now.
- Tweaked Makefiles a bit.
- More documentation updates.
- Changed version string to 0.2a in preparation for the final release :)
2011-09-23 07:18:40 +00:00
Bart Trzynadlowski f69bdb91b8 - Updates to UNIX and OSX Makefiles. 2011-09-22 07:14:23 +00:00
Bart Trzynadlowski 46bc52bb12 - Changed save state error messages slightly.
- Wrapped rows that exceed 80 columns in Supermodel.ini.
- Added some member and function comments to a few header files. 
- Changed version string to 0.2a-RC2 in anticipation of sending another release candidate build to testers.
- Added GAME_INPUT_RALLY flag to dirtdvlsa, eca, and ecax.
- Configuration dialog no longer refers to Sega Rally 2 and Dirt Devils; instead, "Miscellaneous Driving Game Buttons"
- More additions to README.txt.
2011-09-22 06:11:47 +00:00
Nik Henson eaa3bbf8b7 Changes to get debugger classes to compile under Linux 2011-09-21 23:47:11 +00:00
Bart Trzynadlowski 71cef1aad0 Un-broke Windows Makefile. 2011-09-21 19:14:04 +00:00
Bart Trzynadlowski 24f46e9f86 Updated UNIX Makefile, fixed some syntax errors. 2011-09-21 19:12:50 +00:00
Nik Henson 46067d48d9 Updated Makefile with new debugger classes. 2011-09-18 22:51:05 +00:00
Bart Trzynadlowski 8276a4452f -Updated copyright information in Makefiles.
-Updated README.txt revision log.
2011-09-14 19:09:23 +00:00
Bart Trzynadlowski d200dff89e - Changed EmulateSCSP -> EmulateSound and -no-scsp -> -no-sound.
- Changed gear shifting behavior: neutral gear has its own button now.
- Removed SUPERMODEL_SOUND.
- DirectInput is the default input system for Windows now.
- Multi-threading is on by default, replaced -multi-threaded w/ -no-threads.
- Made crosshairs larger and more visible.
- Added Nik to co-author list and began updating file copyright notices.
- Fixed Virtua Striker 2 input names (player 2 inputs end with the number 2 instead of 1).
- Added documentation to a Docs/ subdirectory.
- Exported all default input configurations to Supermodel.ini and added that to the repository. Internally, Supermodel initializes all controls to "NONE" now.
2011-09-14 06:16:22 +00:00
Bart Trzynadlowski e6f19c40ef Fixed 68K save state problem: pending interrupts were not being saved, sometimes causing the DSB2 to take an invalid interrupt (from the sound board 68K) after loading a save state. Save states are no longer compatible with previous revision. 2011-09-12 18:14:49 +00:00
Nik Henson 07b94f6c32 Added drive board 2011-09-07 07:13:59 +00:00
Bart Trzynadlowski d318efe58c - Program settings are now managed by the CConfig class.
- Moved Logger.h to OSD/, cleaned up comments.
- Command line and config file parsing have been rewritten.
- Began replacing C standard library headers with C++ versions (eg. stdio.h -> cstdio). I think I got most of them, but not all.
2011-08-19 20:43:07 +00:00
Bart Trzynadlowski 91c9b9869b R. Belmont's changes to compile under MacOS and Linux. 2011-08-10 04:24:15 +00:00
Bart Trzynadlowski ddd6fa92ef - Improved 68K interface. Now supports context switching.
- CSoundBoard is not derived from CBus.
- Optimized sound board memory handlers (now using switch statements).
- Added DSB emulation (based on R. Belmont's M1 source code).
- Improved ROM loading: only unique ROMs (those not shared amongst games) are used to identify games. The ROM loader will no longer get confused as easily.
- General cleanup here and there, removed unused Render.h file.
2011-07-31 02:37:31 +00:00
Nik Henson c5c518390a - Removed disabling of sound for 64-bit build 2011-07-20 21:57:54 +00:00
Nik Henson 1f73280282 - Fixed for 64-bit build
- Added OSD directories into include path
-This line, and those below, will be ignored--

M    Makefile.SDL.Win32.MSVC
2011-07-20 21:05:14 +00:00
Bart Trzynadlowski c73cb830dc - Added the Musashi 68K emulator by Karl Stenerud. Obtained Karl's explicit permission to relicense the code under GPL.
- Added a 68K interface, CPU/68K/M68K.*.
- Moved Turbo68K source files to CPU/68K/Turbo68K. It is no longer used but is being retained in the source tree for now. The LSR instruction has not been fixed in this update.
- Changed sound board code to use the new 68K interface (and hence, Musashi).
- Changed version string from 0.2-WIP to 0.2a-WIP. This is still an alpha version.
- Above changes have broken the 68K debugger.
2011-07-12 04:57:12 +00:00
Nik Henson 7ea5d31b6c Added ENABLE_DEBUGGER option to include built-in console-based debugger in emulator 2011-06-28 00:27:16 +00:00
Nik Henson 9297c5b8d2 Modified Windows Makefile to fix conditional compiling and also to allow building of 64-bit version of emulator. 2011-06-22 13:08:25 +00:00
Bart Trzynadlowski c69067e0be Importing Makefiles (which are currently somewhat broken). 2011-04-24 01:21:48 +00:00