[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