Commit Graph

3168 Commits

Author SHA1 Message Date
Rafael Kitover 83d24828df
build: fix default debug build for vscode
Check if CMAKE_BUILD_TYPE is false and not just empty string, as it is
some kind of other empty value in the default vscode build and the check
fails.

If CMAKE_BUILD_TYPE is unset, default to Debug, which is what vscode and
most things expect as the default CMAKE_BUILD_TYPE.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-02-21 20:53:20 +00:00
Fabrice de Gans f1d3f631d2 Fix automatic dynamic frame skipping
The previously used algorithm was too aggressive. This fixes the issue
by using the last second data and using a more gentle adjustment curve
to prevent huge changes in frame skipping.
2023-02-15 13:52:16 +00:00
Fabrice de Gans d1733c4505 [ConfigManager] Move wx options to g_owned_opts
This is a preliminary change towards removing ConfigManager from the wx
build. Usage of these options has also been modified in the wx frontend.
2023-02-14 18:06:41 -08:00
Fabrice de Gans d37a3a32e1 Move remaining options used by core to CoreOptions 2023-02-14 16:33:03 -08:00
Rafael Kitover 3f507b6c6a
translations: transifex pull
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-02-14 02:01:02 +00:00
Rafael Kitover e560efb08f
translations: transifex pull
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-02-12 02:00:57 +00:00
Rafael Kitover ca841e9bae
translations: transifex pull
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-02-11 02:00:59 +00:00
Rafael Kitover 4b605b4b1a
translations: transifex pull
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-02-10 05:53:02 +00:00
Stanley Kid d756f6716f
translations: fix some source strings
Fix some more strings marked for translation in the source code to be
more correct and easier to localize.

References #1071 #1029

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-02-10 05:50:20 +00:00
Rafael Kitover 49140fe5dd
translations: transifex pull
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-02-10 02:01:01 +00:00
Rafael Kitover 5d4f1bd0d9
translations: transifex pull
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-02-09 16:18:49 +00:00
Fabrice de Gans 91873254d3 Add INI file versioning
This introduces a new INI config option called "IniVersion". Whenever
default values change or options are renmaed, the latest version number is
incremented and an update path is run.
This change also rewrites part of the initialization routine by adding
more safety checks before creating or reading the configuration file.
2023-02-08 01:31:40 +00:00
Rafael Kitover ae09ae7d59
translations: transifex pull
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-02-07 02:01:00 +00:00
Fabrice de Gans 950a4070c1 Move display options to owned_opts
This also removes limits on the main window position so it can now be
negative. This is necessary on Windows where multiple screens to the
left and top of the main screen have negative coordinates. A check at
startup ensures we always restore the window within the drawable area.
2023-02-06 04:49:36 +00:00
Fabrice de Gans 216bf4d7e4 Restore "Fullscreen at startup" handler
This was mistakenly removed.
2023-02-05 20:29:14 -08:00
Rafael Kitover f0fd9208b7
translations: transifex pull
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-02-06 03:27:56 +00:00
Fabrice de Gans 31e17c1ba4 Add less verbose proxy object accessor
This introduces an OPTION macro, as well as assignment operators and
convenience conversion operators to make it easier to treat the
OptionProxy object (renamed from Proxy) as a variable.
2023-02-06 03:25:37 +00:00
Fabrice de Gans 2b950e282f [Option] Add Proxy template class for Option
This removes the global accessors for individual options in favor of a
proxy template class with a simpler per-type API. This adds compile-time
checks to validate that the right option is used with the right type
when accessing it directly.
2023-02-06 03:25:37 +00:00
Rafael Kitover f84a164072
translations: transifex pull
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-02-06 02:00:59 +00:00
Fabrice de Gans 60568d26e0 Move core options to a struct
Options used by the core emulator were set with global variables. This
moves all of the options used by the core emulator into a new struct,
shared by all 3 frontends.
2023-02-06 01:22:19 +00:00
Stanley Kid 64921c6535
translations: fix some source strings
Fix some source strings in the source code that are marked for
translation to be more formally/grammatically correct and easier to
localize.

References #1029

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-02-05 19:55:06 +00:00
Rafael Kitover 257150f46b
translations: transifex pull
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-02-05 17:29:58 +00:00
Rafael Kitover 61046c76bf
translations: rebuild source .pot
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-02-05 17:29:14 +00:00
Fabrice de Gans fad2e7a310
Fix issues with the DisplayConfig dialog (#1066)
The DisplayConfig dialog had a few issues:
* The OK/Cancel buttons were not working as expected. The configuration
  options would be immediately written whenever some control values were
  changed. The configuration options are now properly being set on a
  click to OK, and ignored on a click to Cancel.
* The X button works again.
* There is now proper validation for the Display Scale option,
  validation ensures that the value is in the right range and incorrect
  data can no longer be input in that field.
* The Direct3D option is now properly enabled on Direct3D builds.
2023-02-04 21:59:04 -08:00
Fabrice de Gans 2cec46f825
Clean-up ConfigManager options (#1067)
* Clean-up ConfigManager options

Many of the options in ConfigManager were not actually used.
* Some options are only used by wx, they have been moved to gopts. In
  addition, the type of the option has been changed to "bool" when
  applicable.
* Some options are only used by SDL and do not have a corresponding
  configuration option, they have been moved to the SDL implementation.
* Some options are not used at all, they have been removed.
2023-02-04 21:39:13 -08:00
Rafael Kitover dc6659857c
translations: transifex pull
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-02-05 02:01:03 +00:00
Rafael Kitover 1c2a62f055 Include cstdint for wx
Close #1065

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-02-04 06:51:34 +00:00
Rafael Kitover 7d9cb2b5f0
Default GBA LCD filter to off.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-02-04 01:46:38 +00:00
Rafael Kitover 5385b477da
translations: transifex pull
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-02-02 02:01:02 +00:00
Rafael Kitover aabb70cb85
Followup on be1e5ca1, wrong ref var declaration
Fix rvalue variable declarations in be1e5ca1, the && associates with the
variable, not the type.

This has no effect on functionality.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-02-01 13:27:22 +00:00
Rafael Kitover 266512fbbc
translations: move ru trans to ru_RU, delete ru
Move ru.po to ru_RU.po because it is the more complete translation, and
the latter is checked first.

Fix #1057

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-02-01 05:06:35 +00:00
Rafael Kitover be1e5ca18c
Check for wx < 3.2.2 for EGL move fix backport
When executing the EGL subsurface move backport fix, check for loaded
library version < 3.2.2 so as not to execute an unnecessary EGL
subsurface move operation on versions which will already have the fix.

References #1028

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-02-01 04:58:56 +00:00
Lars Wendler 1fb18b320f Rename appdata to metainfo
See https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html
chapter 2.1.2 "Filesystem locations"

Signed-off-by: Lars Wendler <polynomial-c@gmx.de>
2023-01-20 06:14:56 -08:00
Rafael Kitover 561d6e1ab0
translations: transifex pull
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-01-17 02:01:00 +00:00
Rafael Kitover 78724bc893
translations: transifex pull
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-01-16 02:01:00 +00:00
Fabrice de Gans addd53b69d Remove all warnings in gba/bios.cpp
A regression from #1008 was identified as the root cause for #1050 and
fixed in #1051. This is a follow-up that changes the constants used
for `sineTable` to be unsigned hex, which fixes warnings in MSVC
without breaking changes.

Bug: #1003
2023-01-14 16:32:58 -08:00
Rafael Kitover 2e3ce863c7
translations: transifex pull
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-01-14 02:01:01 +00:00
Rafael Kitover 4c4ce3cf37
translations: transifex pull
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-01-13 02:01:00 +00:00
Squall Leonhart ca7ae3363e
Fix regression in bios, port DMA fix from libretro 2023-01-10 06:29:40 +00:00
Rafael Kitover 25bcf2e42d
translations: transifex pull
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-01-10 02:00:59 +00:00
Squall Leonhart b34448c9eb
Fix record/play dialogs for native recordings
Resolves assertions when opening the file selection dialog windows for
recordings.
2023-01-08 14:17:07 +00:00
Rafael Kitover 3989146fa5
build: enable severe warnings for MSVC release
Enable severe warnings for MSVC release builds with /W1.

Disable macro redefinition warnings explicitly with /wd4005.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-01-06 16:58:52 +00:00
Rafael Kitover 0a96d84581
build: make release build quieter
Silence output of nuget commands used to get gettext tools for the
Windows build.

Remove Objective-C++ source files (.mm extension) from the list of all
sources passed to xgettext to silence the warning about the file type
being unrecognized. These do not have any strings that need to be
translated.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-01-06 16:24:12 +00:00
Rafael Kitover 6a4115ca45 ci: fix macOS runner
It seems the GitHub Actions macOS image has a conflicting python in
/usr/local, invoke:

brew -v install python
brew link --overwrite python

, before installing dependencies.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2022-12-29 20:29:53 -08:00
Rafael Kitover 6307348cbc build: support MSVC arm64 cross build on x86
Adjust cmake code to support building a Windows arm64 binary on a
Windows x86/x64 host.

Add /EHsc to MSVC compiler flags for exception unwind support.

Check VCPKG_TARGET_TRIPLET in Architecture.cmake to set the appropriate
cmake variables for cross-compiling for arm64.

Add MSVC_x86_Host_Compile.cmake script, used from HostCompile.cmake, to
adjust the path of the cl.exe compiler and ENV{LIB} to build a C program
for x86 when cross-compiling, necessary for the bin2c utility.

Use wxrc from dependencies submodule when cross-compiling, because the
cross wxrc executable cannot be run on the host.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2022-12-29 20:29:53 -08:00
Rafael Kitover 77f1235a95 build: update Windows dependencies submodule
Update contains wxrc.exe for cross builds.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2022-12-29 20:29:53 -08:00
Rafael Kitover 9963b81506
translations: transifex pull
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2022-12-30 02:04:11 +00:00
Rafael Kitover 7a45c16539
translations: transifex pull
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2022-12-29 02:04:08 +00:00
Rafael Kitover 87bdc93e15
Revert "translations: use %% instead of percent"
This reverts commit 1ac7ac999b.

The %% sequence turned out to not be dealt with specially by gettext
tools.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2022-12-28 18:51:37 +00:00
Rafael Kitover ab4ae96e05
Clarify/set condition: wayland && !wayland_egl
Check for the condition where the windowing system has wayland support
but not wayland EGL support for wxGLCanvas in wx, in which case the
Simple renderer must be forced.

This is currently how the wx packages are built on Fedora.

Refer #1028

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2022-12-28 18:27:04 +00:00