View | Details | Raw Unified | Return to bug 211855 | Differences between
and this patch

Collapse All | Expand All

(-)Makefile (-48 / +32 lines)
Lines 2-61 Link Here
2
# $FreeBSD$
2
# $FreeBSD$
3
3
4
PORTNAME=	higan
4
PORTNAME=	higan
5
PORTVERSION=	0.94
5
PORTVERSION=	102
6
PORTREVISION=	4
7
CATEGORIES=	emulators
6
CATEGORIES=	emulators
8
MASTER_SITES=	http://byuu.org/files/ \
7
MASTER_SITES=	http://download.byuu.org/ \
9
		http://www.cyberbotx.com/higan/
8
		http://www.cyberbotx.com/higan/
10
DISTNAME=	${PORTNAME}_v${PORTVERSION:S/.//}-source
9
DISTNAME=	${PORTNAME}_v${PORTVERSION}-source
11
10
12
MAINTAINER=	cyberbotx@cyberbotx.com
11
MAINTAINER=	cyberbotx@cyberbotx.com
13
COMMENT=	Nintendo multi-system emulator
12
COMMENT=	Nintendo multi-system emulator
14
13
15
USES=		compiler:c++11-lib gmake pkgconfig tar:xz
14
USES=		7z:p7zip compiler:c++14-lang gmake pkgconfig
16
USE_LDCONFIG=	yes
15
USE_LDCONFIG=	yes
16
USE_XORG=	x11 xext
17
USE_CSTD=	c99
18
USE_CXXSTD=	c++14
19
USE_GCC=	yes
20
MAKEFILE=	GNUmakefile
17
21
18
ONLY_FOR_ARCHS=	i386 amd64
22
ONLY_FOR_ARCHS=	i386 amd64
19
MAKE_ENV+=	compiler="${CXX}" cflags="-x c -std=c99 ${CFLAGS}" \
23
MAKE_ENV+=	compiler="${CXX}"
20
		cppflags="-x c++ -std=c++11 ${CXXFLAGS}"
21
24
22
OPTIONS_DEFINE=		DEBUG
25
OPTIONS_DEFINE=		DEBUG
23
OPTIONS_SINGLE=		PROFILE GUI
26
OPTIONS_SINGLE=		GUI
24
OPTIONS_SINGLE_PROFILE=	ACCURACY BALANCED PERFORMANCE
25
OPTIONS_SINGLE_GUI=	GTK2 QT4
27
OPTIONS_SINGLE_GUI=	GTK2 QT4
26
OPTIONS_MULTI=		VIDEO SOUND INPUT
28
OPTIONS_MULTI=		VIDEO SOUND INPUT
27
OPTIONS_MULTI_VIDEO=	GLX SDL XSHM XV
29
OPTIONS_MULTI_VIDEO=	GLX SDL XSHM XV
28
OPTIONS_MULTI_SOUND=	AO OPENAL OSS PULSEAUDIO
30
OPTIONS_MULTI_SOUND=	AO OPENAL OSS PULSEAUDIO
29
OPTIONS_MULTI_INPUT=	INPUT_SDL INPUT_X
31
OPTIONS_MULTI_INPUT=	INPUT_SDL INPUT_X
30
OPTIONS_DEFAULT=	BALANCED GTK2 GLX XSHM XV SDL \
32
OPTIONS_DEFAULT=	GTK2 GLX XSHM XV SDL \
31
			OSS INPUT_SDL INPUT_X
33
			OSS INPUT_SDL INPUT_X
32
34
33
ACCURACY_DESC=		Use accuracy profile
34
BALANCED_DESC=		Use balanced profile
35
PERFORMANCE_DESC=	Use performance profile
36
GTK2_DESC=		Build with GTK+2 GUI
37
QT4_DESC=		Build with QT4 GUI
38
GLX_DESC=		Build GLX video driver
39
SDL_DESC=		Build SDL video driver
40
XSHM_DESC=		Build XShm video driver
35
XSHM_DESC=		Build XShm video driver
41
XV_DESC=		Build Xv video driver
36
XV_DESC=		Build Xv video driver
42
AO_DESC=		Build AO sound driver
43
OPENAL_DESC=		Build OpenAL sound driver
44
OSS_DESC=		Build OSS sound driver
45
PULSEAUDIO_DESC=	Build Pulseaudio sound driver
46
INPUT_SDL_DESC=		Build SDL input driver
37
INPUT_SDL_DESC=		Build SDL input driver
47
INPUT_X_DESC=		Build X input driver
38
INPUT_X_DESC=		Build X input driver
48
39
49
ACCURACY_MAKE_ENV=	profile="accuracy"
40
GTK2_LIB_DEPENDS=	libfontconfig.so:x11-fonts/fontconfig \
50
BALANCED_MAKE_ENV=	profile="balanced"
41
			libfreetype.so:print/freetype2
51
PERFORMANCE_MAKE_ENV=	profile="performance"
42
GTK2_MAKE_ENV=	hiro="gtk"
43
GTK2_USE=	GNOME=cairo,gdkpixbuf2,gtk20,gtksourceview2
44
GTK2_USES=	gettext
52
45
53
GTK2_USE=	GNOME=gtk20
46
QT4_MAKE_ENV=	hiro="qt"
54
GTK2_MAKE_ENV=	phoenix="gtk"
47
QT4_USE=	QT4=corelib,gui,moc_build
55
48
56
QT4_USE=	QT4=gui,moc_build
57
QT4_MAKE_ENV=	phoenix="qt"
58
59
GLX_USE=	GL=gl
49
GLX_USE=	GL=gl
60
GLX_VARS=	VIDEO_DRIVER+=video.glx
50
GLX_VARS=	VIDEO_DRIVER+=video.glx
61
51
Lines 89-121 Link Here
89
		-e 's|%%VIDEO%%|${VIDEO_DRIVER}|' \
79
		-e 's|%%VIDEO%%|${VIDEO_DRIVER}|' \
90
		-e 's|%%AUDIO%%|${AUDIO_DRIVER}|' \
80
		-e 's|%%AUDIO%%|${AUDIO_DRIVER}|' \
91
		-e 's|%%INPUT%%|${INPUT_DRIVER}|' \
81
		-e 's|%%INPUT%%|${INPUT_DRIVER}|' \
92
		${WRKSRC}/target-ethos/Makefile
82
		${WRKSRC}/higan/target-tomoko/GNUmakefile
93
	${REINPLACE_CMD} -e 's|/usr/share/|${PREFIX}/share/|' \
83
	${REINPLACE_CMD} -e 's|/usr/share/|${PREFIX}/share/|' \
94
		${WRKSRC}/nall/string/platform.hpp
84
		${WRKSRC}/nall/path.hpp
95
85
96
post-patch-DEBUG-on:
86
post-patch-DEBUG-on:
97
	${REINPLACE_CMD} -e 's|-O3|-g|g' \
87
	${REINPLACE_CMD} -e 's|-O3|-g|g' \
98
		${WRKSRC}/ananke/Makefile \
88
		${WRKSRC}/higan/GNUmakefile \
99
		${WRKSRC}/Makefile
89
		${WRKSRC}/icarus/GNUmakefile
100
	${REINPLACE_CMD} -e 's|:= -s|:= #|g' \
101
		${WRKSRC}/Makefile
102
90
103
pre-build-QT4-on:
104
	(cd ${WRKSRC}/phoenix/qt && ${MOC} -i -o platform.moc platform.moc.hpp)
105
106
do-build:
91
do-build:
107
.for d in . ananke
92
.for d in higan icarus
108
	(cd ${WRKSRC}/${d} && ${MAKE_CMD} ${MAKE_ENV})
93
	@${DO_MAKE_BUILD} ${ALL_TARGET} -C${WRKSRC}/${d}
109
.endfor
94
.endfor
110
95
111
do-install:
96
do-install:
112
	${INSTALL_LIB} ${WRKSRC}/ananke/libananke.so ${STAGEDIR}${PREFIX}/lib/libananke.so.1
97
	${INSTALL_PROGRAM} ${WRKSRC}/higan/out/higan ${STAGEDIR}${PREFIX}/bin/
113
	${LN} -sf libananke.so.1 ${STAGEDIR}${PREFIX}/lib/libananke.so
98
	${INSTALL_PROGRAM} ${WRKSRC}/icarus/out/icarus ${STAGEDIR}${PREFIX}/bin/
114
	${INSTALL_PROGRAM} ${WRKSRC}/out/higan ${STAGEDIR}${PREFIX}/bin/
99
	${INSTALL_DATA} ${WRKSRC}/higan/data/higan.png ${STAGEDIR}${PREFIX}/share/pixmaps/
115
	${INSTALL_DATA} ${WRKSRC}/data/higan.png ${STAGEDIR}${PREFIX}/share/pixmaps/
100
	${INSTALL_DATA} ${WRKSRC}/higan/data/higan.desktop ${STAGEDIR}${PREFIX}/share/applications/
116
	${INSTALL_DATA} ${WRKSRC}/data/higan.desktop ${STAGEDIR}${PREFIX}/share/applications/
101
	(cd ${WRKSRC}/higan/systems && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/)
117
	${MKDIR} ${STAGEDIR}${DATADIR}/shaders
102
	${INSTALL_DATA} ${WRKSRC}/higan/data/cheats.bml ${STAGEDIR}${DATADIR}/
118
	(cd ${WRKSRC}/profile && ${COPYTREE_SHARE} \* ${STAGEDIR}${DATADIR}/)
103
	(cd ${WRKSRC}/icarus/Database && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/share/icarus/Database/)
119
	(cd ${WRKSRC}/shaders && ${COPYTREE_SHARE} \*.shader ${STAGEDIR}${DATADIR}/shaders/)
120
104
121
.include <bsd.port.mk>
105
.include <bsd.port.mk>
(-)distinfo (-2 / +3 lines)
Lines 1-2 Link Here
1
SHA256 (higan_v094-source.tar.xz) = 5e149df9d50c1066eb97c0d66665428d75304da782bba5a87078b87fc311151b
1
TIMESTAMP = 1489861177
2
SIZE (higan_v094-source.tar.xz) = 882732
2
SHA256 (higan_v102-source.7z) = 52dadcf2ec5cfab0952e2948cc8acb4883b3996458bce4ecb3995830bb1699f1
3
SIZE (higan_v102-source.7z) = 1246258
(-)files/patch-higan_target-tomoko_GNUmakefile (+15 lines)
Line 0 Link Here
1
--- higan/target-tomoko/GNUmakefile.orig	2016-01-14 03:20:56 UTC
2
+++ higan/target-tomoko/GNUmakefile
3
@@ -27,9 +27,9 @@ else ifeq ($(platform),linux)
4
   ruby += audio.alsa audio.openal audio.oss audio.pulseaudio audio.pulseaudiosimple audio.ao
5
   ruby += input.udev input.sdl input.xlib
6
 else ifeq ($(platform),bsd)
7
-  ruby += video.glx video.xv video.xshm video.sdl
8
-  ruby += audio.openal audio.oss
9
-  ruby += input.sdl input.xlib
10
+  ruby += %%VIDEO%%
11
+  ruby += %%AUDIO%%
12
+  ruby += %%INPUT%%
13
 endif
14
 
15
 # ruby
(-)files/patch-higan_target-tomoko_presentation_presentation.cpp (+11 lines)
Line 0 Link Here
1
--- higan/target-tomoko/presentation/presentation.cpp.orig	2017-01-13 17:52:31 UTC
2
+++ higan/target-tomoko/presentation/presentation.cpp
3
@@ -278,7 +278,7 @@ auto Presentation::toggleFullScreen() ->
4
 }
5
 
6
 auto Presentation::loadShaders() -> void {
7
-  auto pathname = locate("Video Shaders/");
8
+  auto pathname = locateShared("Video Shaders/");
9
 
10
   if(settings["Video/Driver"].text() == "OpenGL") {
11
     for(auto shader : directory::folders(pathname, "*.shader")) {
(-)files/patch-higan_target-tomoko_program_medium.cpp (+11 lines)
Line 0 Link Here
1
--- higan/target-tomoko/program/medium.cpp.orig	2017-01-13 10:43:46 UTC
2
+++ higan/target-tomoko/program/medium.cpp
3
@@ -17,7 +17,7 @@ auto Program::loadMedium() -> void {
4
 auto Program::loadMedium(Emulator::Interface& interface, const Emulator::Interface::Medium& medium) -> void {
5
   unloadMedium();
6
 
7
-  mediumPaths.append(locate({medium.name, ".sys/"}));
8
+  mediumPaths.append(locateShared({medium.name, ".sys/"}));
9
 
10
   Emulator::audio.reset(2, audio->get(Audio::Frequency).get<uint>(44100));
11
   inputManager->bind(emulator = &interface);
(-)files/patch-higan_target-tomoko_tomoko.cpp (+23 lines)
Line 0 Link Here
1
--- higan/target-tomoko/tomoko.cpp.orig	2016-07-01 08:21:27 UTC
2
+++ higan/target-tomoko/tomoko.cpp
3
@@ -4,6 +4,20 @@ unique_pointer<Audio> audio;
4
 unique_pointer<Input> input;
5
 Emulator::Interface* emulator = nullptr;
6
 
7
+auto locateShared(string name) -> string {
8
+  string location = {Path::program(), name};
9
+  if(inode::exists(location)) return location;
10
+
11
+  location = {Path::shared(), "higan/", name};
12
+  if(inode::exists(location)) return location;
13
+
14
+  location = {Path::config(), "higan/", name};
15
+  if(inode::exists(location)) return location;
16
+
17
+  directory::create({Path::local(), "higan/"});
18
+  return {Path::local(), "higan/", name};
19
+}
20
+
21
 auto locate(string name) -> string {
22
   string location = {Path::program(), name};
23
   if(inode::exists(location)) return location;
(-)files/patch-higan_target-tomoko_tomoko.hpp (+8 lines)
Line 0 Link Here
1
--- higan/target-tomoko/tomoko.hpp.orig	2017-01-11 11:35:22 UTC
2
+++ higan/target-tomoko/tomoko.hpp
3
@@ -18,4 +18,5 @@ extern Emulator::Interface* emulator;
4
 #include "tools/tools.hpp"
5
 #include "presentation/presentation.hpp"
6
 
7
+auto locateShared(string name) -> string;
8
 auto locate(string name) -> string;
(-)files/patch-higan_target-tomoko_tools_cheat-database.cpp (+11 lines)
Line 0 Link Here
1
--- higan/target-tomoko/tools/cheat-database.cpp.orig	2016-05-03 22:40:39 UTC
2
+++ higan/target-tomoko/tools/cheat-database.cpp
3
@@ -18,7 +18,7 @@ auto CheatDatabase::findCodes() -> void 
4
   if(!emulator) return;
5
   auto sha256 = emulator->sha256();
6
 
7
-  auto contents = string::read(locate("cheats.bml"));
8
+  auto contents = string::read(locateShared("cheats.bml"));
9
   auto document = BML::unserialize(contents);
10
 
11
   for(auto cartridge : document.find("cartridge")) {
(-)files/patch-icarus_core_core.cpp (+33 lines)
Line 0 Link Here
1
--- icarus/core/core.cpp.orig	2017-01-11 13:27:39 UTC
2
+++ icarus/core/core.cpp
3
@@ -1,17 +1,17 @@
4
 Icarus::Icarus() {
5
-  database.famicom = BML::unserialize(string::read(locate("Database/Famicom.bml")));
6
-  database.superFamicom = BML::unserialize(string::read(locate("Database/Super Famicom.bml")));
7
-  database.masterSystem = BML::unserialize(string::read(locate("Database/Master System.bml")));
8
-  database.megaDrive = BML::unserialize(string::read(locate("Database/Mega Drive.bml")));
9
-  database.pcEngine = BML::unserialize(string::read(locate("Database/PC Engine.bml")));
10
-  database.gameBoy = BML::unserialize(string::read(locate("Database/Game Boy.bml")));
11
-  database.gameBoyColor = BML::unserialize(string::read(locate("Database/Game Boy Color.bml")));
12
-  database.gameBoyAdvance = BML::unserialize(string::read(locate("Database/Game Boy Advance.bml")));
13
-  database.gameGear = BML::unserialize(string::read(locate("Database/Game Gear.bml")));
14
-  database.wonderSwan = BML::unserialize(string::read(locate("Database/WonderSwan.bml")));
15
-  database.wonderSwanColor = BML::unserialize(string::read(locate("Database/WonderSwan Color.bml")));
16
-  database.bsMemory = BML::unserialize(string::read(locate("Database/BS Memory.bml")));
17
-  database.sufamiTurbo = BML::unserialize(string::read(locate("Database/Sufami Turbo.bml")));
18
+  database.famicom = BML::unserialize(string::read(locateShared("Database/Famicom.bml")));
19
+  database.superFamicom = BML::unserialize(string::read(locateShared("Database/Super Famicom.bml")));
20
+  database.masterSystem = BML::unserialize(string::read(locateShared("Database/Master System.bml")));
21
+  database.megaDrive = BML::unserialize(string::read(locateShared("Database/Mega Drive.bml")));
22
+  database.pcEngine = BML::unserialize(string::read(locateShared("Database/PC Engine.bml")));
23
+  database.gameBoy = BML::unserialize(string::read(locateShared("Database/Game Boy.bml")));
24
+  database.gameBoyColor = BML::unserialize(string::read(locateShared("Database/Game Boy Color.bml")));
25
+  database.gameBoyAdvance = BML::unserialize(string::read(locateShared("Database/Game Boy Advance.bml")));
26
+  database.gameGear = BML::unserialize(string::read(locateShared("Database/Game Gear.bml")));
27
+  database.wonderSwan = BML::unserialize(string::read(locateShared("Database/WonderSwan.bml")));
28
+  database.wonderSwanColor = BML::unserialize(string::read(locateShared("Database/WonderSwan Color.bml")));
29
+  database.bsMemory = BML::unserialize(string::read(locateShared("Database/BS Memory.bml")));
30
+  database.sufamiTurbo = BML::unserialize(string::read(locateShared("Database/Sufami Turbo.bml")));
31
 }
32
 
33
 auto Icarus::error() const -> string {
(-)files/patch-icarus_icarus.cpp (+23 lines)
Line 0 Link Here
1
--- icarus/icarus.cpp.orig	2017-01-11 13:07:07 UTC
2
+++ icarus/icarus.cpp
3
@@ -4,6 +4,20 @@ using namespace nall;
4
 #include <hiro/hiro.hpp>
5
 using namespace hiro;
6
 
7
+auto locateShared(string name) -> string {
8
+  string location = {Path::program(), name};
9
+  if(inode::exists(location)) return location;
10
+
11
+  location = {Path::shared(), "icarus/", name}; 
12
+  if(inode::exists(location)) return location;
13
+
14
+  location = {Path::config(), "icarus/", name};
15
+  if(inode::exists(location)) return location;
16
+
17
+  directory::create({Path::local(), "icarus/"});
18
+  return {Path::local(), "icarus/", name};
19
+}
20
+
21
 auto locate(string name) -> string {
22
   string location = {Path::program(), name};
23
   if(inode::exists(location)) return location;
(-)files/patch-nall-platform.hpp (-11 lines)
Lines 1-11 Link Here
1
--- nall/platform.hpp.orig	2014-01-20 06:37:12 UTC
2
+++ nall/platform.hpp
3
@@ -41,7 +41,7 @@ namespace Math {
4
   #undef interface
5
   #define dllexport __declspec(dllexport)
6
 #else
7
-  #include <endian.h>
8
+  #include <sys/endian.h>
9
   #include <unistd.h>
10
   #include <pwd.h>
11
   #define dllexport
(-)files/patch-ruby__video__glx.cpp (-31 lines)
Lines 1-31 Link Here
1
--- ruby/video/glx.cpp.orig	2014-01-20 06:37:14 UTC
2
+++ ruby/video/glx.cpp
3
@@ -128,6 +128,28 @@ struct pVideoGLX : OpenGL {
4
     //require GLX 1.2+ API
5
     if(glx.version_major < 1 || (glx.version_major == 1 && glx.version_minor < 2)) return false;
6
 
7
+    int major, minor;
8
+    const char *version = (const char *) glGetString (GL_VERSION);
9
+    const char *dot = version == NULL ? NULL : strchr (version, '.');
10
+    const char *major_start = dot;
11
+
12
+    /* Sanity check */
13
+    if (dot == NULL || dot == version || *(dot + 1) == '\0') {
14
+        major = 0;
15
+        minor = 0;
16
+    } else {
17
+    /* Find the start of the major version in the string */
18
+    while (major_start > version && *major_start != ' ')
19
+           --major_start;
20
+        major = strtol (major_start, NULL, 10);
21
+        minor = strtol (dot + 1, NULL, 0);
22
+    }
23
+
24
+    if(major < 3 || (major == 3 && minor < 2)) {
25
+        printf("Error: OpenGL 3.2 is not available. Select another video driver on the Advanced Configuration tab and restart higan.\n");
26
+        return false;
27
+    }
28
+
29
     XWindowAttributes window_attributes;
30
     XGetWindowAttributes(display, settings.handle, &window_attributes);
31
 
(-)files/patch-target-ethos-Makefile (-15 lines)
Lines 1-15 Link Here
1
--- target-ethos/Makefile.orig	2014-01-13 05:26:29 UTC
2
+++ target-ethos/Makefile
3
@@ -27,9 +27,9 @@ else ifeq ($(platform),linux)
4
   ruby += audio.alsa audio.openal audio.oss audio.pulseaudio audio.pulseaudiosimple audio.ao
5
   ruby += input.udev input.sdl input.x
6
 else ifeq ($(platform),bsd)
7
-  ruby := video.glx
8
-  ruby += audio.openal audio.oss
9
-  ruby += input.x
10
+  ruby := %%VIDEO%%
11
+  ruby += %%AUDIO%%
12
+  ruby += %%INPUT%%
13
 endif
14
 
15
 # phoenix
(-)files/patch-target-ethos_general_presentation.cpp (-11 lines)
Lines 1-11 Link Here
1
--- target-ethos/general/presentation.cpp.orig	2013-12-06 20:19:40 UTC
2
+++ target-ethos/general/presentation.cpp
3
@@ -235,7 +235,7 @@ void Presentation::bootstrap() {
4
 void Presentation::loadShaders() {
5
   //only the OpenGL driver has video shader support
6
   if(config->video.driver == "OpenGL") {
7
-    string pathname = program->path("Video Shaders/");
8
+    string pathname = program->path("shaders/");
9
     lstring shaders = directory::folders(pathname, "*.shader");
10
     for(auto& name : shaders) {
11
       auto shader = new RadioItem;
(-)files/patch-target-ethos_utility_utility.cpp (-11 lines)
Lines 1-11 Link Here
1
--- target-ethos/utility/utility.cpp.orig	2013-12-21 07:00:03 UTC
2
+++ target-ethos/utility/utility.cpp
3
@@ -203,7 +203,7 @@ void Utility::updateShader() {
4
     video.set(Video::Filter, Video::FilterLinear);
5
   } else if(config->video.shader == "Display Emulation") {
6
     if(program->active) {
7
-      string pathname = program->path("Video Shaders/");
8
+      string pathname = program->path("shaders/");
9
       pathname.append("Display Emulation/");
10
       pathname.append(presentation->systemName, ".shader/");
11
       if(directory::exists(pathname)) {
(-)pkg-plist (-8 / +9 lines)
Lines 1-6 Link Here
1
bin/higan
1
bin/higan
2
lib/libananke.so.1
2
bin/icarus
3
lib/libananke.so
4
share/applications/higan.desktop
3
share/applications/higan.desktop
5
%%DATADIR%%/Famicom.sys/manifest.bml
4
%%DATADIR%%/Famicom.sys/manifest.bml
6
%%DATADIR%%/Game Boy Advance.sys/manifest.bml
5
%%DATADIR%%/Game Boy Advance.sys/manifest.bml
Lines 8-19 Link Here
8
%%DATADIR%%/Game Boy Color.sys/manifest.bml
7
%%DATADIR%%/Game Boy Color.sys/manifest.bml
9
%%DATADIR%%/Game Boy.sys/boot.rom
8
%%DATADIR%%/Game Boy.sys/boot.rom
10
%%DATADIR%%/Game Boy.sys/manifest.bml
9
%%DATADIR%%/Game Boy.sys/manifest.bml
10
%%DATADIR%%/Game Gear.sys/manifest.bml
11
%%DATADIR%%/Master System.sys/manifest.bml
12
%%DATADIR%%/Mega Drive.sys/manifest.bml
13
%%DATADIR%%/PC Engine.sys/manifest.bml
11
%%DATADIR%%/Super Famicom.sys/ipl.rom
14
%%DATADIR%%/Super Famicom.sys/ipl.rom
12
%%DATADIR%%/Super Famicom.sys/manifest.bml
15
%%DATADIR%%/Super Famicom.sys/manifest.bml
13
%%DATADIR%%/shaders/Curvature.shader/curvature.fs
16
%%DATADIR%%/WonderSwan Color.sys/manifest.bml
14
%%DATADIR%%/shaders/Curvature.shader/manifest.bml
17
%%DATADIR%%/WonderSwan.sys/manifest.bml
15
%%DATADIR%%/shaders/Edge Detection.shader/edge-detection.fs
18
%%DATADIR%%/cheats.bml
16
%%DATADIR%%/shaders/Edge Detection.shader/manifest.bml
19
share/icarus/Database/Super Famicom.bml
17
%%DATADIR%%/shaders/Scanline.shader/manifest.bml
18
%%DATADIR%%/shaders/Scanline.shader/scanline.fs
19
share/pixmaps/higan.png
20
share/pixmaps/higan.png

Return to bug 211855