Hi,

Here's an update to ppsspp-1.14.4. Upstream has started providing real
tarballs, so all the GitHub fetching/symlinking goes away.

Test reports appreciated. It seemed a bit slow when I tried it, but I
don't run PPSSPP very often, so maybe it's normal.

Index: Makefile
===================================================================
RCS file: /cvs/ports/emulators/ppsspp/Makefile,v
retrieving revision 1.19
diff -u -p -r1.19 Makefile
--- Makefile    28 May 2022 06:19:59 -0000      1.19
+++ Makefile    25 Apr 2023 10:48:24 -0000
@@ -6,37 +6,19 @@ NOT_FOR_ARCHS =       ${BE_ARCHS}
 PPSSPP_JIT_ARCHS =     arm aarch64 i386 amd64
 ONLY_FOR_ARCHS =       ${PPSSPP_JIT_ARCHS}
 
+V =            1.14.4
+DISTNAME =     ppsspp-$V
+
 COMMENT =      Sony PlayStation Portable emulator
 
-GH_ACCOUNT =   hrydgard
-GH_PROJECT =   ppsspp
-GH_TAGNAME =   v1.11.3
-
-GLSLANG =      d0850f875ec392a130ccf00018dab458b546f27c
-PPSSPP_LANG =  6bd5b4bc983917ea8402f73c726b46e36f3de0b4
-SPIRV_CROSS =  a1f7c8dc8ea2f94443951ee27003bffa562c1f13
-ARMIPS =       7885552b208493a6a0f21663770c446c3ba65576
-MINIUPNP =     7e229ddd635933239583ab190d9b614bde018157
-
-MASTER_SITES0 =        https://github.com/hrydgard/glslang/archive/
-MASTER_SITES1 =        https://github.com/hrydgard/ppsspp-lang/archive/
-MASTER_SITES2 =        https://github.com/hrydgard/SPIRV-Cross/archive/
-MASTER_SITES3 =        https://github.com/Kingcom/armips/archive/
-MASTER_SITES4 =        https://github.com/hrydgard/miniupnp/archive/
-
-DISTFILES =    ${DISTNAME}${EXTRACT_SUFX} \
-               ${GLSLANG}.tar.gz:0 \
-               ${PPSSPP_LANG}.tar.gz:1 \
-               ${SPIRV_CROSS}.tar.gz:2 \
-               ${ARMIPS}.tar.gz:3 \
-               ${MINIUPNP}.tar.gz:4
+EXTRACT_SUFX = .tar.xz
+
+MASTER_SITES = https://github.com/hrydgard/ppsspp/releases/download/v$V/
 
 CATEGORIES =   emulators
 
 HOMEPAGE =     https://www.ppsspp.org/
 
-MAINTAINER =   Anthony J. Bentley <anth...@anjbe.name>
-
 # GPLv2+
 PERMIT_PACKAGE =       Yes
 
@@ -67,18 +49,6 @@ CONFIGURE_ARGS =     -DUSE_SYSTEM_FFMPEG=ON 
 CXXFLAGS +=    -I${X11BASE}/include
 
 NO_TEST =              Yes
-
-post-extract:
-       rmdir   ${WRKSRC}/assets/lang \
-               ${WRKSRC}/ext/armips \
-               ${WRKSRC}/ext/glslang \
-               ${WRKSRC}/ext/SPIRV-Cross \
-               ${WRKSRC}/ext/miniupnp
-       ln -s ${WRKDIR}/ppsspp-lang-${PPSSPP_LANG} ${WRKSRC}/assets/lang
-       ln -s ${WRKDIR}/armips-${ARMIPS} ${WRKSRC}/ext/armips
-       ln -s ${WRKDIR}/glslang-${GLSLANG} ${WRKSRC}/ext/glslang
-       ln -s ${WRKDIR}/SPIRV-Cross-${SPIRV_CROSS} ${WRKSRC}/ext/SPIRV-Cross
-       ln -s ${WRKDIR}/miniupnp-${MINIUPNP} ${WRKSRC}/ext/miniupnp
 
 pre-configure:
        ${SUBST_CMD} ${WRKSRC}/CMakeLists.txt ${WRKSRC}/UI/NativeApp.cpp
Index: distinfo
===================================================================
RCS file: /cvs/ports/emulators/ppsspp/distinfo,v
retrieving revision 1.9
diff -u -p -r1.9 distinfo
--- distinfo    19 Sep 2021 00:34:55 -0000      1.9
+++ distinfo    25 Apr 2023 10:48:24 -0000
@@ -1,12 +1,2 @@
-SHA256 (ppsspp/6bd5b4bc983917ea8402f73c726b46e36f3de0b4.tar.gz) = 
tun+Sn2qLdjU88x0y6/FOC99+QMDrzo8GNJexEktiJk=
-SHA256 (ppsspp/7885552b208493a6a0f21663770c446c3ba65576.tar.gz) = 
+KA5BhNftvKTK4C371mR85zKxGs27DaQd2+zjGl3XD0=
-SHA256 (ppsspp/7e229ddd635933239583ab190d9b614bde018157.tar.gz) = 
aBnwmE+mR/aadIMaIzOFmgcJn2QJjOWMNdhgTRlTLT0=
-SHA256 (ppsspp/a1f7c8dc8ea2f94443951ee27003bffa562c1f13.tar.gz) = 
RWseKnWo6CmFziL0cHVwx6ofxQ1BGcuhpkHosjPs3iY=
-SHA256 (ppsspp/d0850f875ec392a130ccf00018dab458b546f27c.tar.gz) = 
aZ4XfgAi8XwgTjVCu/f8toQ5IwlZaO3B67xRJOhaK98=
-SHA256 (ppsspp/ppsspp-1.11.3.tar.gz) = 
UD8Eb6aOS+JNCIIrCqIoDmU61RPZoSx3pZgJRnuVxRY=
-SIZE (ppsspp/6bd5b4bc983917ea8402f73c726b46e36f3de0b4.tar.gz) = 662203
-SIZE (ppsspp/7885552b208493a6a0f21663770c446c3ba65576.tar.gz) = 197263
-SIZE (ppsspp/7e229ddd635933239583ab190d9b614bde018157.tar.gz) = 438926
-SIZE (ppsspp/a1f7c8dc8ea2f94443951ee27003bffa562c1f13.tar.gz) = 814213
-SIZE (ppsspp/d0850f875ec392a130ccf00018dab458b546f27c.tar.gz) = 3138654
-SIZE (ppsspp/ppsspp-1.11.3.tar.gz) = 30067677
+SHA256 (ppsspp/ppsspp-1.14.4.tar.xz) = 
VO3kGvVpEW2cKE97FX0USdzROURnXmDCh1vzo5lPXdo=
+SIZE (ppsspp/ppsspp-1.14.4.tar.xz) = 46405556
Index: patches/patch-CMakeLists_txt
===================================================================
RCS file: /cvs/ports/emulators/ppsspp/patches/patch-CMakeLists_txt,v
retrieving revision 1.7
diff -u -p -r1.7 patch-CMakeLists_txt
--- patches/patch-CMakeLists_txt        11 Mar 2022 18:59:40 -0000      1.7
+++ patches/patch-CMakeLists_txt        25 Apr 2023 10:48:24 -0000
@@ -5,7 +5,7 @@
 Index: CMakeLists.txt
 --- CMakeLists.txt.orig
 +++ CMakeLists.txt
-@@ -202,6 +202,8 @@ endif()
+@@ -252,6 +252,8 @@ endif()
  if(NOT LIBRETRO AND NOT IOS)
        find_package(SDL2)
  endif()
@@ -14,7 +14,7 @@ Index: CMakeLists.txt
  include(FindThreads)
  
  if(APPLE)
-@@ -293,13 +295,13 @@ if(NOT MSVC)
+@@ -351,13 +353,13 @@ if(NOT MSVC)
                endif()
        endif()
  
@@ -30,30 +30,30 @@ Index: CMakeLists.txt
 -      set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2 -D_NDEBUG")
 +      set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -D_NDEBUG")
        set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -O2 
-g -D_NDEBUG")
-       #TODO: Remove this and include the file properly everywhere it makes 
sense
-       # First step is too use the macros everywhere
-@@ -335,7 +337,6 @@ if(NOT MSVC)
-               if(NOT ${CMAKE_C_COMPILER_ID} STREQUAL "Intel" AND NOT 
${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
+ 
+       # Enable checking printf-like format strings (also works for logging 
functions)
+@@ -388,7 +390,6 @@ if(NOT MSVC)
+               if(NOT ${CMAKE_C_COMPILER_ID} STREQUAL "Intel" AND NOT 
${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
                        add_definitions(-Wno-psabi)
                endif()
 -              add_definitions(-D_XOPEN_SOURCE=700)
                add_definitions(-D_XOPEN_SOURCE_EXTENDED -D__BSD_VISIBLE=1)
                add_definitions(-D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64)
        elseif(ANDROID)
-@@ -792,6 +793,7 @@ endif()
+@@ -900,6 +901,7 @@ endif()
  find_package(LIBZIP)
  if(LIBZIP_FOUND AND USE_SYSTEM_LIBZIP)
        add_definitions(-DSHARED_LIBZIP)
 +      include_directories(${LIBZIP_INCLUDE_DIRS})
  else()
        add_library(libzip STATIC
-               ext/libzip/zip.h
-@@ -1873,7 +1875,7 @@ if(USE_MINIUPNPC)
-       
-       if (NOT WIN32)
-         add_definitions (-DMINIUPNPC_SET_SOCKET_TIMEOUT)
--        add_definitions (-D_BSD_SOURCE -D_DEFAULT_SOURCE 
-D_POSIX_C_SOURCE=200112L)
-+        add_definitions (-D_BSD_SOURCE -D_DEFAULT_SOURCE 
-D_POSIX_C_SOURCE=200809L)
-       endif()
-       if (MACOSX)
-         add_definitions (-D_DARWIN_C_SOURCE)
+               ext/libzip/zip_add.c
+@@ -2123,7 +2125,7 @@ if(USE_MINIUPNPC)
+ 
+               if (NOT WIN32)
+                       add_definitions (-DMINIUPNPC_SET_SOCKET_TIMEOUT)
+-                      add_definitions (-D_BSD_SOURCE -D_DEFAULT_SOURCE 
-D_POSIX_C_SOURCE=200112L)
++                      add_definitions (-D_BSD_SOURCE -D_DEFAULT_SOURCE 
-D_POSIX_C_SOURCE=200809L)
+               endif()
+               if (MACOSX)
+                       add_definitions (-D_DARWIN_C_SOURCE)
Index: patches/patch-Core_HLE_proAdhoc_cpp
===================================================================
RCS file: /cvs/ports/emulators/ppsspp/patches/patch-Core_HLE_proAdhoc_cpp,v
retrieving revision 1.2
diff -u -p -r1.2 patch-Core_HLE_proAdhoc_cpp
--- patches/patch-Core_HLE_proAdhoc_cpp 11 Mar 2022 18:59:40 -0000      1.2
+++ patches/patch-Core_HLE_proAdhoc_cpp 25 Apr 2023 10:48:24 -0000
@@ -3,23 +3,12 @@ support compilation without TCP_KEEPALIV
 Index: Core/HLE/proAdhoc.cpp
 --- Core/HLE/proAdhoc.cpp.orig
 +++ Core/HLE/proAdhoc.cpp
-@@ -2013,6 +2013,7 @@ int setUDPConnReset(int udpsock, bool enabled) {
-       return -1;
- }
- 
-+#if defined(TCP_KEEPALIVE)
- #if !defined(TCP_KEEPIDLE)
- #define TCP_KEEPIDLE  TCP_KEEPALIVE //TCP_KEEPIDLE on Linux is equivalent to 
TCP_KEEPALIVE on macOS
- #endif
-@@ -2042,6 +2043,11 @@ int setSockKeepAlive(int sock, bool keepalive, const i
-       }
-       return result;
- }
-+#else /* TCP_KEEPALIVE */
-+int setSockKeepAlive(int sock, bool keepalive, const int keepinvl, const int 
keepcnt, const int keepidle) {
-+      return 0;
-+}
-+#endif
- 
- /**
- * Return the Number of Players with the chosen Nickname in the Local Users 
current Network
+@@ -2087,7 +2087,7 @@ int setSockKeepAlive(int sock, bool keepalive, const i
+       int optval = keepalive ? 1 : 0;
+       int optlen = sizeof(optval);
+       int result = setsockopt(sock, SOL_SOCKET, SO_KEEPALIVE, (char*)&optval, 
optlen);
+-#if !PPSSPP_PLATFORM(SWITCH)
++#if !PPSSPP_PLATFORM(SWITCH) && !PPSSPP_PLATFORM(OPENBSD)
+       if (result == 0 && keepalive) {
+               if (getsockopt(sock, SOL_SOCKET, SO_TYPE, (char*)&optval, 
(socklen_t*)&optlen) == 0 && optval == SOCK_STREAM) {
+                       optlen = sizeof(optval);
Index: patches/patch-Core_HLE_sceNetAdhoc_cpp
===================================================================
RCS file: /cvs/ports/emulators/ppsspp/patches/patch-Core_HLE_sceNetAdhoc_cpp,v
retrieving revision 1.2
diff -u -p -r1.2 patch-Core_HLE_sceNetAdhoc_cpp
--- patches/patch-Core_HLE_sceNetAdhoc_cpp      11 Mar 2022 18:59:40 -0000      
1.2
+++ patches/patch-Core_HLE_sceNetAdhoc_cpp      25 Apr 2023 10:48:24 -0000
@@ -3,7 +3,7 @@ ensure that u_int32_t and friends are de
 Index: Core/HLE/sceNetAdhoc.cpp
 --- Core/HLE/sceNetAdhoc.cpp.orig
 +++ Core/HLE/sceNetAdhoc.cpp
-@@ -20,6 +20,7 @@
+@@ -21,6 +21,7 @@
  #endif
  
  #if !defined(_WIN32)
Index: patches/patch-Core_HW_MediaEngine_cpp
===================================================================
RCS file: /cvs/ports/emulators/ppsspp/patches/patch-Core_HW_MediaEngine_cpp,v
retrieving revision 1.3
diff -u -p -r1.3 patch-Core_HW_MediaEngine_cpp
--- patches/patch-Core_HW_MediaEngine_cpp       11 Mar 2022 18:59:40 -0000      
1.3
+++ patches/patch-Core_HW_MediaEngine_cpp       25 Apr 2023 10:48:24 -0000
@@ -1,159 +0,0 @@
-Fix build with ffmpeg-4.4 from upstream
-
-Index: Core/HW/MediaEngine.cpp
---- Core/HW/MediaEngine.cpp.orig
-+++ Core/HW/MediaEngine.cpp
-@@ -314,8 +314,10 @@ bool MediaEngine::openContext(bool keepReadPos) {
-       av_dict_free(&open_opt);
- 
-       if (!SetupStreams()) {
--              // Fallback to old behavior.
--              if (avformat_find_stream_info(m_pFormatCtx, NULL) < 0) {
-+              // Fallback to old behavior.  Reads too much and corrupts when 
game doesn't read fast enough.
-+              // SetupStreams sometimes work for newer FFmpeg 3.1+ now, but 
sometimes framerate is missing.
-+              WARN_LOG_REPORT_ONCE(setupStreams, ME, "Failed to read valid 
video stream data from header");
-+              if (avformat_find_stream_info(m_pFormatCtx, nullptr) < 0) {
-                       closeContext();
-                       return false;
-               }
-@@ -328,8 +330,14 @@ bool MediaEngine::openContext(bool keepReadPos) {
- 
-       if (m_videoStream == -1) {
-               // Find the first video stream
--              for(int i = 0; i < (int)m_pFormatCtx->nb_streams; i++) {
--                      if(m_pFormatCtx->streams[i]->codec->codec_type == 
AVMEDIA_TYPE_VIDEO) {
-+              for (int i = 0; i < (int)m_pFormatCtx->nb_streams; i++) {
-+                      const AVStream *s = m_pFormatCtx->streams[i];
-+#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(57, 33, 100)
-+                      AVMediaType type = s->codecpar->codec_type;
-+#else
-+                      AVMediaType type = s->codec->codec_type;
-+#endif
-+                      if (type == AVMEDIA_TYPE_VIDEO) {
-                               m_videoStream = i;
-                               break;
-                       }
-@@ -361,8 +369,13 @@ void MediaEngine::closeContext()
-               av_free(m_pIOContext->buffer);
-       if (m_pIOContext)
-               av_free(m_pIOContext);
--      for (auto it = m_pCodecCtxs.begin(), end = m_pCodecCtxs.end(); it != 
end; ++it)
--              avcodec_close(it->second);
-+      for (auto it : m_pCodecCtxs) {
-+#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(57, 33, 100)
-+              avcodec_free_context(&it.second);
-+#else
-+              avcodec_close(it.second);
-+#endif
-+      }
-       m_pCodecCtxs.clear();
-       if (m_pFormatCtx)
-               avformat_close_input(&m_pFormatCtx);
-@@ -411,7 +424,12 @@ bool MediaEngine::addVideoStream(int streamNum, int st
-                               streamId = PSMF_VIDEO_STREAM_ID | streamNum;
- 
-                       stream->id = 0x00000100 | streamId;
-+#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(57, 33, 100)
-+                      stream->codecpar->codec_type = AVMEDIA_TYPE_VIDEO;
-+                      stream->codecpar->codec_id = AV_CODEC_ID_H264;
-+#else
-                       stream->request_probe = 0;
-+#endif
-                       stream->need_parsing = AVSTREAM_PARSE_FULL;
-                       // We could set the width here, but we don't need to.
-                       if (streamNum >= m_expectedVideoStreams) {
-@@ -496,22 +514,31 @@ bool MediaEngine::setVideoStream(int streamNum, bool f
-               if ((u32)streamNum >= m_pFormatCtx->nb_streams) {
-                       return false;
-               }
--              AVCodecContext *m_pCodecCtx = 
m_pFormatCtx->streams[streamNum]->codec;
--#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(57,33,100)
--              AVCodecParameters *m_pCodecPar = 
m_pFormatCtx->streams[streamNum]->codecpar;
- 
--              // Update from deprecated public codec context
--              if (avcodec_parameters_from_context(m_pCodecPar, m_pCodecCtx) < 
0) {
-+              AVStream *stream = m_pFormatCtx->streams[streamNum];
-+#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(57, 33, 100)
-+              AVCodec *pCodec = 
avcodec_find_decoder(stream->codecpar->codec_id);
-+              if (!pCodec) {
-+                      WARN_LOG_REPORT(ME, "Could not find decoder for %d", 
(int)stream->codecpar->codec_id);
-                       return false;
-               }
--#endif
--
-+              AVCodecContext *m_pCodecCtx = avcodec_alloc_context3(pCodec);
-+              int paramResult = avcodec_parameters_to_context(m_pCodecCtx, 
stream->codecpar);
-+              if (paramResult < 0) {
-+                      WARN_LOG_REPORT(ME, "Failed to prepare context 
parameters: %08x", paramResult);
-+                      return false;
-+              }
-+#else
-+              AVCodecContext *m_pCodecCtx = stream->codec;
-               // Find the decoder for the video stream
-               AVCodec *pCodec = avcodec_find_decoder(m_pCodecCtx->codec_id);
-               if (pCodec == nullptr) {
-                       return false;
-               }
-+#endif
- 
-+              m_pCodecCtx->flags |= AV_CODEC_FLAG_OUTPUT_CORRUPT | 
AV_CODEC_FLAG_LOW_DELAY;
-+
-               AVDictionary *opt = nullptr;
-               // Allow ffmpeg to use any number of threads it wants.  Without 
this, it doesn't use threads.
-               av_dict_set(&opt, "threads", "0", 0);
-@@ -651,7 +678,22 @@ bool MediaEngine::stepVideo(int videoPixelMode, bool s
-                               av_free_packet(&packet);
- #endif
- 
-+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 48, 101)
-+                      if (packet.size != 0)
-+                              avcodec_send_packet(m_pCodecCtx, &packet);
-+                      int result = avcodec_receive_frame(m_pCodecCtx, 
m_pFrame);
-+                      if (result == 0) {
-+                              result = m_pFrame->pkt_size;
-+                              frameFinished = 1;
-+                      } else if (result == AVERROR(EAGAIN)) {
-+                              result = 0;
-+                              frameFinished = 0;
-+                      } else {
-+                              frameFinished = 0;
-+                      }
-+#else
-                       int result = avcodec_decode_video2(m_pCodecCtx, 
m_pFrame, &frameFinished, &packet);
-+#endif
-                       if (frameFinished) {
-                               if (!m_pFrameRGB) {
-                                       setVideoDim();
-@@ -666,10 +708,28 @@ bool MediaEngine::stepVideo(int videoPixelMode, bool s
-                                               m_pCodecCtx->height, 
m_pFrameRGB->data, m_pFrameRGB->linesize);
-                               }
- 
--                              if 
(av_frame_get_best_effort_timestamp(m_pFrame) != AV_NOPTS_VALUE)
--                                      m_videopts = 
av_frame_get_best_effort_timestamp(m_pFrame) + 
av_frame_get_pkt_duration(m_pFrame) - m_firstTimeStamp;
--                              else
--                                      m_videopts += 
av_frame_get_pkt_duration(m_pFrame);
-+#if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(55, 58, 100)
-+                              int64_t bestPts = 
m_pFrame->best_effort_timestamp;
-+                              int64_t ptsDuration = m_pFrame->pkt_duration;
-+#else
-+                              int64_t bestPts = 
av_frame_get_best_effort_timestamp(m_pFrame);
-+                              int64_t ptsDuration = 
av_frame_get_pkt_duration(m_pFrame);
-+#endif
-+                              if (ptsDuration == 0) {
-+                                      if (m_lastPts == bestPts - 
m_firstTimeStamp || bestPts == AV_NOPTS_VALUE) {
-+                                              // TODO: Assuming 29.97 if 
missing.
-+                                              m_videopts += 3003;
-+                                      } else {
-+                                              m_videopts = bestPts - 
m_firstTimeStamp;
-+                                              m_lastPts = m_videopts;
-+                                      }
-+                              } else if (bestPts != AV_NOPTS_VALUE) {
-+                                      m_videopts = bestPts + ptsDuration - 
m_firstTimeStamp;
-+                                      m_lastPts = m_videopts;
-+                              } else {
-+                                      m_videopts += ptsDuration;
-+                                      m_lastPts = m_videopts;
-+                              }
-                               bGetFrame = true;
-                       }
-                       if (result <= 0 && dataEnd) {
Index: patches/patch-Core_HW_MediaEngine_h
===================================================================
RCS file: /cvs/ports/emulators/ppsspp/patches/patch-Core_HW_MediaEngine_h,v
retrieving revision 1.3
diff -u -p -r1.3 patch-Core_HW_MediaEngine_h
--- patches/patch-Core_HW_MediaEngine_h 11 Mar 2022 18:59:40 -0000      1.3
+++ patches/patch-Core_HW_MediaEngine_h 25 Apr 2023 10:48:24 -0000
@@ -1,13 +0,0 @@
-Index: Core/HW/MediaEngine.h
---- Core/HW/MediaEngine.h.orig
-+++ Core/HW/MediaEngine.h
-@@ -124,7 +124,8 @@ class MediaEngine (public)
-       int m_desHeight;
-       int m_decodingsize;
-       int m_bufSize;
--      s64 m_videopts;
-+      s64 m_videopts = 0;
-+      s64 m_lastPts = -1;
-       BufferQueue *m_pdata;
- 
-       MpegDemux *m_demux;
Index: patches/patch-UI_NativeApp_cpp
===================================================================
RCS file: /cvs/ports/emulators/ppsspp/patches/patch-UI_NativeApp_cpp,v
retrieving revision 1.7
diff -u -p -r1.7 patch-UI_NativeApp_cpp
--- patches/patch-UI_NativeApp_cpp      11 Mar 2022 18:59:40 -0000      1.7
+++ patches/patch-UI_NativeApp_cpp      25 Apr 2023 10:48:24 -0000
@@ -1,15 +1,17 @@
 Index: UI/NativeApp.cpp
 --- UI/NativeApp.cpp.orig
 +++ UI/NativeApp.cpp
-@@ -470,10 +470,7 @@ void NativeInit(int argc, const char *argv[], const ch
+@@ -483,12 +483,7 @@ void NativeInit(int argc, const char *argv[], const ch
+       VFSRegister("", new DirectoryAssetReader(Path(ASSETS_DIR)));
+ #endif
  #if !defined(MOBILE_DEVICE) && !defined(_WIN32) && !PPSSPP_PLATFORM(SWITCH)
-       VFSRegister("", new DirectoryAssetReader((File::GetExeDirectory() + 
"assets/").c_str()));
-       VFSRegister("", new 
DirectoryAssetReader((File::GetExeDirectory()).c_str()));
--      VFSRegister("", new 
DirectoryAssetReader("/usr/local/share/ppsspp/assets/"));
--      VFSRegister("", new 
DirectoryAssetReader("/usr/local/share/games/ppsspp/assets/"));
--      VFSRegister("", new DirectoryAssetReader("/usr/share/ppsspp/assets/"));
--      VFSRegister("", new 
DirectoryAssetReader("/usr/share/games/ppsspp/assets/"));
-+      VFSRegister("", new 
DirectoryAssetReader("${PREFIX}/share/ppsspp/assets/"));
+-      VFSRegister("", new DirectoryAssetReader(File::GetExeDirectory() / 
"assets"));
+-      VFSRegister("", new DirectoryAssetReader(File::GetExeDirectory()));
+-      VFSRegister("", new 
DirectoryAssetReader(Path("/usr/local/share/ppsspp/assets")));
+-      VFSRegister("", new 
DirectoryAssetReader(Path("/usr/local/share/games/ppsspp/assets")));
+-      VFSRegister("", new 
DirectoryAssetReader(Path("/usr/share/ppsspp/assets")));
+-      VFSRegister("", new 
DirectoryAssetReader(Path("/usr/share/games/ppsspp/assets")));
++      VFSRegister("", new 
DirectoryAssetReader(Path("${PREFIX}/share/ppsspp/assets")));
  #endif
+ 
  #if PPSSPP_PLATFORM(SWITCH)
-       std::string assetPath = user_data_path + "assets/";
Index: patches/patch-ppsspp_config_h
===================================================================
RCS file: patches/patch-ppsspp_config_h
diff -N patches/patch-ppsspp_config_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-ppsspp_config_h       25 Apr 2023 10:48:24 -0000
@@ -0,0 +1,12 @@
+Index: ppsspp_config.h
+--- ppsspp_config.h.orig
++++ ppsspp_config.h
+@@ -97,6 +97,8 @@
+     #else
+         #error "Unknown Apple platform"
+     #endif
++#elif defined(__OpenBSD__)
++    #define PPSSPP_PLATFORM_OPENBSD 1
+ #elif defined(__SWITCH__)
+     #define PPSSPP_PLATFORM_SWITCH 1
+ #elif defined(__ANDROID__)
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/emulators/ppsspp/pkg/PLIST,v
retrieving revision 1.6
diff -u -p -r1.6 PLIST
--- pkg/PLIST   11 Mar 2022 18:59:40 -0000      1.6
+++ pkg/PLIST   25 Apr 2023 10:48:24 -0000
@@ -3,7 +3,27 @@ share/ppsspp/
 share/ppsspp/assets/
 share/ppsspp/assets/7z.png
 share/ppsspp/assets/Roboto-Condensed.ttf
+share/ppsspp/assets/asciifont_atlas.meta
+share/ppsspp/assets/asciifont_atlas.zim
 share/ppsspp/assets/compat.ini
+share/ppsspp/assets/compatvr.ini
+share/ppsspp/assets/debugger/
+share/ppsspp/assets/debugger/.git
+share/ppsspp/assets/debugger/.nojekyll
+share/ppsspp/assets/debugger/asset-manifest.json
+share/ppsspp/assets/debugger/favicon.ico
+share/ppsspp/assets/debugger/index.html
+share/ppsspp/assets/debugger/manifest.json
+share/ppsspp/assets/debugger/static/
+share/ppsspp/assets/debugger/static/css/
+share/ppsspp/assets/debugger/static/css/main.3eab8a01.css
+share/ppsspp/assets/debugger/static/css/main.3eab8a01.css.map
+share/ppsspp/assets/debugger/static/js/
+share/ppsspp/assets/debugger/static/js/main.fe87e942.js
+share/ppsspp/assets/debugger/static/js/main.fe87e942.js.LICENSE.txt
+share/ppsspp/assets/debugger/static/js/main.fe87e942.js.map
+share/ppsspp/assets/debugger/static/media/
+share/ppsspp/assets/debugger/static/media/logo.94f885ce93dfb6d29a122402a15cccca.svg
 share/ppsspp/assets/flash0/
 share/ppsspp/assets/flash0/font/
 share/ppsspp/assets/flash0/font/jpn0.pgf
@@ -24,6 +44,8 @@ share/ppsspp/assets/flash0/font/ltn6.pgf
 share/ppsspp/assets/flash0/font/ltn7.pgf
 share/ppsspp/assets/flash0/font/ltn8.pgf
 share/ppsspp/assets/flash0/font/ltn9.pgf
+share/ppsspp/assets/font_atlas.meta
+share/ppsspp/assets/font_atlas.zim
 share/ppsspp/assets/gamecontrollerdb.txt
 share/ppsspp/assets/knownfuncs.ini
 share/ppsspp/assets/lang/
@@ -72,6 +94,8 @@ share/ppsspp/assets/lang/vi_VN.ini
 share/ppsspp/assets/lang/zh_CN.ini
 share/ppsspp/assets/lang/zh_TW.ini
 share/ppsspp/assets/langregion.ini
+share/ppsspp/assets/mime/
+share/ppsspp/assets/mime/ppsspp.xml
 share/ppsspp/assets/ppge_atlas.meta
 share/ppsspp/assets/ppge_atlas.zim
 share/ppsspp/assets/rargray.png
@@ -97,23 +121,30 @@ share/ppsspp/assets/shaders/crt.fsh
 share/ppsspp/assets/shaders/defaultshaders.ini
 share/ppsspp/assets/shaders/fxaa.fsh
 share/ppsspp/assets/shaders/fxaa.vsh
-share/ppsspp/assets/shaders/grayscale.fsh
-share/ppsspp/assets/shaders/inversecolors.fsh
 share/ppsspp/assets/shaders/natural.fsh
 share/ppsspp/assets/shaders/natural.vsh
 share/ppsspp/assets/shaders/naturalA.fsh
 share/ppsspp/assets/shaders/naturalA.vsh
+share/ppsspp/assets/shaders/persistence.fsh
 share/ppsspp/assets/shaders/psp_color.fsh
 share/ppsspp/assets/shaders/scanlines.fsh
 share/ppsspp/assets/shaders/sharpen.fsh
+share/ppsspp/assets/shaders/stereo_red_blue.fsh
+share/ppsspp/assets/shaders/stereo_sbs.fsh
+share/ppsspp/assets/shaders/tex_2xbrz.csh
 share/ppsspp/assets/shaders/tex_4xbrz.csh
 share/ppsspp/assets/shaders/tex_mmpx.csh
+share/ppsspp/assets/shaders/upscale_catmull_rom.fsh
+share/ppsspp/assets/shaders/upscale_catmull_rom.vsh
+share/ppsspp/assets/shaders/upscale_mitchell_netravali.fsh
+share/ppsspp/assets/shaders/upscale_mitchell_netravali.vsh
 share/ppsspp/assets/shaders/upscale_spline36.fsh
 share/ppsspp/assets/shaders/upscale_spline36.vsh
 share/ppsspp/assets/shaders/videoAA.fsh
 share/ppsspp/assets/shaders/vignette.fsh
+share/ppsspp/assets/themes/
+share/ppsspp/assets/themes/defaultthemes.ini
 share/ppsspp/assets/ui_atlas.meta
 share/ppsspp/assets/ui_atlas.zim
-share/ppsspp/assets/ui_atlas_lowmem.zim
 share/ppsspp/assets/unknown.png
 share/ppsspp/assets/zip.png

Reply via email to