Commit graph

917 commits

Author SHA1 Message Date
toxieainc 6c24bf7c8f Optimize quad rendering by replacing the double computations for the area computation with the equivalent shoelace algorithm along with kahans algorithm to compute the cross products. In addition pull out the /w to the end, which increases precision even more.
Thus making the result similar to the fp64 version, tested e.g. with harleys first person mode (all artifacts still gone as before).

Improves perf on low end boards (e.g. Intel) dramatically (10fps with harley before, now 70 on my laptop), and even on higher end (e.g. NVIDIA laptop, quads are now faster than tri pipeline on my laptop).
2022-08-16 21:34:31 -07:00
toxieainc d919f3865c port some changes from MAME/MESS 2022-08-16 21:34:31 -07:00
Bart Trzynadlowski dda6d4cf95 Added some options to default Supermodel.ini that otherwise are not documented anywhere because README.txt is out of date 2022-08-16 18:33:33 -07:00
ToBul e06788e768 Fix SUPERMODEL_DEBUGGER build. - Ian
As requested by Bart; Ian's last SourceForge commit.
Also, purely to appease my OCD, a change I forgot on my last 'Games.xml' PR that really shouldn't bother me as much as it does.
2022-08-14 11:46:35 -07:00
toxieainc d4633a868d Revert "port some changes from MAME/MESS"
This reverts commit b5f3d8b68e1ae62a08b00a730b6b8150758c0af3.
2022-08-09 20:37:42 -07:00
toxieainc 03002d3f22 port some changes from MAME/MESS 2022-08-09 20:37:42 -07:00
toxieainc 2df681f009 equivalent optimizations, NFC 2022-08-09 20:37:42 -07:00
toxieainc cb9d73c9d0 port some (simple) changes from MAME/MESS 2022-08-09 20:37:42 -07:00
trzy d60feab2ca
Merge pull request #1 from toxieainc/master
Fix some errors, fix some performance warnings, and some simple (but effective) optimizations
2022-07-18 13:00:27 -07:00
toxie 7b87908631
Merge branch 'trzy:master' into master 2022-07-18 21:53:49 +02:00
toxieainc 27e071dafb add comment 2022-07-18 21:43:13 +02:00
toxieainc dda48d7606 address review 2022-07-17 20:29:25 +02:00
toxieainc 24173a2140 revert "" -> std::string() 2022-07-17 20:25:51 +02:00
toxieainc c42a2d8951 check for __GNUC__ instead of just assuming it 2022-07-17 20:23:11 +02:00
trzy bd4399bcea
Merge pull request #2 from ToBul/master
Games.xml: Align ROM names with MAME.
2022-07-16 21:01:44 -07:00
Tony Bulmer e1e61c4bdc Games.xml: Align ROM names with MAME.
Minor and inconsequential change.
Makes manual ROM building 'slightly' easier when using latest MAME ROM set (currently 0.245).
2022-07-12 10:45:39 +01:00
toxieainc abb1273aa0 slightly optimize DrawTileLine (less branches/logic) 2022-07-11 18:49:02 +02:00
toxieainc b98be0c2e7 optimize ReadRegister, as localtime (at least on MSVC/Windows) is significantly showing up in profiling
e.g. in SW Trilogy

caches localtime until time changes (i.e. limits calls to 1/sec)
2022-07-11 18:47:13 +02:00
toxieainc ba7145df52 use intrinsics for endian swap 2022-07-11 18:42:15 +02:00
toxieainc b2b8396947 missed 2 changed files with last commit 2022-07-11 18:27:44 +02:00
toxieainc 4961951a89 fix a real error (m68kdasm) and some harmless performance warnings and use modern headers 2022-07-11 18:10:41 +02:00
toxieainc e0053b3a46 fix some real errors (Model3,InputSystem), minor errors (SCSP,SDL/Main) and some performance warnings 2022-07-11 17:43:59 +02:00
Bart Trzynadlowski 46eff8c5eb supermodel_build_bot.py: New build bot script for GitHub 2022-06-25 15:53:47 -07:00
trzy 35a7e8a60b
Update README.md 2022-06-25 15:53:36 -07:00
Bart Trzynadlowski 237f2756c0 Rules.inc: whitespace error 2022-06-23 12:41:32 -07:00
Bart Trzynadlowski d42f7d6563 Rules.inc: Fixed git revision parsing 2022-06-23 12:38:58 -07:00
Bart Trzynadlowski 8c8cc3d32b Preparing for Git snapshot build bot and updated copyright header to reference full lifespan of Supermodel repo 2022-06-23 12:34:02 -07:00
trzy 3803d6b705
Updated Supermodel.ini comment to reference Supermodel.log instead of error.log 2022-06-20 23:42:42 -07:00
Bart Trzynadlowski 015b96026a Corrections to README.md and Supermodel.ini 2022-06-20 23:41:43 -07:00
Bart Trzynadlowski 6460a06c1a Removed disassembly of Scud Race Plus 2022-06-20 23:31:34 -07:00
trzy 849f2e8407
Update README.md
Trying again to make the images fit side-by-side.
2022-06-20 23:24:01 -07:00
trzy ff7f6d5a44
Update README.md
Fixed image layout and added some links.
2022-06-20 23:21:50 -07:00
Bart Trzynadlowski b58b5ce46d Smaller Real3D logo 2022-06-20 23:07:32 -07:00
Bart Trzynadlowski 81a43e0384 Added initial REAMDE.md 2022-06-20 22:59:19 -07:00
Ian Curtis a742a73772 njz3: Fix sound volume with new quadrophonic audio code 2022-06-19 16:15:54 +00:00
Ian Curtis e3bc56c8f1 values must be signed, to handle negative numbers, my bad 2022-06-14 21:24:43 +00:00
Ian Curtis 78eab65749 minor fix 2022-06-14 18:14:06 +00:00
Bart Trzynadlowski 7be381c9ba Added configurable refresh rate. Default is 60 but -true-hz on the command line enables 57.524 Hz mode, which some players report making Spikeout and the timing of combos in VF3 more authentic. The config key is RefreshRate and is specified as a floating point value. Should the desire arise, arbitrary refresh rates can be set in Supermodel.ini using this key but almost no validation of the value is performed. Thanks to forum user trap15 for the original code and PonMi for advocating for this patch to be included. 2022-06-12 17:51:57 +00:00
Ian Curtis 83e7b5f45d njz3: Proper quadrophonic audio support. Need 4+ speakers to take advantage otherwise down mixed to stereo. 2022-06-09 21:10:39 +00:00
Bart Trzynadlowski 5e61e2f388 Added default values for PortIn, PortOut, and AddressOut 2022-03-31 23:09:32 +00:00
Ian Curtis 84ae9df665 fix: explicit specialization requires 'template <>' 2022-02-06 17:32:44 +00:00
Bart Trzynadlowski fe7baa108f Bitmap size field in the BITMAPV4HEADER was not being set correctly (the image viewers I've been using are unaffected by this but it ought to be corrected) 2022-02-05 06:44:53 +00:00
Bart Trzynadlowski 3f6937e1a6 When dumping textures, two T1RGB5 texture maps are written: with and without contour processing. Contour processing can be disabled per-polygon and some textures intended to be used without contour processing contain pixels with T=1 that are clearly not supposed to be transparent. We now output textures_t1rgb5_contour.bmp and textures_t1rgb5_opaque.bmp. 2022-02-05 00:52:34 +00:00
Bart Trzynadlowski 32933ef9b0 Added a -dump-textures option (config key DumpTextures) that writes texture BMP files, one for each known format (12 in all currently) 2022-02-01 23:15:06 +00:00
Matthew Daniels 646b46fd4b Adjust the number of PowerPC cycles executed per frame to assume 57.524 Hz refresh rate
Fighting Vipers 2 attract mode no longer requires 100+ MHz to run smoothly

Supermodel itself still runs at 60 Hz
2022-01-23 15:32:53 +00:00
Ian Curtis 0ef90899e1 Double buffer the line of sight values. Should allow the correct values to be returned if GPU threading is enabled. 2022-01-02 12:48:09 +00:00
Matthew Daniels 1a7e319aaf Fixing Magical Truck Adventure bad ROM dump which was causing attract mode to stop rendering 2021-12-29 13:18:20 +00:00
Ian Curtis bc774ca10e methods should be marked as noexcept because they cannot throw 2021-12-19 17:48:38 +00:00
Ian Curtis b8aac0a4f8 white space. 2021-12-17 23:58:20 +00:00
Ian Curtis 6f7130c50b Better document real3d registers 2021-12-17 23:57:12 +00:00