1
0
Fork 0
Commit graph

4178 commits

Author SHA1 Message Date
kcgen
c803db02aa Limit string concatenation to the target's length
This commits covers a single class of string-cat
issues, all of which involve writing an unchecked
quantity of bytes into a string of a fixed length (ie:
char[]).
2020-05-04 08:26:30 +02:00
kcgen
71af263cf5 Count and limit the string-copy target's length
In this case, the target string's head-pointer is
walked forward dynamically in the prior code, where
each increment reduces the remaining string-length
that's available into which to write.

We use pointer artithmetic to count how far the head
pointer has moved from the base (subtracting that from
the available length), but also adding a safety net to
never exceed the original length if the prior
pointer-moving code were go off the rails (and exceed
the max length).
2020-05-01 17:27:47 +02:00
kcgen
e8acb7f0d7 Use C++ pointer-type casting to be more explicit
The prior C-style casts are ambiguous when it comes to
describing what type of cast is being performed. In
this case, we're changing the undering the pointer type
(from an unsigned char * to a char *), which a simple
static_cast<...> cannot do.
2020-05-01 17:27:47 +02:00
kcgen
e603337c17 Limit string copies to the target's length
This commits covers a single class of string-copy
issues, all of which involve writing an unchecked
quantity of bytes into a string of a fixed length (ie:
char[]).
2020-05-01 17:27:47 +02:00
Patryk Obara
23f4c5bb1b Fix branding in metadata for PNG screenshots 2020-04-29 21:45:39 +02:00
Patryk Obara
4675596dcd Unify macOS configuration paths in a single location
Duplicated hardcoded path was updated in only 1 of 2 locations.

Fixes: #311
2020-04-29 04:08:00 +02:00
Patryk Obara
62a469a89b Use consistent order for GNU-style params 2020-04-29 04:08:00 +02:00
Patryk Obara
2ccae54e84 Improve --editconf option
No user expects, that editor name needs to be manually supplied, and
documentation is not clear about this either.

Add GNU-style double-dash long parameter. Unfortunately, --opt=value
style does not work with DOSBox non-standard parameter handling
implementation.

When user won't supply value for the parameter, following editors will
be tried in order:

- Program supplied via EDITOR environment variable
- nano
- vim
- vi
- notepad++.exe
- notepad.exe
2020-04-29 04:08:00 +02:00
Patryk Obara
d230e0759c Cleanup PrintConfigLocation function
Do not exit inside function, return error code instead.

Print error to stderr, and not stdout, to make life easier for users
invoking dosbox from within scripts.

Include double-dash GNU-style parameter: '--printconf'.
2020-04-29 04:08:00 +02:00
Patryk Obara
83e1a3a944 Move config dir detection earlier
Setting up configuration file location is a dependency for:

$ dosbox -printconf
$ dosbox -editconf vim
$ dosbox -eraseconf

Wee need to have cache initialized before these parameters are handled.
2020-04-29 04:08:00 +02:00
Patryk Obara
d289e64291 Merge branch 'svn/trunk' r4338 2020-04-29 03:04:21 +02:00
ripsaw8080
a4edebe60e Correct cdrom sector size field length according to docs.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4338
2020-04-28 16:06:29 +00:00
Tyrell Sassen
de43073145 Convert existing shaders to C++11 raw strings
Shaders were previously saved as standard C++ string concatenations.
This commit converts them to the C++11 raw string syntax using a raw
string delimiter of `GLSL`.

This format is preferable as it will allow the shaders to be viewed and
edited directly, without having to make considerations for any escape
characters within the code.
2020-04-27 03:05:09 +02:00
David Reid
9c90722ee7 Sync dr_mp3 with upstream (v0.6.5) 2020-04-26 05:42:16 +02:00
Patryk Obara
237577101b Merge branch 'svn/trunk' r4337 2020-04-26 00:38:29 +02:00
Peter Veenstra
8e74e307a9 time keeps ticking
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4337
2020-04-25 20:05:04 +00:00
Patryk Obara
333a771a63 Fix typo resulting in broken ARM builds 2020-04-22 22:02:01 +02:00
David Reid
2e9f0c6789 Sync dr_wav with upsteam (v0.12.2) 2020-04-22 04:04:08 +02:00
Patryk Obara
0926b0609c Update hardcoded version strings to 0.76.0
Version in README file is purely informational.

Other strings are hardcoded to some platform-specific format and scheme,
where we can't use version derived from autoconf.
2020-04-22 02:51:01 +02:00
Patryk Obara
130fd60584 Update some hardcoded info
Change copyright strings to "dosbox-staging team" (we are not "DOSBox
Team"), change relevant copyright years (this meta has no real legal
meaning - unlike COPYING file and license inside source files, so use
only current year in there).
2020-04-22 02:41:00 +02:00
krcroft
5287559aee Don't initialize and manage joysticks in SDLmain
Two notable changes:

1. Eliminates the joystick setup from SDLmain, allowing
the mapper's QueryJoysticks() function to be the sole
setup and configuration point for both the SDL Joystick
subsystem and DOSBox's internal configuration of the
joysticks.

2. SDLmain's event loop previously perform some joystick-
specific timing and always called the Mapper's UpdateJoysticks
function; neither of which are needed if the user has disabled
joystick support or if joysticks aren't physically present.
This update now make this entire process conditional on both
of the latter (which is set by the Mapper's QueryJoysticks).
2020-04-22 02:07:55 +02:00
krcroft
5b587d490f
Conditionally initialize the joystick subsystem 2020-04-21 16:16:05 -07:00
krcroft
5570bfdb87
Defer laying out the UI until the first key bind event 2020-04-21 16:16:05 -07:00
Patryk Obara
a67bf5ec8d Remove greetings and update project URL
I would rather have initial banner 1 line smaller, so 1% of users is
more likely to read it than greet them with "have fun".
2020-04-21 23:08:56 +02:00
David Reid
871556d57f
Sync dr_flac with upsteam (v0.12.11) 2020-04-18 21:57:10 -07:00
David Reid
03d5163153
Sync dr_mp3 with upsteam (v0.6.4) 2020-04-18 21:57:09 -07:00
David Reid
4ef2d5ddc4
Sync dr_wav with upsteam (v0.12.1) 2020-04-18 21:57:08 -07:00
Patryk Obara
9924913e4a Move implementation to GetConfigName static function
Old interface Cross::GetPlatformConfigName is retained for backwards
compatibility for now.
2020-04-18 22:09:04 +02:00
Patryk Obara
c144552641 Avoid spaces in config file name on macOS
There's no reason to having a different name for .conf file on every
platform, it only makes things more difficult from user and developer
perspective.
2020-04-18 22:09:04 +02:00
Patryk Obara
2203c5e726 Adjust first comment in .conf file 2020-04-18 22:09:04 +02:00
Patryk Obara
64772850b5 Respect XDG spec for dosbox main .conf file
Windows and macOS config files are left as they were, this change
affects mostly Linux users.

Users are not forced to migrate, but visible warning is being issued if
they aren't. Majority of users probably won't notice it, as the stable
release should generate newly named .conf file.
2020-04-18 22:09:04 +02:00
Patryk Obara
a51f9b5600 Remove punctuation from some logs 2020-04-18 22:09:04 +02:00
Patryk Obara
a6da84d23e Add Linux desktop icons according to XDG spec
Change X11 Window WM_CLASS to 'dosbox-staging' to avoid conflicts with
upstream DOSBox, which might be provided by package manager.

Update .desktop file to specify WMClass to be correlated with
dosbox-staging process (even if executable file conflicts with dosbox
upstream).

Update contrib/icons/Makefile to generate 'hicolor' directory structure.
2020-04-15 23:55:48 +02:00
Patryk Obara
e5486f67cc Use half-pause character as title separator
It seems like most applications on Windows and Linux use half-pause for
this purpose (same character as minus sign).
2020-04-15 19:25:02 +02:00
Patryk Obara
b3a3c5dfe5 Use new icon in Windows builds 2020-04-15 19:25:02 +02:00
Patryk Obara
5008477fd2 Set new 128px icon 2020-04-15 19:25:02 +02:00
Patryk Obara
02838b4937 Create new icon data
This is dosbox-staging icon (see contrib/icons/), rendered to size
128x128 with rsvg-convert (128x128 is recommended for various Linux DEs,
as this icon will mostly see usage on Linux - macOS and Windows have
icons in their native formats).  Data dump created with GIMP with
following settings:

- Use 1 byte Run-Length-Encoding
- Save alpha channel
2020-04-15 19:25:02 +02:00
Patryk Obara
c040efed53 Add static_casts for few VGA modeinfo fields
In all cases values are stored in Bitu, but the allowed range fits
into a single byte.
2020-04-15 14:26:29 +02:00
krcroft
1789912212 Cleanup switch/case formatting 2020-04-15 14:26:29 +02:00
krcroft
54d805bd5c Simplify assignments with type-sized host reads 2020-04-15 14:26:29 +02:00
krcroft
7375db2a83 Use type-specific host conversion funcs 2020-04-15 14:26:29 +02:00
krcroft
297229700c Make use of indexed reads and writes 2020-04-15 14:26:29 +02:00
krcroft
e402ad9f56 Remove unecessary dereferences and casts 2020-04-15 14:26:29 +02:00
krcroft
e0afec7743 Fix alignment when populating the VESA mode block 2020-04-15 14:26:29 +02:00
krcroft
1ea78a87fa Fix alignment when writing the jump value to memory 2020-04-15 14:26:29 +02:00
krcroft
31b27e6409 Fix alignment when adding a jump value to the cache 2020-04-15 14:26:29 +02:00
krcroft
f9a1935c8e Fix alignment when saving the branch value 2020-04-15 14:26:28 +02:00
krcroft
aadf4edbed Fix alignment when assigning a cache diff value 2020-04-15 14:26:28 +02:00
krcroft
34d46ecd7f Fix alignment when incrementing values in the cache 2020-04-15 14:26:28 +02:00
krcroft
86249ec821 Fix alignment when fetching values in the decoder 2020-04-15 14:26:28 +02:00