Commit Graph

245 Commits

Author SHA1 Message Date
Eugene Sandulenko b65cf24c0e "ALL: Remove unused GNU FreeFont files
This reverts commit 01039f8aba.
2025-09-12 14:00:40 +02:00
Eugene Sandulenko 01039f8aba Revert "ALL: Remove unused GNU FreeFont files"
This reverts commit 4aece3f785.
2025-09-12 13:40:28 +02:00
Cameron Cawley 4aece3f785 ALL: Remove unused GNU FreeFont files 2025-09-07 00:00:04 +02:00
Donovan Watteau d6276aab76 CREATE_PROJECT: Add /opt/homebrew to Xcode header and lib paths
/opt/homebrew is the default prefix used by Homebrew on Apple Silicon.

See:
https://docs.brew.sh/Installation
2025-07-14 13:52:25 +02:00
SupSuper 3cfaa9506e CREATE_PROJECT: Add support for SDL3 2025-06-15 23:26:58 +03:00
Paweł Kołodziejski 2c22ce882b WINTERMUTE: Implemented post filters for shader renderer 2025-05-24 12:15:20 +02:00
Paweł Kołodziejski 4cfe9c0bbc DISTS: Update xcode create_project for shader files 2025-05-21 06:41:15 +02:00
Donovan Watteau 7613a635f6 BUILD: Promote to error any warning about functions lacking a return statement
Regarding the `configure` script, we now have:

  * default: add `-Werror=flag-name` for selected warnings where it's
    important to fail early (just `-Werror=return-type` for now)

  * --enable-Werror: use `-Werror` for all warnings

  * --disable-Werror: don't any `-Werror` flag

For Xcode, `-Werror=return-type` is added to default flags.

For MSVC, equivalent flags have been added to the existing
`globalErrors` list.

Suggested by sluicebox.
2025-04-25 19:25:51 +03:00
Michael Ball d91852d222 PLAYGROUND3D: Implement Tests 2 and 4 in OpenGLShaders renderer 2025-04-05 21:31:53 +02:00
cmd05 03ab265a97 FREESCAPE: add cubemap shaders to configuration lists 2025-03-22 12:10:19 +01:00
SupSuper 92cbe01360 CREATE_PROJECT: Add a52dec and libmpcdec 2024-10-17 06:41:40 +01:00
Lars Sundström 74caec446b DISTS: Add PrivacyInfo.xcprivacy to ios7 and tvos
Apple will require a valid privacy manifest file bundled for
applications uploaded to App Store Connect.
The privacy manifest describes the privacy practices of an app,
describing the reasons of use of some core APIs that can be
misused to try to identify the device or user, also known as
fingerprinting.

Read more about which APIs that require a privacy manifest here:
https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api

Add such manifest to ios7 and tvos ports and make sure they are
bundled with the app.
2024-09-06 15:49:46 +03:00
Eugene Sandulenko 1033d8ce68 CREATE_PROJECT: Added missing License files 2024-05-22 21:59:00 +02:00
elasota 4dc9ef2771 DISTS: Move engine data defs to dedicated files 2024-02-27 17:12:15 +01:00
polyesterswing 15a9c63565 AUDIO: Add libopenmpt support 2024-02-21 18:45:25 +01:00
Eugene Sandulenko 91c04fa311 DISTS: Rename cloud_connection.zip to helpdialog.zip and add it to the dist lists 2023-12-16 21:09:36 +01:00
Thierry Crozat 95a060e4fe AUDIO: Add a basic soundfont for fluidsynth
The soundfont was already included in the Libretro port. It is
now included in all platforms.
2023-12-03 16:17:32 +00:00
Eugene Sandulenko 90bd56e409 BUILD: Added fonts-cjk.dat to selected platforms
So far, it was added to all modern desktops, Android, iOS and Switch
2023-11-20 20:59:17 +01:00
Eugene Sandulenko de9287759b Revert "IOS7: Disable SCUMMVM_NEON in iOS builds"
This reverts commit f6585ae5f5.

Since the NEON codepath was fixed by fracturehill
2023-11-20 15:25:52 +01:00
Lars Sundström 94d859f790 DISTS: IOS7: Add ios-help.zip
Add zip file containing images for the help section for the iOS
port.
2023-10-11 23:14:37 +02:00
Thierry Crozat 04a7fa9d4b CREATE_PROJECT: Add missing classicmacfonts.dat in Xcode solution 2023-10-10 22:59:12 +01:00
Lars Sundström f6585ae5f5 IOS7: Disable SCUMMVM_NEON in iOS builds
Due to the current graphic problems when enabling the NEON
optimisations, disable it for the iOS port until the problems
have been fixed.
2023-10-10 20:55:48 +02:00
elasota 667cb63823 DEVTOOLS: Add precompiled header support to MSBuild/MSVC. 2023-09-29 21:37:10 +01:00
Walter Agazzi d117a48aaf DISTS: Keep Catharon license original naming 2023-09-03 22:27:43 +02:00
Walter Agazzi ab6b7b0360 DISTS: Add Catharon license and include in builds 2023-09-03 22:27:43 +02:00
Lars Sundström 76af53dc7f CREATE_PROJECT: Define SCUMMVM_NEON for iphoneos and tvos
Add the definition of SCUMMVM_NEON in create_project for the iOS
and tvOS targets. Do not add the same definition to corresponding
simulators since they can run on x86_64 hosts, which for obvious
reasons lacks support for NEON.
2023-09-03 22:26:37 +02:00
Cameron Cawley a7c8056d73 ULTIMA: Split Ultima 8 resources into a separate archive 2023-08-28 21:51:17 +02:00
Lars Sundström 6078586aec CREATE_PROJECT: Correct spelling of definition and shader file name
The GRIM define was incorrectly spelled GRIME which cause no shader
files to be included to the project preventing the game to start.

The freescape shader file freescape_triange.vertex also contained
a spelling error preventing the game to start.
2023-07-03 21:50:32 +02:00
Lars Sundström fb4f7d6de2 IOS7: Remove old IOS7 graphic handling
Delete the old graphic handling in the IOS7 backend which is not
used anymore after implementing iOSGraphicsManager.

The Accelerate framework is not used anymore. The OpenGLGraphics
manager handles the different color formats.
2023-07-03 21:50:32 +02:00
Lars Sundström e6232547d5 IOS7: Add iOSGraphicsManager class
The ios7 backend implements the graphic handling in the backend code.
iOS supports OpenGL through the OpenGL Framework since iOS 2.0. It's
marked as deprecated but is still shipped with the SDKs for iPhoneOS
and tvOS and will hopefully be so for some time.
The ios7 backend can therefore utilize the OpenGLGraphicsManager to
handle all graphics.

Implement an iOSGraphicsManager class that can be used in the ios7
backend. The iOSGraphicsManager will require some callback functions
in the ios7 backend. createOpenGLContext() will be called to ask the
backend to create an OpenGL context in which the graphic manager can
draw. The function returns the ID of the renderbuffer which shall be
used when creating the framebuffer object this differ iOS from other
platforms). A custom RenderBufferTarget class is added to address
this.

destroyOpenGLContext() will be called to make sure that the old GLES
context is not reused. notifyContextDestroy() does call the function
OpenGLContext.reset() but that will not destroy the context.

refreshScreen() will be called to ask the backend to present the
drawn graphics on the screen. getSystemHiDPIScreenFactor() is called
to get the screen scaling factor. getScreenWidth() and
getScreenHeight() are called to get the width and height of the
surface to draw on.

This commit adds the class but the ios7 backend doesn't make use of
it quite yet. To use it require the ios7 to be a child class of the
ModularGraphicsBackend. That change requires a lot of changes which
will be targeted in separate commits.

Update docportal and github ci worker to only disable the feature
opengl_classic_game since opengl and opengl_shaders are required to
compile the OpenGLGraphicsManager.
2023-07-03 21:50:32 +02:00
Lars Sundström d66538a133 CREATE_PROJECT: Set bitcode as disabled as default in Xcode
Apple never required bitcode to be enabled and with Xcode 14
bitcode is deprecated.

Set bitcode to disabled for iOS and tvOS projects. Else it will
be default on and give a build error due to the libraries in
scummvm-ios7-libs-v3 doesn't include bitcode.
2023-05-02 08:02:12 +02:00
Thierry Crozat a0e32ee370 IOS7: Remove support for non-sandboxed mode 2023-04-26 22:31:31 +01:00
Walter Agazzi a6fa65e87a CREATE_PROJECT: Add option to use XCFramework in iOS, tvOS and macOS
The introduction of Apple M1 processor, which is based on the arm64
architecture, makes it impossible to use fat static libraries for iOS
and tvOS since building libraries for the simulators targeting the
arm64 architecture conflicts with the iOS and tvOS native arm64
libraries. It's not possible to have two arm64 libraries targeting
different platforms in the same fat library.

Apple resolves this problem with XCFrameworks. Each XCFramework
contain an Info.plist specifying which platforms and architectures it
targets.

The new iOS and tvOS library package, scummvm-ios7-libs-v3, utilize
the XCFramework format and includes pre-compiled libraries for both
iOS and tvOS with corresponding simulator.

Add the option to use XCFramework in create_project by passing the
switch '--use-xcframework'

Implement support to use XCFrameworks for iOS, tvOS and macOS. If not
passing '--use-xcframework' to create_project, legacy behaviour is
applied.

This commit also add support for mikmod for tvOS.
2023-04-24 22:34:55 +02:00
Donovan Watteau db9f13d475 CREATE_PROJECT: Add libmikmod support 2023-04-10 20:14:22 +02:00
neuromancer 4f29dd4299 FREESCAPE: renamed shaders filenames and added them into shader.dat 2023-04-02 15:56:10 +02:00
Eugene Sandulenko 3a8312c072 DISTS: Added missing engine-data files to various lists 2023-03-17 13:37:26 +01:00
Eugene Sandulenko db16979e52 DEVTOOLS: Add missing freescape.dat to Xcode project 2023-03-17 11:32:31 +01:00
Donovan Watteau 18ab6803d6 JANITORIAL: Fix various "an" typos in comments 2023-03-16 14:47:28 +01:00
Eugene Sandulenko 43d7792d4e DEVTOOLS: Add USE_SDL2 to Xcode project 2023-03-09 01:32:54 +01:00
Eugene Sandulenko 10dda78ecc DISTS: Include MKV license in distribution packages 2023-03-05 21:47:13 +01:00
Eugene Sandulenko 53163f427a DEVTOOLS: Added libvpx support to create_project 2023-03-05 21:29:03 +01:00
Eugene Sandulenko ee048ce267 BUILD: Add nancy.dat to the DISTS list for all platforms 2023-03-02 14:33:21 +01:00
Lars Sundström 0d03655605 CREATE_PROJECT: Add Accelerate framework to iOS and tvOS
Add Apple Accelerate framework to iOS and tvOS targets. The framework
utilizes NEON extensions on the ARM chip to accelerate calculations.
This will come to use when processing texture data.
2023-02-09 22:52:11 +01:00
sluicebox d97bd0c817 CREATE_PROJECT: Set Xcode MACOSX_DEPLOYMENT_TARGET 2023-02-05 23:12:06 +01:00
Cameron Cawley 1558f7a784 STARK: Add a method for drawing filled rectangles 2023-02-03 00:37:20 +00:00
Lars Sundström 29efa1922e CREATE_PROJECT: Add Apple TV OS XCode target
Add Apple TV OS as a new target to the xcode project creator utility.
Make sure that TV OS specific files are not part of the iOS and macOS
targets and the other way around.
The TV OS project will utilize the same source code files as the iOS
project but will instead use the tvos dist files.
2023-01-29 21:13:51 +00:00
Paul Gilbert 027d7a5102 MM: Remove old xeen.ccs, change references to be mm.dat 2023-01-22 20:06:41 +01:00
Lothar Serra Mari 54d7bcd902 MACOSX: Add shaders.dat datafile to resource list 2023-01-22 18:45:14 +01:00
elasota 843776dd85 DEVTOOLS: Promote numerous VS warnings to errors.
Changes the following warnings to errors:
C4701: potential use of uninitialized local variable
C4703: potential use of uninitialized local pointer
C4456: declaration hides previous local declaration
C4003: not enough arguments for function-like macro invocation
C4840: use of non-trivial class as an argument to a variadic function
C4805: unsafe mix of bool and int in a numeric operation or comparison
C4305: truncation of double to float or int to bool
C4366: address taken of unaligned field and used as an aligned pointer
C4315: object constructed into an unaligned field with a constructor that expects it to be aligned
2022-12-25 16:31:57 +01:00
Donovan Watteau 700a8071e5 BUILD: Check if there's an fseeko/ftello with 64-bit off_t
Some systems have fseeko but you need to check that off_t is a 64-bit
value (and this requires some magic incantation on some platforms),
others need fseeko64(), Windows has a different symbol, and then some
systems only have an fseek() that's limited to <2GB files.

This is a first step in trying to improve this.
2022-12-11 21:48:33 +01:00