diff options
author | Alexey Dokuchaev <danfe@FreeBSD.org> | 2020-12-03 08:53:06 +0000 |
---|---|---|
committer | Alexey Dokuchaev <danfe@FreeBSD.org> | 2020-12-03 08:53:06 +0000 |
commit | 702e46d5c2d39766261dde59a5d91e5f495c8919 (patch) | |
tree | d9e76f942c210078adb4aa4e9088527b25095d6b /games/slade/files | |
parent | 98b3386ac3aa4b3ac3909c9987cf27256004dc07 (diff) | |
download | ports-702e46d5c2d39766261dde59a5d91e5f495c8919.tar.gz ports-702e46d5c2d39766261dde59a5d91e5f495c8919.zip |
- Resurrect SLADE and update to version 3.1.12
- C++14 is now required to build the project
- Register explicit dependencies on cURL and FreeType
- Do not try to force GTK 2.0, no support in wxWidgets
Notes
Notes:
svn path=/head/; revision=556892
Diffstat (limited to 'games/slade/files')
3 files changed, 177 insertions, 0 deletions
diff --git a/games/slade/files/patch-src_CMakeLists.txt b/games/slade/files/patch-src_CMakeLists.txt new file mode 100644 index 000000000000..3a45e417e119 --- /dev/null +++ b/games/slade/files/patch-src_CMakeLists.txt @@ -0,0 +1,33 @@ +--- src/CMakeLists.txt.orig 2018-11-25 00:21:04 UTC ++++ src/CMakeLists.txt +@@ -16,7 +16,11 @@ unset(WITH_WXPATH CACHE) + set( CL_WX_CONFIG wx-config ) + + if (UNIX OR MINGW) +- execute_process(COMMAND which ${CL_WX_CONFIG} OUTPUT_VARIABLE WX_TOOL OUTPUT_STRIP_TRAILING_WHITESPACE) ++ if(NOT wxWidgets_CONFIG_EXECUTABLE) ++ execute_process(COMMAND which ${CL_WX_CONFIG} OUTPUT_VARIABLE WX_TOOL OUTPUT_STRIP_TRAILING_WHITESPACE) ++ else() ++ set(WX_TOOL ${wxWidgets_CONFIG_EXECUTABLE}) ++ endif() + if (NOT WX_TOOL) + message(FATAL_ERROR + "\nNo functional wx_config script was found in your PATH.\nIs the wxWidgets development package installed?\nIf you built wxWidgets yourself, you can specify the path to your built wx-config executable via WITH_WXPATH\neg. -DWITH_WXPATH=\"/path/to/wx-config/\"" +@@ -52,7 +54,16 @@ if (WX_GTK3) + set(wxWidgets_CONFIG_OPTIONS --toolkit=gtk3) + endif (WX_GTK3) + +-SET(WX_LIBS std aui gl stc richtext propgrid media) ++# Work around find_package(wxWidgets...) inability to detect absence of some ++# optional components (e.g., media) ++find_library(WX_MEDIA wx_gtk2u_media-3.0) ++if (NOT WX_MEDIA) ++ message(STATUS "wx_gtk2u_media-3.0 not found, building without MP3 playback support.") ++else (WX_MEDIA) ++ SET(WX_LIBS ${WX_LIBS} media) ++endif () ++ ++SET(WX_LIBS std aui gl stc richtext propgrid ${WX_LIBS}) + if (NO_WEBVIEW) + SET(WX_LIBS ${WX_LIBS} html) + else (NO_WEBVIEW) diff --git a/games/slade/files/patch-src_MainEditor_UI_EntryPanel_AudioEntryPanel.cpp b/games/slade/files/patch-src_MainEditor_UI_EntryPanel_AudioEntryPanel.cpp new file mode 100644 index 000000000000..6917cddc2bb4 --- /dev/null +++ b/games/slade/files/patch-src_MainEditor_UI_EntryPanel_AudioEntryPanel.cpp @@ -0,0 +1,132 @@ +--- src/MainEditor/UI/EntryPanel/AudioEntryPanel.cpp.orig 2018-11-25 00:21:04 UTC ++++ src/MainEditor/UI/EntryPanel/AudioEntryPanel.cpp +@@ -93,15 +93,17 @@ AudioEntryPanel::AudioEntryPanel(wxWindow* parent) : + LOG_MESSAGE(3, "Windows Media Player installed, using wxMediaCtrl"); + media_ctrl_ = new wxMediaCtrl(this, -1); + } +-#else ++#elif wxUSE_MEDIACTRL + // Create wxMediaCtrl + media_ctrl_ = new wxMediaCtrl(this, -1); ++#else ++ LOG_MESSAGE(1, "wxWidgets is built without media support, MP3 playback disabled."); + #endif + + // Setup sizer + wxGridBagSizer* sizer_gb = new wxGridBagSizer(UI::pad(), UI::pad()); + sizer_main_->AddStretchSpacer(); +-#ifndef __WXOSX__ ++#if wxUSE_MEDIACTRL && !defined(__WXOSX__) + if (media_ctrl_) sizer_main_->Add(media_ctrl_, 0); + #endif + sizer_main_->Add(sizer_gb, 0, wxALIGN_CENTER); +@@ -163,13 +165,17 @@ AudioEntryPanel::AudioEntryPanel(wxWindow* parent) : + sound_->setVolume(snd_volume); + music_->setVolume(snd_volume); + theMIDIPlayer->setVolume(snd_volume); ++#if wxUSE_MEDIACTRL + if (media_ctrl_) media_ctrl_->SetVolume(snd_volume*0.01); ++#endif + mod_->setVolume(snd_volume); + //theGMEPlayer->setVolume(snd_volume); + //theOPLPlayer->setVolume(snd_volume); + + // Disable general entrypanel buttons ++#if wxUSE_MEDIACTRL + if (media_ctrl_) media_ctrl_->Show(false); ++#endif + toolbar_->Show(false); + + // Bind events +@@ -533,6 +539,7 @@ bool AudioEntryPanel::openMod(MemChunk& data) + // ---------------------------------------------------------------------------- + bool AudioEntryPanel::openMedia(string filename) + { ++#if wxUSE_MEDIACTRL + // Attempt to open with wxMediaCtrl + if (media_ctrl_ && media_ctrl_->Load(filename)) + { +@@ -547,6 +554,7 @@ bool AudioEntryPanel::openMedia(string filename) + + return true; + } ++#endif + + return false; + } +@@ -571,8 +579,10 @@ void AudioEntryPanel::startStream() + mod_->play(); break; + case MIDI: + theMIDIPlayer->play(); break; ++#if wxUSE_MEDIACTRL + case Media: + if (media_ctrl_) media_ctrl_->Play(); break; ++#endif + default: + break; + } +@@ -595,8 +605,10 @@ void AudioEntryPanel::stopStream() + mod_->pause(); break; + case MIDI: + theMIDIPlayer->pause(); break; ++#if wxUSE_MEDIACTRL + case Media: + if (media_ctrl_) media_ctrl_->Pause(); break; ++#endif + default: + break; + } +@@ -620,8 +632,10 @@ void AudioEntryPanel::resetStream() + mod_->stop(); break; + case MIDI: + theMIDIPlayer->stop(); break; ++#if wxUSE_MEDIACTRL + case Media: + if (media_ctrl_) media_ctrl_->Stop(); break; ++#endif + default: + break; + } +@@ -823,8 +837,10 @@ void AudioEntryPanel::onTimer(wxTimerEvent& e) + pos = mod_->getPlayingOffset().asMilliseconds(); break; + case MIDI: + pos = theMIDIPlayer->getPosition(); break; ++#if wxUSE_MEDIACTRL + case Media: + if (media_ctrl_) pos = media_ctrl_->Tell(); break; ++#endif + default: + break; + } +@@ -837,7 +853,9 @@ void AudioEntryPanel::onTimer(wxTimerEvent& e) + (audio_type_ == Sound && sound_->getStatus() == sf::Sound::Stopped) || + (audio_type_ == Music && music_->getStatus() == sf::Sound::Stopped) || + (audio_type_ == Mod && mod_->getStatus() == sf::Sound::Stopped) || ++#if wxUSE_MEDIACTRL + (audio_type_ == Media && media_ctrl_ && media_ctrl_->GetState() == wxMEDIASTATE_STOPPED) || ++#endif + (audio_type_ == MIDI && theMIDIPlayer && !theMIDIPlayer->isPlaying())) + { + timer_seek_->Stop(); +@@ -863,8 +881,10 @@ void AudioEntryPanel::onSliderSeekChanged(wxCommandEve + mod_->setPlayingOffset(sf::milliseconds(slider_seek_->GetValue())); break; + case MIDI: + theMIDIPlayer->setPosition(slider_seek_->GetValue()); break; ++#if wxUSE_MEDIACTRL + case Media: + if (media_ctrl_) media_ctrl_->Seek(slider_seek_->GetValue()); break; ++#endif + default: + break; + } +@@ -887,8 +907,10 @@ void AudioEntryPanel::onSliderVolumeChanged(wxCommandE + music_->setVolume(snd_volume); break; + case MIDI: + theMIDIPlayer->setVolume(snd_volume); break; ++#if wxUSE_MEDIACTRL + case Media: + if (media_ctrl_) media_ctrl_->SetVolume(snd_volume*0.01); break; ++#endif + case Mod: + mod_->setVolume(snd_volume); break; + default: diff --git a/games/slade/files/patch-src_MainEditor_UI_EntryPanel_AudioEntryPanel.h b/games/slade/files/patch-src_MainEditor_UI_EntryPanel_AudioEntryPanel.h new file mode 100644 index 000000000000..c82d3e0a1a49 --- /dev/null +++ b/games/slade/files/patch-src_MainEditor_UI_EntryPanel_AudioEntryPanel.h @@ -0,0 +1,12 @@ +--- src/MainEditor/UI/EntryPanel/AudioEntryPanel.h.orig 2018-11-25 00:21:04 UTC ++++ src/MainEditor/UI/EntryPanel/AudioEntryPanel.h +@@ -46,7 +46,9 @@ class AudioEntryPanel : public EntryPanel (private) + wxSlider* slider_seek_ = nullptr; + wxSlider* slider_volume_ = nullptr; + wxTimer* timer_seek_ = nullptr; ++#if wxUSE_MEDIACTRL + wxMediaCtrl* media_ctrl_ = nullptr; ++#endif + wxStaticText* txt_title_ = nullptr; + wxStaticText* txt_track_ = nullptr; + wxTextCtrl* txt_info_ = nullptr; |