summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Lutz <michi@icosahedron.de>2021-02-06 20:09:12 +0100
committerMichael Lutz <michi@icosahedron.de>2021-02-13 22:21:17 +0100
commit23389e949169ee65ca2b53cb09c11f6d4ce2bd67 (patch)
tree62f027ce879cd7165247bf223cf7c3519a48b659
parent063b90b97db14e19a339a3970eb33c6ba6e6d37f (diff)
downloadopenttd-23389e949169ee65ca2b53cb09c11f6d4ce2bd67.tar.xz
Remove: [OSX] Startup splash screen.
It wasn't displayed anyway as it was never copied to the bundle.
-rw-r--r--src/os/macosx/CMakeLists.txt2
-rw-r--r--src/os/macosx/splash.cpp185
-rw-r--r--src/os/macosx/splash.h17
-rw-r--r--src/video/cocoa/event.mm19
4 files changed, 0 insertions, 223 deletions
diff --git a/src/os/macosx/CMakeLists.txt b/src/os/macosx/CMakeLists.txt
index 31f6af7d4..6b4f2f279 100644
--- a/src/os/macosx/CMakeLists.txt
+++ b/src/os/macosx/CMakeLists.txt
@@ -4,8 +4,6 @@ add_files(
macos.h
macos.mm
osx_stdafx.h
- splash.cpp
- splash.h
string_osx.cpp
string_osx.h
CONDITION APPLE
diff --git a/src/os/macosx/splash.cpp b/src/os/macosx/splash.cpp
deleted file mode 100644
index ac2f86425..000000000
--- a/src/os/macosx/splash.cpp
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * This file is part of OpenTTD.
- * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
- * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/** @file splash.cpp Splash screen support for OSX. */
-
-#include "../../stdafx.h"
-#include "../../openttd.h"
-#include "../../debug.h"
-#include "../../gfx_func.h"
-#include "../../fileio_func.h"
-#include "../../blitter/factory.hpp"
-#include "../../core/mem_func.hpp"
-
-#include "splash.h"
-
-#ifdef WITH_PNG
-
-#include <png.h>
-
-#include "../../safeguards.h"
-
-/**
- * Handle pnglib error.
- *
- * @param png_ptr Pointer to png struct.
- * @param message Error message text.
- */
-static void PNGAPI png_my_error(png_structp png_ptr, png_const_charp message)
-{
- DEBUG(misc, 0, "[libpng] error: %s - %s", message, (char *)png_get_error_ptr(png_ptr));
- longjmp(png_jmpbuf(png_ptr), 1);
-}
-
-/**
- * Handle warning in pnglib.
- *
- * @param png_ptr Pointer to png struct.
- * @param message Warning message text.
- */
-static void PNGAPI png_my_warning(png_structp png_ptr, png_const_charp message)
-{
- DEBUG(misc, 1, "[libpng] warning: %s - %s", message, (char *)png_get_error_ptr(png_ptr));
-}
-
-/**
- * Display a splash image shown on startup (WITH_PNG).
- */
-void DisplaySplashImage()
-{
- FILE *f = FioFOpenFile(SPLASH_IMAGE_FILE, "r", BASESET_DIR);
- if (f == nullptr) return;
-
- png_byte header[8];
- fread(header, sizeof(png_byte), 8, f);
- if (png_sig_cmp(header, 0, 8) != 0) {
- fclose(f);
- return;
- }
-
- png_structp png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, (png_voidp) nullptr, png_my_error, png_my_warning);
-
- if (png_ptr == nullptr) {
- fclose(f);
- return;
- }
-
- png_infop info_ptr = png_create_info_struct(png_ptr);
- if (info_ptr == nullptr) {
- png_destroy_read_struct(&png_ptr, (png_infopp)nullptr, (png_infopp)nullptr);
- fclose(f);
- return;
- }
-
- png_infop end_info = png_create_info_struct(png_ptr);
- if (end_info == nullptr) {
- png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)nullptr);
- fclose(f);
- return;
- }
-
- if (setjmp(png_jmpbuf(png_ptr))) {
- png_destroy_read_struct(&png_ptr, &info_ptr, &end_info);
- fclose(f);
- return;
- }
-
- png_init_io(png_ptr, f);
- png_set_sig_bytes(png_ptr, 8);
-
- png_read_png(png_ptr, info_ptr, PNG_TRANSFORM_IDENTITY, nullptr);
-
- uint width = png_get_image_width(png_ptr, info_ptr);
- uint height = png_get_image_height(png_ptr, info_ptr);
- uint bit_depth = png_get_bit_depth(png_ptr, info_ptr);
- uint color_type = png_get_color_type(png_ptr, info_ptr);
-
- if (color_type != PNG_COLOR_TYPE_PALETTE || bit_depth != 8) {
- png_destroy_read_struct(&png_ptr, &info_ptr, &end_info);
- fclose(f);
- return;
- }
-
- if (!png_get_valid(png_ptr, info_ptr, PNG_INFO_PLTE)) {
- png_destroy_read_struct(&png_ptr, &info_ptr, &end_info);
- fclose(f);
- return;
- }
-
- png_colorp palette;
- int num_palette;
- png_get_PLTE(png_ptr, info_ptr, &palette, &num_palette);
-
- png_bytep *row_pointers = png_get_rows(png_ptr, info_ptr);
-
- if (width > (uint) _screen.width) width = _screen.width;
- if (height > (uint) _screen.height) height = _screen.height;
-
- uint xoff = (_screen.width - width) / 2;
- uint yoff = (_screen.height - height) / 2;
-
- switch (BlitterFactory::GetCurrentBlitter()->GetScreenDepth()) {
- case 8: {
- uint8 *dst_ptr = (uint8 *)_screen.dst_ptr;
- /* Initialize buffer */
- MemSetT(dst_ptr, 0xff, _screen.pitch * _screen.height);
-
- for (uint y = 0; y < height; y++) {
- uint8 *src = row_pointers[y];
- uint8 *dst = dst_ptr + (yoff + y) * _screen.pitch + xoff;
-
- memcpy(dst, src, width);
- }
-
- for (int i = 0; i < num_palette; i++) {
- _cur_palette.palette[i].a = i == 0 ? 0 : 0xff;
- _cur_palette.palette[i].r = palette[i].red;
- _cur_palette.palette[i].g = palette[i].green;
- _cur_palette.palette[i].b = palette[i].blue;
- }
-
- _cur_palette.palette[0xff].a = 0xff;
- _cur_palette.palette[0xff].r = 0;
- _cur_palette.palette[0xff].g = 0;
- _cur_palette.palette[0xff].b = 0;
-
- _cur_palette.first_dirty = 0;
- _cur_palette.count_dirty = 256;
- break;
- }
- case 32: {
- uint32 *dst_ptr = (uint32 *)_screen.dst_ptr;
- /* Initialize buffer */
- MemSetT(dst_ptr, 0, _screen.pitch * _screen.height);
-
- for (uint y = 0; y < height; y++) {
- uint8 *src = row_pointers[y];
- uint32 *dst = dst_ptr + (yoff + y) * _screen.pitch + xoff;
-
- for (uint x = 0; x < width; x++) {
- dst[x] = palette[src[x]].blue | (palette[src[x]].green << 8) | (palette[src[x]].red << 16) | 0xff000000;
- }
- }
- break;
- }
- }
-
- png_destroy_read_struct(&png_ptr, &info_ptr, &end_info);
- fclose(f);
- return;
-}
-
-
-
-#else /* WITH_PNG */
-
-/**
- * Empty 'Display a splash image' routine (WITHOUT_PNG).
- */
-void DisplaySplashImage() {}
-
-#endif /* WITH_PNG */
diff --git a/src/os/macosx/splash.h b/src/os/macosx/splash.h
deleted file mode 100644
index 8ddb63857..000000000
--- a/src/os/macosx/splash.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * This file is part of OpenTTD.
- * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
- * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/** @file splash.h Functions to support splash screens for OSX. */
-
-#ifndef SPLASH_H
-#define SPLASH_H
-
-#define SPLASH_IMAGE_FILE "splash.png"
-
-void DisplaySplashImage();
-
-#endif /* SPLASH_H */
diff --git a/src/video/cocoa/event.mm b/src/video/cocoa/event.mm
index 17d4c437d..c7ab70538 100644
--- a/src/video/cocoa/event.mm
+++ b/src/video/cocoa/event.mm
@@ -23,7 +23,6 @@
#include "../../openttd.h"
#include "../../debug.h"
-#include "../../os/macosx/splash.h"
#include "../../settings_type.h"
#include "../../core/geometry_type.hpp"
#include "cocoa_v.h"
@@ -93,24 +92,6 @@ void VideoDriver_Cocoa::GameLoop()
uint32 st = 0;
#endif
- DisplaySplashImage();
- this->CheckPaletteAnim();
- this->Draw(true);
- CSleep(1);
-
- for (int i = 0; i < 2; i++) ::GameLoop();
-
- UpdateWindows();
- this->CheckPaletteAnim();
- this->Draw();
- CSleep(1);
-
- /* Set the proper OpenTTD palette which got spoilt by the splash
- * image when using 8bpp blitter */
- GfxInitPalettes();
- this->CheckPaletteAnim();
- this->Draw(true);
-
for (;;) {
@autoreleasepool {