Commit graph

50 commits

Author SHA1 Message Date
toxieainc c42a2d8951 check for __GNUC__ instead of just assuming it 2022-07-17 20:23:11 +02:00
toxieainc ba7145df52 use intrinsics for endian swap 2022-07-11 18:42:15 +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
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
Ian Curtis bc774ca10e methods should be marked as noexcept because they cannot throw 2021-12-19 17:48:38 +00:00
SpinDizzy 08d4735ee8 Huge refactor of the Driveboard:
-Separate each possible boards (wheel, joystick, skipad, billboard).
-Defined a Driveboard type in Games.xml for each games.
-Due to the refactoring, Driveboard Savestates have changed (a common base data + a specific board data are saved).
-Backwards compatibility with previous save states is maintained.
-Driveboard rom section is no longer required anymore. This disables Driveboard emulation in case the rom is not found.
-Added Billboard emulation (vf3, vs2, fvipers2, von2). 7 segments and lamps Outputs are redirected to Supermodel outputs.
-Changes project to C++ 17 standard.
2021-02-18 10:29:15 +00:00
SpinDizzy c171356f7d -Added support for specifying multiple sections simultaneously in INI
files, e.g., [ daytona2, dayto2pe ]
-Forgetfulness in 763
2019-01-20 08:02:01 +00:00
Ian Curtis adecec77de fix missing header 2017-09-24 22:14:39 +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
Bart Trzynadlowski 3041ca1922 Added SetOnes() and SetZeros() 2017-09-23 16:08:27 +00:00
Bart Trzynadlowski c3eef706e8 Safe guard against shifting empty register. 2017-09-23 15:40:20 +00:00
Bart Trzynadlowski 98b0354dd6 Hex formatting support extended to 64 bits. 2017-09-23 15:33:26 +00:00
Bart Trzynadlowski 61a0517bd9 Added ShiftOutLeft() and ShiftOutRight() 2017-09-23 15:03:06 +00:00
Bart Trzynadlowski 7a2e6b393a Renamed shift in/out functions to add/remove to be less ambiguous about their functionality 2017-09-23 14:42:05 +00:00
Bart Trzynadlowski 86631695d7 Added ToHexString() and made ostream serialization use this 2017-09-19 19:43:06 +00:00
Bart Trzynadlowski f2030ac125 Added BitRegister class (for use in upcoming JTAG refactor): an inefficient but flexible container for manipulating a dynamic bit stream. 2017-09-07 19:33:25 +00:00
Bart Trzynadlowski 4a70d5ec9a Updated Util::Config::Node unit tests with multiple leaf node test 2017-04-12 02:41:02 +00:00
Bart Trzynadlowski 9dd2b24729 Fixed behavior of Util::Config::Node when adding nested nodes (only leaf level can be duplicated; e.g., foo/bar and foo/bar will create one foo with two bar children, rather than two foo each with one bar). 2017-04-11 07:03:10 +00:00
Ian Curtis f320af2049 fix project files 2017-03-27 22:01:31 +00:00
Ian Curtis 3fefff36c2 fix multiple default constructors 2017-03-27 18:15:15 +00:00
Bart Trzynadlowski 10befe4938 No need to enclose values in quotes when writing INI file. Print that file was saved to console and log. 2017-03-27 03:10:36 +00:00
Bart Trzynadlowski 35d9842dd8 Added a TODO list 2017-03-27 03:09:24 +00:00
Bart Trzynadlowski e21ea93319 Added RGBA4 format to BMP file writer 2016-09-07 01:25:27 +00:00
Bart Trzynadlowski 3df3610361 Made parsing of hex values more robust 2016-08-25 04:54:08 +00:00
Bart Trzynadlowski c2f80cef6b Support for hex numbers in string to integer conversions (with '0x' prefix) and special keywords in string to bool conversions (true/false/on/off/yes/no) 2016-08-24 04:11:52 +00:00
Bart Trzynadlowski f08ad1584f Added Util::Stricmp() and small tweak to serialization of Util::Format 2016-08-24 04:10:20 +00:00
Bart Trzynadlowski 2efe18b525 Added support for multiple value types in config nodes.
Removed Ptr_t and ConstPtr_t from public interface, moved config tree builders into their own file, and made them pass by reference and value.
Exceptions can be thrown now on lookup failures.
Removed s_empty_node -- failed lookups in [] operator create a permanent "hidden" child.
Updated comment in NewConfig.cpp.
2016-08-21 22:22:45 +00:00
Bart Trzynadlowski 01a6ad1596 Added copy constructor and assignment operator using C++11 move semantics 2016-08-19 00:01:45 +00:00
Bart Trzynadlowski fbeeb3c922 Support for deep copies via assignment operator. This will pave the way for elimination of Ptr_t and ConstPtr_t. 2016-08-18 04:14:36 +00:00
Bart Trzynadlowski 5652aab91f Added Write() method to write buffer to an ostream, and added an ostream operator overload 2016-08-18 04:13:50 +00:00
Bart Trzynadlowski 1dc360a8b0 Changes to game loader interface, added 32-bit word swapping utility function 2016-08-11 03:53:19 +00:00
Bart Trzynadlowski 037bfc648d Byte swapping utility function 2016-08-10 03:27:59 +00:00
Bart Trzynadlowski 718c237063 Added ValueAsBool(), ValueAsBoolWithDefault(), and ValueAsUnsignedWithDefault() 2016-08-10 03:27:01 +00:00
Bart Trzynadlowski 52d6eac7e5 Added Util::Config::Node::ValueAsUnsigned() with support for base 10 and 16 ('0x' prefix) 2016-07-10 04:25:41 +00:00
Bart Trzynadlowski 331d7042f2 Added Util::ToLower() 2016-07-10 04:25:12 +00:00
Bart Trzynadlowski a84aacf80b Config::Node::Add() now supports nested keys (e.g., Add("foo/bar/baz", "0") will create three nested config nodes) 2016-07-09 15:19:17 +00:00
Bart Trzynadlowski 24c341120a Changed Config::Node::Create() to Add() and added a Set() method (for INI semantics). Turned Test_Config.cpp into a proper unit test reporting pass/fail for each test. 2016-07-09 14:45:48 +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 968652bcfb Added a Split() function to Util::Format. 2016-06-02 03:14:46 +00:00
Ian Curtis 6d1aa4d527 fix compilation 2016-05-03 18:38:06 +00:00
Bart Trzynadlowski fa65542d76 Added support for A1RGB5 to BMP file writer and added a (commented-out) example of how to use it to dump texture memory in ~CReal3D() 2016-05-03 00:28:56 +00:00
Ian Curtis a246fc1454 make compilable with visual studio 2016-04-27 11:17:12 +00:00
Bart Trzynadlowski 04fba1466d Added utility function to write BMP files 2016-04-27 04:08:49 +00:00
Ian Curtis a99f022487 add missing include 2016-04-02 22:08:25 +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