[Scummvm-git-logs] scummvm branch-3-0 -> 792d36244bc09a0d34ecb7d2002f8628463fd2e8
mikrosk
noreply at scummvm.org
Mon Dec 8 02:03:21 UTC 2025
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
f89855cba8 CONFIGURE: Don't rely on --disable switches for Atari/FireBee
792d36244b BACKENDS: ATARI: Create atarilitedist, atarifulldist and fbdist targets
Commit: f89855cba8979e7a3ff81157deb055a5f09f0d28
https://github.com/scummvm/scummvm/commit/f89855cba8979e7a3ff81157deb055a5f09f0d28
Author: Miro Kropacek (miro.kropacek at gmail.com)
Date: 2025-12-08T11:48:52+10:00
Commit Message:
CONFIGURE: Don't rely on --disable switches for Atari/FireBee
Changed paths:
.gitignore
backends/platform/atari/build-release.sh
backends/platform/atari/build-release.sh.in
backends/platform/atari/build-release030.sh
backends/platform/atari/build-release030.sh.in
configure
diff --git a/.gitignore b/.gitignore
index 5943bdf39e6..7b4df2939eb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -301,8 +301,7 @@ dists/emscripten/games/
dists/emscripten/emsdk-*
#Ignore Atari/FreeMiNT files
-scummvm.gtp
-scummvm.ttp
+scummvm.prg
#Ignore Python generated files
__pycache__/
diff --git a/backends/platform/atari/build-release.sh b/backends/platform/atari/build-release.sh
index e0bc45c9cfc..cc44d293aeb 100755
--- a/backends/platform/atari/build-release.sh
+++ b/backends/platform/atari/build-release.sh
@@ -28,22 +28,8 @@ then
--backend=atari \
--host=${PLATFORM} \
--enable-release \
- --disable-png \
- --disable-enet \
- --disable-mt32emu \
- --disable-lua \
- --disable-nuked-opl \
- --disable-16bit \
- --disable-scalers \
- --disable-aspect \
- --disable-translation \
- --disable-eventrecorder \
- --disable-tts \
- --opengl-mode=none \
--enable-verbose-build \
- --enable-text-console \
- --disable-engine=hugo,director,cine,ultima \
- --disable-detection-full
+ --disable-engine=hugo,director,cine,ultima
fi
make -j$(getconf _NPROCESSORS_CONF)
@@ -51,10 +37,10 @@ rm -rf dist-generic
make dist-generic
# create symbol file and strip
-rm dist-generic/scummvm/scummvm.ttp
-cp -a scummvm.ttp dist-generic/scummvm/scummvm.ttp
-${PLATFORM}-nm -C dist-generic/scummvm/scummvm.ttp | grep -vF ' .L' | grep ' [TtWV] ' | ${PLATFORM}-c++filt | sort -u > dist-generic/scummvm/scummvm.sym
-${PLATFORM}-strip -s dist-generic/scummvm/scummvm.ttp
+rm dist-generic/scummvm/scummvm.prg
+cp -a scummvm.prg dist-generic/scummvm/scummvm.prg
+${PLATFORM}-nm -C dist-generic/scummvm/scummvm.prg | grep -vF ' .L' | grep ' [TtWV] ' | ${PLATFORM}-c++filt | sort -u > dist-generic/scummvm/scummvm.sym
+${PLATFORM}-strip -s dist-generic/scummvm/scummvm.prg
# remove unused files; absent gui-icons.dat massively speeds up startup time (used for the grid mode)
rm dist-generic/scummvm/data/{achievements,classicmacfonts,encoding,gui-icons,hadesch_translations,macgui,prince_translation,shaders}.dat
diff --git a/backends/platform/atari/build-release.sh.in b/backends/platform/atari/build-release.sh.in
index e7f49eeb5e0..269f71e4b22 100755
--- a/backends/platform/atari/build-release.sh.in
+++ b/backends/platform/atari/build-release.sh.in
@@ -28,22 +28,8 @@ then
--backend=atari \
--host=${PLATFORM} \
--enable-release \
- --disable-png \
- --disable-enet \
- --disable-mt32emu \
- --disable-lua \
- --disable-nuked-opl \
- --disable-16bit \
- --disable-scalers \
- --disable-aspect \
- --disable-translation \
- --disable-eventrecorder \
- --disable-tts \
- --opengl-mode=none \
--enable-verbose-build \
- --enable-text-console \
- --disable-engine=hugo,director,cine,ultima \
- --disable-detection-full
+ --disable-engine=hugo,director,cine,ultima
fi
make -j$(getconf _NPROCESSORS_CONF)
@@ -51,10 +37,10 @@ rm -rf dist-generic
make dist-generic
# create symbol file and strip
-rm dist-generic/scummvm/scummvm.ttp
-cp -a scummvm.ttp dist-generic/scummvm/scummvm.ttp
-${PLATFORM}-nm -C dist-generic/scummvm/scummvm.ttp | grep -vF ' .L' | grep ' [TtWV] ' | ${PLATFORM}-c++filt | sort -u > dist-generic/scummvm/scummvm.sym
-${PLATFORM}-strip -s dist-generic/scummvm/scummvm.ttp
+rm dist-generic/scummvm/scummvm.prg
+cp -a scummvm.prg dist-generic/scummvm/scummvm.prg
+${PLATFORM}-nm -C dist-generic/scummvm/scummvm.prg | grep -vF ' .L' | grep ' [TtWV] ' | ${PLATFORM}-c++filt | sort -u > dist-generic/scummvm/scummvm.sym
+${PLATFORM}-strip -s dist-generic/scummvm/scummvm.prg
# remove unused files; absent gui-icons.dat massively speeds up startup time (used for the grid mode)
rm dist-generic/scummvm/data/{achievements,classicmacfonts,encoding,gui-icons,hadesch_translations,macgui,prince_translation,shaders}.dat
diff --git a/backends/platform/atari/build-release030.sh b/backends/platform/atari/build-release030.sh
index a94870d55b1..549935269c5 100755
--- a/backends/platform/atari/build-release030.sh
+++ b/backends/platform/atari/build-release030.sh
@@ -27,24 +27,10 @@ then
--backend=atari \
--host=${PLATFORM} \
--enable-release \
- --disable-png \
- --disable-enet \
- --disable-mt32emu \
- --disable-lua \
- --disable-nuked-opl \
- --disable-16bit \
--disable-highres \
- --disable-scalers \
- --disable-aspect \
- --disable-translation \
- --disable-eventrecorder \
- --disable-tts \
--disable-bink \
- --opengl-mode=none \
--enable-verbose-build \
- --enable-text-console \
- --disable-engine=hugo,director,cine,ultima \
- --disable-detection-full
+ --disable-engine=hugo,director,cine,ultima
fi
make -j$(getconf _NPROCESSORS_CONF)
@@ -52,10 +38,10 @@ rm -rf dist-generic
make dist-generic
# create symbol file and strip
-rm dist-generic/scummvm/scummvm.ttp
-cp -a scummvm.ttp dist-generic/scummvm/scummvm.ttp
-${PLATFORM}-nm -C dist-generic/scummvm/scummvm.ttp | grep -vF ' .L' | grep ' [TtWV] ' | ${PLATFORM}-c++filt | sort -u > dist-generic/scummvm/scummvm.sym
-${PLATFORM}-strip -s dist-generic/scummvm/scummvm.ttp
+rm dist-generic/scummvm/scummvm.prg
+cp -a scummvm.prg dist-generic/scummvm/scummvm.prg
+${PLATFORM}-nm -C dist-generic/scummvm/scummvm.prg | grep -vF ' .L' | grep ' [TtWV] ' | ${PLATFORM}-c++filt | sort -u > dist-generic/scummvm/scummvm.sym
+${PLATFORM}-strip -s dist-generic/scummvm/scummvm.prg
# remove unused files
rm dist-generic/scummvm/data/*.zip dist-generic/scummvm/data/{achievements,classicmacfonts,encoding,gui-icons,macgui,shaders}.dat
diff --git a/backends/platform/atari/build-release030.sh.in b/backends/platform/atari/build-release030.sh.in
index b3291282e2a..d3dc5a70872 100755
--- a/backends/platform/atari/build-release030.sh.in
+++ b/backends/platform/atari/build-release030.sh.in
@@ -27,24 +27,10 @@ then
--backend=atari \
--host=${PLATFORM} \
--enable-release \
- --disable-png \
- --disable-enet \
- --disable-mt32emu \
- --disable-lua \
- --disable-nuked-opl \
- --disable-16bit \
--disable-highres \
- --disable-scalers \
- --disable-aspect \
- --disable-translation \
- --disable-eventrecorder \
- --disable-tts \
--disable-bink \
- --opengl-mode=none \
--enable-verbose-build \
- --enable-text-console \
- --disable-engine=hugo,director,cine,ultima \
- --disable-detection-full
+ --disable-engine=hugo,director,cine,ultima
fi
make -j$(getconf _NPROCESSORS_CONF)
@@ -52,10 +38,10 @@ rm -rf dist-generic
make dist-generic
# create symbol file and strip
-rm dist-generic/scummvm/scummvm.ttp
-cp -a scummvm.ttp dist-generic/scummvm/scummvm.ttp
-${PLATFORM}-nm -C dist-generic/scummvm/scummvm.ttp | grep -vF ' .L' | grep ' [TtWV] ' | ${PLATFORM}-c++filt | sort -u > dist-generic/scummvm/scummvm.sym
-${PLATFORM}-strip -s dist-generic/scummvm/scummvm.ttp
+rm dist-generic/scummvm/scummvm.prg
+cp -a scummvm.prg dist-generic/scummvm/scummvm.prg
+${PLATFORM}-nm -C dist-generic/scummvm/scummvm.prg | grep -vF ' .L' | grep ' [TtWV] ' | ${PLATFORM}-c++filt | sort -u > dist-generic/scummvm/scummvm.sym
+${PLATFORM}-strip -s dist-generic/scummvm/scummvm.prg
# remove unused files
rm dist-generic/scummvm/data/*.zip dist-generic/scummvm/data/{achievements,classicmacfonts,encoding,gui-icons,macgui,shaders}.dat
diff --git a/configure b/configure
index b094dc041ef..77e9c3a5fe0 100755
--- a/configure
+++ b/configure
@@ -668,13 +668,7 @@ get_system_exe_extension() {
_exeext=".exe"
;;
mint)
- if test "$_backend" = "atari"; then
- # ATARI backend
- _exeext=".ttp"
- else
- # SDL backend
- _exeext=".gtp"
- fi
+ _exeext=".prg"
;;
emscripten)
_exeext=".html"
@@ -3435,7 +3429,6 @@ EOF
mint*)
append_var DEFINES "-DSYSTEM_NOT_SUPPORTING_D_TYPE"
append_var DEFINES "-D_GNU_SOURCE"
- append_var DEFINES "-D_ISOC11_SOURCE"
;;
morphos*)
if test "$_debug_build" = no; then
@@ -3853,8 +3846,39 @@ if test -n "$_host"; then
append_var LDFLAGS "-Wl,--msuper-memory"
append_var LDFLAGS "-Wl,--stack,256k"
+ # common defines for atari and firebee/sdl backends
+ _sdlnet=no
+ _libcurl=no
+ _enet=no
+ _flac=no
+ _alsa=no
_seq_midi=no
+ _sndio=no
_timidity=no
+ _mpeg2=no
+ _a52=no
+ _vpx=no
+ _faad=no
+ _fluidsynth=no
+ _fluidlite=no
+ _sonivox=no
+ _opengl_mode=none
+ _tinygl=no
+ _tts=no
+ _fribidi=no
+ _discord=no
+ _text_console=yes # USE_TEXT_CONSOLE_FOR_DEBUGGER
+ _mt32emu=no
+ _lua=no
+ _build_hq_scalers=no
+ _cloud=no
+ _curl=no
+ _translation=no
+ _lua=no
+ _sid_audio=no
+ _tinygl=no
+ _nuked_opl=no
+ _detection_features_full=no
;;
maemo)
_optimization_level=-Os
@@ -4163,7 +4187,21 @@ case $_backend in
append_var DEFINES "-DDISABLE_NES_APU"
#append_var DEFINES "-DDISABLE_DOSBOX_OPL"
append_var LIBS "-lgem"
- _sid_audio=no
+ _ogg=no
+ _vorbis=no
+ _tremor=no
+ _mad=no
+ _jpeg=no
+ _png=no
+ _gif=no
+ _theoradec=no
+ _readline=no
+ _freetype2=no
+ _libmikmod=no
+ _libopenmpt=no
+ _libmpcdec=no
+ _build_scalers=no
+ _build_aspect=no
;;
dc)
append_var INCLUDES '-I$(srcdir)/backends/platform/dc'
@@ -4729,7 +4767,7 @@ fi
# Enable 16bit support only for backends which support it
#
case $_backend in
- 3ds | android | dc | ds | emscripten |ios7 | kolibrios | maemo | null | opendingux | miyoomini | miyoo | openpandora | psp | psp2 | sailfish | samsungtv | sdl | switch | wii)
+ 3ds | android | dc | ds | emscripten | ios7 | kolibrios | maemo | null | opendingux | miyoomini | miyoo | openpandora | psp | psp2 | sailfish | samsungtv | sdl | switch | wii)
if test "$_16bit" = auto ; then
_16bit=yes
else
Commit: 792d36244bc09a0d34ecb7d2002f8628463fd2e8
https://github.com/scummvm/scummvm/commit/792d36244bc09a0d34ecb7d2002f8628463fd2e8
Author: Miro Kropacek (miro.kropacek at gmail.com)
Date: 2025-12-08T11:49:52+10:00
Commit Message:
BACKENDS: ATARI: Create atarilitedist, atarifulldist and fbdist targets
This should make buildbot integration easier.
Changed paths:
A backends/platform/atari/atari.mk
A backends/platform/atari/build-firebee.sh
A backends/platform/atari/patches/print_rate.patch
A backends/platform/atari/patches/tooltips.patch
R backends/platform/atari/build-release.sh.in
R backends/platform/atari/build-release030.sh.in
Makefile
backends/platform/atari/build-release.sh
backends/platform/atari/build-release030.sh
configure
devtools/update-version.pl
diff --git a/Makefile b/Makefile
index 24cb324a362..8cbe36b3356 100644
--- a/Makefile
+++ b/Makefile
@@ -97,7 +97,7 @@ include $(srcdir)/Makefile.common
ENGINE_SUBDIRS_CONFIGURE := $(wildcard $(srcdir)/engines/*/configure.engine)
config.h:
-SAVED_ENV_VARS = AR AS ASFLAGS CPPFLAGS CXX CXXFLAGS LD LDFLAGS RANLIB SDL_CONFIG STRIP WINDRES WINDRESFLAGS
+SAVED_ENV_VARS = AR AS ASFLAGS CPPFILT CPPFLAGS CXX CXXFLAGS LD LDFLAGS NM RANLIB SDL_CONFIG STRIP WINDRES WINDRESFLAGS
# The environment variable PKG_CONFIG_LIBDIR has a different meaning
# for pkg-config when it is empty and when it is not defined.
diff --git a/backends/platform/atari/atari.mk b/backends/platform/atari/atari.mk
new file mode 100644
index 00000000000..85b38bd9063
--- /dev/null
+++ b/backends/platform/atari/atari.mk
@@ -0,0 +1,128 @@
+.PHONY: atarilitedist atarifulldist fbdist
+
+DIST_FILES_PLATFORM := $(srcdir)/backends/platform/atari/readme.txt
+ifneq (${BACKEND},sdl)
+DIST_FILES_PLATFORM += $(srcdir)/backends/platform/atari/patches
+endif
+
+LITE_DIR := scummvm-${VERSION}-atari-lite
+LITE_DATA := ${LITE_DIR}/data
+LITE_DOCS := ${LITE_DIR}/doc
+LITE_THEMES :=
+
+FULL_DIR := scummvm-${VERSION}-atari-full
+FULL_DATA := ${FULL_DIR}/data
+FULL_DOCS := ${FULL_DIR}/doc
+FULL_THEMES := ${FULL_DIR}/themes
+
+FB_DIR := scummvm-${VERSION}-firebee
+FB_DATA := ${FB_DIR}
+FB_DOCS := ${FB_DIR}/doc
+FB_THEMES := ${FB_DIR}
+
+atarilitedist: $(EXECUTABLE)
+ $(RM_REC) ${LITE_DIR}
+ $(MKDIR) ${LITE_DIR}
+
+ $(CP) -a $(EXECUTABLE) ${LITE_DIR}
+ $(NM) -C ${LITE_DIR}/$(EXECUTABLE) | grep -vF ' .L' | grep ' [TtWV] ' | $(CPPFILT) | sort -u > ${LITE_DIR}/scummvm.sym
+ $(STRIP) -s ${LITE_DIR}/$(EXECUTABLE)
+
+ $(MKDIR) ${LITE_DOCS}
+ $(CP) -a $(DIST_FILES_DOCS) ${LITE_DOCS}
+
+ $(MKDIR) ${LITE_DATA}
+ $(CP) -a $(DIST_FILES_ENGINEDATA) $(DIST_FILES_ENGINEDATA_BIG) ${LITE_DATA}
+
+ # remove unused files
+ $(RM) ${LITE_DATA}/helpdialog.zip ${LITE_DATA}/{achievements,classicmacfonts,encoding,macgui}.dat
+
+ # rename remaining files still not fitting into the 8+3 limit (this has to be supported by the backend, too)
+ mv ${LITE_DATA}/supernova.dat ${LITE_DATA}/supernov.dat
+ mv ${LITE_DATA}/teenagent.dat ${LITE_DATA}/teenagen.dat
+
+ # readme.txt
+ $(CP) -r $(DIST_FILES_PLATFORM) ${LITE_DIR}
+ unix2dos ${LITE_DIR}/readme.txt
+
+ $(RM) ../${LITE_DIR}.zip
+ $(ZIP) -r -9 ../${LITE_DIR}.zip ${LITE_DIR}
+
+atarifulldist: $(EXECUTABLE)
+ $(RM_REC) ${FULL_DIR}
+ $(MKDIR) ${FULL_DIR}
+
+ $(CP) -a $(EXECUTABLE) ${FULL_DIR}
+ $(NM) -C ${FULL_DIR}/$(EXECUTABLE) | grep -vF ' .L' | grep ' [TtWV] ' | $(CPPFILT) | sort -u > ${FULL_DIR}/scummvm.sym
+ $(STRIP) -s ${FULL_DIR}/$(EXECUTABLE)
+
+ $(MKDIR) ${FULL_DOCS}
+ $(CP) -a $(DIST_FILES_DOCS) ${FULL_DOCS}
+
+ $(MKDIR) ${FULL_DATA}
+ $(CP) -a $(DIST_FILES_ENGINEDATA) $(DIST_FILES_ENGINEDATA_BIG) ${FULL_DATA}
+
+ # remove unused files
+ $(RM) ${FULL_DATA}/helpdialog.zip ${FULL_DATA}/{achievements,classicmacfonts,encoding,hadesch_translations,macgui,prince_translation}.dat
+
+ # rename remaining files still not fitting into the 8+3 limit (this has to be supported by the backend, too)
+ mv ${FULL_DATA}/cryomni3d.dat ${FULL_DATA}/cryomni3.dat
+ mv ${FULL_DATA}/neverhood.dat ${FULL_DATA}/neverhoo.dat
+ mv ${FULL_DATA}/supernova.dat ${FULL_DATA}/supernov.dat
+ mv ${FULL_DATA}/teenagent.dat ${FULL_DATA}/teenagen.dat
+
+ $(MKDIR) ${FULL_THEMES}
+ $(CP) -a $(DIST_FILES_THEMES) ${FULL_THEMES}
+
+ # remove unused files; absent gui-icons.dat massively speeds up startup time (it is used for the grid mode only)
+ $(RM) ${FULL_THEMES}/{gui-icons,shaders}.dat
+
+ # adjust to compression level zero for faster depacking
+ cd ${FULL_THEMES} && \
+ for f in *.zip; \
+ do \
+ unzip -q -d tmp "$$f" && $(RM) "$$f" && cd tmp && $(ZIP) -0 "../$$f" * && cd .. && $(RM_REC) tmp; \
+ done
+
+ # readme.txt
+ $(CP) -r $(DIST_FILES_PLATFORM) ${FULL_DIR}
+ unix2dos ${FULL_DIR}/readme.txt
+
+ $(RM) ../${FULL_DIR}.zip
+ $(ZIP) -r -9 ../${FULL_DIR}.zip ${FULL_DIR}
+
+fbdist: $(EXECUTABLE)
+ $(RM_REC) ${FB_DIR}
+ $(MKDIR) ${FB_DIR}
+
+ $(CP) -a $(EXECUTABLE) ${FB_DIR}
+ $(STRIP) -s ${FB_DIR}/$(EXECUTABLE)
+
+ $(MKDIR) ${FB_DOCS}
+ $(CP) -a $(DIST_FILES_DOCS) ${FB_DOCS}
+
+ $(MKDIR) ${FB_DATA}
+ $(CP) -a $(DIST_FILES_ENGINEDATA) $(DIST_FILES_ENGINEDATA_BIG) ${FB_DATA}
+
+ # remove unused files
+ $(RM) ${FB_DATA}/helpdialog.zip ${FULL_DATA}/{achievements,classicmacfonts,encoding,hadesch_translations,macgui,prince_translation}.dat
+
+ $(MKDIR) ${FB_THEMES}
+ $(CP) -a $(DIST_FILES_THEMES) ${FB_THEMES}
+
+ # remove unused files
+ $(RM) ${FB_THEMES}/{shaders}.dat
+
+ # adjust to compression level zero for faster depacking
+ cd ${FB_THEMES} && \
+ for f in *.zip; \
+ do \
+ unzip -q -d tmp "$$f" && $(RM) "$$f" && cd tmp && $(ZIP) -0 "../$$f" * && cd .. && $(RM_REC) tmp; \
+ done
+
+ # readme.txt
+ $(CP) -r $(DIST_FILES_PLATFORM) ${FB_DIR}
+ unix2dos ${FB_DIR}/readme.txt
+
+ $(RM) ../${FB_DIR}.zip
+ $(ZIP) -r -9 ../${FB_DIR}.zip ${FB_DIR}
diff --git a/backends/platform/atari/build-firebee.sh b/backends/platform/atari/build-firebee.sh
new file mode 100755
index 00000000000..9d450eac506
--- /dev/null
+++ b/backends/platform/atari/build-firebee.sh
@@ -0,0 +1,45 @@
+#!/bin/bash -eux
+# -e: Exit immediately if a command exits with a non-zero status.
+# -u: Treat unset variables as an error when substituting.
+# -x: Display expanded script commands
+
+mkdir -p build-firebee
+cd build-firebee
+
+PLATFORM=m68k-atari-mintelf
+FASTCALL=false
+export CXXFLAGS="-mcpu=5475"
+export LDFLAGS="-mcpu=5475"
+#export CXXFLAGS="-m68020-60"
+#export LDFLAGS="-m68020-60"
+
+CPU_DIR=$(${PLATFORM}-gcc ${CXXFLAGS} -print-multi-directory)
+
+export PKG_CONFIG_LIBDIR="$(${PLATFORM}-gcc -print-sysroot)/usr/lib/${CPU_DIR}/pkgconfig"
+
+if $FASTCALL
+then
+ CXXFLAGS="$CXXFLAGS -mfastcall"
+ LDFLAGS="$LDFLAGS -mfastcall"
+fi
+
+if [ -f ../backends/platform/atari/.patched ]
+then
+ echo "FireBee SDL target shouldn't contain any ATARI patches!"
+ exit 1
+fi
+
+
+if [ ! -f config.log ]
+then
+../configure \
+ --backend=sdl \
+ --host=${PLATFORM} \
+ --with-sdl-prefix="$(${PLATFORM}-gcc -print-sysroot)/usr/bin/${CPU_DIR}" \
+ --with-freetype2-prefix="$(${PLATFORM}-gcc -print-sysroot)/usr/bin/${CPU_DIR}" \
+ --with-mikmod-prefix="$(${PLATFORM}-gcc -print-sysroot)/usr/bin/${CPU_DIR}" \
+ --enable-release \
+ --enable-verbose-build
+fi
+
+make -j$(getconf _NPROCESSORS_CONF) fbdist
diff --git a/backends/platform/atari/build-release.sh b/backends/platform/atari/build-release.sh
index cc44d293aeb..2e2be6cd360 100755
--- a/backends/platform/atari/build-release.sh
+++ b/backends/platform/atari/build-release.sh
@@ -8,11 +8,10 @@ cd build-release
PLATFORM=m68k-atari-mintelf
FASTCALL=false
-
export ASFLAGS="-m68020-60"
export CXXFLAGS="-m68020-60 -DUSE_MOVE16 -DUSE_SUPERVIDEL -DUSE_SV_BLITTER -DDISABLE_LAUNCHERDISPLAY_GRID"
-
export LDFLAGS="-m68020-60"
+
export PKG_CONFIG_LIBDIR="$(${PLATFORM}-gcc -print-sysroot)/usr/lib/m68020-60/pkgconfig"
if $FASTCALL
@@ -22,6 +21,13 @@ then
LDFLAGS="$LDFLAGS -mfastcall"
fi
+if [ ! -f ../backends/platform/atari/.patched ]
+then
+ cd .. && cat backends/platform/atari/patches/print_rate.patch | patch -p1 && cd -
+ cd .. && cat backends/platform/atari/patches/tooltips.patch | patch -p1 && cd -
+ touch ../backends/platform/atari/.patched
+fi
+
if [ ! -f config.log ]
then
../configure \
@@ -32,43 +38,4 @@ then
--disable-engine=hugo,director,cine,ultima
fi
-make -j$(getconf _NPROCESSORS_CONF)
-rm -rf dist-generic
-make dist-generic
-
-# create symbol file and strip
-rm dist-generic/scummvm/scummvm.prg
-cp -a scummvm.prg dist-generic/scummvm/scummvm.prg
-${PLATFORM}-nm -C dist-generic/scummvm/scummvm.prg | grep -vF ' .L' | grep ' [TtWV] ' | ${PLATFORM}-c++filt | sort -u > dist-generic/scummvm/scummvm.sym
-${PLATFORM}-strip -s dist-generic/scummvm/scummvm.prg
-
-# remove unused files; absent gui-icons.dat massively speeds up startup time (used for the grid mode)
-rm dist-generic/scummvm/data/{achievements,classicmacfonts,encoding,gui-icons,hadesch_translations,macgui,prince_translation,shaders}.dat
-
-# rename remaining files still not fitting into the 8+3 limit (this has to be supported by the backend, too)
-mv dist-generic/scummvm/data/cryomni3d.dat dist-generic/scummvm/data/cryomni3.dat
-mv dist-generic/scummvm/data/neverhood.dat dist-generic/scummvm/data/neverhoo.dat
-mv dist-generic/scummvm/data/supernova.dat dist-generic/scummvm/data/supernov.dat
-mv dist-generic/scummvm/data/teenagent.dat dist-generic/scummvm/data/teenagen.dat
-
-# move themes into 'themes' folder (with compression level zero for faster depacking)
-mkdir -p dist-generic/scummvm/themes
-cd dist-generic/scummvm/themes
-(
-for f in ../data/*.zip
-do
- unzip -d tmp "$f" && cd tmp && zip -0 ../$(basename "$f") * && cd .. && rm -r tmp && rm "$f"
-done
-)
-cd -
-
-# readme.txt
-cp ../backends/platform/atari/readme.txt dist-generic/scummvm
-unix2dos dist-generic/scummvm/readme.txt
-
-cd dist-generic
-mv scummvm scummvm-3.0.0pre-atari-full
-zip -r -9 scummvm-3.0.0pre-atari-full.zip scummvm-3.0.0pre-atari-full
-cd -
-
-mv dist-generic/scummvm-3.0.0pre-atari-full.zip ..
+make -j$(getconf _NPROCESSORS_CONF) atarifulldist
diff --git a/backends/platform/atari/build-release.sh.in b/backends/platform/atari/build-release.sh.in
deleted file mode 100755
index 269f71e4b22..00000000000
--- a/backends/platform/atari/build-release.sh.in
+++ /dev/null
@@ -1,74 +0,0 @@
-#!/bin/bash -eux
-# -e: Exit immediately if a command exits with a non-zero status.
-# -u: Treat unset variables as an error when substituting.
-# -x: Display expanded script commands
-
-mkdir -p build-release
-cd build-release
-
-PLATFORM=m68k-atari-mintelf
-FASTCALL=false
-
-export ASFLAGS="-m68020-60"
-export CXXFLAGS="-m68020-60 -DUSE_MOVE16 -DUSE_SUPERVIDEL -DUSE_SV_BLITTER -DDISABLE_LAUNCHERDISPLAY_GRID"
-
-export LDFLAGS="-m68020-60"
-export PKG_CONFIG_LIBDIR="$(${PLATFORM}-gcc -print-sysroot)/usr/lib/m68020-60/pkgconfig"
-
-if $FASTCALL
-then
- ASFLAGS="$ASFLAGS -mfastcall"
- CXXFLAGS="$CXXFLAGS -mfastcall"
- LDFLAGS="$LDFLAGS -mfastcall"
-fi
-
-if [ ! -f config.log ]
-then
-../configure \
- --backend=atari \
- --host=${PLATFORM} \
- --enable-release \
- --enable-verbose-build \
- --disable-engine=hugo,director,cine,ultima
-fi
-
-make -j$(getconf _NPROCESSORS_CONF)
-rm -rf dist-generic
-make dist-generic
-
-# create symbol file and strip
-rm dist-generic/scummvm/scummvm.prg
-cp -a scummvm.prg dist-generic/scummvm/scummvm.prg
-${PLATFORM}-nm -C dist-generic/scummvm/scummvm.prg | grep -vF ' .L' | grep ' [TtWV] ' | ${PLATFORM}-c++filt | sort -u > dist-generic/scummvm/scummvm.sym
-${PLATFORM}-strip -s dist-generic/scummvm/scummvm.prg
-
-# remove unused files; absent gui-icons.dat massively speeds up startup time (used for the grid mode)
-rm dist-generic/scummvm/data/{achievements,classicmacfonts,encoding,gui-icons,hadesch_translations,macgui,prince_translation,shaders}.dat
-
-# rename remaining files still not fitting into the 8+3 limit (this has to be supported by the backend, too)
-mv dist-generic/scummvm/data/cryomni3d.dat dist-generic/scummvm/data/cryomni3.dat
-mv dist-generic/scummvm/data/neverhood.dat dist-generic/scummvm/data/neverhoo.dat
-mv dist-generic/scummvm/data/supernova.dat dist-generic/scummvm/data/supernov.dat
-mv dist-generic/scummvm/data/teenagent.dat dist-generic/scummvm/data/teenagen.dat
-
-# move themes into 'themes' folder (with compression level zero for faster depacking)
-mkdir -p dist-generic/scummvm/themes
-cd dist-generic/scummvm/themes
-(
-for f in ../data/*.zip
-do
- unzip -d tmp "$f" && cd tmp && zip -0 ../$(basename "$f") * && cd .. && rm -r tmp && rm "$f"
-done
-)
-cd -
-
-# readme.txt
-cp ../backends/platform/atari/readme.txt dist-generic/scummvm
-unix2dos dist-generic/scummvm/readme.txt
-
-cd dist-generic
-mv scummvm scummvm- at VERSION@-atari-full
-zip -r -9 scummvm- at VERSION@-atari-full.zip scummvm- at VERSION@-atari-full
-cd -
-
-mv dist-generic/scummvm- at VERSION@-atari-full.zip ..
diff --git a/backends/platform/atari/build-release030.sh b/backends/platform/atari/build-release030.sh
index 549935269c5..df1f851e22f 100755
--- a/backends/platform/atari/build-release030.sh
+++ b/backends/platform/atari/build-release030.sh
@@ -8,10 +8,10 @@ cd build-release030
PLATFORM=m68k-atari-mintelf
FASTCALL=false
-
export ASFLAGS="-m68030"
export CXXFLAGS="-m68030 -DDISABLE_FANCY_THEMES"
export LDFLAGS="-m68030"
+
export PKG_CONFIG_LIBDIR="$(${PLATFORM}-gcc -print-sysroot)/usr/lib/m68020-60/pkgconfig"
if $FASTCALL
@@ -21,6 +21,13 @@ then
LDFLAGS="$LDFLAGS -mfastcall"
fi
+if [ ! -f ../backends/platform/atari/.patched ]
+then
+ cd .. && cat backends/platform/atari/patches/print_rate.patch | patch -p1 && cd -
+ cd .. && cat backends/platform/atari/patches/tooltips.patch | patch -p1 && cd -
+ touch ../backends/platform/atari/.patched
+fi
+
if [ ! -f config.log ]
then
../configure \
@@ -33,30 +40,4 @@ then
--disable-engine=hugo,director,cine,ultima
fi
-make -j$(getconf _NPROCESSORS_CONF)
-rm -rf dist-generic
-make dist-generic
-
-# create symbol file and strip
-rm dist-generic/scummvm/scummvm.prg
-cp -a scummvm.prg dist-generic/scummvm/scummvm.prg
-${PLATFORM}-nm -C dist-generic/scummvm/scummvm.prg | grep -vF ' .L' | grep ' [TtWV] ' | ${PLATFORM}-c++filt | sort -u > dist-generic/scummvm/scummvm.sym
-${PLATFORM}-strip -s dist-generic/scummvm/scummvm.prg
-
-# remove unused files
-rm dist-generic/scummvm/data/*.zip dist-generic/scummvm/data/{achievements,classicmacfonts,encoding,gui-icons,macgui,shaders}.dat
-
-# rename remaining files still not fitting into the 8+3 limit (this has to be supported by the backend, too)
-mv dist-generic/scummvm/data/supernova.dat dist-generic/scummvm/data/supernov.dat
-mv dist-generic/scummvm/data/teenagent.dat dist-generic/scummvm/data/teenagen.dat
-
-# readme.txt
-cp ../backends/platform/atari/readme.txt dist-generic/scummvm
-unix2dos dist-generic/scummvm/readme.txt
-
-cd dist-generic
-mv scummvm scummvm-3.0.0pre-atari-lite
-zip -r -9 scummvm-3.0.0pre-atari-lite.zip scummvm-3.0.0pre-atari-lite
-cd -
-
-mv dist-generic/scummvm-3.0.0pre-atari-lite.zip ..
+make -j$(getconf _NPROCESSORS_CONF) atarilitedist
diff --git a/backends/platform/atari/build-release030.sh.in b/backends/platform/atari/build-release030.sh.in
deleted file mode 100755
index d3dc5a70872..00000000000
--- a/backends/platform/atari/build-release030.sh.in
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/bin/bash -eux
-# -e: Exit immediately if a command exits with a non-zero status.
-# -u: Treat unset variables as an error when substituting.
-# -x: Display expanded script commands
-
-mkdir -p build-release030
-cd build-release030
-
-PLATFORM=m68k-atari-mintelf
-FASTCALL=false
-
-export ASFLAGS="-m68030"
-export CXXFLAGS="-m68030 -DDISABLE_FANCY_THEMES"
-export LDFLAGS="-m68030"
-export PKG_CONFIG_LIBDIR="$(${PLATFORM}-gcc -print-sysroot)/usr/lib/m68020-60/pkgconfig"
-
-if $FASTCALL
-then
- ASFLAGS="$ASFLAGS -mfastcall"
- CXXFLAGS="$CXXFLAGS -mfastcall"
- LDFLAGS="$LDFLAGS -mfastcall"
-fi
-
-if [ ! -f config.log ]
-then
-../configure \
- --backend=atari \
- --host=${PLATFORM} \
- --enable-release \
- --disable-highres \
- --disable-bink \
- --enable-verbose-build \
- --disable-engine=hugo,director,cine,ultima
-fi
-
-make -j$(getconf _NPROCESSORS_CONF)
-rm -rf dist-generic
-make dist-generic
-
-# create symbol file and strip
-rm dist-generic/scummvm/scummvm.prg
-cp -a scummvm.prg dist-generic/scummvm/scummvm.prg
-${PLATFORM}-nm -C dist-generic/scummvm/scummvm.prg | grep -vF ' .L' | grep ' [TtWV] ' | ${PLATFORM}-c++filt | sort -u > dist-generic/scummvm/scummvm.sym
-${PLATFORM}-strip -s dist-generic/scummvm/scummvm.prg
-
-# remove unused files
-rm dist-generic/scummvm/data/*.zip dist-generic/scummvm/data/{achievements,classicmacfonts,encoding,gui-icons,macgui,shaders}.dat
-
-# rename remaining files still not fitting into the 8+3 limit (this has to be supported by the backend, too)
-mv dist-generic/scummvm/data/supernova.dat dist-generic/scummvm/data/supernov.dat
-mv dist-generic/scummvm/data/teenagent.dat dist-generic/scummvm/data/teenagen.dat
-
-# readme.txt
-cp ../backends/platform/atari/readme.txt dist-generic/scummvm
-unix2dos dist-generic/scummvm/readme.txt
-
-cd dist-generic
-mv scummvm scummvm- at VERSION@-atari-lite
-zip -r -9 scummvm- at VERSION@-atari-lite.zip scummvm- at VERSION@-atari-lite
-cd -
-
-mv dist-generic/scummvm- at VERSION@-atari-lite.zip ..
diff --git a/backends/platform/atari/patches/print_rate.patch b/backends/platform/atari/patches/print_rate.patch
new file mode 100644
index 00000000000..e83b6826e71
--- /dev/null
+++ b/backends/platform/atari/patches/print_rate.patch
@@ -0,0 +1,69 @@
+commit 21a79a50b54df8b3c377f275e1d7bfa76ee50899
+Author: Miro Kropacek <miro.kropacek at gmail.com>
+Date: Tue Oct 31 23:48:25 2023 +0100
+
+ Introduce "print_rate"
+
+ This will never go to upstream.
+
+diff --git a/audio/rate.cpp b/audio/rate.cpp
+index 7f0c50f9250..83dde41462f 100644
+--- a/audio/rate.cpp
++++ b/audio/rate.cpp
+@@ -30,6 +30,8 @@
+ #include "audio/audiostream.h"
+ #include "audio/rate.h"
+ #include "audio/mixer.h"
++#include "backends/platform/atari/atari-debug.h"
++#include "common/config-manager.h"
+ #include "common/util.h"
+
+ namespace Audio {
+@@ -80,6 +82,20 @@ private:
+ int simpleConvert(AudioStream &input, st_sample_t *outBuffer, st_size_t numSamples, st_volume_t vol_l, st_volume_t vol_r);
+ int interpolateConvert(AudioStream &input, st_sample_t *outBuffer, st_size_t numSamples, st_volume_t vol_l, st_volume_t vol_r);
+
++ void printConvertType(const Common::String &name) {
++ const Common::ConfigManager::Domain *activeDomain = ConfMan.getActiveDomain();
++ if (activeDomain && ConfMan.getBool("print_rate")) {
++ static st_rate_t previousInRate, previousOutRate;
++ if (previousInRate != _inRate || previousOutRate != _outRate) {
++ previousInRate = _inRate;
++ previousOutRate = _outRate;
++ atari_debug("RateConverter_Impl::%s[%s]: inRate %d Hz (%s) => outRate %d Hz (%s)",
++ name.c_str(), activeDomain->getValOrDefault("gameid").c_str(),
++ _inRate, inStereo ? "stereo" : "mono", _outRate, outStereo ? "stereo" : "mono");
++ }
++ }
++ }
++
+ public:
+ RateConverter_Impl(st_rate_t inputRate, st_rate_t outputRate);
+ virtual ~RateConverter_Impl() {}
+@@ -99,6 +115,8 @@ template<bool inStereo, bool outStereo, bool reverseStereo>
+ int RateConverter_Impl<inStereo, outStereo, reverseStereo>::copyConvert(AudioStream &input, st_sample_t *outBuffer, st_size_t numSamples, st_volume_t volL, st_volume_t volR) {
+ st_sample_t *outStart, *outEnd;
+
++ printConvertType("copyConvert");
++
+ outStart = outBuffer;
+ outEnd = outBuffer + numSamples * (outStereo ? 2 : 1);
+
+@@ -148,6 +166,8 @@ int RateConverter_Impl<inStereo, outStereo, reverseStereo>::simpleConvert(AudioS
+
+ st_sample_t *outStart, *outEnd;
+
++ printConvertType("simpleConvert");
++
+ outStart = outBuffer;
+ outEnd = outBuffer + numSamples * (outStereo ? 2 : 1);
+
+@@ -209,6 +229,8 @@ int RateConverter_Impl<inStereo, outStereo, reverseStereo>::interpolateConvert(A
+ outStart = outBuffer;
+ outEnd = outBuffer + numSamples * (outStereo ? 2 : 1);
+
++ printConvertType("interpolateConvert");
++
+ while (outBuffer < outEnd) {
+ // Read enough input samples so that _outPosFrac < 0
+ while ((frac_t)FRAC_ONE_LOW <= _outPosFrac) {
diff --git a/backends/platform/atari/patches/tooltips.patch b/backends/platform/atari/patches/tooltips.patch
new file mode 100644
index 00000000000..3924a40a01c
--- /dev/null
+++ b/backends/platform/atari/patches/tooltips.patch
@@ -0,0 +1,268 @@
+commit bc5168b5929bb7ce41c04aab54d71b88db432666
+Author: Miro Kropacek <miro.kropacek at gmail.com>
+Date: Sun Jun 4 14:50:49 2023 +0200
+
+ Don't merge: tooltips
+
+diff --git a/gui/ThemeEngine.cpp b/gui/ThemeEngine.cpp
+index 44d6c9487ed..cce47f9efdd 100644
+--- a/gui/ThemeEngine.cpp
++++ b/gui/ThemeEngine.cpp
+@@ -916,7 +916,7 @@ bool ThemeEngine::loadThemeXML(const Common::String &themeId) {
+ /**********************************************************
+ * Draw Date descriptors drawing functions
+ *********************************************************/
+-void ThemeEngine::drawDD(DrawData type, const Common::Rect &r, uint32 dynamic, bool forceRestore) {
++void ThemeEngine::drawDD(DrawData type, const Common::Rect &r, uint32 dynamic, bool forceRestore, Common::Rect *bgRect) {
+ WidgetDrawData *drawData = _widgets[type];
+
+ if (!drawData)
+@@ -942,6 +942,9 @@ void ThemeEngine::drawDD(DrawData type, const Common::Rect &r, uint32 dynamic, b
+ // Cull the elements not in the clip rect
+ if (extendedRect.isEmpty()) {
+ return;
++ } else if (bgRect) {
++ *bgRect = extendedRect;
++ return;
+ }
+
+ if (forceRestore || drawData->_layer == kDrawLayerBackground)
+@@ -1177,7 +1180,7 @@ void ThemeEngine::drawScrollbar(const Common::Rect &r, int sliderY, int sliderHe
+ drawDD(scrollState == kScrollbarStateSlider ? kDDScrollbarHandleHover : kDDScrollbarHandleIdle, r2);
+ }
+
+-void ThemeEngine::drawDialogBackground(const Common::Rect &r, DialogBackground bgtype) {
++void ThemeEngine::drawDialogBackground(const Common::Rect &r, DialogBackground bgtype, Common::Rect *bgRect) {
+ if (!ready())
+ return;
+
+@@ -1195,7 +1198,7 @@ void ThemeEngine::drawDialogBackground(const Common::Rect &r, DialogBackground b
+ break;
+
+ case kDialogBackgroundTooltip:
+- drawDD(kDDTooltipBackground, r);
++ drawDD(kDDTooltipBackground, r, 0, false, bgRect);
+ break;
+
+ case kDialogBackgroundDefault:
+diff --git a/gui/ThemeEngine.h b/gui/ThemeEngine.h
+index 940298eff25..a371c13dcd5 100644
+--- a/gui/ThemeEngine.h
++++ b/gui/ThemeEngine.h
+@@ -53,6 +53,7 @@ class Dialog;
+ class GuiObject;
+ class ThemeEval;
+ class ThemeParser;
++class Tooltip;
+
+ /**
+ * DrawData sets enumeration.
+@@ -212,6 +213,7 @@ protected:
+
+ friend class GUI::Dialog;
+ friend class GUI::GuiObject;
++ friend class GUI::Tooltip;
+
+ public:
+ /// Vertical alignment of the text.
+@@ -492,7 +494,7 @@ public:
+
+ void drawLineSeparator(const Common::Rect &r);
+
+- void drawDialogBackground(const Common::Rect &r, DialogBackground type);
++ void drawDialogBackground(const Common::Rect &r, DialogBackground type, Common::Rect *bgRect = nullptr);
+
+ void drawText(const Common::Rect &r, const Common::U32String &str, WidgetStateInfo state = kStateEnabled,
+ Graphics::TextAlign align = Graphics::kTextAlignCenter,
+@@ -712,7 +714,7 @@ protected:
+ *
+ * These functions are called from all the Widget drawing methods.
+ */
+- void drawDD(DrawData type, const Common::Rect &r, uint32 dynamic = 0, bool forceRestore = false);
++ void drawDD(DrawData type, const Common::Rect &r, uint32 dynamic = 0, bool forceRestore = false, Common::Rect *bgRect = nullptr);
+ void drawDDText(TextData type, TextColor color, const Common::Rect &r, const Common::U32String &text, bool restoreBg,
+ bool elipsis, Graphics::TextAlign alignH = Graphics::kTextAlignLeft,
+ TextAlignVertical alignV = kTextAlignVTop, int deltax = 0,
+diff --git a/gui/Tooltip.cpp b/gui/Tooltip.cpp
+index 79f0f9db91a..b08cc9939bc 100644
+--- a/gui/Tooltip.cpp
++++ b/gui/Tooltip.cpp
+@@ -23,6 +23,7 @@
+ #include "gui/widget.h"
+ #include "gui/dialog.h"
+ #include "gui/gui-manager.h"
++#include "graphics/VectorRenderer.h"
+
+ #include "gui/Tooltip.h"
+ #include "gui/ThemeEval.h"
+@@ -31,7 +32,7 @@ namespace GUI {
+
+
+ Tooltip::Tooltip() :
+- Dialog(-1, -1, -1, -1), _maxWidth(-1), _parent(nullptr), _xdelta(0), _ydelta(0), _xpadding(0), _ypadding(0) {
++ Dialog(-1, -1, -1, -1), _maxWidth(-1), _parent(nullptr), _xdelta(0), _ydelta(0), _xpadding(0), _ypadding(0), _firstDraw(true) {
+
+ _backgroundType = GUI::ThemeEngine::kDialogBackgroundTooltip;
+ }
+@@ -71,7 +72,40 @@ void Tooltip::drawDialog(DrawLayer layerToDraw) {
+ int num = 0;
+ int h = g_gui.theme()->getFontHeight(ThemeEngine::kFontStyleTooltip) + 2;
+
+- Dialog::drawDialog(layerToDraw);
++ // Dialog::drawDialog(layerToDraw)
++ if (!isVisible())
++ return;
++
++ g_gui.theme()->disableClipRect();
++ g_gui.theme()->_layerToDraw = layerToDraw;
++
++ if (_firstDraw) {
++ ThemeEngine *theme = g_gui.theme();
++
++ // store backgrounds from Backbuffer and Screen
++ theme->drawDialogBackground(Common::Rect(_x, _y, _x + _w, _y + _h), _backgroundType, &_bgRect);
++
++ theme->drawToBackbuffer();
++ _bgBackbufferSurf.create(_bgRect.width(), _bgRect.height(), theme->renderer()->getActiveSurface()->format);
++ _bgBackbufferSurf.copyRectToSurface(*theme->renderer()->getActiveSurface(), 0, 0, _bgRect);
++
++ theme->drawToScreen();
++ _bgScreenSurf.create(_bgRect.width(), _bgRect.height(), theme->renderer()->getActiveSurface()->format);
++ _bgScreenSurf.copyRectToSurface(*theme->renderer()->getActiveSurface(), 0, 0, _bgRect);
++
++ theme->drawToBackbuffer();
++ _firstDraw = false;
++ }
++
++ g_gui.theme()->drawDialogBackground(Common::Rect(_x, _y, _x + _w, _y + _h), _backgroundType);
++
++ markWidgetsAsDirty();
++
++#ifdef LAYOUT_DEBUG_DIALOG
++ return;
++#endif
++ drawWidgets();
++ // end of Dialog::drawDialog(layerToDraw)
+
+ int16 textX = _x + 1 + _xpadding;
+ if (g_gui.useRTL()) {
+@@ -98,4 +132,32 @@ void Tooltip::drawDialog(DrawLayer layerToDraw) {
+ }
+ }
+
++void Tooltip::open() {
++ Dialog::open();
++ g_gui._redrawStatus = GuiManager::kRedrawOpenTooltip;
++}
++
++void Tooltip::close() {
++ Dialog::close();
++ g_gui._redrawStatus = GuiManager::kRedrawDisabled;
++
++ if (!_bgRect.isEmpty()) {
++ ThemeEngine *theme = g_gui.theme();
++
++ theme->drawToBackbuffer();
++ theme->renderer()->getActiveSurface()->copyRectToSurface(
++ _bgBackbufferSurf, _bgRect.left, _bgRect.top, Common::Rect(_bgRect.width(), _bgRect.height()));
++
++ theme->drawToScreen();
++ theme->renderer()->getActiveSurface()->copyRectToSurface(
++ _bgScreenSurf, _bgRect.left, _bgRect.top, Common::Rect(_bgRect.width(), _bgRect.height()));
++
++ theme->addDirtyRect(_bgRect);
++
++ _bgRect = Common::Rect();
++ _bgBackbufferSurf.free();
++ _bgScreenSurf.free();
++ }
++}
++
+ }
+diff --git a/gui/Tooltip.h b/gui/Tooltip.h
+index 2f188764ff3..40caa7a1be4 100644
+--- a/gui/Tooltip.h
++++ b/gui/Tooltip.h
+@@ -23,7 +23,9 @@
+ #define GUI_TOOLTIP_H
+
+ #include "common/keyboard.h"
++#include "common/rect.h"
+ #include "common/str-array.h"
++#include "graphics/surface.h"
+ #include "gui/dialog.h"
+
+ namespace GUI {
+@@ -43,6 +45,9 @@ public:
+
+ void receivedFocus(int x = -1, int y = -1) override {}
+ protected:
++ void open() override;
++ void close() override;
++
+ void handleMouseDown(int x, int y, int button, int clickCount) override {
+ close();
+ _parent->handleMouseDown(x + (getAbsX() - _parent->getAbsX()), y + (getAbsY() - _parent->getAbsY()), button, clickCount);
+@@ -72,6 +77,11 @@ protected:
+ int _xpadding, _ypadding;
+
+ Common::U32StringArray _wrappedLines;
++
++ bool _firstDraw;
++ Common::Rect _bgRect;
++ Graphics::Surface _bgBackbufferSurf;
++ Graphics::Surface _bgScreenSurf;
+ };
+
+ } // End of namespace GUI
+diff --git a/gui/gui-manager.cpp b/gui/gui-manager.cpp
+index 02de69aa7c9..da57fdb2973 100644
+--- a/gui/gui-manager.cpp
++++ b/gui/gui-manager.cpp
+@@ -453,6 +453,9 @@ void GuiManager::redrawInternal() {
+ _theme->applyScreenShading(shading);
+ }
+
++ // fall through
++
++ case kRedrawOpenTooltip:
+ // Finally, draw the top dialog background
+ _dialogStack.top()->drawDialog(kDrawLayerBackground);
+
+@@ -753,8 +756,6 @@ void GuiManager::closeTopDialog() {
+
+ if (_redrawStatus != kRedrawFull)
+ _redrawStatus = kRedrawCloseDialog;
+-
+- redraw();
+ }
+
+ void GuiManager::setupCursor() {
+diff --git a/gui/gui-manager.h b/gui/gui-manager.h
+index 0718f631c8b..e8b646ec46c 100644
+--- a/gui/gui-manager.h
++++ b/gui/gui-manager.h
+@@ -62,6 +62,7 @@ enum {
+
+ class Dialog;
+ class ThemeEval;
++class Tooltip;
+ class GuiObject;
+
+ #define g_gui (GUI::GuiManager::instance())
+@@ -82,6 +83,7 @@ typedef Common::FixedStack<Dialog *> DialogStack;
+ */
+ class GuiManager : public Common::Singleton<GuiManager>, public CommandSender {
+ friend class Dialog;
++ friend class Tooltip;
+ friend class Common::Singleton<SingletonBaseType>;
+ GuiManager();
+ ~GuiManager() override;
+@@ -159,6 +161,7 @@ protected:
+ enum RedrawStatus {
+ kRedrawDisabled = 0,
+ kRedrawOpenDialog,
++ kRedrawOpenTooltip,
+ kRedrawCloseDialog,
+ kRedrawTopDialog,
+ kRedrawFull
diff --git a/configure b/configure
index 77e9c3a5fe0..ad1534245db 100755
--- a/configure
+++ b/configure
@@ -33,12 +33,14 @@ SAVED_CONFIGFLAGS=$@
SAVED_AR=$AR
SAVED_AS=$AS
SAVED_ASFLAGS=$ASFLAGS
+SAVED_CPPFILT=$CPPFILT
SAVED_CPPFLAGS=$CPPFLAGS
SAVED_CXX=$CXX
SAVED_CXXFLAGS=$CXXFLAGS
SAVED_DWP=$DWP
SAVED_LD=$LD
SAVED_LDFLAGS=$LDFLAGS
+SAVED_NM=$NM
SAVED_PKG_CONFIG_LIBDIR=${PKG_CONFIG_LIBDIR:-unset}
SAVED_RANLIB=$RANLIB
SAVED_SDL_CONFIG=$SDL_CONFIG
@@ -247,10 +249,12 @@ _ext_sse2=auto
_ext_avx2=auto
_ext_neon=auto
# Default commands
-_ranlib="ranlib"
-_strip="strip"
_ar="ar cr"
_as="as"
+_cppfilt="c++filt"
+_ranlib="ranlib"
+_nm="nm"
+_strip="strip"
_dwp="dwp"
_windres="windres"
_ldd="ldd"
@@ -1194,6 +1198,7 @@ Some influential environment variables:
AS assembler command
ASFLAGS assembler flags
CONFIGURE_NO_HOST Ignore the cross-compile target set by the --host= option
+ CPPFILT demangle C++ symbols command
CPPFLAGS C++ preprocessor flags, e.g. -I<include dir> if you have
headers in a nonstandard directory <include dir>
CXX C++ compiler command
@@ -1202,6 +1207,7 @@ Some influential environment variables:
LD linker command
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
+ NM list symbols command
PKG_CONFIG_LIBDIR list of directories where pkg-config '.pc' files are
looked up
RANLIB archive indexer command
@@ -1225,7 +1231,7 @@ cat >> $TMPLOG <<EOF
Invocation command line was:
$0 $@
Saved environment variables:
-AR="$SAVED_AR" AS="$SAVED_AS" ASFLAGS="$SAVED_ASFLAGS" CPPFLAGS="$SAVED_CPPFLAGS" CXX="$SAVED_CXX" CXXFLAGS="$SAVED_CXXFLAGS" DWP="$SAVED_DWP" LD="$SAVED_LD" LDFLAGS="$SAVED_LDFLAGS" PKG_CONFIG_LIBDIR="$SAVED_PKG_CONFIG_LIBDIR" RANLIB="$SAVED_RANLIB" SDL_CONFIG="$SAVED_SDL_CONFIG" STRIP="$SAVED_STRIP" WINDRES="$SAVED_WINDRES" WINDRESFLAGS="$SAVED_WINDRESFLAGS"
+AR="$SAVED_AR" AS="$SAVED_AS" ASFLAGS="$SAVED_ASFLAGS" CPPFILT="$SAVED_CPPFILT" CPPFLAGS="$SAVED_CPPFLAGS" CXX="$SAVED_CXX" CXXFLAGS="$SAVED_CXXFLAGS" DWP="$SAVED_DWP" LD="$SAVED_LD" LDFLAGS="$SAVED_LDFLAGS" NM="$SAVED_NM" PKG_CONFIG_LIBDIR="$SAVED_PKG_CONFIG_LIBDIR" RANLIB="$SAVED_RANLIB" SDL_CONFIG="$SAVED_SDL_CONFIG" STRIP="$SAVED_STRIP" WINDRES="$SAVED_WINDRES" WINDRESFLAGS="$SAVED_WINDRESFLAGS"
EOF
JPEG_LIBS=-ljpeg
@@ -1980,10 +1986,12 @@ if test -z "$_host_alias"; then
_host_alias="$_host_cpu-$_host_os"
else
# if _host_alias was set, default to the standard GNU tools
+ _ar="$_host_alias-ar cr"
+ _as=$_host_alias-as
+ _cppfilt=$_host_alias-c++filt
+ _nm=$_host_alias-nm
_ranlib=$_host_alias-ranlib
_strip=$_host_alias-strip
- _ar="$_host_alias-ar cr"
- _as="$_host_alias-as"
_dwp=$_host_alias-dwp
_windres=$_host_alias-windres
fi
@@ -2300,14 +2308,6 @@ if test -z "$CXX"; then
exit 1
fi
-if test -n "$RANLIB"; then
- _ranlib=$RANLIB
-fi
-
-if test -n "$STRIP"; then
- _strip=$STRIP
-fi
-
if test -n "$AR"; then
_ar="$AR cr"
fi
@@ -2316,6 +2316,22 @@ if test -n "$AS"; then
_as=$AS
fi
+if test -n "$CPPFILT"; then
+ _cppfilt=$CPPFILT
+fi
+
+if test -n "$NM"; then
+ _nm=$NM
+fi
+
+if test -n "$RANLIB"; then
+ _ranlib=$RANLIB
+fi
+
+if test -n "$STRIP"; then
+ _strip=$STRIP
+fi
+
if test -n "$DWP"; then
_dwp=$DWP
fi
@@ -3879,6 +3895,8 @@ if test -n "$_host"; then
_tinygl=no
_nuked_opl=no
_detection_features_full=no
+
+ _port_mk="backends/platform/atari/atari.mk"
;;
maemo)
_optimization_level=-Os
@@ -7763,12 +7781,14 @@ SAVED_CONFIGFLAGS := $SAVED_CONFIGFLAGS
SAVED_AR := $SAVED_AR
SAVED_AS := $SAVED_AS
SAVED_ASFLAGS := $SAVED_ASFLAGS
+SAVED_CPPFILT := $SAVED_CPPFILT
SAVED_CPPFLAGS := $SAVED_CPPFLAGS
SAVED_CXX := $SAVED_CXX
SAVED_CXXFLAGS := $SAVED_CXXFLAGS
SAVED_DWP := $SAVED_DWP
SAVED_LD := $SAVED_LD
SAVED_LDFLAGS := $SAVED_LDFLAGS
+SAVED_NM := $SAVED_NM
SAVED_PKG_CONFIG_LIBDIR := $SAVED_PKG_CONFIG_LIBDIR
SAVED_RANLIB := $SAVED_RANLIB
SAVED_SDL_CONFIG := $SAVED_SDL_CONFIG
@@ -7776,15 +7796,17 @@ SAVED_STRIP := $SAVED_STRIP
SAVED_WINDRES := $SAVED_WINDRES
SAVED_WINDRESFLAGS := $SAVED_WINDRESFLAGS
+AR := $_ar
+AS := $_as
+ASFLAGS := $ASFLAGS
+CPPFILT := $_cppfilt
CXX := $CXX
CXXFLAGS := $CXXFLAGS
LD := $LD
LIBS += $LIBS
+NM := $_nm
RANLIB := $_ranlib
STRIP := $_strip
-AR := $_ar
-AS := $_as
-ASFLAGS := $ASFLAGS
DWP := $_dwp
WINDRES := $_windres
LDD := $_ldd
diff --git a/devtools/update-version.pl b/devtools/update-version.pl
index aadb154d6cf..9a2d3addafe 100755
--- a/devtools/update-version.pl
+++ b/devtools/update-version.pl
@@ -49,8 +49,6 @@ my @subs_files = qw(
dists/riscos/!Boot,feb
dists/amigaos/md2ag.rexx
backends/platform/psp/README.PSP
- backends/platform/atari/build-release.sh
- backends/platform/atari/build-release030.sh
backends/platform/atari/readme.txt
);
More information about the Scummvm-git-logs
mailing list